Why: the 6 aesthetic detectors added in 53435bf7 / 7aef1b14 / cd1e4325 / ad025c95 catch problems AFTER the model emits them. Telling the model upfront — in the always-loaded layout skill — prevents the same patterns in the first place. Cheaper than running a corrective post-pass on every generation, and the model produces cleaner output that doesn't trip the detectors at all. What: AESTHETIC HYGIENE block appended to layout.md (priority 10, base, loaded for every generation). 4 rules each backed by a corresponding detector: - Text never gets cornerRadius / stroke / effects / rotation. Mirrors detectTextCornerRadius / detectTextStroke / detectTextEffect. - Rotation on UI frames is almost always wrong. Mirrors detectUnexpectedRotation (with the same 90/180/270 + path/line/polygon /image escape hatches). - Same-role siblings must share cornerRadius AND padding. Mirrors detectMixedSiblingCornerRadius / detectMixedSiblingPadding. - Inner layout frames (sections, wrappers) inherit from page/card — only opt into fill/stroke/shadow on the outer card/button/badge/chip. Mirrors the existing invisible-container detector. Phrased as a "keep these silent" pre-condition since the post-pass also strips them. 1080/1080 AI tests + 234/234 pen-ai-skills tests still pass. |
||
|---|---|---|
| .. | ||
| agent-native@e1f90cab96 | ||
| pen-acp | ||
| pen-ai-skills | ||
| pen-core | ||
| pen-engine | ||
| pen-figma | ||
| pen-mcp | ||
| pen-react | ||
| pen-renderer | ||
| pen-sdk | ||
| pen-types | ||
| CLAUDE.md | ||