- Add CCGS Skill Testing Framework: self-contained QA layer with 72 skill specs, 49 agent specs, catalog.yaml, quality-rubric.md, templates, README, CLAUDE.md - Add /skill-improve: test-fix-retest loop covering static + category checks - Add 4 missing skills: /art-bible, /asset-spec, /day-one-patch, /security-audit - Add /skill-test category mode (Phase 2D) with quality rubric evaluation - Extend /skill-test audit to cover agent specs alongside skill specs - Update all skill-test and skill-improve path refs to CCGS Skill Testing Framework/ - Remove stale tests/skills/ directory (superseded by CCGS Skill Testing Framework) - Add director gate intensity modes (full/lean/solo) to gate-check and related skills Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.6 KiB
Skill Test Spec: /smoke-check
Skill Summary
/smoke-check runs the critical path smoke test checklist for a build. It reads
the QA plan from production/qa/ and checks each critical path item against the
acceptance criteria defined in the current sprint's stories. Items that can be
evaluated analytically are assessed; items that require runtime verification or
visual inspection are flagged as NEEDS MANUAL CHECK.
The skill produces no file writes — output is conversational. No director gates apply. Verdicts: PASS (all critical items verified), FAIL (at least one critical item fails), or NEEDS MANUAL CHECK (critical items exist that require human verification).
Static Assertions (Structural)
Verified automatically by /skill-test static — no fixture needed.
- Has required frontmatter fields:
name,description,argument-hint,user-invocable,allowed-tools - Has ≥2 phase headings
- Contains verdict keywords: PASS, FAIL, NEEDS MANUAL CHECK
- Does NOT contain "May I write" language (skill is read-only)
- Has a next-step handoff (e.g.,
/bug-reporton FAIL,/release-checkliston PASS)
Director Gate Checks
None. /smoke-check is a QA utility skill. No director gates apply.
Test Cases
Case 1: Happy Path — All critical path items verifiable, PASS
Fixture:
production/qa/qa-plan-sprint-005.mdexists with 4 critical path items- All 4 items are logic or integration type (analytically assessable)
- Corresponding story ACs are defined and met per sprint stories
Input: /smoke-check
Expected behavior:
- Skill reads the QA plan and identifies 4 critical path items
- Skill evaluates each item against the story's acceptance criteria
- All 4 items pass
- Skill outputs a checklist: each item with a PASS marker
- Verdict is PASS with summary: "4/4 critical path items verified"
Assertions:
- All 4 items appear in the checklist output
- Each item is marked PASS
- Verdict is PASS
- No files are written
Case 2: Failure Path — One critical item fails, FAIL verdict
Fixture:
- QA plan has 3 critical path items
- Item 2 ("Player health does not go below 0") fails — story AC indicates clamping logic was not implemented
Input: /smoke-check
Expected behavior:
- Skill evaluates all 3 items
- Item 1 and Item 3 pass; Item 2 fails
- Skill outputs checklist with specific failure: "Item 2 FAIL — Health clamping not verified"
- Verdict is FAIL
- Skill suggests running
/bug-reportfor the failing item
Assertions:
- Verdict is FAIL (not PARTIAL or NEEDS MANUAL CHECK)
- Failing item is identified by name/description
- Passing items are also shown (not hidden)
/bug-reportis suggested for the failure
Case 3: Visual Item Cannot Be Auto-Verified — NEEDS MANUAL CHECK
Fixture:
- QA plan has 3 items: 2 logic items (PASS) and 1 visual item ("Explosion VFX triggers correctly on enemy death" — ADVISORY, visual type)
Input: /smoke-check
Expected behavior:
- Skill evaluates the 2 logic items — both pass
- Skill evaluates the visual item — cannot be verified analytically
- Visual item is marked NEEDS MANUAL CHECK with a note: "Visual quality requires human verification — see production/qa/evidence/"
- Verdict is NEEDS MANUAL CHECK (not PASS, because human action is required)
- Guidance on how to perform manual check is provided
Assertions:
- Verdict is NEEDS MANUAL CHECK (not PASS or FAIL)
- Visual item is marked with explicit NEEDS MANUAL CHECK tag
- Guidance for manual verification process is included
- Logic items are still shown as PASS
Case 4: No Smoke Test Plan — Guidance to run /qa-plan
Fixture:
production/qa/directory exists but contains no QA plan file for the current sprint- Current sprint is sprint-006
Input: /smoke-check
Expected behavior:
- Skill looks for QA plan for the current sprint — not found
- Skill outputs: "No smoke test plan found for sprint-006"
- Skill suggests running
/qa-plan sprint-006first - No checklist is produced
Assertions:
- Error message names the missing sprint's plan
/qa-planis suggested with the correct sprint argument- Skill does not produce a checklist with no plan
- Verdict is not PASS (error state, no checklist evaluated)
Case 5: Director Gate Check — No gate; smoke-check is a QA utility
Fixture:
- Valid QA plan with assessable items
Input: /smoke-check
Expected behavior:
- Skill runs the smoke check and produces a verdict
- No director agents are spawned
- No gate IDs appear in output
Assertions:
- No director gate is invoked
- No write tool is called
- Verdict is PASS, FAIL, or NEEDS MANUAL CHECK — no gate verdict involved
Protocol Compliance
- Reads QA plan before evaluating any items
- Evaluates each item explicitly (no silent skips)
- Visual/feel items are always flagged NEEDS MANUAL CHECK (not auto-passed)
- FAIL verdict triggers on first critical failure (not advisory)
- Verdict is PASS, FAIL, or NEEDS MANUAL CHECK — no other verdicts
Coverage Notes
- The case where the QA plan exists but has no critical path items (all items are ADVISORY) is not tested; PASS would be returned with a note that no critical items were checked.
- The distinction between BLOCKING and ADVISORY gate levels from coding-standards.md is relied upon to determine which items can produce a FAIL.
- Build-specific failures (runtime crashes) that occur during manual testing are
outside the scope of this skill — use
/bug-reportfor those.