Add /skill-test suite: linter, behavioral specs, and coverage catalog for 52 skills

- New skill: /skill-test (static | spec | audit modes)
  - static: 7-check structural linter per skill file
  - spec: Claude-evaluated behavioral assertions against test specs
  - audit: coverage report across all 52 skills with priority gaps
- New hook: validate-skill-change.sh — advisory reminder to lint after skill edits
- New template: skill-test-spec.md — standard structure for authoring test specs
- New: tests/skills/catalog.yaml — machine-readable coverage index (52 skills)
- New: tests/skills/_fixtures/ — shared fixtures (complete concept, incomplete GDD)
- New: 4 seed test specs for critical gate skills (gate-check, design-review,
  story-readiness, story-done) — 4 cases each
- Modified: settings.json — validate-skill-change.sh added to PostToolUse hook

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Donchitos
2026-03-13 17:05:08 +11:00
parent cdb1aa83b7
commit af2b864796
11 changed files with 1587 additions and 0 deletions

438
tests/skills/catalog.yaml Normal file
View File

@@ -0,0 +1,438 @@
version: 1
last_updated: ""
skills:
# Critical — gate skills that control phase transitions
- name: gate-check
spec: tests/skills/gate-check.md
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: critical
- name: design-review
spec: tests/skills/design-review.md
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: critical
- name: story-readiness
spec: tests/skills/story-readiness.md
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: critical
- name: story-done
spec: tests/skills/story-done.md
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: critical
- name: review-all-gdds
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: critical
- name: architecture-review
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: critical
# High — pipeline-critical skills
- name: create-epics-stories
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: high
- name: create-control-manifest
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: high
- name: propagate-design-change
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: high
- name: architecture-decision
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: high
- name: map-systems
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: high
- name: design-system
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: high
# Medium — team and sprint management skills
- name: sprint-plan
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: sprint-status
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-ui
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-combat
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-narrative
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-audio
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-level
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-polish
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-release
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: team-live-ops
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
# Low — analysis, reporting, utility skills
- name: skill-test
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: medium
- name: start
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: help
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: brainstorm
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: project-stage-detect
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: setup-engine
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: quick-design
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: ux-design
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: ux-review
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: code-review
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: balance-check
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: asset-audit
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: reverse-document
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: create-architecture
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: content-audit
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: bug-report
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: hotfix
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: prototype
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: playtest-report
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: perf-profile
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: tech-debt
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: scope-check
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: estimate
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: milestone-review
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: retrospective
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: changelog
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: patch-notes
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: onboard
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: localize
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: launch-checklist
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: release-checklist
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low
- name: adopt
spec: ""
last_static: ""
last_static_result: ""
last_spec: ""
last_spec_result: ""
priority: low