create-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

create-skill

create-skill

新規スキルを
skills/<name>/SKILL.md
として scaffold し、symlink と品質チェックまで自動化する。
将新技能以
skills/<name>/SKILL.md
的形式进行scaffold(脚手架生成),并自动完成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
を参照します。
/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 fallback(面向skills add引入方)

本スキルが委譲する subagent(
skill-explorer
skill-author
skill-reviewer
frontmatter-linter
)は Fandhe-AI/agent-cli-skills リポジトリの
.claude/agents/
定義を前提とする。導入先リポジトリに該当 subagent が存在しない場合は委譲せず、各 Step の委譲プロンプトに記載した確認観点・入力・必須項目を main が直接実行する
frontmatter-linter
の代替としては Step 4 の検証観点の手動確認で足りる。導入先ではスキル実体が
.agents/skills/
に置かれるため、検索対象・出力先のパスは導入先の配置に読み替える。
本技能委托的subagent(
skill-explorer
skill-author
skill-reviewer
frontmatter-linter
)以Fandhe-AI/agent-cli-skills仓库的
.claude/agents/
定义为前提。如果目标仓库中不存在对应subagent,则不进行委托,由main直接执行各Step委托提示中记载的检查要点、输入及必填项
frontmatter-linter
的替代方案可采用Step 4中的手动验证要点。由于目标仓库中技能实体存放在
.agents/skills/
下,因此搜索对象及输出路径需替换为目标仓库的对应路径。

フロー

流程

Step 1: 既存スキルの重複確認(skill-explorer に委譲)

Step 1: 检查现有技能重复(委托给skill-explorer)

**skill-explorer(subagent_type: skill-explorer)**に委譲して以下を確認させる(存在しない場合は「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
  出力: 重複なし / 重複あり(ファイルパスと既存スキルの概要)
重複が見つかった場合はユーザーに通知し、新規作成か既存スキルの更新かを確認してから続行する。
委托给**skill-explorer(subagent_type: skill-explorer)**完成以下检查(若该subagent不存在,则按照「subagent fallback」规则由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 に委譲)

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/(複数形)とする
委托给**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选择、安全自检)
    - .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 を作成する

Step 3: 创建symlink

skill-author
の完了後、シンボリックリンクを作成する。
bash
ln -s ../../skills/<skill-name> .claude/skills/<skill-name>
symlink 作成後に以下で確認する。
bash
ls -la .claude/skills/<skill-name>
skill-author
完成后,创建符号链接。
bash
ln -s ../../skills/<skill-name> .claude/skills/<skill-name>
创建后通过以下命令确认:
bash
ls -la .claude/skills/<skill-name>

Step 4: 品質チェック(skill-reviewer と frontmatter-linter に委譲)

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
に差し戻して修正させる。
并行委托给**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项目、内容结构)
    - 安全自检(是否硬编码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 更新を案内する

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
を実行してください。
技能添加完成后,将引导用户执行以下操作(若用户有指示,可直接调用
update-docs
技能)。
✅ 已创建skills/<skill-name>/SKILL.md。
✅ 已创建.claude/skills/<skill-name> → ../../skills/<skill-name>的symlink。

如需更新CLAUDE.md的技能列表与结构树,请执行:
  /update-docs

Step 6: コミットする(任意)

Step 6: 提交(可选)

ユーザーからコミットの指示があれば
create-commit
スキルでコミットを作成する。指示がない場合は変更をステージしたまま報告のみ行う。
若用户指示提交,将使用
create-commit
技能创建提交。若无指示,将仅报告变更并保持变更处于暂存状态。

検証

验证

  • ls skills/<skill-name>/SKILL.md
    でファイルが存在することを確認する
  • ls -la .claude/skills/<skill-name>
    で symlink が正しいリンク先を指すことを確認する
  • head -10 skills/<skill-name>/SKILL.md
    で frontmatter が正しく記述されていることを確認する
  • skill-reviewer と frontmatter-linter の検証が PASS していることを確認する
  • 同梱スクリプトがある場合は
    scripts/
    (複数形)ディレクトリに配置されていることを確認する
  • 通过
    ls skills/<skill-name>/SKILL.md
    确认文件存在
  • 通过
    ls -la .claude/skills/<skill-name>
    确认symlink指向正确路径
  • 通过
    head -10 skills/<skill-name>/SKILL.md
    确认frontmatter填写正确
  • 确认skill-reviewer与frontmatter-linter的验证已通过
  • 若有附带脚本,确认其存放在
    scripts/
    (复数形式)目录下

注意事項

注意事项

  • symlink の相対パス:
    .claude/skills/<name>
    からの相対パスは
    ../../skills/<name>
    とする(絶対パス不可)
  • ディレクトリ名と name の一致: frontmatter の
    name:
    はディレクトリ名と完全一致させる
  • #
    を含む description
    : YAML コメント扱いを防ぐためクォートで囲む(規約 e83e1bb 参照)
  • スクリプト同梱時の命名: スキルにスクリプトを同梱する場合はディレクトリ名を
    scripts/
    (複数形)に統一する(
    script/
    は使用しない)
  • update-docs の実行: スキル追加後は必ず
    /update-docs
    CLAUDE.md
    を最新化する
  • 委譲の連鎖:
    skill-author
    が別の Agent をさらに委譲する場合がある。承認フローが必要なスキルは事前に要件を確認する
  • symlink相对路径:
    .claude/skills/<name>
    的相对路径需设为
    ../../skills/<name>
    (禁止使用绝对路径)
  • 目录名与name一致: frontmatter的
    name:
    需与目录名完全一致
  • 包含#的description: 为避免被视为YAML注释,需用引号包裹(参考规则e83e1bb)
  • 附带脚本的命名: 若技能附带脚本,目录名需统一为
    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
Agents: skill-explorer, skill-author, skill-reviewer, frontmatter-linter
Rules: delegation, skill-authoring, description-style
Skills: create-agent, update-docs, create-commit