mcpField
C
create-skill

create-skill

github.com/fandhe-aiAgent 工作流2252 次安装4 天前更新
代码仓库

关于 create-skill

create-skill 是用于在代码库中创建新 Agent Skill 的流程型 Skill,面向维护技能目录的开发者。它从重名检查到编写、symlink 创建和质量检查组织整个流程,并在缺少指定 subagent 时提供主 Agent 直接执行的回退方案。

主要功能

  1. 01生成 SKILL.md 雏形
  2. 02检查已有技能是否重名
  3. 03创建技能目录 symlink
  4. 04执行技能内容与 frontmatter 检查
  5. 05缺少 subagent 时由主 Agent 回退处理

适用场景

  1. 01为新技能名称检查目录冲突
  2. 02在 skills/ 下搭建技能文件
  3. 03将新技能链接到 .claude/skills/
  4. 04检查 frontmatter、规范与 symlink

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/fandhe-ai/agent-cli-skills --skill create-skill

安装后在 Claude Code 中输入/create-skill确认已加载。

附带文件sample/SKILL.sample.md

详细介绍

create-skill

将新技能 scaffold 为 skills/<name>/SKILL.md,并自动完成 symlink 和质量检查。

用法

/create-skill summarize-pr        # スキルを新規作成
/create-skill                     # 引数省略時はスキル名をインタラクティブに確認
参数必填说明
skill-name可选要创建的技能名称(kebab-case)。省略时会在 Step 1 前交互确认

main(本技能自身)专注于规划、委派、整合和报告,并将编写或审核 SKILL.md 的工作委派给专业 Agent(遵循 .claude/rules/delegation.md)。

技能模板请参阅本技能附带的 sample/SKILL.sample.md。

subagent 回退(面向 skills add 的安装目标)

本技能委派的 subagent(skill-explorer、skill-author、skill-reviewer、frontmatter-linter)依赖 Fandhe-AI/agent-cli-skills 仓库中的 .claude/agents/ 定义。如果安装目标仓库中不存在相应的 subagent,则不进行委派,而由 main 直接执行各 Step 的委派提示词中列出的检查要点、输入项和必需项。可通过手动检查 Step 4 中的验证要点来替代 frontmatter-linter。安装目标中的技能实体位于 .agents/skills/,因此应根据安装目标中的布局调整搜索目标和输出路径。

流程

Step 1:检查是否与现有技能重复(委派给 skill-explorer)

委派给 skill-explorer(subagent_type: skill-explorer),让其检查以下内容(如果该 subagent 不存在,则遵循“subagent 回退”,由 main 直接检查。后续 Step 同样如此)。

subagent_type: skill-explorer
prompt: |
  目的: 指定された名前のスキルが既に存在しないか確認する
  入力:
    - 作成予定のスキル名: <skill-name>
    - 検索対象: skills/ 配下の全ディレクトリ、.claude/skills/ 配下の symlink
  確認観点:
    1. skills/<skill-name>/ が既に存在するか
    2. 類似名(例: kebab-case 変形や別表記)のスキルが存在するか
    3. 既存スキルで同等の機能が提供されていないか
  適用ルール: .claude/rules/delegation.md
  出力: 重複なし / 重複あり(ファイルパスと既存スキルの概要)

如果发现重复,则通知用户,并确认是新建还是更新现有技能,然后再继续。

Step 2:设计 frontmatter 和正文,并创建 SKILL.md(委派给 skill-author)

委派给 **skill-author(subagent_type: skill-author)**创建 SKILL.md。

委派提示词中应包含以下内容:

subagent_type: skill-author
prompt: |
  目的: <skill-name> の SKILL.md を新規作成する
  入力:
    - スキル名: <skill-name>
    - ユーザーから受け取った役割説明・要件(あれば)
    - 雛形: 本スキル同梱の sample/SKILL.sample.md
    - 既存スキルの参考例: skills/contribute-skill/SKILL.md, skills/update-docs/SKILL.md
  出力先: skills/<skill-name>/SKILL.md
  適用ルール:
    - .claude/rules/skill-authoring.md(frontmatter・本文構成・model 選定・セキュリティ self-check)
    - .claude/rules/description-style.md(description の発火トリガー語・YAML 落とし穴)
    - .claude/rules/delegation-impl.md(委譲設計が必要な場合)
  必須項目:
    - frontmatter: name(ディレクトリ名と一致), description(発火トリガー語を含む), model, user-invocable
    - 本文: ## 使い方 → ## フロー(Step N)→ ## 検証 → ## 注意事項
    - description に # を含む場合はクォートで囲む
    - 作業を委譲する設計の場合は subagent_type を明記する
    - 同梱スクリプトを配置する場合はディレクトリ名を scripts/(複数形)とする
