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/perniemann/pncore/pn-typesetgit clone --depth 1 https://github.com/perniemann/pnCoreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/perniemann/pncore/pn-typeset)<a href="https://agentmods.dev/commands/perniemann/pncore/pn-typeset"><img src="https://agentmods.dev/badge/commands/perniemann/pncore/pn-typeset.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00035 | $0.00760 |
| Opus 5 | $0.00017 | $0.00380 |
| Sonnet 5 | $0.00007 | $0.00152 |
| Haiku 4.5 | $0.00003 | $0.00076 |
Grade A, and why
pn-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 5d 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.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pn-typeset
Start every response with: [pn-command] 🔺
Advanced (palette-hidden). Not in the
/slash palette. Invoked by/pn-design(Typography substep),/pn-visual-tweak, or/pn-polish, or directly viaget_command("pn-typeset").
Focused typography pass: audit and fix font choices, type scale, visual hierarchy, font loading, and readability. No layout changes, no color changes — typography only.
Flow
1. Context
Check .pncore-design.md for brand personality and visual ambition. If not found, ask: "What's the brand tone? (e.g. editorial/premium, clean/functional, bold/expressive)"
Typography pass (state before coding): Chosen display + body (or single strong family), loaded from where (e.g. Google Fonts), and why it matches the brand — not Inter, Geist, Roboto, Arial, or generic system-ui unless spec requires. Pairing: high contrast across axes (display + humanist sans, serif + geometric sans, etc.). Use weight/size contrast (e.g. 200 vs 800, or display 3×+ body size), not 400 vs 600 only. See reference/typography.md for impact lists by vibe (editorial, technical, startup).
2. Scope
If not specified: "Which pages or components should I focus on? Or reply 'all' for the full project."
3. Audit
Load get_skill("pn-typography") and consult [reference/typography.md](../skills/frontend/reference/typography.md).
Audit for:
- Font choices: Are they distinctive or generic defaults (Inter, Geist, system-ui)? Do they match brand personality?
- Type scale: Is there a consistent modular scale? Too many similar sizes?
- Hierarchy: Three layers (display / reading / utility) — are they distinguishable?
- Pairings: If two fonts, do they contrast on multiple axes? If one font, is it strong enough alone?
- Font loading:
font-displayset? Critical fonts preloaded? Fallback metrics for zero FOUT? - OpenType: Are tabular numbers used for data? Other features available?
- Fluid vs fixed: Are headings on content pages using
clamp()? Is app UI using fixed rem? - Readability: Body text
max-width: ~65ch? Sufficient line-height?
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.
- 5d ago First seen · 62 lines · 35 tokens per session scan A ac053640f81e
pn-typeset is a command published in the GitHub repository perniemann/pnCore (0 stars, last pushed 2d ago), licensed MIT. It adds 35 tokens to every session and 760 once invoked, about $0.0002 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
t800-update
Автомат: при каждом новом чате hook sessionStart сам сравнивает версию с GitHub и при необходимости ставит обновление (shared/auto-update-contract.md). Вручную: эта команда — если нужно обновить прямо сейчас или автопроверка была пропущена.
t800-cloud-hub
Команда: /t800-cloud-hub Алиас: /t800-hub-setup (тот же лид, тот же контракт).
t-800-factory
Обязательно вызови субагента через Task(t-800-factory).
t-800-operator
Обязательно вызови субагента через Task(t-800-operator).
t-800-factory-validate
Запусти проверки и при необходимости вызови аудитора.
t-800
Команда переименована. Используй.