skill-evolver について
Skill Evolverは、スキルの実行トレースとユーザーフィードバックを分析し、問題を見つけて既存のスキルファイルを修正します。トレースの指標や問題パターンを手掛かりに、スキルの保守を行うためのツールです。
主な機能
- 01成功率、ターン数、所要時間、トークン数を分析
- 02失敗または問題のあるトレースの文脈を抽出
- 03問題を該当しそうなスキル要素に対応付け
- 04トレースまたはフィードバックに沿って編集
- 05既存のスキルファイルのみを変更
活用シーン
- 01スキル実行で繰り返す失敗の調査
- 02実行指標に基づく変更の優先順位付け
- 03ユーザーの提案に沿った指示やスクリプトの修正
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dp-archive/ archive --skill skill-evolverインストール後、Claude Code で/skill-evolverを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
skill-evolver.skillreferences/issue-patterns.mdscripts/analyze_traces.pyextract_issue_context.py詳細
Skill Evolver
スキルの実行トレースを分析して、問題を発見し、改善の機会を特定し、スキルファイルに修正を適用します。
トレースの形式
トレースは、次の構造の JSON です。
{
"id": "uuid",
"request": "user's original request",
"skills_used": ["skill-name"],
"success": true/false,
"total_turns": 2,
"total_input_tokens": 5000,
"total_output_tokens": 200,
"duration_ms": 7000,
"steps": [
{"role": "assistant", "content": "...", "tool_name": null},
{"role": "tool", "tool_name": "...", "tool_input": {}, "tool_result": "..."}
],
"llm_calls": [
{"turn": 1, "stop_reason": "tool_use", "input_tokens": 2500, "output_tokens": 50}
]
}
ワークフロー
このスキルは、次の 2 種類の入力を受け取れます(少なくとも 1 つは必須です)。
- トレース:実際のスキル実行から得られた実行トレースデータ。データに基づく問題の発見に役立ちます。
- フィードバック:ユーザーが記述した改善提案。変更の方向性を示します。
両方が提供された場合は、得られた知見を組み合わせます。トレースで問題を検証・発見し、フィードバックを使って修正の優先順位を決め、方向性を定めます。
ステップ 1:入力を分析する
トレースが提供された場合は、分析スクリプトを実行します。
scripts/analyze_traces.py <traces.json> [--skill <name>] [--format json|text]
出力には次の項目が含まれます。
- 成功率
- 平均ターン数、所要時間、トークン数
- よくある問題と警告
- 推奨事項
フィードバックが提供された場合は、ユーザーの改善目標を特定し、実行可能な変更に結び付けます。
両方が提供された場合は、相互に照合します。フィードバックは、トレースで発見した問題と一致していますか?フィードバックを使って、トレースで特定した問題のうち、どれを先に修正するかを決めます。
ステップ 2:問題の詳細を抽出する
失敗したトレースや問題のあるトレースについて、コンテキスト全体を抽出します。
scripts/extract_issue_context.py <traces.json> --failed
scripts/extract_issue_context.py <traces.json> --trace-id <id> --show-llm
scripts/extract_issue_context.py <traces.json> --high-turns
フィードバックのみが提供された場合(トレースなし)は、このステップを省略します。
ステップ 3:根本原因を特定する
references/issue-patterns.md を参照して、問題をスキルの構成要素に対応付けます。
| 問題の種類 | 修正が考えられる箇所 |
|---|---|
| execution_failure | scripts/、エラー処理 |
| high_turn_count | SKILL.md の明確さ、例の追加 |
| tool_errors | scripts/、入力の検証 |
| high_token_usage | SKILL.md の冗長さ、段階的な情報提示 |
| repeated_tool_calls | SKILL.md の判断ツリー |
フィードバックのみが入力された場合は、ユーザーの提案を適切なスキル構成要素に直接対応付けます。
ステップ 4:修正を適用する
対象のスキルを読み、分析結果に基づいて変更を適用します。
- スクリプトエラーの場合:スクリプトを修正し、検証を追加し、エラーメッセージを改善します。
- 効率の問題の場合:例や判断ツリーを追加し、指示を明確にします。
- トークンの問題の場合:SKILL.md を短くし、内容を references/ に移動します。
- トリガーの問題の場合:フロントマターの description を更新します。
- フィードバックに基づく変更の場合:ユーザーの具体的な提案を適用します。
スコープの制約 — 厳守してください。
- 対象スキルの既存ファイル(SKILL.md、scripts/、references/)のみを変更します。
- 新しい参照ファイル、テンプレート、ガイドは作成しないでください。
- ドメイン固有の情報を求めてウェブを検索しないでください。
- CHANGELOG、改善レポート、その他の追加成果物を生成しないでください。
- 進化したスキルファイル自体のみを成果物とします。
クイックリファレンス
問題の深刻度
- high:失敗、max_tokens、ツールエラー → ただちに修正
- medium:ターン数が多い、トークン数が多い、再試行 → 最適化
- low:所要時間が長い → 最適化を検討
主要なメトリクスのしきい値
| メトリクス | 警告 | 対応 |
|---|---|---|
| success_rate | <90% | 失敗を確認 |
| avg_turns | >4 | ワークフローを簡素化 |
| avg_tokens | >30000 | コンテキストを削減 |
| duration_ms | >60000 | スクリプトを最適化 |
よくある修正
成功率が低い場合:
- スクリプトにエラー処理を追加する
- 入力の検証を追加する
- 曖昧な指示を明確にする
ターン数が多い場合:
- 判断ツリーを追加する
- 例を増やす
- 複数ステップの操作にはスクリプトを使う
トークン使用量が多い場合:
- SKILL.md の行数を減らす(500 行未満)
- 詳細を references/ に移動する
- 重複する例を削除する