mcpField
S
skill-creator

skill-creator

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

skill-creator について

skill-creatorは、再利用可能なエージェント手順を作成する人向けに、モジュール型Claudeスキルの作成方法を案内します。構成やリソース設計、執筆、パッケージ化を扱います。

主な機能

  1. 01SKILL.mdの構成とメタデータの説明
  2. 02再利用可能なリソースと段階的開示の指針
  3. 03スキル作成とパッケージ化の手順
  4. 04スクリプトと参照ファイルの運用指針

活用シーン

  1. 01反復的な分野別タスク向けスキルの設計
  2. 02スクリプト、参照資料、アセットの整理
  3. 03配布用スキルの準備

インストール

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

$npx skills add https://github.com/jackspace/claudeskillz --skill skill-creator

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

同梱ファイルLICENSE.txtSKILL.json

詳細

スキル作成ツール

このスキルでは、効果的なスキルを作成するためのガイダンスを提供します。

スキルについて

スキルは、専門知識、ワークフロー、ツールを提供してClaudeの機能を拡張する、モジュール式の自己完結型パッケージです。特定の分野やタスクに関する「オンボーディングガイド」のようなものと考えてください。手順に関する知識を備えた専門エージェントへとClaudeを変えます。この知識をモデルだけで完全に身につけることはできません。

スキルが提供するもの
  1. 専門的なワークフロー:特定の分野に関する複数の手順からなるプロセス
  2. ツール連携:特定のファイル形式やAPIを扱うための手順
  3. ドメインの専門知識:企業固有の知識、スキーマ、ビジネスロジック
  4. 同梱リソース:複雑で反復的なタスクのためのスクリプト、リファレンス、アセット
スキルの構成

各スキルは、必須の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.)
要件(重要)
  • スキルは特定のトピックにまとめてください。たとえば、cloudflare、cloudflare-r2、cloudflare-workers、docker、gcloudはdevopsにまとめます。
  • SKILL.mdは200行未満にし、関連するMarkdownファイルやスクリプトへの参照を記載してください。
  • 各スクリプトや参照先のMarkdownファイルも200行未満にしてください。複数のファイルに分割できることを忘れないでください(段階的開示の原則)。
  • SKILL.mdファイルのメタデータにある説明は簡潔にしつつ、参照先やスクリプトのユースケースを十分に含めてください。これにより、Claude Codeの実装プロセス中にスキルが自動的に有効化されやすくなります。
  • 参照先のMarkdownファイル:
    • これらのファイルでは、簡潔さを優先して文法を犠牲にしてもかまいません。
    • ほかのMarkdownファイルやスクリプトを参照してもかまいません。
  • 参照先のスクリプト:
    • bashスクリプトはWindowsで十分にサポートされていないため、bashスクリプトではなくnodejsまたはpythonスクリプトを優先してください。
    • pythonスクリプトを作成する場合は、requirements.txtがあることを確認してください。
    • スクリプトが.envファイルに次の順序で従うようにしてください:process.env > .claude/skills/${SKILL}/.env > .claude/skills/.env > .claude/.env
    • 必要な環境変数を示す.env.exampleファイルを作成してください。
    • これらのスクリプトには必ずテストを作成してください。

理由 より優れたコンテキストエンジニアリングを実現するためです。エージェントスキルの段階的開示手法に着想を得ています。エージェントスキルが有効になると、Claude Codeは以前のように長いSKILL.mdをすべて読むのではなく、関連するファイルだけをコンテキストに読み込むことを検討します。

SKILL.md(必須)

ファイル名:SKILL.md(大文字) **ファイルサイズ:**200行未満。さらに行数が必要な場合は、referencesフォルダー内の複数のファイルに分割してください。

**メタデータの品質:**YAMLフロントマターのnameとdescriptionによって、Claudeがスキルを使用するタイミングが決まります。スキルの機能と使用すべき状況を具体的に記述してください。三人称で記述してください(例:「このスキルは、……の場合に使用します。」)。

