skill-evolution について
スキルの利用状況やフィードバックを分析し、改訂を提案・管理するスキルです。バージョンと成果を追跡し、ロールバックに加え、封印済みホールドアウトセットで候補版を現行版と比較して昇格を判定できます。
主な機能
- 01利用状況と編集パターンの分析
- 02改善案のレビュー
- 03バージョンと成果の追跡
- 04以前のバージョンへのロールバック
- 05ホールドアウトによる候補版の昇格判定
活用シーン
- 01スキル出力への反復編集の検出
- 02スキル改善案の確認
- 03問題のあるスキル版の復元
- 04候補版と現行版の比較テスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill skill-evolutionインストール後、Claude Code で/skill-evolutionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
test-cases.jsonreferences/evolution-analysis.mdevolution-commands.mdholdout-promotion-gate.mdstorage-patterns.mdversion-management.mdrules/_sections.mdauto-evolution-triggers.mdconfidence-scoring.mdpattern-detection-heuristics.md詳細
スキル進化マネージャー
使用パターン、ユーザーによる編集、成功率に基づいて、スキルを自動的に改善できるようにします。安全にロールバックできるバージョン管理機能も提供します。
概要
- セッションをまたいでスキルのパフォーマンスを確認する
- スキルの出力に対するユーザー編集のパターンを特定する
- 学習した改善点をスキルテンプレートに適用する
- 問題のあるスキルの変更をロールバックする
- スキルのバージョン履歴と成功率を追跡する
クイックリファレンス
| コマンド | 説明 |
|---|---|
/ork:skill-evolution | すべてのスキルの進化レポートを表示 |
/ork:skill-evolution analyze <skill-id> | 特定のスキルのパターンを分析 |
/ork:skill-evolution evolve <skill-id> | 提案を確認して適用 |
/ork:skill-evolution history <skill-id> | バージョン履歴を表示 |
/ork:skill-evolution rollback <skill-id> <version> | 以前のバージョンを復元 |
/ork:skill-evolution promote <skill-id> | ホールドアウトでのベイクオフ:候補がチャンピオンを所定の差で上回った場合のみ昇格 |
仕組み
スキル進化システムは3つのフェーズで動作します。
COLLECT ANALYZE ACT
─────── ─────── ───
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ PostTool │──────────▶│ Evolution │──────────▶│ /ork:skill- │
│ Edit │ patterns │ Analyzer │ suggest │ evolution │
│ Tracker │ │ Engine │ │ command │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ edit- │ │ evolution- │ │ versions/ │
│ patterns. │ │ registry. │ │ snapshots │
│ jsonl │ │ json │ │ │
└─────────────┘ └─────────────┘ └─────────────┘
詳細を読み込む:追跡する編集パターンと検出用正規表現については、Read("${CLAUDE_SKILL_DIR}/rules/pattern-detection-heuristics.md") を参照してください。詳細を読み込む:提案のしきい値については、Read("${CLAUDE_SKILL_DIR}/rules/confidence-scoring.md") を参照してください。
サブコマンド
各サブコマンドには、実装の詳細、シェルコマンド、出力例が記載されています。詳細を読み込む:Read("${CLAUDE_SKILL_DIR}/references/evolution-commands.md")
レポート(デフォルト)
/ork:skill-evolution — 使用回数、成功率、保留中の提案とともに、追跡対象のすべてのスキルの進化レポートを表示します。
分析
/ork:skill-evolution analyze <skill-id> — 特定のスキルの編集パターンを詳細に分析し、頻度、サンプル数、信頼度スコアを表示します。
進化
/ork:skill-evolution evolve <skill-id> — 改善提案を対話形式で確認します。各提案について AskUserQuestion(適用/スキップ/却下)を使用します。適用前にバージョンのスナップショットを作成します。
履歴
/ork:skill-evolution history <skill-id> — バージョンごとのパフォーマンス指標とともに、バージョン履歴を表示します。
ロールバック
/ork:skill-evolution rollback <skill-id> <version> — 確認後、以前のバージョンを復元します。現在のバージョンは自動的にバックアップされます。
データファイル
| ファイル | 用途 | 形式 |
|---|---|---|
.claude/feedback/edit-patterns.jsonl | 生の編集パターンイベント | JSONL(追記のみ) |
.claude/feedback/evolution-registry.json | 集約された提案 | JSON |
.claude/feedback/metrics.json | スキルの使用状況指標 | JSON |
skills/<cat>/<name>/versions/ | バージョンのスナップショット | ディレクトリ |
skills/<cat>/<name>/versions/manifest.json | バージョンのメタデータ | JSON |
自動進化の安全対策
安全対策、ヘルスモニタリング、トリガー条件の詳細については、Read("${CLAUDE_SKILL_DIR}/rules/auto-evolution-triggers.md") を参照してください。
主な保護策:変更前のバージョンスナップショット、成功率が20%を超えて低下した場合の自動アラート、人による確認の必須化、却下された提案の再提案禁止。
Holdout-Promotion Gate(チャンピオン/チャレンジャー)
/ork:skill-evolution promote <skill-id> — 候補の編集を昇格するのは、封印されたホールドアウト評価セットで現行バージョンを一定の差(デフォルトでは0〜10の評価基準で0.5)だけ上回った場合に限ります。両方のスコアと昇格/却下の判断は、監査用に追記専用のpromotion-ledger.jsonlへ追加されます。これは、evolveに欠けていた客観的なゲートです。「適用しますか?」というプロンプトは、編集のほうが優れている証明にはなりません。また、「すべてのスキルとエージェントを標準に照らして自動評価する」ためのネイティブな仕組みでもあります。スキルは、人が差分を目視確認して合格するのではなく、比較評価で勝って卒業します。
champion (HEAD) -- vs -- challenger (candidate)
+--------+--------+
SEALED HOLDOUT (hash-locked) -- bare-eval forked graders
v
delta = challenger - champion >= margin ? -> PROMOTE : REJECT (both logged)
採点はbare-eval(--bare --print、CLAUDE_CODE_FORK_SUBAGENT=1)を通じて行うため、チャンピオンとチャレンジャーにはバイト単位で同一の分離された条件が適用され、変数はSKILL.mdのバージョンだけです。引き分けは却下されます(現行バージョンが勝ちます)。次元ごとのmin_blockerにより、総合評価が上がっていても、1つの軸で後退していれば自動的に却下されます。
**不正対策:**チャレンジャーの生成処理がevals/holdout.jsonlを読み取ることはありません(入力許可リストはedit-patterns.jsonlのみです)。また、すべての比較評価とCIで、ホールドアウトのLC_ALL=C sha256をholdout.lock.jsonと照合して再計算します。テストデータでの学習や、ホールドアウトの密かな編集があれば、安全側に倒して失敗します。意図的にコストがかかる設計です(採点器の呼び出し回数は2*N。--bareにはANTHROPIC_API_KEYが必要で、トークン使用料が発生します)。そのため、オンデマンドまたはCIでのみ実行し、バックグラウンドフックでは実行しません(アイドル時のコストは$0です)。
詳細を読み込むには、Read("${CLAUDE_SKILL_DIR}/references/holdout-promotion-gate.md")を使用してください。台帳/ロックのJSONスキーマ、判定ルール、実行ループ、/goalとCIの接続方法を確認できます。
参考資料
Read("${CLAUDE_SKILL_DIR}/references/<file>")を使用して、必要に応じて読み込みます。
| ファイル | 内容 |
|---|---|
evolution-commands.md | サブコマンドの実装、シェルコマンド、出力例 |
evolution-analysis.md | 進化分析の方法論 |
version-management.md | バージョン管理ガイド |
holdout-promotion-gate.md | チャンピオン/チャレンジャーのゲート:封印されたホールドアウト、台帳スキーマ、判定ルール、/goalとCIの接続方法 |
ルール
Read("${CLAUDE_SKILL_DIR}/rules/<file>")を使用して、必要に応じて読み込みます。
| ファイル | 内容 |
|---|---|
pattern-detection-heuristics.md | 編集パターンのカテゴリと正規表現による検出 |
confidence-scoring.md | 提案のしきい値と信頼度の基準 |
auto-evolution-triggers.md | 安全機構とトリガーの基準 |
関連スキル
ork:configure- OrchestKitの設定ork:doctor- OrchestKitの問題を診断feedback-dashboard- 包括的なフィードバック指標を表示