Move the user's existing local Agent Skills into their Skilder workspace. Skills use the open Agent Skills format on both sides, so content imports as-is: frontmatter and body stay what they are.
Step 1: Be connected
You need the Skilder MCP server (https://app.skilder.ai/mcp) with an active session:
- If the server isn't registered yet, follow the
connect-to-skilderskill from this same repo (one endpoint, OAuth sign-in, no keys). - Call
init_skilderand keep the session id it returns; every other Skilder tool call needs it. - Importing uses the
managetool, which is available to workspace admins. The first user of a workspace is its admin, so a user on their own workspace qualifies. Ifmanageisn't in your tool list, tell the user to ask their workspace admin to run the import.
Step 2: Discover local skills
Scan these locations, nearest first. Each directory containing a SKILL.md is one skill:
./.claude/skills/and./.agents/skills/(project)~/.claude/skills/and~/.agents/skills/(user)./skills/in the current repo, including one level of category subdirectories
For each skill found, read the SKILL.md: YAML frontmatter gives name and description, the body is the instructions. Note any extra files next to it (a references/ folder, scripts, other documents).
Step 3: Confirm the list once
Show the user a single inventory: skill name, one-line description, file count, and source path. Ask once which to import (default: all). Also call manage → list-skills and flag any name that already exists in the workspace; for those, ask whether to skip or import under a suffixed name. This is the only confirmation round; after it, proceed without further questions.
Step 4: Import
For each approved skill, in this order:
manage→create-skillwithname,description(from frontmatter), andinstructions(the SKILL.md body, verbatim). Keep the returned skillid.- For each companion file,
manage→create-skill-contentwithskillIdset to that id:- Markdown and text documents:
contentType: "reference",nameset to the filename,instructionsset to the file content verbatim. .py,.sh,.js,.tsfiles:contentType: "script", withtypeset to PYTHON, BASH, JAVASCRIPT, or TYPESCRIPT andcodeset to the file content.- Binary files (images, PDFs): skip them and record the filename; they're added later through the web app.
- Markdown and text documents:
Import content verbatim. Do not rewrite, summarize, or "improve" the user's instructions.
Constraints
- Never import secrets. Before importing any file, check it for API keys, tokens, passwords, or
.env-style content. Skip such files, name them in the report, and do not echo their contents. - Don't guess. If a
SKILL.mdhas no name in its frontmatter, use its directory name. If a file's role is ambiguous, import it as a reference. - One failure doesn't stop the run. If a create call errors, record it and continue with the remaining skills.
Step 5: Report
End with a single summary: skills imported (with names), files attached per skill, anything skipped (binaries, secrets, duplicates, errors). Then point the user at their library at https://app.skilder.ai to review the imports, compose them into roles, and publish. From there, every agent connected to the workspace can discover and run them.
