Skip to content
cccskills
FreePublished on GitHub

Eval-Driven Skill Design

新規・変更 skill の fixture/eval と、WITH/WITHOUT の paired ablation による限界寄与の評価可能性を確認し、activation と effectiveness を分離して案内する。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md10.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Pattern declaration

Primary pattern: Reviewer Secondary patterns: Tool Wrapper Why: skill 追加・重要変更時に happy-path / guard fixture、eval 配線、paired ablation の評価可能性を診断し、存在・発火と実効性を混同しないための educator スキル。fixture-only / docs-only PR では起動しない。

Goal / 目的

  • 新規 skills/**/SKILL.md を追加する PR が 検出ケース (happy-path) と抑制ケース (guard) のペア を fixture として持つことを確認する。
  • eval/promptfoo.yaml 相当の評価設定または tests/fixtures/repo-wide-eval/ への登録が用意されているかを確認する。
  • 欠けている場合は npm run eval:fixtures / npm run eval:repo-context をどう通すかを案内する。
  • 新規・重要変更された skill について、同じ case / runtime / model / effort で WITH skill と WITHOUT skill(または旧版 baseline と candidate) を比較できるか確認する。
  • installed / selected / fired を effectiveness の証拠にせず、寄与が不明なら INCONCLUSIVE として追加 Evidence を要求する。

Guidance

