mcpField
S
skill-system-creator

skill-system-creator

github.com/arthur0824haoエージェントワークフロー45 回インストール
リポジトリ

skill-system-creator について

skill-system-creatorは、メモリとグラフの文脈を使ってClaudeのスキル構想を支援します。スキルの初期化とパッケージ化の手順も扱います。

主な機能

  1. 01ブレインストーミングから始める設計
  2. 02メモリとグラフの文脈を活用
  3. 03仕様・テスト・開発の手順
  4. 04スキル初期化とパッケージ化の案内

活用シーン

  1. 01具体例をもとにスキルを設計
  2. 02スキルの動作仕様を定義・検証
  3. 03スキルパッケージを準備して反復

インストール

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

$npx skills add https://github.com/arthur0824hao/skills --skill skill-system-creator

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

同梱ファイル

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

LICENSE.txt
SKILL.behavior.yaml
SKILL.spec.yaml
references/
gate_rules.creator.yaml
output-patterns.md
workflows.md
scripts/
creator_tool.py
init_skill.py
package_skill.py
quick_validate.py
test_creator_tool.py

詳細

スキル作成ツール

このスキルは、メモリとグラフのコンテキストを活用しながら、まずアイデアをブレインストーミングして探索するためのインターフェースを提供します。また、従来のスキル初期化/パッケージ化ユーティリティもサブコマンドとして引き続き利用できます。

スキルについて

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

スキルが提供するもの
  1. 専門的なワークフロー — 特定の分野における複数ステップの手順
  2. ツール統合 — 特定のファイル形式やAPIを扱うための手順
  3. ドメインの専門知識 — 企業固有の知識、スキーマ、ビジネスロジック
  4. 同梱リソース — 複雑で繰り返し行うタスク向けのスクリプト、リファレンス、アセット

基本原則

簡潔さが重要です

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

基本的な前提: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/)

Claude が作業中に文脈へ必要に応じて読み込み、その思考や進め方の参考にするためのドキュメントおよび参考資料です。

  • 含めるタイミング: Claude が作業中に参照すべきドキュメントの場合
  • 例: 財務スキーマ用の references/finance.md、会社の NDA テンプレート用の references/mnda.md、社内ポリシー用の references/policies.md、API 仕様用の references/api_docs.md
  • ユースケース: データベーススキーマ、API ドキュメント、ドメイン知識、社内ポリシー、詳細なワークフローガイド
  • 利点: SKILL.md を軽量に保ち、Claude が必要と判断したときだけ読み込まれます
  • ベストプラクティス: ファイルが大きい場合(10,000 語超)、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 が利用できます
スキルに含めるべきでないもの

スキルには、その機能を直接支える必須ファイルだけを含めるべきです。以下のような付随的なドキュメントや補助ファイルは作成しないでください。

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

スキルには、AI エージェントが当面の作業を遂行するために必要な情報だけを含めるべきです。スキルを作成する過程に関する補足的な文脈、セットアップやテストの手順、ユーザー向けのドキュメントなどは含めるべきではありません。追加のドキュメントファイルは、雑然さと混乱を増やすだけです。

段階的開示(Progressive Disclosure)の設計原則

スキルは、コンテキストを効率的に管理するために三段階の読み込みの仕組みを用います。

  1. メタデータ(name + description) - 常にコンテキストに存在(約 100 語)
  2. SKILL.md の本文 - スキルが発動したときに読み込み(5,000 語未満)
  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. 動作仕様を作成する(skill-system-behavior:create-spec を使って SKILL.spec.yaml を作成)
  3. 仕様を検証する(skill-system-behavior:validate-spec)
  4. 受け入れテストを定義する(仕様に基づく、構造的テストと動作テスト)
  5. スキルを初期化する(init_skill.py を実行)
  6. スキルを実装する(リソースと SKILL.md を用意し、テストに合格させる)
  7. 構造的テストを検証する(skill-system-behavior:verify-structural)
  8. 動作コントラクトを生成する(skill-system-behavior:generate-contract)
  9. スキルをパッケージ化する(package_skill.py を実行)
  10. 実際の使用状況に基づいて反復する

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

仕様を先に作成する理由
  • コントラクトファースト: コーディング前に、操作の境界を明確にする
  • テスト可能: 受け入れ基準は実行可能であり、単なる願望ではない
  • スコープクリープを防止: 仕様で対象範囲を定義し、それ以外を除外する
  • ドキュメントを生成: 動作コントラクト(Mermaid DAG)は手作業で書くのではなく、仕様から生成する
ステップ 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 インスタンスがタスクをより効果的に実行するうえで役立つ、手順に関する知識、ドメイン固有の詳細、再利用可能なアセットを検討してください。

PostgreSQL DB のターゲット設定標準(PostgreSQL をストレージに使用する場合は必須)
  • まず SKILL_PGDATABASE で DB ターゲットを解決します。
  • SKILL_PGDATABASE がない場合は、環境に設定された PGDATABASE を使用しないでください。
  • それ以外の場合は、プロジェクト名から <project>-memory を自動検出します。
  • 実行時スクリプトに DB 名をハードコードしないでください。
実証済みの設計パターンを学ぶ

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

  • 複数ステップのプロセス:順次ワークフローと条件分岐については、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. パッケージ化:検証に合格した場合、スキル名に基づく名前(例:my-skill.skill)の .skill ファイルを作成します。このファイルにはすべてのファイルが含まれ、配布に適したディレクトリ構成が維持されます。.skill ファイルは、拡張子が .skill の zip ファイルです。

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

