Claude Command Converter

dceoy/speckit-agent-skills/skills/claude-command-converter

作者 dceoy52e6e7d8e03d无许可证146 个星标收录于 2026年10月8日更新于 2026年10月8日仓库10天前更新

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.

仅含说明AI & Agents
AI 生成的概览

将 Claude Code 斜杠命令文件转换为可移植的 Agent Skills SKILL.md 文档。

功能
该技能读取 .claude/commands/ 下的 Claude Code 命令文件,并将其改写为位于 skills/ /SKILL.md 的标准 Agent Skill。它会提取 frontmatter 元数据、推导 kebab-case 技能名称,并把内容重组为 When to Use、Inputs、Workflow、Outputs 和 Next Steps 等章节。它还会移除运行时特有的构造,例如 $ARGUMENTS 代码块、handoffs 和斜杠命令引用,最后报告转换结果与人工复核建议。
适用场景
适用于把现有的 .claude/commands/*.md 文件迁移到 skills/*/SKILL.md 格式。也适合从 Claude Code 专有命令创建可移植技能,或在 Claude Code、Codex CLI、GitHub Copilot 等运行时之间统一命令定义。
运行要求
无需脚本或软件包,仅为指令型技能。需要提供源命令文件路径,可选提供目标技能名称。

Claude Command Converter

Convert Claude Code commands to standard Agent Skills format for portability across AI coding assistants.

When to Use

  • Migrating existing .claude/commands/*.md files to skills/*/SKILL.md format.
  • Creating portable skills from Claude Code-specific commands.
  • Standardizing command definitions for use with Claude Code, Codex CLI, GitHub Copilot, and other runtimes.

Inputs

  • Source command file path (e.g., .claude/commands/my-command.md).
  • Optional: target skill name (defaults to command filename without extension).

If input is missing, ask for the source command file path.

Format Differences

Claude Code Command Format

Location: .claude/commands/<command-name>.md

yaml
---description: Short description of the commandhandoffs:  - label: Next Action    agent: other.command    prompt: Trigger prompt    send: true---## User Input
\`\`\`text$ARGUMENTS\`\`\`
[Command instructions...]

Standard Agent Skill Format

Location: skills/<skill-name>/SKILL.md

yaml
---name: skill-namedescription: Complete description including what the skill does and when to use it.---
# Skill Title
## When to Use
- Scenario 1- Scenario 2
## Inputs
- Required input 1- Optional input 2
## Workflow
1. Step 12. Step 2...
## Outputs
- Output file 1- Output file 2

Conversion Workflow

  1. Read the source command from .claude/commands/.

  2. Extract metadata:

    • description from YAML frontmatter.
    • handoffs for related skills/next steps.
    • $ARGUMENTS handling for inputs.
  3. Determine skill name:

    • Convert command.name.md → command-name (replace dots with hyphens).
    • Use kebab-case for multi-word names.
  4. Create skill directory: skills/<skill-name>/

  5. Transform content to SKILL.md format:

    • Frontmatter: Keep name and description only.
    • Enhance description: Expand to include when to use the skill.
    • Convert $ARGUMENTS: Document as Inputs section.
    • Structure workflow: Extract steps into numbered Workflow section.
    • Add "When to Use": Derive from command context and description.
    • Add "Outputs": List generated files/artifacts.
    • Convert handoffs: Add "Next Steps" section referencing related skills.
  6. Remove runtime-specific content:

    • Remove ## User Input section with $ARGUMENTS block.
    • Remove handoffs from frontmatter (move to prose).
    • Remove /command.name references (use skill names instead).
  7. Validate skill structure:

    • Frontmatter has name and description only.
    • Body has clear sections (When to Use, Inputs, Workflow, Outputs).
    • No TODO placeholders remain.
    • No runtime-specific variables like $ARGUMENTS.
  8. Report conversion result:

    • Source command path.
    • Generated skill path.
    • Key transformations applied.
    • Manual review recommendations.

Transformation Rules

Claude CommandAgent Skill
$ARGUMENTSInputs section describing expected user input
handoffs:Next Steps section with skill references
/command.nameskill-name (kebab-case)
agent: foo.barfoo-bar skill reference
description: in frontmatterdescription: expanded with triggers
Inline ## User InputRemoved; documented in Inputs

Example Conversion

Input: .claude/commands/speckit.specify.md

yaml
---description: Create feature specification from natural language.handoffs:  - label: Build Technical Plan    agent: speckit.plan---## User Input
\`\`\`text$ARGUMENTS\`\`\`
The text the user typed after `/speckit.specify`...

Output: skills/speckit-specify/SKILL.md

yaml
---name: speckit-specifydescription: Create or update a feature specification from a natural language feature description.---
# Spec Kit Specify Skill
## When to Use
- The user wants a new or updated feature spec from a natural language description.
## Inputs
- Feature description from the user.- Repo context with `.specify/` scripts and templates.
If the description is missing or unclear, ask a targeted question before continuing.
## Workflow
...
## Outputs
- `specs/<feature>/spec.md`- `specs/<feature>/checklists/requirements.md`
## Next Steps
After generating spec.md:
- **Plan** technical implementation with speckit-plan.- **Clarify** specification requirements with speckit-clarify.

Key Rules

  • Preserve all workflow logic and instructions.
  • Remove runtime-specific constructs ($ARGUMENTS, handoffs, /slash-commands).
  • Expand terse descriptions to include usage triggers.
  • Use imperative voice in workflow steps.
  • Keep skills self-contained and portable.
  • Don't add extraneous documentation files (README, CHANGELOG, etc.).

Next Steps

After conversion:

  • Review generated SKILL.md for completeness.
  • Delete unused example files in scripts/, references/, assets/.
  • Update AGENTS.md/CLAUDE.md skill inventory if applicable.
  • Create symlinks for runtime integration if needed.

来源与署名

来源:dceoy/speckit-agent-skills位于skills/claude-command-converter提交52e6e7d

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架