mcpField
S
skill-creator

skill-creator

github.com/robertgussエージェントワークフロー13288 回インストール7 週間前に更新
リポジトリ

skill-creator について

skill-creatorは、Claudeを拡張するモジュール型スキルの作成ガイドです。スキルの構成、リソースの整理、コンテキスト管理、作成手順を説明します。

主な機能

  1. 01スキル構成と必須メタデータ
  2. 02スクリプト・参照資料・アセットの整理
  3. 03段階的開示の設計原則
  4. 04スキルの作成とパッケージ化の手順

活用シーン

  1. 01特定分野向けClaudeスキルの設計
  2. 02参照ファイルを分割する判断
  3. 03再利用可能なスクリプトや出力テンプレートの計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/robertguss/claude-code-toolkit --skill skill-creator

インストール後、Claude Code で/skill-creatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
references/
output-patterns.md
workflows.md
scripts/
init_skill.py
package_skill.py
quick_validate.py

詳細

スキル作成

このスキルでは、効果的なスキルを作成するための指針を説明します。

スキルについて

スキルは、専門知識、ワークフロー、ツールを提供してClaudeの能力を拡張する、モジュール式の自己完結型パッケージです。特定の分野やタスク向けの「オンボーディングガイド」と考えてください。スキルはClaudeを汎用エージェントから、どのモデルも完全には備えられない手続き的な知識を持つ専門エージェントへと変えます。

スキルが提供するもの
  1. 専門的なワークフロー — 特定の分野向けの複数ステップの手順
  2. ツール連携 — 特定のファイル形式やAPIを扱うための指示
  3. 分野の専門知識 — 会社固有の知識、スキーマ、ビジネスロジック
  4. 同梱リソース — 複雑で反復的なタスク向けのスクリプト、リファレンス、アセット

基本原則

簡潔さが重要

コンテキストウィンドウは共有資源です。スキルは、システムプロンプト、会話履歴、ほかのスキルのメタデータ、実際のユーザーリクエストなど、Claudeが必要とするあらゆる情報とコンテキストウィンドウを共有します。

基本的な前提:Claudeはすでに非常に賢いということです。 Claudeがすでに知っていることは追加せず、各情報について「この説明は本当に必要か?」「この段落は、使用するトークン数に見合う価値があるか?」と考えてください。

冗長な説明より、簡潔な例を優先してください。

適切な自由度を設定する

タスクの脆弱性や変動性に合わせて、具体性のレベルを調整してください。

自由度が高い(テキストベースの指示):複数の方法が有効な場合、状況に応じて判断が変わる場合、またはヒューリスティックに沿って進める場合に使用します。

自由度が中程度(パラメーター付きの擬似コードやスクリプト):望ましいパターンがあり、ある程度の変更が許容される場合、または設定が動作に影響する場合に使用します。

自由度が低い(具体的なスクリプト、少数のパラメーター):操作が脆弱でエラーを起こしやすい場合、一貫性が重要な場合、または特定の順序に従う必要がある場合に使用します。

Claudeを道を探る存在として考えてください。崖に挟まれた狭い橋では、具体的なガードレール(自由度が低い)が必要ですが、広い野原では多くの道筋が許容されます(自由度が高い)。

スキルの構成

