Universal Skill Creator
1. 核となるフレーミングと不変の原則
- メンタルモデル: ワールドクラスのスキルは、オンデマンドの手続き型オペレーティングシステムであり、非構造化プロンプトではありません。プロプライエタリな実務家のIPと、決定論的なコードゲート(Three-Zone Hybrid Architecture)を組み合わせ、
references/agentskills_spec.mdに厳密に準拠します。 - 環境注意事項: Python 3と標準ワークスペース探索ツールはプレインストールされています。明示的なインポートが失敗しない限り、パッケージランナーをインストールしようとしないでください。
- ハード不変条件1(ゼロスメルゲート):
python3 scripts/audit_skill.py <path>に失敗するスキルを決して提供しないでください。すべての構造レイアウトのスメルは監査・解決されなければなりません。 - ハード不変条件2(スクリプト作成義務): 候補スキルがバリデーション、スキーマチェック、AST比較を実行する場合は、必ず
scripts/validate.pyに実行可能なユーティリティを作成しなければなりません(スクリプトコードは0コンテキストトークン)。 - ハード不変条件3(コンパクション耐性): 不変条件、パッケージ通知、タスクルーティングテーブルは、
SKILL.mdの先頭1,000トークン以内に配置しなければなりません(references/compaction_resilience.md)。 - ハード不変条件4(プロダクション基準): すべてのスキルには、ドメイン標準の専門用語、反合理化テーブル、検証可能な評価テストケースが含まれていなければなりません。
- ハード不変条件5(動作ゲート、構造だけではない): 監査とセキュリティに合格しても、スキルなしのベースラインに勝てず、プレッシャーに耐えられず、スタブモードで正しくルーティングできないスキルはリリースしません。
references/baseline_grading.md、references/pressure_scenarios.md、references/stub_router_mode.md、references/render_qa.mdを参照してください。 - ハード不変条件6(例は構造のみ): リリースする例は、構造、トリガー、ワークフロー、決定テーブル、バリデートスクリプト、評価のみを示します。新しいスキルに例のドメインルールをコピーしないでください。すべての新しいスキルは、ユーザーのSOP、トランスクリプト、ドメインリサーチから構築してください。
2. タスクルーティング決定テーブル
| ユーザーの意図 / 入力タイプ | 推奨作成ワークフロー | オンデマンド参照資料 |
|---|---|---|
| 商用B2Bスキル(販売/クライアント向け) | フル6フェーズパイプライン(フェーズ0~5)を実行 | references/competitor_teardown_protocol.md |
| 生のメモ / SOP / 開発者のトランスクリプト | フル6フェーズ作成パイプラインを実行 | references/domain_knowledge_ingestion.md |
| 外部APIまたはMCPサーバーを必要とするスキル | フェーズ1ツール発見 + MCP配線を実行 | references/mcp_tool_patterns.md |
| 既存のスキルの監査または修正 | ゼロトークン26スメル監査 & パッチを実行 | references/smell_taxonomy_26.md |
| マルチターンインタラクティブウィザード作成 | OMSCあいまいさトリアージプロトコルを適用 | references/question_triage_omsc.md |
| バージョン依存スキル(CLI、API、変動ガイド) | スタブ/ルーターモード(40~60行のポインタのみ)を使用 | references/stub_router_mode.md |
| すべてのスキル、すべての決定段階で | QAチェックポイントを実行(チェックポイントあたり最大2質問、すべてのチェックポイントを記録) | references/qa_checkpoints.md |
| .docx, .pdf, .ppt, または類似形式の入力 | まずハーネスネイティブの読み取り(Claude Code / Claude)を使用;抽出ツールはオプションのフォールバックであり、テキストのみのレキシコンスクリプトの前にのみ必要 | scripts/extract_text.py |
| スキルが実際に役立つことの証明 | プレッシャー + ベースライン評価 + レンダーQAを実行 | references/pressure_scenarios.md, references/baseline_grading.md, references/render_qa.md |
3. フェーズ0: 深層市場インテリジェンスと競合分析
手順を起草する前に、agents/niche_researcher.md を使用して競合リサーチを実行します:
- ステップ0.1(競合分析): このニッチにおける既存の公開スキル、プロンプト、カスタムインストラクションを検索します。
- 競合の提供内容を26スメル分類法(
references/competitor_teardown_protocol.md)に照らして監査します。 - それらの構造的欠陥(例:一般的なAIスラップ、オプションビュッフェ、バリデーションスクリプトの欠如)を特定します。
- 競合の構造的欠陥を修正するアンチドートを定義します。
- 競合の提供内容を26スメル分類法(
- ステップ0.2(ドメイン文献と専門用語の取り込み):
- 関連する書籍、ホワイトペーパー、ポッドキャストのトランスクリプト、エンタープライズSOPを、次のいずれかの形式で取り込みます:.txt, .md, .docx, .pdf, メモ, トランスクリプト。
- 形式ルール(ハーネス優先、ハードルールではない):Claude CodeとClaudeは.md、.pdf、.docx、.ppt、および類似形式をネイティブに読み取るため、まずハーネス自身の読み取りを使用します。ハーネスがファイルを既に読み取っている場合は、強制的に抽出しないでください。
- scripts/extract_text.py にあるパッケージ抽出ツールは、プレーンテキストを必要とするハーネスやスクリプトのための、オプションのフォールバックのみです。その唯一のハードな使用例はレキシコンスクリプトであり、これはテキストのみを読み取るため、.docx または .pdf でレキシコンを実行する場合は、最初に .txt に抽出します:
python3 scripts/extract_text.py path/to/source.docx --output evals/source.txt python3 scripts/extract_text.py path/to/source.pdf --output evals/source.txt- スキャンされた画像のみのPDFにはテキストレイヤーがありません:抽出ツールは警告し、テキストを返しません。それらのテキストを捏造しないでください。このパッケージの外部でOCRを使用し、そのステップを記録するか、Claudeが可能であればファイルをネイティブに読み取るようにしてください。
references/domain_knowledge_ingestion.mdに従って、以下を抽出します:- 権威ある業界の頭字語、指標、標準専門用語(例:MEDDPICC、CAC回収期間、フック滞在時間)。
python3 scripts/build_domain_lexicon.py <source> --output evals/lexicon.jsonによる候補レキシコン用語。- アルゴリズムのしきい値と測定可能な式。
- 明白でない失敗モード(「フットガン」)の高密度リスト。
4. フェーズ1: 環境とツールの探索(ゾーン1ゲート)
ドキュメントを作成する前に、この探索ステップをコピーして実行します:
- ステップ1.1(環境とツールのプローブ): バンドルされた探索スクリプトを実行します:
(Windows PowerShell ではpython3 scripts/discover_env.pypython3 scripts/discover_env.pyを使用)- 出力を検査し、検出されたOS、利用可能なCLIバイナリ(
git,docker,pythonなど)、アクティブなMCPサーバーを確認します。 - 候補スキルが外部サービス(例:Figma、GitHub、Postgres)を含む場合、環境に一致するMCPツールまたはCLIが存在するか確認します。
- 出力を検査し、検出されたOS、利用可能なCLIバイナリ(
5. フェーズ2: サイレントワークスペース探索とOMSCトリアージ
- ステップ2.1(サイレントコンテキスト読み取り): アクティブなリポジトリ設定ファイル(
package.json,pyproject.toml,Cargo.toml,.env.example, git履歴)を検査します。- ハードルール: ワークスペース内のファイルを読むことで発見できる言語、フレームワーク、ツールについてユーザーに質問しないでください。
- ステップ2.2(QAチェックポイント、すべての段階で必須):
references/qa_checkpoints.mdに従います。フェーズ2のトリアージだけでは不十分です。各チェックポイントで、5行の決定サマリーを提示し、(推奨)デフォルトで最大2つの質問をし、それを記録します:python3 scripts/record_qa.py evals/qa-checkpoints.json --checkpoint teardown-domain --summary "ニッチ、アンチドート、主要フットガン" --question "ニッチの境界は正しいですか? (推奨: はい)" --confirmed- チェックポイント1(フェーズ0後): teardown-domain、ニッチ、競合、抜け穴、強み、アンチドート、主要フットガン。
- チェックポイント2(アーキテクチャ後、起草前): アーキテクチャ、6層構造、ルーティングテーブル、スクリプトリスト、参照リスト、これが行わないこと。
- チェックポイント3(ドラフトワークフロー後、ゲート前): draft-workflow、順序のステップ、決定テーブル、反合理化エントリ、入力/出力の例。
- チェックポイント4(ゲート後、パッケージング前): ゲート、監査グレード、セキュリティ、プレッシャー言い訳のクローズ、ベースライン差、レンダーQA。
- チェックポイント5(リリース前、トリガーとバンドル後): 出荷、トリガー結果、バンドル内容、ゲートキーパーステータス、該当する場合はスタブ/ルーターステータス。
- 影響範囲が大きい、商用、または相互に排他的なアーキテクチャ:そのチェックポイントでユーザーの返信を待ってから進めます。影響範囲が小さい:サマリーを提示し、推奨デフォルトで進めることは許可されますが、サマリーと仮定された回答は依然として記録されなければなりません。記録のないチェックポイントは発生しなかったものとみなされます。
- ステップ2.3(OMSC曖昧性フィルター):
- 目的、指標、範囲、制約にブロッキング不明点が含まれているかを確認します(
references/decision_matrices_and_escalation.md)。 - 影響範囲が小さい / 標準ワークフローの場合: ドメインデフォルトを使用して直ちに進めます。質問は0です。
- 影響範囲が大きい / 相互に排他的なUXブランチの場合: 一時停止し、最大1~3のコンパクトな質問をします:
- 最も安全なデフォルトの選択肢に
(推奨)を付けます。 - 1行のトレードオフを伴う2~3の選択肢(文字)を提供します。
- 最も安全なデフォルトの選択肢に
- 目的、指標、範囲、制約にブロッキング不明点が含まれているかを確認します(
6. フェーズ3: ハイブリッド3ゾーン合成
完全なスキルフォルダ構造を作成します:<skill-name>/ を含み、SKILL.md、scripts/、references/、assets/ を配置します。
- ステップ3.1(6層アーキテクチャによるSKILL.mdの作成):
agents/architect.md の役割を採用し、
assets/master_template.mdを使用してコア仕様を合成します:- バイト0:
---で即座に開始します。フロントマターに山括弧は使用しません。 - 層1(トークン1~500): ドメインメンタルモデル & 不変の原則。
- 層2(トークン500~1,000): タスクルーティング決定テーブル(TOB/MDTスメルを除去)。
- 層3(トークン1,000~1,500): サイレント探索 & OMSC曖昧性トリアージ。
- 層4(トークン1,500~3,000): コピー可能な
- [ ]チェックリスト付きの番号付きステップ。 - 層5(トークン3,000~4,200): 高密度ドメインフットガン & 反合理化テーブル。
- 層6(トークン4,200~4,800): このスキルが行わないこと(NGスメルを除去)。
- 本文全体の制限: 450行未満(5,000トークン未満)に保ちます。
- バイト0:
- ステップ3.2(付随する決定論的スクリプトとシークレットテンプレートの合成):
agents/script_smith.md の役割を採用します:
- バリデーション用:
assets/script_templates/validator_template.pyを使用してscripts/validate.pyを作成します。 - バッチ/破壊的変更用:
scripts/validate_plan.pyを作成します。 SKILL.mdでrequires_secrets:が宣言されている場合:スキルルートに.env.exampleを作成し、ダッシュボードURLとプレースホルダー値を含めます。- スクリプトはコンパクトなJSONをstdoutに出力し、成功時はexit 0、失敗時はexit 1を返すようにします。
- バリデーション用:
- ステップ3.3(詳細ドキュメントをフラットな参照ファイルに委任):
ドメインプレイブック、スキーマ、またはセカンダリガイドが50行を超える場合、それらを
references/<topic>.mdに配置します。- 不変条件: 参照ファイルはフラット(
SKILL.mdから正確に1ホップ深さ)でなければなりません。
- 不変条件: 参照ファイルはフラット(
7. フェーズ4: ゼロトークン構造的26スメル監査と評価
- ステップ4.1(自動静的リンターの実行):
新しく生成されたスキルディレクトリに対して構造的リンターを実行します:
python3 scripts/audit_skill.py path/to/generated-skill - ステップ4.2(決定論的セキュリティスキャンの実行):
ASTセキュリティスキャナーを実行し、リモートコード実行、シェルインジェクション、認証情報漏洩がゼロであることを確認します:
python3 scripts/security_scan.py path/to/generated-skill - ステップ4.3(すべての違反とスメルの修正):
監査で何らかの違反が報告された場合、agents/smell_auditor.md の役割を採用します:
- 合理化の抜け穴(RL): モデルの言い訳を否定する明示的な反合理化テーブルを追加します。
- オプションビュッフェ(TOB): ツールリストをシナリオごとの単一デフォルトツールに置き換えます。
- 長い本文(LSB): 長いコードスニペットを
references/またはassets/に移動します。 - ステータスが PASS でグレードが A または A+ になるまで
audit_skill.pyを再実行します。
- ステップ4.4(経験的ベンチマーク評価の実行):
テストケースを実行し、検証可能なタスク合格率を確立します:
python3 scripts/run_evals.py path/to/generated-skill- 修正の場合、agents/comparator.md の役割を採用し、ベースラインとの二重盲検比較を実行します。
- ステップ4.5(プレッシャーシナリオ、必須):
複合プレッシャーシナリオを生成し、スキルなしとスキルありの両方で各シナリオを実行し、逐語的な言い訳を記録します(
references/pressure_scenarios.md):python3 scripts/generate_pressure_scenarios.py path/to/generated-skill evals/pressure-scenarios.json- 生成されたスキルには、少なくとも3つの最も一般的なベースライン言い訳を含む「思考 | 現実」テーブルが含まれている必要があります。スキルありとなしで同じ結果は、スキルが何も変えていないことを意味します:出荷しないでください。
- ステップ4.6(スキルあり vs ベースライン評価、必須):
同じターンでスキルありとベースラインの実行を生成し、agents/grader.md で評価し、評価者の契約と出荷ゲートを検証します(
references/baseline_grading.md):python3 scripts/grade_baseline.py --with evals/grading-with.json --baseline evals/grading-baseline.json- スキルありの合格率 >= 80%、差 > 0、回帰がない場合のみ出荷します。ただし、人間の権利放棄が feedback.json に理由とともに記録されている場合は除きます。
- ステップ4.7(レンダーQA、出力に必須):
スキルが生成するものすべてに対してコンテンツとファイルゲートを実行します。出力がビジュアルの場合は人間による目視検査を行います(
references/render_qa.md):python3 scripts/render_qa.py path/to/generated-skill- このスクリプトはビジュアルパスを主張することはありません。ビジュアルパスは人間が実行し記録する必要があります。
8. フェーズ5: トリガー検証とパッケージング
- ステップ5.1(トリガーの精度と再現率のテスト):
代表的なポジティブプロンプトとネガティブプロンプトでYAML説明をテストします:
python3 scripts/test_skill_trigger.py path/to/generated-skill - ステップ5.2(説明の最適化、トレイン/テスト分割):
トリガークエリを60%トレイン / 40%テストに分割し、各分割で個別にトリガーテストを実行し、トレインスコアではなくテストスコアで最良の説明を選択します。ニアミスネガティブのみ;悪いネガティブは「フィボナッチ関数を書いて」のようなもの(PDFスキルに対する)、良いネガティブは隣接タスクに対する長くて雑多なリクエストです:
python3 scripts/eval_description_split.py path/to/generated-skill - ステップ5.3(バンドルと完全性チェック):
python3 scripts/validate_bundle.py path/to/generated-skill- フォルダスケルトン、スクリプト実行ビット、SKILL.md YAML トリガー、有効な参照パスを検証します。
- この段階での警告はブロッキングです:修正するまで出荷しないでください。
9. クイックリファレンス
- assets/master_template.md:新しいスキルの6層フレーム
- assets/script_templates/validator_template.py:決定論的検証ボイラープレート
- references/agentskills_spec.md:agentskills.io オープンフォーマット仕様
- references/competitor_teardown_protocol.md:公開スキルの監査と格付け
- references/domain_knowledge_ingestion.md:SOP / トランスクリプト / 文献からの知識抽出
- references/smell_taxonomy_26.md:UC Irvineの26スメル分類
- references/decision_matrices_and_escalation.md:OMSCフィルターとエスカレーションルール
- references/stub_router_mode.md:バージョン依存スキルの40~60行スタブパターン
- references/pressure_scenarios.md:プレッシャーテスト生成
- references/baseline_grading.md:スキルありとベースラインの比較と出荷基準
- references/question_triage_omsc.md:OMSC質問トリアージ
- references/qa_checkpoints.md:すべての段階のQAチェックポイント
- references/render_qa.md:出力レンダリング品質ゲート
- references/compaction_resilience.md:トークンコンパクション耐性戦略
- agents/architect.md:アーキテクトエージェントロール
- agents/script_smith.md:スクリプトスミスエージェントロール
- agents/smell_auditor.md:スメル監査人エージェントロール
- agents/comparator.md:比較評価者エージェントロール
- agents/grader.md:評価者エージェントロール
- agents/niche_researcher.md:ニッチリサーチャーエージェントロール