Close the 8-skill .eval.json gap ADVISORY · OPTIONAL

95 of 103 skills have an eval file; 8 don't. All 8 already ship a test-cases.json, so the eval files are derived, not invented. The full suite already passes (59/0) with this gap present — this is quality polish, not a fix.

Eval coverage

95 / 103

Impact

+8
eval files
8→0
WARN
0
source changes
test:
no version bump

Scope — click a skill to see its derivation

Select a skill above to see how its .eval.json is derived from test-cases.json.

Derivation flow (per skill)

src/skills/<skill>/test-cases.json ──derive──▶ tests/evaluations/<skill>.eval.json
{ $schema, skill, version, evaluations[] }
──validate──▶ eval-completeness ✓ 0 WARN

Execution order

  1. Read all 8 test-cases.json → extract case ids + intent
  2. Generate <skill>.eval.json; expected_behavior aligned per case
  3. Guard: should_not must not duplicate rules/ (test rule #3)
  4. Run test:skills:functional → assert WARN 8→0
  5. Branch test/eval-coverage-8skills · playground · PR

Risk heatmap

source codenone — additive test files only
expected_behavior alignmentmedium — must match test-cases intent
should_not vs rules/medium — test #3 fails if duplicated
blast radiuslow — new files, advisory gate