すべてのスキルは、必須のSKILL.mdファイルと、任意の同梱リソースで構成されます。

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required)
│   │   └── description: (required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (Python/Bash/etc.)
    ├── references/       - Documentation intended to be loaded into context as needed
    └── assets/           - Files used in output (templates, icons, fonts, etc.)
SKILL.md(必須)

すべてのSKILL.mdは、次の要素で構成されます。

  • フロントマター(YAML):nameフィールドとdescriptionフィールドが含まれます。スキルをいつ使用するかを判断するためにClaudeが読み取るのはこの2つのフィールドだけです。そのため、スキルの内容と使用するタイミングを明確かつ包括的に説明することが非常に重要です。
  • 本文(Markdown):スキルの使用方法に関する指示とガイダンスです。スキルがトリガーされた場合にのみ読み込まれます。
同梱リソース(任意)
スクリプト(scripts/)

決定論的な信頼性が必要なタスクや、繰り返し書き直されるタスク向けの実行可能コード(Python/Bashなど)です。

  • 含める場合:同じコードを繰り返し書き直している場合、または決定論的な信頼性が必要な場合
  • 例:PDFの回転タスク向けのscripts/rotate_pdf.py
  • メリット:トークン効率が高く、決定論的で、コンテキストに読み込まずに実行できる場合があります
  • 注:パッチ適用や環境固有の調整を行うため、Claudeがスクリプトを読む必要がある場合もあります
References (references/)

Claude のプロセスと思考に役立てるため、必要に応じてコンテキストに読み込むドキュメントや参考資料です。

  • 含めるタイミング:作業中に Claude が参照するドキュメント
  • 例:財務スキーマ用の references/finance.md、会社の NDA テンプレート用の references/mnda.md、会社のポリシー用の references/policies.md、API 仕様用の references/api_docs.md
  • 用途:データベーススキーマ、API ドキュメント、ドメイン知識、会社のポリシー、詳細なワークフローガイド
  • メリット:SKILL.md を簡潔に保ち、Claude が必要と判断したときだけ読み込めます
  • ベストプラクティス:ファイルが大きい場合(10k 語超)は、SKILL.md に grep 検索パターンを記載します
  • 重複を避ける:情報は SKILL.md または references ファイルのどちらか一方に記載し、両方には記載しないでください。スキルの中核に関わる情報でない限り、詳細な情報は references ファイルに記載することを優先します。これにより、コンテキストウィンドウを圧迫せずに情報を参照できるようにしながら、SKILL.md を簡潔に保てます。SKILL.md には必要最小限の手順とワークフローのガイダンスだけを残し、詳細な参考資料、スキーマ、例は references ファイルに移してください。
Assets (assets/)

コンテキストに読み込むのではなく、Claude が生成する出力内で使用するファイルです。

  • 含めるタイミング:スキルに最終出力で使用するファイルが必要な場合
  • 例:ブランド素材用の assets/logo.png、PowerPoint テンプレート用の assets/slides.pptx、HTML/React のボイラープレート用の assets/frontend-template/、タイポグラフィ用の assets/font.ttf
  • 用途:テンプレート、画像、アイコン、ボイラープレートコード、フォント、コピーまたは変更して使用するサンプル文書
  • メリット:出力用リソースをドキュメントから分離し、コンテキストウィンドウに読み込まずに Claude がファイルを使用できるようにします
スキルに含めないもの

スキルには、その機能を直接支える必須ファイルのみを含めてください。次のような余分なドキュメントや補助ファイルは作成しないでください。

  • README.md
  • INSTALLATION_GUIDE.md
  • QUICK_REFERENCE.md
  • CHANGELOG.md
  • など

スキルには、AI エージェントが作業を行うために必要な情報のみを含めてください。作成に至ったプロセスに関する補足情報、セットアップやテストの手順、ユーザー向けドキュメントなどを含めるべきではありません。ドキュメントファイルを追加すると、混乱や煩雑さを招くだけです。

段階的開示の設計原則

スキルでは、コンテキストを効率的に管理するために、次の3段階の読み込みシステムを使用します。

  1. メタデータ(名前+説明) - 常にコンテキストに含まれます(約100語)
  2. SKILL.md 本文 - スキルが呼び出されたときに読み込まれます(5k 語未満)
  3. バンドルされたリソース - Claude が必要に応じて読み込みます(スクリプトはコンテキストウィンドウに読み込まずに実行できるため、制限はありません)
段階的開示のパターン

コンテキストの肥大化を最小限に抑えるため、SKILL.md の本文は必要最小限にし、500 行未満に保ってください。この上限に近づいたら、内容を別ファイルに分割します。内容を別ファイルに分割する場合は、SKILL.md からそれらのファイルを参照し、いつ読むべきかを明確に説明することが非常に重要です。スキルを読む人が、それらのファイルの存在と使用するタイミングを把握できるようにしてください。

重要な原則: スキルが複数のバリエーション、フレームワーク、またはオプションに対応する場合、SKILL.md にはコアとなるワークフローと選択方法のガイダンスのみを記載します。バリエーション固有の詳細(パターン、例、設定)は、別の参照ファイルに移します。

パターン 1:参照先を示す概要ガイド

# PDF Processing

## Quick start

Extract text with pdfplumber: [code example]

## Advanced features

- **Form filling**: See [FORMS.md](FORMS.md) for complete guide
- **API reference**: See [REFERENCE.md](REFERENCE.md) for all methods
- **Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns

Claude は必要な場合にのみ FORMS.md、REFERENCE.md、または EXAMPLES.md を読み込みます。

パターン 2:ドメイン固有の構成

複数のドメインがあるスキルでは、無関係なコンテキストが読み込まれないよう、ドメインごとに内容を整理します。

bigquery-skill/
├── SKILL.md (overview and navigation)
└── reference/
    ├── finance.md (revenue, billing metrics)
    ├── sales.md (opportunities, pipeline)
    ├── product.md (API usage, features)
    └── marketing.md (campaigns, attribution)

ユーザーが営業指標について尋ねた場合、Claude は sales.md のみを読み込みます。

同様に、複数のフレームワークやバリエーションに対応するスキルでは、バリエーションごとに整理します。

cloud-deploy/
├── SKILL.md (workflow + provider selection)
└── references/
    ├── aws.md (AWS deployment patterns)
    ├── gcp.md (GCP deployment patterns)
    └── azure.md (Azure deployment patterns)

ユーザーが AWS を選択した場合、Claude は aws.md のみを読み込みます。

パターン 3:条件付きの詳細

基本的な内容を示し、高度な内容へのリンクを設けます。

# DOCX Processing

## Creating documents

Use docx-js for new documents. See [DOCX-JS.md](DOCX-JS.md).

## Editing documents

For simple edits, modify the XML directly.

**For tracked changes**: See [REDLINING.md](REDLINING.md) **For OOXML details**:
See [OOXML.md](OOXML.md)

ユーザーがこれらの機能を必要とする場合にのみ、Claude は REDLINING.md または OOXML.md を読み込みます。

重要なガイドライン:

  • 参照を深くネストしない - SKILL.md からの参照は 1 階層に保ちます。すべての参照ファイルは SKILL.md から直接リンクしてください。
  • 長い参照ファイルを構成する - 100 行を超えるファイルには、冒頭に目次を含めてください。プレビュー時に Claude が全体の範囲を把握できるようになります。

スキルの作成プロセス

スキルの作成には、次の手順が含まれます。

  1. 具体例を用いてスキルを理解する
  2. 再利用可能なスキルの内容(スクリプト、参照資料、アセット)を計画する
  3. スキルを初期化する(init_skill.py を実行する)
  4. スキルを編集する(リソースを実装し、SKILL.md を作成する)
  5. スキルをパッケージ化する(package_skill.py を実行する)
  6. 実際の使用状況に基づいて反復する

明確な理由があって適用できない場合にのみ、その手順を省略し、それ以外は順番どおりに進めてください。

ステップ 1:具体例を用いてスキルを理解する

スキルの使用パターンがすでに明確に理解できている場合にのみ、この手順を省略してください。既存のスキルを扱う場合でも、この手順は有益です。

効果的なスキルを作成するには、そのスキルがどのように使われるのか、具体例を通じて明確に理解する必要があります。こうした理解は、ユーザーから直接例をもらうか、生成した例をユーザーからのフィードバックで検証することで得られます。

たとえば、画像編集スキルを作成する場合、次のような質問が考えられます。

  • 「画像編集スキルにはどのような機能が必要ですか?編集、回転、それ以外にもありますか?」
  • 「このスキルがどのように使われるか、例を挙げてもらえますか?」
  • 「『この画像の赤目を除去して』や『この画像を回転して』といった依頼があると想像できます。このスキルをどのように使うか、ほかにも思い当たる方法はありますか?」
  • 「どのような言葉で依頼されたときに、このスキルを起動すべきですか?」

ユーザーを圧倒しないよう、1 回のメッセージで質問しすぎないでください。最も重要な質問から始め、より効果的にするために必要に応じて追加で質問します。

このスキルが対応すべき機能が明確になったら、この手順を終えます。

ステップ 2:再利用可能なスキルの内容を計画する

具体例を効果的なスキルにするには、各例を次のように分析します。

  1. 例をゼロから実行する方法を検討する
  2. これらのワークフローを繰り返し実行する際に役立つスクリプト、参考資料、アセットを特定する

例:「この PDF を回転するのを手伝って」のような依頼に対応する pdf-editor スキルを作成する場合、分析から次のことが分かります。

  1. PDF を回転するには、毎回同じコードを書き直す必要があります
  2. スキルに保存する scripts/rotate_pdf.py スクリプトがあると便利です

例:「todo アプリを作って」や「歩数を追跡するダッシュボードを作って」のような依頼に対応する frontend-webapp-builder スキルを設計する場合、分析から次のことが分かります。

  1. フロントエンドのウェブアプリを作成するには、毎回同じボイラープレートの HTML/React が必要です
  2. ボイラープレートの HTML/React プロジェクトファイルを含む assets/hello-world/ テンプレートがあると、スキルに保存するのに便利です

例:「今日ログインしたユーザー数は?」のような依頼に対応する big-query スキルを作成する場合、分析から次のことが分かります。

  1. BigQuery にクエリを実行するには、毎回テーブルのスキーマとリレーションシップを再確認する必要があります
  2. テーブルのスキーマを記載した references/schema.md ファイルがあると、スキルに保存するのに便利です

スキルに含める内容を決めるため、具体例をそれぞれ分析し、含める再利用可能なリソース(スクリプト、参考資料、アセット)のリストを作成します。

ステップ 3:スキルを初期化する

ここで、実際にスキルを作成します。

開発中のスキルがすでに存在し、反復やパッケージ化が必要な場合に限り、このステップを省略してください。その場合は次のステップに進みます。

新しいスキルをゼロから作成するときは、必ず init_skill.py スクリプトを実行してください。このスクリプトを使うと、スキルに必要なものがすべて自動的に含まれた新しいテンプレートのスキルディレクトリが生成されるため、スキル作成の効率と信頼性が大幅に向上します。

使用方法:

scripts/init_skill.py <skill-name> --path <output-directory>

スクリプトは次の処理を行います。

  • 指定したパスにスキルディレクトリを作成します
  • 適切なフロントマターと TODO プレースホルダーを含む SKILL.md テンプレートを生成します
  • サンプルのリソースディレクトリ scripts/、references/、assets/ を作成します
  • 各ディレクトリにカスタマイズまたは削除できるサンプルファイルを追加します

初期化後、必要に応じて、生成された SKILL.md とサンプルファイルをカスタマイズまたは削除してください。

ステップ 4:スキルを編集する

新しく生成したスキルでも既存のスキルでも、編集する際は、そのスキルが別の Claude インスタンスによって使われることを忘れないでください。Claude にとって有益で、かつ自明ではない情報を含めます。別の Claude インスタンスがタスクをより効果的に実行するうえで役立つ、手順に関する知識、ドメイン固有の詳細、再利用可能なアセットを検討してください。

実証済みの設計パターンを学ぶ

スキルのニーズに応じて、次のガイドを参照してください。

  • 複数ステップのプロセス:逐次的なワークフローと条件分岐については、references/workflows.md を参照してください
  • 特定の出力形式や品質基準:テンプレートと例のパターンについては、references/output-patterns.md を参照してください

これらのファイルには、効果的なスキル設計のための確立されたベストプラクティスが記載されています。

再利用可能なスキルのコンテンツから始める

実装を始めるには、上記で特定した再利用可能なリソースである scripts/、references/、assets/ のファイルから始めます。この手順では ユーザーからの情報提供が必要になる場合があります。たとえば、brand-guidelines スキルを実装する場合、ユーザーからブランドアセットやテンプレートの提供を受けて assets/ に保存したり、ドキュメントの提供を受けて references/ に保存したりする 必要があるかもしれません。

追加したスクリプトは、バグがなく、出力が期待どおりであることを確かめるため、実際に 実行してテストする必要があります。似たスクリプトが多数ある場合は、完了までの時間との バランスを取りながら、それらすべてが動作するという確信を得るために、代表的なものだけを テストすれば十分です。

スキルに不要なサンプルファイルやディレクトリは削除してください。 初期化スクリプトは構成例を示すために、scripts/、references/、assets/ に サンプルファイルを作成しますが、ほとんどのスキルではすべてが必要になるわけではありません。

SKILL.md を更新する

執筆ガイドライン: 常に命令形または不定詞形を使ってください。

フロントマター

name と description を含む YAML フロントマターを記述します。

  • name:スキル名
  • description:これはスキルを起動する主な仕組みであり、Claude がいつスキルを 使用すべきかを理解するのに役立ちます。
    • スキルの機能と、使用すべき具体的なトリガーや状況の両方を含めてください。
    • 「使用するタイミング」に関する情報はすべてここに含めてください。本文には記載しないでください。 本文は起動後にのみ読み込まれるため、本文に「このスキルを使用するタイミング」セクションを 設けても Claude の役には立ちません。
    • docx スキルの説明例:「変更履歴、コメント、書式の保持、テキスト抽出に対応した、 包括的なドキュメントの作成、編集、分析。Claude が次のような目的で業務用ドキュメント (.docx ファイル)を扱う必要がある場合に使用します:(1)新しいドキュメントの作成、 (2)コンテンツの変更や編集、(3)変更履歴の操作、(4)コメントの追加、その他の ドキュメント関連タスク」

YAML フロントマターには、ほかのフィールドを含めないでください。

本文

スキルと同梱リソースの使用方法を記述します。

ステップ 5:スキルをパッケージ化する

スキルの開発が完了したら、ユーザーと共有する配布可能な .skill ファイルに パッケージ化する必要があります。パッケージ化プロセスでは、すべての要件を満たしているかを 確認するため、まずスキルが自動的に検証されます。

scripts/package_skill.py <path/to/skill-folder>

出力ディレクトリの指定(任意):

scripts/package_skill.py <path/to/skill-folder> ./dist

パッケージ化スクリプトでは、次の処理が行われます。

  1. 検証:スキルを自動的に検証し、次の項目を確認します。

    • YAML フロントマターの形式と必須フィールド
    • スキルの命名規則とディレクトリ構成
    • 説明の網羅性と品質
    • ファイル構成とリソース参照
  2. パッケージ化:検証に合格すると、スキル名を付けた .skill ファイル (例:my-skill.skill)を作成し、適切なディレクトリ構成を保ったまま、すべての ファイルを配布用にまとめます。.skill ファイルは、拡張子が .skill の zip ファイルです。

検証に失敗した場合、スクリプトはエラーを報告し、パッケージを作成せずに終了します。 検証エラーを修正し、パッケージ化コマンドを再実行してください。

ステップ 6:反復する

スキルをテストした後、ユーザーから改善を求められることがあります。多くの場合、 スキルを使用した直後に、スキルの動作についての記憶が新しいうちに依頼されます。

反復ワークフロー:

  1. 実際のタスクでスキルを使用する
  2. 問題点や非効率な点を確認する
  3. SKILL.md または同梱リソースをどのように更新すべきか特定する
  4. 変更を実装し、再度テストする

コメント