claude/lib/profiles
Bastien Chanot 3eefb8ad7c feat(design-gate): profile-based toolchain gate + design-tool-gate.sh
design-tool-gate.sh: deterministic design-toolchain state check. Reads the
design-core tools from design.profile's `# GATE-BLOCK:` allowlist + their
types via `profile.sh show design --plain` (claude-free parse contract),
checks each on its own channel (skill symlink / claude plugin list / claude
mcp list / command -v). Never reads disabledMcpServers. Exit 0 ready · 10
incomplete · 2 error.

Remedy is always a profile (/profile design), never an atomic tool toggle —
the profile system stays the single source of truth for activation. magic is
required-but-manual: it TRIPS the gate (not advisory) and the output names
the MAGIC_API_KEY step. Non-design tools bundled in the profile (browse,
plan-*, design-shotgun, graphify) are excluded from the trip via GATE-BLOCK,
so the gate fires only on real design tools.

design-gate.md: §DECISION rewritten profile-based (tier → run script → branch
on 3 groups), replacing the old atomic "ask user to activate ui-ux-pro-max".
§DETECTION unchanged. design.profile: add the `# GATE-BLOCK:` allowlist
(8 design-core tools); it is a comment, so read_profile/--plain are unaffected.

Verified: shellcheck clean; magic-off (real design profile) → exit 10 +
API-key line; all active → exit 0; browse-off (non-GATE-BLOCK) → exit 0,
no trip.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 11:21:48 +02:00
..
audit.profile feat(profile): partition skills/plugins/MCPs/CLIs by usage profile 2026-05-05 02:09:28 +02:00
backend.profile fix(profiles): rename checkpoint to context-save in 5 profiles 2026-05-21 04:57:14 +02:00
design.profile feat(design-gate): profile-based toolchain gate + design-tool-gate.sh 2026-06-21 11:21:48 +02:00
dev.profile fix(profiles): rename checkpoint to context-save in 5 profiles 2026-05-21 04:57:14 +02:00
full.profile fix(gstack): link spec skill, complete gitignore allowlist (BLK-007) 2026-06-02 18:41:43 +02:00
minimal.profile feat(profile): partition skills/plugins/MCPs/CLIs by usage profile 2026-05-05 02:09:28 +02:00
qa.profile feat(profile): partition skills/plugins/MCPs/CLIs by usage profile 2026-05-05 02:09:28 +02:00
seo.profile feat(profile): partition skills/plugins/MCPs/CLIs by usage profile 2026-05-05 02:09:28 +02:00
web-full.profile fix(gstack): link spec skill, complete gitignore allowlist (BLK-007) 2026-06-02 18:41:43 +02:00
web.profile feat(skills): add design-motion-principles from kylezantos 2026-05-25 22:40:23 +02:00