Tighten typography.md; remove reference/pin.md

typography.md had a parallel 4-step font-selection procedure and a smaller
banned-fonts list (5 fonts: Inter, Roboto, Open Sans, Lato, Montserrat)
that duplicated SKILL.md's authoritative <font_selection_procedure> with
its 23-font list. Removed the duplicate procedure and deferred to SKILL.md
for the banned list. Kept the unique material: anti-reflex corrections,
system-font note, pairing principles, web font loading, OpenType, fluid
type guidance, accessibility — and all of the scale/rhythm/measure
content that SKILL.md doesn't cover.

pin.md removed for the same reason as context.md: SKILL.md's inlined
pin section already covers what an agent needs (what pin does, usage,
valid commands, how to report back). No value in the indirection.

SKILL.md: 386 → 388 lines (slight growth from inlining pin details)
typography.md: 142 → 132 lines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Paul Bakaus
2026-04-14 10:56:07 -07:00
co-authored by Claude Opus 4.6
parent 2c1d2a5a54
commit 50dfeef39f
36 changed files with 84 additions and 552 deletions
+4 -2
View File
@@ -378,8 +378,10 @@ When a sub-command is matched, load the linked reference and follow its instruct
## Pin / Unpin
For `pin <command>` or `unpin <command>`, run:
**Pin** creates a standalone shortcut so `/<command>` invokes `/impeccable <command>` directly. **Unpin** removes it. The script writes to every harness directory present in the project so shortcuts work across every AI tool the user has installed.
```bash
node .github/skills/impeccable/scripts/pin.mjs <pin|unpin> <command>
```
Full details (what pin/unpin does, valid commands, cross-harness behavior): [reference/pin.md](reference/pin.md).
Valid `<command>` is any sub-command from the router table above. Report the script's result concisely — confirm the new shortcut on success, relay stderr verbatim on error.
@@ -1,31 +0,0 @@
# 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>` invokes `/impeccable <command>` directly. Example: `/impeccable pin audit` creates `/audit` as a shortcut for `/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
```bash
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 `/audit` as a shortcut for `/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.
@@ -30,24 +30,14 @@ Use `ch` units for character-based measure (`max-width: 65ch`). Line-height scal
## Font Selection & Pairing
### Choosing Distinctive Fonts
The tactical selection procedure and the full banned-fonts list live in SKILL.md's `<font_selection_procedure>` and `<reflex_fonts_to_reject>` tags (already loaded when this reference is consulted). The rest of this section covers the adjacent knowledge: anti-reflex corrections, system font use, and pairing rules.
**Avoid the invisible defaults**: Inter, Roboto, Open Sans, Lato, Montserrat. These are everywhere, making your design feel generic. They're fine for documentation or tools where personality isn't the goal—but if you want distinctive design, look elsewhere.
### Anti-reflexes worth defending against
**Pick the font from the brief, not from a category preset.** The most common AI typography failure is reaching for the same "tasteful" font for every editorial brief, the same "modern" font for every tech brief, the same "elegant serif" for every premium brief. Those reflexes produce monoculture across projects. The right font is one whose physical character matches *this specific* brand, audience, and moment.
A working selection process:
1. Read the brief once. Write down three concrete words for the brand voice. Not "modern" or "elegant" — those are dead categories. Try "warm and mechanical and opinionated" or "calm and clinical and careful" or "fast and dense and unimpressed" or "handmade and a little weird."
2. Now imagine the font as a physical object the brand could ship: a typewriter ribbon, a hand-lettered shop sign, a 1970s mainframe terminal manual, a fabric label on the inside of a coat, a museum exhibit caption, a tax form, a children's book printed on cheap newsprint. Whichever physical object fits the three words is pointing at the right *kind* of typeface.
3. Browse a font catalog (Google Fonts, Pangram Pangram, Adobe Fonts, Future Fonts, ABC Dinamo) with that physical object in mind. **Reject the first thing that "looks designy."** That's your trained-everywhere reflex. Keep looking.
4. Avoid your defaults from previous projects. If you find yourself reaching for the same display font you used last time, make yourself pick something else.
**Anti-reflexes worth defending against**:
- A technical/utilitarian brief does NOT need a serif "for warmth." Most tech tools should look like tech tools.
- An editorial/premium brief does NOT need the same expressive serif everyone is using right now. Premium can be Swiss-modern, can be neo-grotesque, can be a literal monospace, can be a quiet humanist sans.
- A children's product does NOT need a rounded display font. Kids' books use real type.
- A "modern" brief does NOT need a geometric sans. The most modern thing you can do in 2026 is not use the font everyone else is using.
- A "modern" brief does NOT need a geometric sans. The most modern thing you can do is not use the font everyone else is using.
**System fonts are underrated**: `-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui` looks native, loads instantly, and is highly readable. Consider this for apps where performance > personality.