Eval cycle 全体像 (#688 で整備済)

new SKILL.md
  ├─ fixtures/
  │   ├─ <NN>-happy.md        # 検出されるべき diff(必須 1 件以上)
  │   └─ <NN>-guard.md        # 検出してはいけない diff(必須 1 件以上)
  ├─ golden/<NN>-*.md         # promptfoo similar 評価用の代表出力
  ├─ prompt/{system,user}.md  # promptfoo prompts:
  └─ eval/promptfoo.yaml      # contains / not-contains / llm-rubric / similar

または tests/fixtures/repo-wide-eval/ に同じ skill の {happy, guard} ケースを追加し、tests/fixtures/repo-wide-eval/cases.json に登録する形でも eval lift が測定できる。

Marginal contribution / paired ablation

fixture / golden output は「壊れていないか」を見る regression evidence です。skill が存在する価値そのものは、可能な範囲で baseline と candidate の差分として測ります。

same case / runtime / model / effort
  ├─ WITHOUT skill (or previous-version baseline)
  └─ WITH skill    (or candidate)
       ↓
compare delta

原則:

  • Usage != Effectiveness: installed / selected / fired は availability / activation evidence であり、品質改善の証拠ではない。
  • 比較では skill 以外の条件を固定する。model / runtime / effort / input が違う結果を skill の寄与として扱わない。
  • 非決定的な実行は単発結果で断定せず、複数 trial と paired case を使う。
  • 最低限、detection / false positive / critical regression を比較し、取得可能なら time / token / cost / human intervention も見る。
  • candidate 側が実際に発火していない、paired case が不足している、sample が足りない場合は INCONCLUSIVE。自動的に「効果なし」へ倒さない。
  • River Review 内の Harness 改善では、独自比較器を増やさず既存の Experiment Manifest / paired replay(src/lib/paired-replay.mjs、docs/development/1574-p2-paired-replay.md)を優先して再利用する。
  • model / runtime の major update、skill の責務・prompt・routing の大幅変更時は再評価する。旧モデルで有効だった skill が新モデルでは冗長になる可能性を前提にする。

判定は PASS | FAIL | INCONCLUSIVE とし、採用・廃止・自動 merge の authority はこのスキルに持たせません。

happy-path × guard ペア convention

  • happy-path fixture: 「このパターンを必ず検出すること」を保証する。fixture ファイル名に happy / should-detect を含める。
  • guard fixture: 「このパターンを誤検出してはいけない」を保証する。fixture ファイル名に guard / false-positive / should-not-detect を含める。
  • ペアにすることで falsePositiveRateWith / detectionRateWith (evaluateRepoWideFixtures メトリクス) が両方測れ、後の改善で 片方だけが破綻するケース を検知できる。

eval コマンドと役割

対象コマンド何が回るか
skill schemanpm run skills:validateYAML frontmatter / 必須キー検証
review fixturesnpm run eval:fixturestests/fixtures/review-eval/cases.json に登録された skill の出力検証
repo-wide evalnpm run eval:repo-contexttests/fixtures/repo-wide-eval/ の context-lift / FP rate メトリクス
集約 drivernpm run eval:all上記 + planner / regression / meta を一括実行

ローカルで失敗したまま push しない(CI 通過のみに頼らない)。

判断フロー

新規 skills/**/SKILL.md の追加 diff を見たとき、次の順で確認する。

  1. fixtures/ ディレクトリが追加されているか?
    • なし → 「happy / guard fixture が必要」を指摘する。
  2. happy-path ペアが揃っているか?
    • guard だけ / happy だけ → 片側欠落として指摘する。
  3. eval/promptfoo.yaml か tests/fixtures/repo-wide-eval/cases.json への配線があるか?
    • なし → どちらかを選んで配線する手順を提示する(per-skill promptfoo か repo-wide cases.json か)。
  4. baseline / candidate の比較方法が定義されているか?
    • 新規 skill なら WITHOUT skill、既存 skill の重要変更なら旧版を baseline にする。
  5. activation と effectiveness が分離されているか?
    • fired だけを成功条件にしている場合は指摘する。
  6. paired comparison が実行不能または sample 不足か?
    • INCONCLUSIVE と追加 Evidence の取得条件を明示する。推測で PASS / FAIL にしない。
  7. fixture / eval / contribution path が揃っている → 何も指摘しない(このスキルは silent でよい)。

Non-goals / 扱わないこと

  • skill の 検出ロジックの妥当性 自体(それは各 skill の領分)。
  • typo / wording / reference link だけの docs-like 変更など、skill の責務・trigger・判断ロジック・routing・modelHint・実行ロジックを変えない軽微変更。
  • prompt/ や golden/ 内容のスタイル指摘(fixture / eval の有無のみを確認する)。
  • 個別 fixture の diff 内容のレビュー(scripts/evaluate-review-fixtures.mjs などが回す)。

Pre-execution Gate / 実行前ゲート

このスキルは以下を すべて 満たさない限り NO_REVIEW を返す。

  • 差分に新規 skills/**/SKILL.md、または 実質変更された SKILL.md / prompt/** / scripts/** が含まれている
  • fixture / eval / paired contribution のいずれかに未確定がある、または責務・trigger・判断ロジック・routing・modelHint・実行ロジックの変更によって既存 Evidence の再利用可否を確認する必要がある

ゲート不成立時の出力:

NO_REVIEW: eval-driven-skill-design — skill の実質変更がない、または fixture / eval / contribution evidence が既に十分

False-positive guards / 抑制条件

Pre-execution Gate を通過した後の 個別指摘の抑制条件 に絞る。

  • 同 PR 内に別の eval 配線(tests/fixtures/repo-wide-eval/cases.json 編集等)がある場合、fixtures/ ディレクトリが skill 配下になくても "missing eval" として指摘しない。
  • 新規 skill の applyTo が **/* のみで真の対象パターンが空のドラフトであることが明らか(severity: info + tags: [draft] 等)なケースでは、fixture 必須化を促さない。代わりに「ドラフト解除前に eval を整備する」と案内する。
  • 既存 skill の copy-and-rename だけで実質 fixture も流用される PR(同 commit で git mv の rename detected)では片側 fixture でも許容する。

Output / 出力例

findings:
  - severity: minor
    file: skills/midstream/rr-midstream-newcheck-001/SKILL.md
    line: 1
    issue: |
      新規 skill `rr-midstream-newcheck-001` が追加されましたが、
      `fixtures/` ディレクトリが見当たりません。happy-path × guard
      のペア fixture が無いと #688 の repo-wide eval で
      detectionRate / falsePositiveRate を測定できず、
      後続改修時の regression を検知できません。
    suggestion: |
      最低限以下を追加してください。
      - skills/midstream/rr-midstream-newcheck-001/fixtures/01-should-detect.md
      - skills/midstream/rr-midstream-newcheck-001/fixtures/02-should-not-detect.md
      評価配線は per-skill promptfoo (`eval/promptfoo.yaml`) か、
      `tests/fixtures/repo-wide-eval/cases.json` への追加のいずれかを選び、
      ローカルで `npm run eval:fixtures` または
      `npm run eval:repo-context` が exit 0 で通ることを確認してください。
actions:
  - type: 'verify'
    description: 'PR merge 前にローカルで `npm run eval:all` が通ることを確認する'

References

  • Repo-wide eval 実装: src/lib/repo-wide-fixtures-eval.mjs / scripts/evaluate-review-fixtures.mjs
  • Fixture 構造の参考: skills/midstream/security-basic/
  • Schema: schemas/skill.schema.json
  • 改善ループ: skills/agent-skills/river-review/references/IMPROVEMENT_LOOP.md
  • paired comparison: docs/development/1574-p2-paired-replay.md / src/lib/paired-replay.mjs

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

<What this skill does>

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 22, 2026

画像・ボタン・フォーム要素に適切なアクセシブルネームがあるか確認する。

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 22, 2026

Ensure ADRs capture context, decision, alternatives, tradeoffs, and follow-ups in a way that prevents future drift.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 22, 2026

敵対的分析手法を統合したレビューの entry skill。認知バイアス対策の3手法 (Pre-mortem / War Game / Logic Torturing)と、宣言・主張と実態の乖離を突く claim-vs-actual 検出3パターン(Self-Contradiction / Refactor-Claim Audit / Cross-File Leakage)へルーティングし、通常のレビューでは見えない設計の盲点・ 防御の穴・論理の弱点・宣言と実装のズレを可視化する。

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 22, 2026

Review changes to the Agent Skills import/export bridge for path safety, round-trip fidelity, and validation correctness.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 22, 2026

Checks whether AI-assisted work defines review criteria, accessible context, explicit review loop, human judgment boundary, and feedback capture before delegating to an agent.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 22, 2026

See all skills by s977043

Report a problem with this skill