forked from bchanot/claude
feat(install): wire impeccable into the toolchain — deterministic design floor + /impeccable verbs
Complementary to frontend-design (kept: build-time aesthetic direction). impeccable adds what the chain lacked: 45 deterministic anti-slop rules (npx impeccable detect, exit 0/2, --json) — the design counterpart of the semgrep gate — plus 23 design verbs under one /impeccable skill and persistent per-project design context. - plugins.lock.json: CLI pinned 3.2.0 (rules update = audit output change on unchanged code, LRN-077 class); skill dist = its own release track - install-plugins.sh Step 8d: staged npx install (tmpdir) -> moved to skills-external/impeccable (machine-owned, gitignored, ctx7 pattern); never writes through the ~/.claude/skills symlink into the tracked tree - update-all.sh: pin-honored refresh, Node<24 or failure -> dist kept - Node >= 24 required (host at 22): steps skip gracefully, activation deferred to a deliberate Node bump - link.sh EXTERNAL_SKILLS, profiles (design/web/web-full/full), plugin-advisor, CLAUDE.md design routing, design-gate, README, CHANGELOG - NOT in design GATE-BLOCK yet: promotion after first dogfood
This commit is contained in:
@@ -71,7 +71,7 @@ if [ -d "$GSTACK_SRC/browse/dist" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
EXTERNAL_SKILLS=(emil-design-eng frontend-design design-motion-principles)
|
||||
EXTERNAL_SKILLS=(emil-design-eng frontend-design design-motion-principles impeccable)
|
||||
for _ext_skill in "${EXTERNAL_SKILLS[@]}"; do
|
||||
if [ -d "$REPO/skills-external/$_ext_skill" ]; then
|
||||
if [ -L "$CLAUDE/skills/$_ext_skill" ] && [ "$(readlink "$CLAUDE/skills/$_ext_skill")" = "$REPO/skills-external/$_ext_skill" ]; then
|
||||
|
||||
Reference in New Issue
Block a user