Before: 422 lines. After: 386 lines. The cut is conservative because evals/AGENT.md revealed that most of what looked like bloat is actually load-bearing: the font_selection_procedure with its 23-font ban list (lesson 6), the theme_selection with audience examples (lesson 9), and the absolute_bans with literal CSS patterns (lesson 7) all drive measurable eval improvements and must stay inline. What moved out of SKILL.md: - Context Gathering Protocol (52 → ~18 lines). The full protocol — cache semantics, dispatch tree, teach/document/live exceptions, why-it-matters — moved to reference/context.md. SKILL.md keeps only the compact hook: load command, "never infer from codebase" warning, and pointer. - Pin/Unpin (14 → 6 lines). Details moved to reference/pin.md. - Spatial principles: dropped 4pt-vs-8pt rationale, gap-vs-margins CSS technicality, and container-queries-vs-viewport explanation (not load-bearing in the main skill). Kept all load-bearing rules including the 80-char body-text line (detector-backed). What did NOT move (load-bearing per evals): - <font_selection_procedure> with the 23-font ban list - <theme_selection> with the 8 audience examples - <absolute_bans> with literal CSS patterns - All XML tag structure (lesson 8: XML works better than markdown for reasoning models, especially OpenAI) Also added: - reference/context.md (new) — full context protocol - reference/pin.md (new) — full pin/unpin docs - "Never infer brand, audience, or tone from the codebase" warning restored to SKILL.md (was dropped in an earlier refactor) Fixed: - reference/colorize.md had "Accent borders: Add colored left/top borders to cards or sections" which directly contradicted SKILL.md's absolute_ban on border-left/right > 1px. Rewrote the accent-border advice to use hairline borders, surface tints, or leading glyphs instead, with an explicit reference to the ban. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.6 KiB
Pin / Unpin
Commands that create or remove standalone slash-command shortcuts for frequently-used sub-commands.
What it does
Pin creates a lightweight standalone skill so {{command_prefix}}<command> invokes {{command_prefix}}impeccable <command> directly. Example: {{command_prefix}}impeccable pin audit creates {{command_prefix}}audit as a shortcut for {{command_prefix}}impeccable audit.
Unpin removes a previously pinned shortcut.
The pinned skill is a thin redirect — it doesn't duplicate the sub-command reference, it just forwards to the impeccable router.
Usage
node {{scripts_path}}/pin.mjs pin <command>
node {{scripts_path}}/pin.mjs unpin <command>
The script writes to every harness directory present in the project (.claude/, .cursor/, .codex/, .agents/, .gemini/, etc.) so pinned shortcuts work across every AI coding tool the user has installed.
Valid commands
Any impeccable sub-command name is a valid pin target: craft, shape, teach, document, extract, critique, audit, polish, bolder, quieter, distill, harden, onboard, animate, colorize, typeset, layout, delight, overdrive, clarify, adapt, optimize, live.
Reporting back
After running the script, report what happened:
- Pin success: confirm the new shortcut (e.g. "Pinned. You can now use
{{command_prefix}}auditas a shortcut for{{command_prefix}}impeccable audit."). - Unpin success: confirm removal.
- Errors: relay the script's stderr verbatim — usually the command name was invalid or the pin already/doesn't exist.