ステップ 6:反復する

スキルをテストした後、ユーザーから改善を求められる場合があります。スキルの使用直後に、実際の動作を踏まえて依頼されることがよくあります。

反復ワークフロー:

  1. 実際のタスクでスキルを使用する
  2. 問題点や非効率な点に気づく
  3. SKILL.md または同梱リソースの更新が必要な箇所を特定する
  4. 変更を実装し、再度テストする
{
  "schema_version": "2.0",
  "id": "skill-system-creator",
  "version": "1.0.0",
  "capabilities": ["skill-create", "skill-validate", "skill-package", "artifact-gap-analysis", "artifact-generate", "artifact-brainstorm", "artifact-grill", "artifact-eval"],
  "effects": ["fs.read", "fs.write", "proc.exec"],
  "operations": {
    "init": {
      "description": "Initialize a new skill directory with SKILL.md template and resource folders.",
      "input": {
        "skill_name": { "type": "string", "required": true, "description": "Name for the new skill" },
        "output_dir": { "type": "string", "required": false, "description": "Directory to create skill in" }
      },
      "output": {
        "description": "Path to created skill directory",
        "fields": { "path": "string" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/init_skill.py", "{skill_name}", "--path", "{output_dir}"],
        "windows": ["python", "scripts/init_skill.py", "{skill_name}", "--path", "{output_dir}"]
      }
    },
    "package": {
      "description": "Validate and package a skill into a distributable .skill file.",
      "input": {
        "skill_path": { "type": "string", "required": true, "description": "Path to skill folder" }
      },
      "output": {
        "description": "Path to .skill package file",
        "fields": { "package_path": "string" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/package_skill.py", "{skill_path}"],
        "windows": ["python", "scripts/package_skill.py", "{skill_path}"]
      }
    },
    "suggest-artifacts": {
      "description": "Detect creator artifact gaps by reading behavior graph plus skills-index.json and returning ranked suggestions.",
      "input": {
        "repo_root": { "type": "string", "required": false, "description": "Repository root" }
      },
      "output": {
        "description": "Ranked artifact suggestions",
        "fields": { "suggestions": "array" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/creator_tool.py", "suggest-artifacts"],
        "windows": ["python", "scripts/creator_tool.py", "suggest-artifacts"]
      }
    },
    "generate": {
      "description": "Generate creator artifacts with deterministic template + validation (currently supports --type script).",
      "input": {
        "artifact_type": { "type": "string", "required": true, "description": "Artifact type; script supported" },
        "name": { "type": "string", "required": true, "description": "Artifact file name" },
        "output_dir": { "type": "string", "required": true, "description": "Output directory" },
        "force": { "type": "boolean", "required": false, "description": "Overwrite when target exists" }
      },
      "output": {
        "description": "Generation and validation result",
        "fields": { "artifact": "object", "validation": "object", "structural_validation": "object" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/creator_tool.py", "generate", "--type", "{artifact_type}", "--name", "{name}", "--output-dir", "{output_dir}"],
        "windows": ["python", "scripts/creator_tool.py", "generate", "--type", "{artifact_type}", "--name", "{name}", "--output-dir", "{output_dir}"]
      }
    },
    "brainstorm": {
      "description": "Run a context-aware brainstorm and write a decision doc.",
      "input": {
        "limit": { "type": "number", "required": false, "description": "Suggestion limit" },
        "memory_limit": { "type": "number", "required": false, "description": "Memory sample limit" },
        "mode": { "type": "string", "required": false, "description": "brainstorm or grill-me" },
        "topic": { "type": "string", "required": false, "description": "Optional brainstorm topic" }
      },
      "output": {
        "description": "Ranked brainstorm suggestions, Socratic prompts, summaries, and a decision doc",
        "fields": { "suggestions": "array", "prompts": "array", "decision_doc": "string" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/creator_tool.py", "brainstorm"],
        "windows": ["python", "scripts/creator_tool.py", "brainstorm"]
      }
    },
    "grill-me": {
      "description": "Run challenge-oriented Socratic stress-test and write a decision doc.",
      "input": {
        "limit": { "type": "number", "required": false, "description": "Suggestion limit" },
        "memory_limit": { "type": "number", "required": false, "description": "Memory sample limit" },
        "topic": { "type": "string", "required": false, "description": "Optional stress-test topic" }
      },
      "output": {
        "description": "Challenge-oriented prompts and a decision doc",
        "fields": { "suggestions": "array", "prompts": "array", "decision_doc": "string" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/creator_tool.py", "grill-me"],
        "windows": ["python", "scripts/creator_tool.py", "grill-me"]
      }
    },
    "eval": {
      "description": "Route artifact evaluation through skill-system-gate and emit pass/fail with improvement suggestions.",
      "input": {
        "artifact_path": { "type": "string", "required": true, "description": "Artifact path" },
        "rules_template": { "type": "string", "required": false, "description": "Optional rules template" }
      },
      "output": {
        "description": "Gate evaluation report",
        "fields": { "passed": "boolean", "gate_summary": "object", "improvement_suggestions": "array" }
      },
      "entrypoints": {
        "unix": ["python3", "scripts/creator_tool.py", "eval", "--artifact", "{artifact_path}"],
        "windows": ["python", "scripts/creator_tool.py", "eval", "--artifact", "{artifact_path}"]
      }
    }
  },
  "stdout_contract": {
    "last_line_json": true
  }
}

コメント