design-qalisted
Install: claude install-skill tstapler/dotfiles
# design:qa — Post-Modification Quality Gate
## What This Skill Does
After a `design:modify` run (or any manual spec edit), re-runs compliance checks
from scratch and produces a verdict that accurately reflects the current state of
the drawings. Never reads cached compliance JSON.
Verdicts:
- **PASS** — All previously-FAIL items are now PASS; no regressions; no CANNOT_VERIFY.
- **PASS_WITH_WARNINGS** — All previously-FAIL items now PASS; CANNOT_VERIFY items
remain (e.g., GFCI). Human review required for warnings before permit submission.
- **BLOCKED** — A regression was detected (previously-PASS item is now FAIL), a new
FAIL appeared, no progress was made, or the pipeline produced stale outputs.
Human action required before proceeding.
---
## Prerequisites
- `design_spec.py` importable: `python3 -c "from design_spec import SPEC" # exit 0`
- `~/.claude/skills/freecad-review/scripts/` contains `extract_clearances.py` and
`check_compliance.py`
- `~/.claude/skills/pdf-proof/.venv` contains ezdxf, Pillow, PyMuPDF (fitz)
- `.design-loop/` directory exists
- A prior `review_N.json` exists in `/tmp/kitchen-design-loop/` to use as baseline.
If no baseline exists (fresh QA run), all current FAIL items are treated as
pre-existing — no regression detection is possible.
---
## Step 1: Cache Invalidation (unconditional)
At the start of every design:qa run, delete any cached compliance JSON regardless
of how it was invoked (from loop or directly):
```bash
rm -f /tmp/co