| name | skill-creator |
| description | 効果的なスキルを作成するためのガイド。ユーザーがClaudeの機能を専門知識、ワークフロー、ツール統合で拡張する新しいスキルを作成(または既存のスキルを更新)したい場合に使用すべきスキルです。 |
| license | 完全な条項はLICENSE.txtを参照 |
スキルクリエーター
このスキルは、効果的なスキルを作成するためのガイダンスを提供します。
スキルについて
スキルは、専門知識、ワークフロー、ツールを提供することでClaudeの機能を拡張する、モジュール化された自己完結型パッケージです。特定のドメインやタスクのための「オンボーディングガイド」として考えてください。これらは、Claudeを汎用エージェントから、どのモデルも完全には持ち得ない手続き的知識を備えた専門エージェントへと変換します。
スキルが提供するもの
- 専門的ワークフロー - 特定のドメインのための複数ステップの手順
- ツール統合 - 特定のファイル形式やAPIを扱うための指示
- ドメイン専門知識 - 企業固有の知識、スキーマ、ビジネスロジック
- バンドルされたリソース - 複雑で反復的なタスクのためのスクリプト、リファレンス、アセット
スキルの構造
すべてのスキルは、必須のSKILL.mdファイルとオプションのバンドルリソースで構成されます:
skill-name/
├── SKILL.md (必須)
│ ├── YAMLフロントマターメタデータ (必須)
│ │ ├── name: (必須)
│ │ └── description: (必須)
│ └── Markdownの指示 (必須)
└── バンドルリソース (オプション)
├── scripts/ - 実行可能コード(Python/Bashなど)
├── references/ - 必要に応じてコンテキストに読み込まれるドキュメント
└── assets/ - 出力で使用されるファイル(テンプレート、アイコン、フォントなど)
SKILL.md (必須)
メタデータの品質: YAMLフロントマターのnameとdescriptionは、Claudeがスキルをいつ使用するかを決定します。スキルが何をするか、いつ使用すべきかについて具体的に記述してください。三人称を使用してください(例:「このスキルは〜の場合に使用すべきです」という形式)。
バンドルリソース (オプション)
スクリプト (scripts/)
決定論的な信頼性が必要なタスクや、繰り返し書き直されるタスクのための実行可能コード(Python/Bashなど)。
- 含めるべき場合: 同じコードが繰り返し書き直されている場合、または決定論的な信頼性が必要な場合
- 例: PDF回転タスクのための
scripts/rotate_pdf.py - 利点: トークン効率的、決定論的、コンテキストに読み込まずに実行可能
- 注意: スクリプトは、パッチ適用や環境固有の調整のためにClaudeによって読み取られる必要がある場合があります
リファレンス (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またはリファレンスファイルのいずれかに存在すべきで、両方には存在すべきではありません。スキルの核心部分でない限り、詳細情報にはリファレンスファイルを優先してください。これにより、SKILL.mdをスリムに保ちながら、コンテキストウィンドウを占有せずに情報を発見可能にします。SKILL.mdには必須の手続き的指示とワークフローガイダンスのみを保持し、詳細な参照資料、スキーマ、例はリファレンスファイルに移動してください。
アセット (assets/)
コンテキストに読み込まれることを意図していない、Claudeが生成する出力内で使用されるファイル。
- 含めるべき場合: スキルが最終出力で使用されるファイルを必要とする場合
- 例: ブランドアセットのための
assets/logo.png、PowerPointテンプレートのためのassets/slides.pptx、HTML/Reactボイラープレートのためのassets/frontend-template/、タイポグラフィのためのassets/font.ttf - 用途: テンプレート、画像、アイコン、ボイラープレートコード、フォント、コピーまたは変更されるサンプルドキュメント
- 利点: 出力リソースをドキュメントから分離し、Claudeがコンテキストに読み込まずにファイルを使用できるようにする
プログレッシブディスクロージャー設計原則
スキルは、コンテキストを効率的に管理するために3レベルの読み込みシステムを使用します:
- メタデータ(name + description) - 常にコンテキスト内(約100語)
- SKILL.md本文 - スキルがトリガーされたとき(5k語未満)
- バンドルリソース - Claudeが必要に応じて(無制限*)
*スクリプトはコンテキストウィンドウに読み込まずに実行できるため無制限。
スキル作成プロセス
スキルを作成するには、「スキル作成プロセス」を順番に実行してください。適用されない明確な理由がある場合のみステップをスキップしてください。
ステップ1: 具体例でスキルを理解する
スキルの使用パターンがすでに明確に理解されている場合のみ、このステップをスキップしてください。既存のスキルで作業する場合でも価値があります。
効果的なスキルを作成するには、スキルがどのように使用されるかの具体例を明確に理解してください。この理解は、ユーザーからの直接的な例、またはユーザーフィードバックで検証された生成例のいずれかから得られます。
例えば、画像エディタースキルを構築する場合、関連する質問には以下が含まれます:
- 「画像エディタースキルはどのような機能をサポートすべきですか?編集、回転、他に何かありますか?」
- 「このスキルがどのように使用されるかの例を挙げていただけますか?」
- 「ユーザーが『この画像から赤目を除去して』や『この画像を回転して』といったことを求めると想像できます。このスキルが使用される他の方法を想像できますか?」
- 「このスキルをトリガーするためにユーザーは何と言うでしょうか?」
ユーザーを圧倒しないように、1つのメッセージで多くの質問をしすぎないようにしてください。最も重要な質問から始めて、効果を高めるために必要に応じてフォローアップしてください。
スキルがサポートすべき機能について明確な感覚が得られたら、このステップを終了します。
ステップ2: 再利用可能なスキルコンテンツを計画する
具体例を効果的なスキルに変えるには、各例を次のように分析します:
- ゼロから例を実行する方法を検討する
- これらのワークフローを繰り返し実行する際に役立つスクリプト、リファレンス、アセットを特定する
例: 「このPDFを回転させて」のようなクエリを処理するpdf-editorスキルを構築する場合、分析は次のようになります:
- PDFを回転させるには、毎回同じコードを書き直す必要がある
- スキルに保存する
scripts/rotate_pdf.pyスクリプトが役立つ
例: 「Todoアプリを作って」や「歩数を追跡するダッシュボードを作って」のようなクエリのためのfrontend-webapp-builderスキルを設計する場合、分析は次のようになります:
- フロントエンドWebアプリを書くには、毎回同じボイラープレートHTML/Reactが必要
- ボイラープレートHTML/Reactプロジェクトファイルを含む
assets/hello-world/テンプレートがスキルに保存するのに役立つ
例: 「今日何人のユーザーがログインしましたか?」のようなクエリを処理するbig-queryスキルを構築する場合、分析は次のようになります:
- BigQueryをクエリするには、毎回テーブルスキーマとリレーションシップを再発見する必要がある
- テーブルスキーマを文書化する
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インスタンスがこれらのタスクをより効果的に実行するのに役立つ手続き的知識、ドメイン固有の詳細、または再利用可能なアセットを検討してください。
再利用可能なスキルコンテンツから始める
実装を開始するには、上記で特定した再利用可能なリソースから始めてください:scripts/、references/、assets/ファイル。このステップにはユーザー入力が必要な場合があることに注意してください。例えば、brand-guidelinesスキルを実装する場合、ユーザーはassets/に保存するブランドアセットやテンプレート、またはreferences/に保存するドキュメントを提供する必要がある場合があります。
また、スキルに不要な例のファイルとディレクトリを削除してください。初期化スクリプトは構造を示すためにscripts/、references/、assets/に例のファイルを作成しますが、ほとんどのスキルはそれらすべてを必要としません。
SKILL.mdを更新する
文体: スキル全体を命令形/不定形(動詞優先の指示)を使用して記述し、二人称は使用しないでください。客観的で説明的な言語を使用してください(例:「あなたはXをすべきです」や「Xをする必要がある場合」ではなく、「Xを達成するには、Yを行う」)。これにより、AI消費のための一貫性と明確さが維持されます。
SKILL.mdを完成させるには、次の質問に答えてください:
- スキルの目的は何ですか?数文で説明してください。
- スキルはいつ使用すべきですか?
- 実際には、Claudeはスキルをどのように使用すべきですか?上記で開発したすべての再利用可能なスキルコンテンツを参照して、Claudeがそれらの使用方法を知ることができるようにしてください。
ステップ5: スキルをパッケージングする
スキルの準備ができたら、ユーザーと共有される配布可能なzipファイルにパッケージ化する必要があります。パッケージングプロセスは、すべての要件を満たしていることを確認するために、最初にスキルを自動的に検証します:
scripts/package_skill.py <path/to/skill-folder>
オプションの出力ディレクトリ指定:
scripts/package_skill.py <path/to/skill-folder> ./dist
パッケージングスクリプトは:
検証 スキルを自動的に検証し、以下をチェックします:
- YAMLフロントマターの形式と必須フィールド
- スキルの命名規則とディレクトリ構造
- 説明の完全性と品質
- ファイル構成とリソース参照
パッケージング 検証に合格した場合、スキル名にちなんで名付けられたzipファイル(例:
my-skill.zip)を作成し、すべてのファイルを含み、配布のための適切なディレクトリ構造を維持します。
検証に失敗した場合、スクリプトはエラーを報告し、パッケージを作成せずに終了します。検証エラーを修正し、パッケージングコマンドを再度実行してください。
ステップ6: 反復する
スキルをテストした後、ユーザーが改善を要求する場合があります。これは多くの場合、スキルのパフォーマンスに関する新鮮なコンテキストを持って、スキルを使用した直後に発生します。
反復ワークフロー:
- 実際のタスクでスキルを使用する
- 苦労や非効率性に気づく
- SKILL.mdまたはバンドルリソースをどのように更新すべきかを特定する
- 変更を実装し、再度テストする