mcpField
S
skill-distiller

skill-distiller

github.com/mathews-tomエージェントワークフロー33780 回インストール2 日前に更新
リポジトリ

skill-distiller について

Skill Distiller は、高性能モデル向けのスキルを、低コストモデル向けの決定的なワークフローに変換するスキルです。複雑度分析、実行トレース、明示的なルール、対象モデルでの検証を用い、事前のソース監査とモデル間チェックを求めます。

主な機能

  1. 01指示の複雑度分析
  2. 02ソースモデルの実行トレース収集
  3. 03判断ルールと例の抽出
  4. 04指示を明確な手順に書き換え
  5. 05Haiku または Sonnet で検証
  6. 06モデル間比較のレポート

活用シーン

  1. 01複雑なスキルを Haiku 向けに調整
  2. 02分岐の多い指示を明確化
  3. 03元のスキルと蒸留版の出力を比較
  4. 04アサーション検証で失敗箇所を特定

インストール

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

$npx skills add https://github.com/mathews-tom/armory --skill skill-distiller

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

同梱ファイル

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

CHANGELOG.md
evals/
cases.yaml
references/
distillation-patterns.md

詳細

スキル蒸留

高性能モデル(Opus)向けに作成されたスキルを、低コストモデル(Sonnet、Haiku)でも確実に実行できる決定論的なワークフローへと変換します。EvoSkillsから得られた中心的な知見は、スキルがモデル固有の成果物ではなく、再利用可能なタスク構造を表すということです。Opusで進化させたスキルは、他のモデルでも+35~45ポイントの向上をもたらします。ただし、低性能モデルが即興で補うことなく従えるほど、指示が十分に決定論的である場合に限られます。

参照ファイル

ファイル内容読み込むタイミング
references/distillation-patterns.md推論をルールに変換するためのパターン集常に

前提条件

  • ソーススキルが存在し、現在のpackage-evaluator 2.0.0の契約を満たしている必要があります。具体的には、実際のreport-v2のstatic_conformance.status: PASSを満たし、作成者による未解決のCRITICALまたはHIGHの指摘がないことです。機械的な証拠と作成者による指摘は分けて扱い、live_effectiveness.statusはNOT_MEASUREDのままにしてください。
  • 検証のために、ソースモデル(Opus)と対象モデル(Haiku/Sonnet)の両方にアクセスできること
  • クロスモデルのアサーションチェックにsurrogate-verifierスキルを利用できること
  • 評価ツールまたは必要な作成者レビューを利用できない場合は、不足している前提条件を報告し、トレース収集の前に停止してください。スコアを捏造したり、このゲートを省略したりしてはいけません。この前提条件によって、クロスモデルの動作性能が確認されるわけではありません。

ワークフロー

フェーズ1:複雑さの分析

ソースのSKILL.mdの各セクションについて、推論の難易度を評価します。

複雑さの指標スコア蒸留の方法
3つ以上の分岐がある決定木高明示的なif/then検索テーブルに変換
「判断を用いる」または「文脈を考慮する」高具体的なヒューリスティックルールに置き換える
複数段階の推論チェーン高番号付きの個別ステップに分解する
ドメイン知識への言及中知識を含む明示的な参照ファイルを追加する
明確に列挙された手順低そのまま維持する
期待される出力を伴う具体例低そのまま維持する

複雑さマップを作成します:セクション名 -> 複雑さスコア -> 予定する対応。

フェーズ2:トレース収集

Opusでソーススキルを実行し、代表的な5つのタスクを処理します。

  1. evals/cases.yamlからタスクを選択します(成功ケース)。または新しいタスクを作成します
  2. 各タスクについて、実行トレース全体を記録します。
    • 使用したツール呼び出し(ツールと呼び出し順)
    • 出力内で確認できる中間推論
    • 最終出力の構造と内容
    • 所要時間とトークン使用量
  3. パターン抽出のため、トレースを構造化データとして保存します
フェーズ3:パターン抽出

収集したトレースから、決定論的なパターンを抽出します。

  1. 判断経路 — 複雑さが高い各セクションについて、5つのタスクでOpusが実際に行った判断を特定します。5件中4件でOpusが同じ経路を選んだ場合、その経路をデフォルトルールにします
  2. 検索テーブル — Opusがドメイン知識を適用した箇所で、明示的な検索テーブルを作成します(例:「入力にSQLが含まれている場合は、これらのパターンを使用する。Pythonが含まれている場合は、あれらのパターンを使用する」)
  3. 具体例 — トレースから代表的な入力/出力の組を抽出し、蒸留したスキルの少数例プロンプトとして使用します
  4. ツールの実行順序 — 共通するツール呼び出しパターンを特定し、明示します(「手順1:ファイルを読み込む。手順2:パターンXをgrepで検索する。手順3:出力を書き込む。」)
