skill-factory
慎重なメンテナが行うようにスキルを構築し、ユーザーの承認があるまでリリースを保留します。どのエージェントでも動作し、各ステップで最適なツールと、常に機能するフォールバックを指定します。
入力: スキルのアイデア、またはlootがその証拠(クエリ、検索結果、証明、エッジケース)とともに引き渡すドロップ。ターゲットフォルダ: ユーザーが指定した場所、指定がない場合は現在のリポジトリの履歴外の ../<slug>。
1. 仕様
SPEC.md を作成: 目標、入力と出力、各行がテスト可能な受け入れチェックリスト。1ページ以内。lootからアイテムが引き渡された場合は、再度検索せずにその証拠を再利用する。アイデアの解釈によって異なるスキルが生成される場合にのみ、ユーザーに質問する。
2. 構築、テストファースト
- エージェントにスキル作成支援ツール(Claude Codeの場合:
anthropic-skills:skill-creator)があれば、それを使ってスキルとその評価を行う。 - ない場合は自分で
SKILL.mdを作成: フロントマターにname(ケバブケース)と、何をするか、いつトリガーするかを説明するdescription、そして手順。 - スクリプトにはコードの前にテストを書く(
node:testまたは pytest)。テストが通るまで実装する。ファイルはシェルのヒアドキュメントではなく、ファイル編集ツールで書き込む。 - すべてのテストと評価を実行する。正確なコマンドとその出力をステップ4のために保存する。
3. 独立したレビュー
ビルダーは自分の作業を採点しない。
- ベスト: この会話を見ていないサブエージェントを起動する。ターゲットフォルダと
references/release-checklist.mdのみを渡し、以下の指示を与える: 「<フォルダ> 内のスキルをチェックリストに照らしてレビューしてください。各項目に対してPASSまたはFAILを、ファイル:行番号の証拠とともに回答してください。不明な場合はFAILとしてください。テストや評価が証明していない主張はすべて指摘してください。」 - フォールバック: サブエージェントなし: 各チェックリスト項目について、判断する前にそれがFAILする最も強力なケースを書く。
すべてのFAILを修正し、テストを再実行し、再度レビューする。すべての項目がPASSするか、ユーザーにブロックされている項目がある場合(どの項目か、その理由を伝える)に停止する。
4. リリースゲート
シークレットをスキャン: node <loot skill folder>/scripts/scan.mjs <folder>、さらに gitleaks dir <folder> (インストールされていれば)。その後、ユーザーにマニフェストを表示し、明確な承認のために停止する:
- リポジトリ名、公開または非公開
- バージョンとチェンジログ行
- 公開するファイル
- テストと評価の結果(コマンドとパス数)、レビューの評決
- スキップされたもの
承認はそのマニフェストのみを対象とする。その後、新しい git init から公開: release vX.Y.Z をコミット、タグ付け、gh repo create してプッシュし、ユーザーのエージェントがスキルを読み込む場所にインストールする。gh がないかサインインしていない場合: コマンドを表示する。資格情報を求めたり、入力したり、保存したりしてはならない。
5. 報告
平易な言葉で1つの短いメッセージ: リンク、テスト結果、レビュー結果、ユーザーに残された作業。