同梱リソース(任意)
スクリプト(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 がファイルを使用できます
Progressive Disclosure Design Principle

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

  1. メタデータ(名前+説明) - 常にコンテキスト内(約 100 語)
  2. SKILL.md 本文 - スキルがトリガーされたとき(5k 語未満)
  3. バンドルされたリソース - Claude が必要に応じて読み込みます(無制限*)

*スクリプトはコンテキストウィンドウに読み込まずに実行できるため、無制限です。

Skill Creation Process

スキルを作成するには、明確な理由があって該当しない場合を除き、手順を飛ばさずに「Skill Creation Process」の順に進めてください。

Step 1: Understanding the Skill with Concrete Examples

スキルの使用パターンがすでに明確に理解されている場合に限り、この手順を省略してください。既存のスキルを扱う場合でも、この手順は役立ちます。

効果的なスキルを作成するには、スキルの具体的な使用例を明確に理解してください。この理解は、ユーザーから直接例を示してもらうこと、または例を生成し、ユーザーのフィードバックで検証することによって得られます。

たとえば、画像エディターのスキルを構築する場合、関連する質問には次のようなものがあります。

  • 「画像エディターのスキルでは、どのような機能をサポートする必要がありますか? 編集、回転、それ以外にもありますか?」
  • 「このスキルの使用例をいくつか教えていただけますか?」
  • 「『この画像の赤目を除去して』や『この画像を回転して』のような依頼が考えられます。他にも想定される使い方はありますか?」
  • 「どのような依頼があれば、このスキルを起動すべきでしょうか?」

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

このスキルでサポートすべき機能が明確になったら、この手順を終了します。

ステップ 2:再利用可能なスキルコンテンツを計画する

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

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

例:「この PDF を回転するのを手伝って」という問い合わせに対応する pdf-editor スキルを構築する場合、分析から次のことがわかります。

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

例:「ToDo アプリを作って」や「歩数を記録するダッシュボードを作って」という問い合わせに対応する frontend-webapp-builder スキルを設計する場合、分析から次のことがわかります。

  1. フロントエンドの Web アプリを作るには、毎回同じ定型的な 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 インスタンスがタスクをより効果的に実行するのに役立つ、手順に関する知識、分野固有の詳細、再利用可能なアセットを検討します。

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

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

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

SKILL.md を更新する

文体: スキル全体を、二人称ではなく命令形/不定詞形(動詞から始まる指示)で記述します。客観的で指示的な言葉を使います(「X を実現するには、Y を行う」のように記述し、「X を行うべきです」や「X を行う必要がある場合は」のような表現は避けます)。これにより、AI が解釈する際の一貫性と明確さが保たれます。

SKILL.md を完成させるには、次の質問に答えます。

  1. このスキルの目的は何か(数文で説明する)
  2. どのような場合にこのスキルを使うべきか
  3. 実際に Claude はこのスキルをどのように使うべきか。Claude が使い方を把握できるよう、上で作成したすべての再利用可能なスキルコンテンツを参照する
ステップ 5:スキルのパッケージ化

スキルの準備ができたら、ユーザーと共有するために、配布可能な zip ファイルにパッケージ化します。パッケージ化の処理では、すべての要件を満たしていることを確認するため、まずスキルが自動的に検証されます。

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

出力ディレクトリの指定は任意です。

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

パッケージ化スクリプトは、次の処理を行います。

  1. 検証:スキルを自動的に検証し、以下を確認します。

    • YAML フロントマターの形式と必須フィールド
    • スキルの命名規則とディレクトリ構成
    • 説明の完全性と品質
    • ファイルの整理とリソース参照
  2. パッケージ化:検証に合格した場合、スキル名を付けた zip ファイル(例:my-skill.zip)を作成します。このファイルにはすべてのファイルが含まれ、配布に適したディレクトリ構成が維持されます。

検証に失敗すると、スクリプトはエラーを報告し、パッケージを作成せずに終了します。検証エラーを修正してから、パッケージ化コマンドをもう一度実行してください。

ステップ 6:反復

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

反復のワークフロー:

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

参考資料

コメント