design-modifylisted
Install: claude install-skill tstapler/dotfiles
# design:modify — Spec-Aware Design Changes with Safety Checks
## What This Skill Does
Given a FAIL item from a `design:review` output (or a direct change request from Tyler),
modifies `design_spec.py` safely:
1. **Constraint simulation** — compute all 4 aisle clearances BEFORE writing any file
2. **Feasibility check** — reject changes that resolve one FAIL but introduce another
3. **Safe spec editor** — validate Python syntax and import before applying
4. **Pipeline runner** — execute `pixi run permit-docs`, detect silent failures
5. **Diff reporter** — show what changed in spec and which PDFs were regenerated
Never writes to `design_spec.py` without passing all safety checks.
---
## Prerequisites
- `design_spec.py` importable: `python3 -c "from design_spec import SPEC" # exit 0`
- `pixi run permit-docs` runs clean on current spec
- `~/.claude/skills/pdf-proof/.venv` contains ezdxf, Pillow, PyMuPDF
- `.design-loop/` directory exists (or create it: `mkdir -p /home/tstapler/Documents/711-N60th-Plans/.design-loop/`)
---
## Step 1: Constraint Simulation (BEFORE any file write)
The simulation runs in Claude's reasoning using SPEC field values. No subprocess.
All formulas use `/ 25.4` for mm-to-inch conversion explicitly.
### 1a: Load current SPEC values
```python
from design_spec import SPEC
# Kitchen interior corners (mm)
KI_W = SPEC.kit_w_out_mm + SPEC.ext_thk_mm
KI_S = SPEC.kit_s_out_mm + SPEC.ext_thk_mm
KI_N = KI_S + SPEC.kit_ns_mm
KI_E = KI_W + SPEC.kit_ew_mm
#