Step 3:创建 symlink

skill-author 完成后,创建符号链接。

ln -s ../../skills/<skill-name> .claude/skills/<skill-name>

创建 symlink 后,使用以下命令确认。

ls -la .claude/skills/<skill-name>
Step 4:质量检查(委派给 skill-reviewer 和 frontmatter-linter)

并行委派给 **skill-reviewer(subagent_type: skill-reviewer)**和 **frontmatter-linter(subagent_type: frontmatter-linter)**进行验证。

subagent_type: skill-reviewer
prompt: |
  目的: 新規作成した SKILL.md の品質をレビューする
  入力:
    - 対象ファイル: skills/<skill-name>/SKILL.md
  観点:
    - `skill-authoring.md` 規約への準拠(frontmatter 項目、本文構成)
    - セキュリティ self-check(APIキーのハードコード、フック回避コマンドの不在)
    - トリガー語・引数ヒントの適切さ
    - 同梱スクリプトのディレクトリ名が `scripts/`(複数形)になっているか
  適用ルール: .claude/rules/skill-authoring.md, .claude/rules/security.md
subagent_type: frontmatter-linter
prompt: |
  目的: 新規作成した SKILL.md の frontmatter・symlink を機械検証する
  入力:
    - 対象ファイル: skills/<skill-name>/SKILL.md
    - symlink: .claude/skills/<skill-name>
  観点:
    - `name` がディレクトリ名と一致しているか
    - `model` が規定値(haiku/sonnet/opus)のいずれかか
    - `user-invocable` の有無と symlink の整合性
    - `description` 内の `#` がクォートで囲まれているか
  適用ルール: .claude/rules/skill-authoring.md

如果审核结果有问题,则退回给 skill-author 修改。

Step 5:提示使用 update-docs 更新 CLAUDE.md

技能添加完成后,提供以下提示(如果用户提出要求,也可以直接调用 update-docs 技能)。

✅ skills/<skill-name>/SKILL.md を作成しました。
✅ .claude/skills/<skill-name> → ../../skills/<skill-name> の symlink を作成しました。

CLAUDE.md のスキル一覧・構造ツリーを更新するには:
  /update-docs
を実行してください。
Step 6:提交(可选)

如果用户要求提交,则使用 create-commit 技能创建提交。如果用户没有提出要求,则只报告结果,并保持更改处于暂存状态。

验证

  • 确认文件存在:ls skills/<skill-name>/SKILL.md
  • 确认 symlink 指向正确的链接目标:ls -la .claude/skills/<skill-name>
  • 确认 frontmatter 编写正确:head -10 skills/<skill-name>/SKILL.md
  • 确认 skill-reviewer 和 frontmatter-linter 的验证结果均为 PASS
  • 如果附带脚本,确认其位于 scripts/(复数)目录中

注意事项

  • symlink 的相对路径:从 .claude/skills/<name> 起算的相对路径应为 ../../skills/<name>(不可使用绝对路径)
  • 目录名与 name 保持一致:frontmatter 中的 name: 必须与目录名完全一致
  • 包含 # 的 description:用引号括起来,以免被视为 YAML 注释(参阅 .claude/rules/description-style.md)
  • 附带脚本时的命名:技能附带脚本时,目录名统一使用 scripts/(复数)(不要使用 script/)
  • 运行 update-docs:添加技能后,务必通过 /update-docs 将 CLAUDE.md 更新到最新状态
  • 委派链:skill-author 可能会进一步委派给其他 Agent。需要审批流程的技能应事先确认要求

相关

Agents:skill-explorer、skill-author、skill-reviewer、frontmatter-linter

Rules:delegation、skill-authoring、description-style

Skills:create-agent、update-docs、create-commit

评论

支持 Markdown