フェーズ 4:簡潔化した書き換え

フェーズ 1 のすべての簡潔化アクションを適用して、SKILL.md を書き換えます。

ソースのパターン簡潔化した置き換え
「コードを分析して判断します……」「次の 5 つの具体的なパターンを確認します:[リスト]」
「適切な形式を使用します」「列を [A、B、C] とした Markdown テーブルで出力します」
「コンテキストを考慮して決定します……」「[条件 A] の場合:X を実行します。[条件 B] の場合:Y を実行します。デフォルト:Z」
「……のベストプラクティスを適用します」具体的なベストプラクティスを列挙したファイルを参照します
複数段落にわたる推論の指示1 文ずつの番号付きステップリストにします

書き換えのルール:

  • すべての指示は、ドメインの専門知識がないモデルでも実行できるものにします
  • 推論を必要とするステップは含めません。各ステップの入力と出力を明示します
  • 「考慮する」「分析する」「判断する」という動詞をすべて「確認する」「数える」「列挙する」「出力する」に置き換えます
  • 曖昧になり得るステップには、具体例を追加します
  • SKILL.md は 500 行未満に保ちます(簡潔化によって行数が増えないようにします)
フェーズ 5:対象モデルによる検証

簡潔化したスキルを読み込んだ状態で、対象モデル(Haiku または Sonnet)を実行します。

  1. フェーズ 2 の同じ 5 つのタスクを実行します
  2. surrogate-verifier を使って、各タスクの出力に対するアサーションを生成します
  3. 合格率を比較します。
指標ソース(Opus + 元のスキル)対象(Haiku + 簡潔化したスキル)差分
合格したアサーションN/MN/M±
加重スコアX.XXX.XX±
出力の完全性%%±
形式への準拠率%%±
  1. 対象モデルのスコアがソースモデルのスコアの 80% 未満の場合は、次の手順を繰り返します。
    • 対象モデルが失敗したアサーションを特定します
    • 失敗した箇所に対する、より具体的な指示を追加します
    • 検証を再実行します(最大 3 回)
フェーズ 6:モデル横断レポート

最終比較を作成します。

# Skill Distillation Report: <skill-name>

## Complexity Reduction
- Sections distilled: N/M (HIGH → LOW)
- Instruction word count: original X → distilled Y (Z% reduction)
- Decision points replaced with lookup tables: N

## Cross-Model Performance
| Model   | Assertions Passed | Weighted Score | Format Compliance |
|---------|-------------------|----------------|-------------------|
| Opus    | 7/7               | 1.00           | 100%              |
| Sonnet  | 6/7               | 0.92           | 100%              |
| Haiku   | 5/7               | 0.85           | 85%               |

## Changes Made
1. [Section] "Analyze complexity" → explicit 5-item checklist
2. [Section] "Apply formatting" → fixed markdown table template
...

## Recommendation
[SHIP | ITERATE | MANUAL_REVIEW_NEEDED]

エラー処理

エラー解決策
ソースの静的適合性が FAIL、または作成者による重大/高の指摘が未解決簡潔化を拒否し、根拠となる各ソースを個別に報告して、test-engineer によるソース修正を推奨します
ソース評価者または作成者レビューを利用できない不足している前提条件を正確に報告し、ゲート完了とトレース収集を保留します
実行トレースがない合成タスクを生成し、続行する前にトレースを収集します
対象モデルがすべてのアサーションに失敗するスキルが対象モデルにとって複雑すぎる可能性があります。詳細を報告します
簡潔化したスキルがソースより長い簡潔化を見直します。パターンの統合が必要な可能性があります

制限事項

  • 多数の判断箇所でオープンエンドな適応的推論や複数ターンの推論に依存するスキルは簡潔化できません
  • ビジュアル/インタラクティブなスキル(HTML 生成、ブラウザー自動化)は、うまく簡潔化できない場合があります
  • 簡潔化では創造性ではなく決定性を最適化するため、オープンエンドな生成(文章作成、ブレインストーミング)が必要なスキルには適しません
  • トレースの収集には実際のモデル実行が必要であり、API 費用が発生します

コメント