| name | create-skill |
| description | Agent Skills標準に準拠したスキルを作成し、distディレクトリに出力する。
ユーザーが「スキルを作りたい」「スキルを作成して」と言ったとき、
または /create-skill コマンドで呼び出されたときに使用する。
スキル以外のファイル作成には使用しない。
|
| argument-hint | ["作りたいスキルの説明"] |
| allowed-tools | Read, Grep, Glob, Write, Edit |
Agent Skill 作成
ユーザーの要望: $ARGUMENTS
手順
1. 公式ドキュメントの読み込み(必須・最優先)
重要: references/ ディレクトリには各ツールの公式ドキュメントが含まれている。
スキル作成のベストプラクティスが記載されているため、必ず最初に読むこと。
このスキルの references/ ディレクトリには以下の公式ドキュメントが含まれている:
| ディレクトリ | 内容 | 特に参照すべき情報 |
|---|
references/agent-skills/ | Agent Skills 標準仕様(必須) | name/description の書き方、ディレクトリ構造、良い例・悪い例 |
references/claude-code/ | Claude Code 公式ドキュメント | frontmatter フィールド、allowed-tools、context: fork |
references/gemini-cli/ | Gemini CLI 公式ドキュメント | スキルの発見・有効化の仕組み |
references/openai-codex/ | OpenAI Codex 公式ドキュメント | agents/openai.yaml の設定 |
これらのドキュメントには、スキル作成時の具体的な例やアンチパターンが記載されている。
独自の判断で作成せず、ドキュメントに沿って作成すること。
2. 要件の分析
ユーザーの要望から以下を抽出する:
- スキル名(小文字、ハイフン区切り)
- スキルの目的と機能
- いつこのスキルが使われるべきか(トリガー条件)
- いつこのスキルが使われるべきでないか(スコープの境界)
- 必要なスクリプトやリソース
3. description の設計(最重要)
description はスキルの成否を決める最も重要なフィールドである。
以下を必ず含める:
- 何ができるか: スキルの機能を具体的に記述
- いつ使うべきか: トリガー条件を明示(
Use when... / 〜のときに使用する)
- いつ使うべきでないか: スコープと境界を明確に
良い例
description: |
PDFファイルからテキストとテーブルを抽出し、フォームに入力し、複数のPDFをマージする。
PDFドキュメントを扱うとき、またはユーザーがPDF、フォーム、ドキュメント抽出について言及したときに使用する。
悪い例
description: PDFを扱う
4. ファイルの作成
dist/<skill-name>/ ディレクトリに以下を作成:
dist/<skill-name>/
├── SKILL.md # 必須
├── scripts/ # 必要な場合のみ
├── references/ # 必要な場合のみ
└── assets/ # 必要な場合のみ
5. SKILL.md の作成
以下のフォーマットで作成:
---
name: <skill-name>
description: |
このスキルの目的と機能。
〜のときに使用する。
---
このスキルが解決する問題...
- ユーザーが〜したいとき
- 〜という状況のとき
具体的な指示...
具体的な指示...
- エッジケースの対処法
- よくある間違い
6. Claude Code 用 frontmatter フィールド
標準フィールド(name, description)に加えて、Claude Code特有のフィールドを必要に応じて追加:
allowed-tools(推奨)
スキル実行中に許可なく使えるツールを指定。UXを大きく左右するため、必要なツールがあれば積極的に追加。
allowed-tools: Read, Grep, Glob, Bash(git *)
disable-model-invocation
trueにするとClaudeが自動呼び出しせず、/nameでの手動呼び出しのみになる。
デプロイ、送信、削除など副作用のあるスキルには必須。
disable-model-invocation: true
argument-hint(必要に応じて)
オートコンプリート時に表示されるヒント。引数を受け取るスキルに追加。
argument-hint: [issue-number]
context(必要に応じて)
forkを指定するとサブエージェントとして独立実行。リサーチ系など重い処理に有用。
context: fork
agent: Explore
7. 検証