docs/archive/2026-07-ai-artifacts/claude-skills/feature-pipeline-preview/08-test-spec-design/02-review-quality/SKILL.md
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: 02-review-quality description: Independently validates the test specification against the rubric and gates phase 8 completion. kind: leaf executor: sonnet model: claude-sonnet-4-6 --- # Review test-spec quality Reads the produced test spec and the architecture doc
npx skillsauth add neohaskell/neohaskell docs/archive/2026-07-ai-artifacts/claude-skills/feature-pipeline-preview/08-test-spec-design/02-review-qualityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE. Superseded by
codemap/+ rootAGENTS.md. Scheduled for deletion once the pipeline is verified (Phase 6). Manifest:docs/archive/2026-07-ai-artifacts/MANIFEST.md
Reads the produced test spec and the architecture doc, applies every check in ../../references/test-spec-rubric.md, records the per-check verdict to .pipeline/test-spec-rubric.json, and gates phase 8 completion on the result.
This step is the auto-gate that replaces the human PAUSE: when the rubric says pass, the pipeline advances automatically; when it says fail, the pipeline halts here with the rubric record as the audit trail.
Assume the artefact under review was produced by a language model (ChatGPT-class output). Treat plausible-looking claims as unverified, expect hallucinated APIs and missed constraints, and refuse to pass anything not directly traceable to the rubric in ../../references/test-spec-rubric.md and the architecture doc. Strict review is the default — benefit of the doubt goes to the rubric and to the source, never to the producer.
docs/architecture/<adr-number>-<slug>-tests.md — produced by ../01-produce/.docs/architecture/<adr-number>-<slug>.md — the source architecture doc.../../references/test-spec-rubric.md — the eight-check rubric + four carrier rules.pass / fail / n/a from evidence in the spec vs the architecture doc → verify: every check has a verdict + an evidence cite.pass / fail → verify: every rule has a verdict..pipeline/test-spec-rubric.json → verify: file exists with checks, carriers, verdict.verdict == "pass", run pipeline.py complete 8 and print RUBRIC: pass. If verdict == "fail", print RUBRIC: fail plus the failing check names and refuse — do NOT mark phase 8 complete.Assumptions:
## Coverage summary table; the reviewer recomputes them by walking the per-function section if the table is missing.If any assumption fails, refuse — do not guess.
Load the test spec, the architecture doc, and the rubric.
Walk each rubric check 1-8 in order:
ToJSON/FromJSON has a round-trip case in ## Round-trip suite.properties: none — <reason> entry.describe/describe/it nesting present; cases organised by function.Walk the four carrier rules (Think / Simplicity / Surgical / Goal-driven). Record verdicts.
Compose the rubric record:
{ "phase": 8, "checks": [...], "carriers": [...], "failing": [...], "verdict": "pass" | "fail" }
Write .pipeline/test-spec-rubric.json.
On pass: run python3 .claude/skills/feature-pipeline-preview/scripts/pipeline.py complete 8; print RUBRIC: pass.
On fail: print RUBRIC: fail with the failing check IDs, their cites, and the concrete edits needed; refuse to mark phase 8 complete.
.pipeline/test-spec-rubric.json written. On pass: phase 8 marked complete. On fail: pipeline stops; rubric record names the failures.
fail → refuse to call pipeline.py complete 8; print the failure summary and stop.development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-style-guide description: NeoHaskell coding style reference and enforcement rules. Load when writing, reviewing, or modifying any Haskell code in the NeoHaskell project. Triggers on 'NeoHaskell style', 'NeoHaskell conventions', 'how to write NeoHaskell', '
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-security-review description: Security & Code Quality review for NeoHaskell. Use when reviewing code changes, PRs, or architectural decisions for security implications. Evaluates OWASP, NIST, EU compliance. Handles pipeline phases 2 (ADR review) and 10 (im
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-qa-designer description: Testing QA Designer for NeoHaskell. Designs comprehensive test specifications with exhaustive edge cases, boundary conditions, and happy paths BEFORE implementation. Handles pipeline phase 6 (Test Spec Design). Outside-in TDD meth
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-performance-review description: Performance review for NeoHaskell targeting 50k req/s throughput. Use when reviewing code for performance implications, INLINE pragmas, strictness, and allocation patterns. Handles pipeline phases 3 (ADR review) and 11 (imp