{"id":"b0053f24-b4de-49e6-a4f7-fa98d3690a9f","shortId":"uzPwUR","kind":"skill","title":"claude-command-converter","tagline":"Convert Claude Code commands (.claude/commands/*.md) to standard Agent Skills (skills/*/SKILL.md). Use when migrating slash commands to portable skill format, creating skills from existing commands, or standardizing command definitions across AI runtimes.","description":"# Claude Command Converter\n\nConvert Claude Code commands to standard Agent Skills format for portability across AI coding assistants.\n\n## When to Use\n\n- Migrating existing `.claude/commands/*.md` files to `skills/*/SKILL.md` format.\n- Creating portable skills from Claude Code-specific commands.\n- Standardizing command definitions for use with Claude Code, Codex CLI, GitHub Copilot, and other runtimes.\n\n## Inputs\n\n- Source command file path (e.g., `.claude/commands/my-command.md`).\n- Optional: target skill name (defaults to command filename without extension).\n\nIf input is missing, ask for the source command file path.\n\n## Format Differences\n\n### Claude Code Command Format\n\nLocation: `.claude/commands/<command-name>.md`\n\n```yaml\n---\ndescription: Short description of the command\nhandoffs:\n  - label: Next Action\n    agent: other.command\n    prompt: Trigger prompt\n    send: true\n---\n## User Input\n\n\\`\\`\\`text\n$ARGUMENTS\n\\`\\`\\`\n\n[Command instructions...]\n```\n\n### Standard Agent Skill Format\n\nLocation: `skills/<skill-name>/SKILL.md`\n\n```yaml\n---\nname: skill-name\ndescription: Complete description including what the skill does and when to use it.\n---\n\n# Skill Title\n\n## When to Use\n\n- Scenario 1\n- Scenario 2\n\n## Inputs\n\n- Required input 1\n- Optional input 2\n\n## Workflow\n\n1. Step 1\n2. Step 2\n...\n\n## Outputs\n\n- Output file 1\n- Output file 2\n```\n\n## Conversion Workflow\n\n1. **Read the source command** from `.claude/commands/`.\n\n2. **Extract metadata**:\n   - `description` from YAML frontmatter.\n   - `handoffs` for related skills/next steps.\n   - `$ARGUMENTS` handling for inputs.\n\n3. **Determine skill name**:\n   - Convert `command.name.md` → `command-name` (replace dots with hyphens).\n   - Use kebab-case for multi-word names.\n\n4. **Create skill directory**: `skills/<skill-name>/`\n\n5. **Transform content** to SKILL.md format:\n   - **Frontmatter**: Keep `name` and `description` only.\n   - **Enhance description**: Expand to include when to use the skill.\n   - **Convert `$ARGUMENTS`**: Document as Inputs section.\n   - **Structure workflow**: Extract steps into numbered Workflow section.\n   - **Add \"When to Use\"**: Derive from command context and description.\n   - **Add \"Outputs\"**: List generated files/artifacts.\n   - **Convert handoffs**: Add \"Next Steps\" section referencing related skills.\n\n6. **Remove runtime-specific content**:\n   - Remove `## User Input` section with `$ARGUMENTS` block.\n   - Remove `handoffs` from frontmatter (move to prose).\n   - Remove `/command.name` references (use skill names instead).\n\n7. **Validate skill structure**:\n   - Frontmatter has `name` and `description` only.\n   - Body has clear sections (When to Use, Inputs, Workflow, Outputs).\n   - No TODO placeholders remain.\n   - No runtime-specific variables like `$ARGUMENTS`.\n\n8. **Report conversion result**:\n   - Source command path.\n   - Generated skill path.\n   - Key transformations applied.\n   - Manual review recommendations.\n\n## Transformation Rules\n\n| Claude Command                | Agent Skill                                   |\n| ----------------------------- | --------------------------------------------- |\n| `$ARGUMENTS`                  | Inputs section describing expected user input |\n| `handoffs:`                   | Next Steps section with skill references      |\n| `/command.name`               | `skill-name` (kebab-case)                     |\n| `agent: foo.bar`              | `foo-bar` skill reference                     |\n| `description:` in frontmatter | `description:` expanded with triggers         |\n| Inline `## User Input`        | Removed; documented in Inputs                 |\n\n## Example Conversion\n\n**Input**: `.claude/commands/speckit.specify.md`\n\n```yaml\n---\ndescription: Create feature specification from natural language.\nhandoffs:\n  - label: Build Technical Plan\n    agent: speckit.plan\n---\n## User Input\n\n\\`\\`\\`text\n$ARGUMENTS\n\\`\\`\\`\n\nThe text the user typed after `/speckit.specify`...\n```\n\n**Output**: `skills/speckit-specify/SKILL.md`\n\n```yaml\n---\nname: speckit-specify\ndescription: Create or update a feature specification from a natural language feature description.\n---\n\n# Spec Kit Specify Skill\n\n## When to Use\n\n- The user wants a new or updated feature spec from a natural language description.\n\n## Inputs\n\n- Feature description from the user.\n- Repo context with `.specify/` scripts and templates.\n\nIf the description is missing or unclear, ask a targeted question before continuing.\n\n## Workflow\n\n...\n\n## Outputs\n\n- `specs/<feature>/spec.md`\n- `specs/<feature>/checklists/requirements.md`\n\n## Next Steps\n\nAfter generating spec.md:\n\n- **Plan** technical implementation with speckit-plan.\n- **Clarify** specification requirements with speckit-clarify.\n```\n\n## Key Rules\n\n- Preserve all workflow logic and instructions.\n- Remove runtime-specific constructs (`$ARGUMENTS`, `handoffs`, `/slash-commands`).\n- Expand terse descriptions to include usage triggers.\n- Use imperative voice in workflow steps.\n- Keep skills self-contained and portable.\n- Don't add extraneous documentation files (README, CHANGELOG, etc.).\n\n## Next Steps\n\nAfter conversion:\n\n- Review generated SKILL.md for completeness.\n- Delete unused example files in `scripts/`, `references/`, `assets/`.\n- Update AGENTS.md/CLAUDE.md skill inventory if applicable.\n- Create symlinks for runtime integration if needed.","tags":["claude","command","converter","speckit","agent","skills","dceoy","agent-skills","ai-agents","ai-coding","claude-code","codex-cli"],"capabilities":["skill","source-dceoy","skill-claude-command-converter","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-claude-code","topic-codex-cli","topic-developer-tools","topic-gemini-cli","topic-github-copilot","topic-spec-kit","topic-specifications","topic-workflow-automation"],"categories":["speckit-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/dceoy/speckit-agent-skills/claude-command-converter","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add dceoy/speckit-agent-skills","source_repo":"https://github.com/dceoy/speckit-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.488","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 76 github stars · SKILL.md body (5,338 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T06:55:43.068Z","embedding":null,"createdAt":"2026-04-18T22:13:39.648Z","updatedAt":"2026-05-02T06:55:43.068Z","lastSeenAt":"2026-05-02T06:55:43.068Z","tsv":"'/checklists/requirements.md':544 '/claude.md':629 '/command.name':341,414 '/skill.md':16,66,159 '/slash-commands':579 '/spec.md':542 '/speckit.specify':471 '1':184,190,195,197,204,210 '2':186,193,198,200,207,217 '3':233 '4':255 '5':260 '6':320 '7':347 '8':378 'across':35,52 'action':139 'add':296,306,313,602 'agent':13,47,140,154,398,421,459 'agents.md':628 'agents.md/claude.md':627 'ai':36,53 'appli':390 'applic':633 'argument':150,229,283,331,377,400,464,577 'ask':113,533 'asset':625 'assist':55 'bar':425 'block':332 'bodi':357 'build':456 'case':249,420 'changelog':607 'clarifi':557,563 'claud':2,6,38,42,72,83,122,396 'claude-command-convert':1 'claude/commands':9,61,127,216 'claude/commands/my-command.md':98 'claude/commands/speckit.specify.md':445 'clear':359 'cli':86 'code':7,43,54,74,84,123 'code-specif':73 'codex':85 'command':3,8,21,30,33,39,44,76,78,94,105,117,124,135,151,214,240,302,383,397 'command-nam':239 'command.name.md':238 'complet':166,617 'construct':576 'contain':597 'content':262,325 'context':303,520 'continu':538 'convers':208,380,443,612 'convert':4,5,40,41,237,282,311 'copilot':88 'creat':26,68,256,448,480,634 'default':103 'definit':34,79 'delet':618 'deriv':300 'describ':403 'descript':130,132,165,167,220,270,273,305,355,428,431,447,479,491,512,515,528,582 'determin':234 'differ':121 'directori':258 'document':284,439,604 'dot':243 'e.g':97 'enhanc':272 'etc':608 'exampl':442,620 'exist':29,60 'expand':274,432,580 'expect':404 'extens':108 'extract':218,290 'extran':603 'featur':449,484,490,506,514 'file':63,95,118,203,206,605,621 'filenam':106 'files/artifacts':310 'foo':424 'foo-bar':423 'foo.bar':422 'format':25,49,67,120,125,156,265 'frontmatt':223,266,336,351,430 'generat':309,385,548,614 'github':87 'handl':230 'handoff':136,224,312,334,407,454,578 'hyphen':245 'imper':588 'implement':552 'includ':168,276,584 'inlin':435 'input':92,110,148,187,189,192,232,286,328,364,401,406,437,441,444,462,513 'instead':346 'instruct':152,571 'integr':638 'inventori':631 'kebab':248,419 'kebab-cas':247,418 'keep':267,593 'key':388,564 'kit':493 'label':137,455 'languag':453,489,511 'like':376 'list':308 'locat':126,157 'logic':569 'manual':391 'md':10,62,128 'metadata':219 'migrat':19,59 'miss':112,530 'move':337 'multi':252 'multi-word':251 'name':102,161,164,236,241,254,268,345,353,417,475 'natur':452,488,510 'need':640 'new':503 'next':138,314,408,545,609 'number':293 'option':99,191 'other.command':141 'output':201,202,205,307,366,472,540 'path':96,119,384,387 'placehold':369 'plan':458,550,556 'portabl':23,51,69,599 'preserv':566 'prompt':142,144 'prose':339 'question':536 'read':211 'readm':606 'recommend':393 'refer':342,413,427,624 'referenc':317 'relat':226,318 'remain':370 'remov':321,326,333,340,438,572 'replac':242 'repo':519 'report':379 'requir':188,559 'result':381 'review':392,613 'rule':395,565 'runtim':37,91,323,373,574,637 'runtime-specif':322,372,573 'scenario':183,185 'script':523,623 'section':287,295,316,329,360,402,410 'self':596 'self-contain':595 'send':145 'short':131 'skill':14,15,24,27,48,65,70,101,155,158,163,171,178,235,257,259,281,319,344,349,386,399,412,416,426,495,594,630 'skill-claude-command-converter' 'skill-nam':162,415 'skill.md':264,615 'skills/next':227 'skills/speckit-specify/skill.md':473 'slash':20 'sourc':93,116,213,382 'source-dceoy' 'spec':492,507,541,543 'spec.md':549 'specif':75,324,374,450,485,558,575 'specifi':478,494,522 'speckit':477,555,562 'speckit-clarifi':561 'speckit-plan':554 'speckit-specifi':476 'speckit.plan':460 'standard':12,32,46,77,153 'step':196,199,228,291,315,409,546,592,610 'structur':288,350 'symlink':635 'target':100,535 'technic':457,551 'templat':525 'ters':581 'text':149,463,466 'titl':179 'todo':368 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-claude-code' 'topic-codex-cli' 'topic-developer-tools' 'topic-gemini-cli' 'topic-github-copilot' 'topic-spec-kit' 'topic-specifications' 'topic-workflow-automation' 'transform':261,389,394 'trigger':143,434,586 'true':146 'type':469 'unclear':532 'unus':619 'updat':482,505,626 'usag':585 'use':17,58,81,176,182,246,279,299,343,363,498,587 'user':147,327,405,436,461,468,500,518 'valid':348 'variabl':375 'voic':589 'want':501 'without':107 'word':253 'workflow':194,209,289,294,365,539,568,591 'yaml':129,160,222,446,474","prices":[{"id":"a8ae8825-a5d5-43ab-8a35-f5e18a4e1e35","listingId":"b0053f24-b4de-49e6-a4f7-fa98d3690a9f","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"dceoy","category":"speckit-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:13:39.648Z"}],"sources":[{"listingId":"b0053f24-b4de-49e6-a4f7-fa98d3690a9f","source":"github","sourceId":"dceoy/speckit-agent-skills/claude-command-converter","sourceUrl":"https://github.com/dceoy/speckit-agent-skills/tree/main/skills/claude-command-converter","isPrimary":false,"firstSeenAt":"2026-04-18T22:13:39.648Z","lastSeenAt":"2026-05-02T06:55:43.068Z"}],"details":{"listingId":"b0053f24-b4de-49e6-a4f7-fa98d3690a9f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"dceoy","slug":"claude-command-converter","github":{"repo":"dceoy/speckit-agent-skills","stars":76,"topics":["agent-skills","ai-agents","ai-coding","claude-code","codex-cli","developer-tools","gemini-cli","github-copilot","spec-kit","specifications","workflow-automation"],"license":"agpl-3.0","html_url":"https://github.com/dceoy/speckit-agent-skills","pushed_at":"2026-03-14T17:14:42Z","description":"Agent skills for Spec Kit","skill_md_sha":"1c5de7fbae4065276cf16ef08e5d08989b238f3e","skill_md_path":"skills/claude-command-converter/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/dceoy/speckit-agent-skills/tree/main/skills/claude-command-converter"},"layout":"multi","source":"github","category":"speckit-agent-skills","frontmatter":{"name":"claude-command-converter","description":"Convert Claude Code commands (.claude/commands/*.md) to standard Agent Skills (skills/*/SKILL.md). Use when migrating slash commands to portable skill format, creating skills from existing commands, or standardizing command definitions across AI runtimes."},"skills_sh_url":"https://skills.sh/dceoy/speckit-agent-skills/claude-command-converter"},"updatedAt":"2026-05-02T06:55:43.068Z"}}