Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/dragoon0x/canon/typesetgit clone --depth 1 https://github.com/Dragoon0x/canonWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00016 | $0.00521 |
| Opus 5 | $0.00008 | $0.00260 |
| Sonnet 5 | $0.00003 | $0.00104 |
| Haiku 4.5 | $0.00002 | $0.00052 |
Grade A, and why
typeset scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
/typeset
Set type properly. Not "pick a font" — font size, line height, line length, tracking, and weight pairing as a system.
What this does
- Load
canon-typography. - Choose a modular scale (1.125, 1.2, 1.25, 1.333, or 1.5) based on density needs. Tight UIs get 1.125–1.2; editorial gets 1.333–1.5.
- Set the type scale:
- Body: 14–16px (web), 16px minimum on mobile form inputs (iOS zoom).
- H1: 32–56px.
- H2: 24–40px.
- H3: 20–28px.
- Caption: 12–13px.
- Line height inverse rule:
- Display (32px+): 1.0–1.15
- Headings (20–32px): 1.15–1.3
- Body (14–18px): 1.4–1.6
- Caption (12px): 1.4–1.5
- Line length: 50–75 characters for body. Measure in
chunits. - Tracking:
- Display (40px+): -0.02em to -0.04em
- Body: 0
- All-caps: +0.04em to +0.08em
- Weight pairing: stay within 2–3 weights per page. Heavy display (700–800) pairs with normal body (400–450).
- OpenType features where numbers live:
font-variant-numeric: tabular-numsfor tables,lining-numsfor most UI. - Reject banned defaults (Inter-as-default for everything, Helvetica Neue for display, Arial for anything).
Output
- Type scale tokens in CSS.
- Applied classes or utilities.
- Before/after side-by-side if modifying existing.
- Note on font loading strategy (preload,
font-display: swap).
Success criteria
- Every size and line-height traces to the scale.
- No line of body text exceeds 75ch.
- Numbers align in tables.
- Mobile inputs don't zoom on focus.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 47 lines · 16 tokens per session scan A 428229829abf
typeset is a command published in the GitHub repository Dragoon0x/canon (5 stars, last pushed 4mo ago), licensed MIT. It adds 16 tokens to every session and 521 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
refactor-ui
Apply tactical UI improvements using Refactoring UI principles.
apply-design-md
Consume the project's design contract — a .design file or DESIGN.md — and thread its tokens through UI code (CSS, Tailwind, or design-system components).
color-specialist
Use when colour is failing. Contrast below AA, a palette with no system behind it, dark mode that is only inverted light mode, or semantic colours that carry no meaning.
dark-mode-specialist
Use when dark mode looks wrong. Pure black surfaces, elevation that disappears, brand colours that vibrate against dark, a white flash on load, or a mode toggle that does not persist.
motion-designer
Use when animation feels wrong. Transitions too slow or too bouncy, motion with no purpose, blanket transitions on every property, no reduced-motion support, or animation that drops frames.
spacing-layout-specialist
Use when spacing looks arbitrary. Padding and margins off any scale, inconsistent gaps between the same components, no grid underneath, or a layout that needs a denser mode.