‹ 首页

command-skill-creator

@tenequm · 收录于 1 周前

Create automation command skills (slash commands) for Claude Code projects. Use when building `/slash-commands` that automate multi-step workflows - deploys, commits, releases, migrations, cross-repo operations, or any repeatable process. Triggers on "create a command", "make a slash command", "automate this workflow", "turn this into a command", "build a command skill", or when designing phased execution skills with approval gates. For command-type skills (imperative prompts in `.claude/skills/`), NOT knowledge/reference skills.

适合你,如果经常在 Claude Code 里重复执行多步骤操作

/ 下载安装
command-skill-creator.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add tenequm/skills/command-skill-creator
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- tenequm/skills/command-skill-creator
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify tenequm/skills/command-skill-creator
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
29GitHub stars
~1.7K最小装载
~3.3K含声明引用
~5.8K文本包总量
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · Apache-2.0 · ecb77f8

Command Skill Creator

Create command-type skills - imperative prompts that guide Claude through phased execution of multi-step workflows. These are /slash-commands users invoke explicitly, not passive reference material.

Command skills live in project-level .claude/skills/<name>/SKILL.md and are invoked as /name [arguments].

When to use this vs skill-creator
  • This skill: Commands that DO things - deploy, commit, migrate, sync, release, scaffold. Side effects, approval gates, phased execution.
  • skill-creator: Knowledge that INFORMS Claude - coding standards, API references, framework guides. No side effects, auto-triggered by context.
Creation Workflow
Step 1: Understand Intent

Establish what the command automates. Ask (or extract from conversation context):

  • What does this command do? What are the major phases?
  • Which actions have side effects? (commits, deploys, file mutations, external APIs)
  • Does it take arguments? What kind?
  • Does it operate across multiple repos/projects?
  • Are there approval gates needed before irreversible actions?
  • What model complexity is needed? (most commands work with default; complex multi-phase reasoning may need opus)

If the user says "turn this into a command," extract the workflow from conversation history - tools used, sequence, corrections made.

Step 2: Design Frontmatter

Choose fields based on the command's nature. See the frontmatter reference table below.

Minimum viable frontmatter:

---
name: my-command
description: What it does and when to use it
disable-model-invocation: true
---

The reason disable-model-invocation: true is the default for command skills: commands have side effects by definition. If it had no side effects, it would be a knowledge skill instead. Setting this to true ensures the command only runs when the user explicitly invokes it, preventing Claude from autonomously deploying, committing, or mutating state.

Add more fields based on characteristics:

  • Takes arguments → argument-hint: "[arg-name]"
  • Needs strong reasoning → model: opus
  • Should restrict tools → allowed-tools: Read, Bash(specific-cmd *)
  • Self-contained exploration → context: fork + agent: Explore
Step 3: Structure Phases

Break the command into numbered phases with markdown headers (##). Claude follows numbered sequences with headers reliably - dense paragraphs get lost.

Common phase progression:

  1. Pre-flight - validate preconditions, read config, check state
  2. Research/Discovery - gather info for decisions (parallelize with subagents when possible)
  3. Present/Approve - show recommendations, wait for explicit user approval
  4. Execute - make the changes
  5. Verify - smoke tests, health checks
  6. Summary - report outcomes

Not every command needs all phases. A simple formatter might just be execute + verify.

Step 4: Add Safety

For each phase with side effects:

  • Approval gate: "STOP and wait for user approval before proceeding."
  • Error handling: "If X fails, stop and show the error. Do NOT proceed to Phase N."
  • Rollback path: How to undo if something goes wrong
  • Verification: Check that each action succeeded before moving on

These aren't bureaucracy - they prevent the command from autonomously deploying broken code or committing garbage. A 2-second approval pause costs nothing compared to rolling back a bad deploy.

Step 5: Write the SKILL.md

Generate the complete skill file. Keep it under 200 lines - command skills are prompts, not documentation. If the command needs extensive reference material, use supporting files.

Always start with the argument guard:

The target is: $ARGUMENTS

If no argument was provided, ask the user for one and stop.

Then: rules section, phases, summary template.

Step 6: Audit

Run through every item on the audit checklist below. Fix failures before finalizing. Present the audit results to the user.

Step 7: Place

Save the skill to the target project:

<project>/.claude/skills/<command-name>/SKILL.md

If supporting files are needed, they go alongside SKILL.md.


Frontmatter Reference

| Field | Type | Default | When to Use | |-------|------|---------|-------------| | name | string | dir name | Always. Lowercase, hyphens, max 64 chars | | description | string | required | Action-oriented: what it does + when to trigger | | model | string | inherit | Complex reasoning: opus. Cost savings: haiku | | disable-model-invocation | bool | false | Always true for command skills (they have side effects) | | argument-hint | string | none | If command takes args: [service-name], [model-id] | | allowed-tools | string | all | Restrict: Read, Bash(npm *), mcp__github__* | | context | string | inline | fork for isolated subagent (read-only exploration) | | agent | string | general | With context: fork: Explore, Plan | | user-invocable | bool | true | false hides from menu (background knowledge only) |

$ARGUMENTS

$ARGUMENTS is replaced with the user's full argument string. Positional access via $0, $1, or $ARGUMENTS[N] (0-based).

/deploy twitter staging
# $ARGUMENTS = "twitter staging", $0 = "twitter", $1 = "staging"

Don't over-specify argument parsing. Trust Claude to understand natural language - describe what you expect and let Claude validate, rather than writing brittle format parsers.

Path Variables

Never hardcode absolute paths. Use:

  • ${CLAUDE_PROJECT_DIR} - project root
  • ${CLAUDE_SKILL_DIR} - skill's own directory (for bundled scripts)
  • Relative paths from repo root
Design Patterns

See [references/design-patterns.md](references/design-patterns.md) for detailed patterns with full examples. Quick reference:

| Scenario | Pattern | |----------|---------| | One action, no approval needed | Simple Task | | Multiple steps, some irreversible | Phased Workflow with Approval Gate | | Need info from multiple sources | Parallel Research + Sequential Implementation | | Modifying another project | Cross-Repo with Adaptive Discovery | | Command exceeds 200 lines | Progressive Disclosure with supporting files |

Anti-Patterns

Watch for these when reviewing command skills:

  • Hardcoded paths: /Users/someone/... → use ${CLAUDE_PROJECT_DIR} or relative
  • Missing safety: no disable-model-invocation on commands with side effects
  • Over-specification: complex argument parsers instead of natural language
  • No checkpoints: making changes without showing what will happen first
  • Blind edits: modifying files without reading them
  • Silent failures: no error handling or status reporting
  • Context ignorance: not reading CLAUDE.md, existing conventions, or config files
  • Monolithic prompt: 500+ line SKILL.md instead of using supporting files
Audit Checklist

Every command skill must pass before finalizing:

  1. disable-model-invocation: true if any side effects exist
  2. argument-hint present if command takes arguments
  3. No hardcoded absolute paths
  4. Adaptive discovery (grep/glob) for cross-repo file references
  5. Guard clause for missing $ARGUMENTS
  6. Approval gate before destructive/irreversible operations
  7. Clear outcome reporting (succeeded, failed, next steps)
  8. SKILL.md under 200 lines (supporting files for overflow)
  9. Explicit error handling ("if X fails, stop and show error")
  10. ${CLAUDE_PROJECT_DIR} or relative paths, never absolute
  11. Reads files before editing (no blind modifications)
  12. Reads target project's CLAUDE.md for cross-repo operations
按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。