mcpField
S
skill-evolver

skill-evolver

github.com/dp-archiveエージェントワークフロー1.1k59 回インストール34 週間前に更新
リポジトリ

skill-evolver について

Skill Evolverは、スキルの実行トレースとユーザーフィードバックを分析し、問題を見つけて既存のスキルファイルを修正します。トレースの指標や問題パターンを手掛かりに、スキルの保守を行うためのツールです。

主な機能

  1. 01成功率、ターン数、所要時間、トークン数を分析
  2. 02失敗または問題のあるトレースの文脈を抽出
  3. 03問題を該当しそうなスキル要素に対応付け
  4. 04トレースまたはフィードバックに沿って編集
  5. 05既存のスキルファイルのみを変更

活用シーン

  1. 01スキル実行で繰り返す失敗の調査
  2. 02実行指標に基づく変更の優先順位付け
  3. 03ユーザーの提案に沿った指示やスクリプトの修正

インストール

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

$npx skills add https://github.com/dp-archive/archive --skill skill-evolver

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

同梱ファイル

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

skill-evolver.skill
references/
issue-patterns.md
scripts/
analyze_traces.py
extract_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_failurescripts/、エラー処理
high_turn_countSKILL.md の明確さ、例の追加
tool_errorsscripts/、入力の検証
high_token_usageSKILL.md の冗長さ、段階的な情報提示
repeated_tool_callsSKILL.md の判断ツリー

フィードバックのみが入力された場合は、ユーザーの提案を適切なスキル構成要素に直接対応付けます。

ステップ 4:修正を適用する

対象のスキルを読み、分析結果に基づいて変更を適用します。

  1. スクリプトエラーの場合:スクリプトを修正し、検証を追加し、エラーメッセージを改善します。
  2. 効率の問題の場合:例や判断ツリーを追加し、指示を明確にします。
  3. トークンの問題の場合:SKILL.md を短くし、内容を references/ に移動します。
  4. トリガーの問題の場合:フロントマターの description を更新します。
  5. フィードバックに基づく変更の場合:ユーザーの具体的な提案を適用します。

スコープの制約 — 厳守してください。

  • 対象スキルの既存ファイル(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/ に移動する
  • 重複する例を削除する

コメント