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 skills/joshukraine/dotfiles/prd-viewnpx skills add joshukraine/dotfiles --skill prd-viewgit clone --depth 1 https://github.com/joshukraine/dotfilesWrote 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/skills/joshukraine/dotfiles/prd-view)<a href="https://agentmods.dev/skills/joshukraine/dotfiles/prd-view"><img src="https://agentmods.dev/badge/skills/joshukraine/dotfiles/prd-view.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 | $0.00043 | $0.01786 |
| Opus 5 | $0.00022 | $0.00893 |
| Sonnet 5 | $0.00009 | $0.00357 |
| Haiku 4.5 | $0.00004 | $0.00179 |
Grade A, and why
prd-view 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PRD View
Render one canonical PRD Markdown file as a rich HTML reading view — a sticky-sidebar "Dashboard" the human scans, jumps around, and collapses to fight overwhelm. The point is engagement: long monochrome specs go under-read, and an unread spec is not authoritative in practice.
This view is derived and ephemeral. The Markdown file is the single source of truth. The HTML is a presentation generated on demand, written to a gitignored tmp/ and never committed — so it cannot drift and there is never a second source of truth. It is also a vetting instrument: when the rendered view surfaces something wrong or surprising, the fix goes into the Markdown, and you regenerate — never patch the HTML.
The cardinal rule follows from that: present, do not embellish. Every claim in the output must be traceable to the source file. Add no requirements, decisions, or structure the spec does not state. Diagrams encode only facts the spec gives. If the source is ambiguous or self-contradictory, surface that (a callout.flag) rather than silently resolving it — surfacing it is the vetting loop working.
Input
$ARGUMENTS: the path to one PRD Markdown file (e.g.docs/prd/11-individual-book-requests.md).- If no path is given, list the
docs/prd/*.mdfiles and ask which one to render. Render exactly one file per run (a whole-docs/prd/bundle is out of scope).
Your task
1. Read and orient
Read the target file in full. Identify the project name from the repo's CLAUDE.md, docs/prd/README.md, or repo name — it becomes the sidebar breadcrumb (e.g. "ComixDistro PRD"). Note the file's number and title for {{DOC_TITLE}} (e.g. "11 · Individual Book Requests").
2. Understand the structure
Map the file before rendering. Identify:
- Its
##sections (each becomes one collapsible card). - Tables — especially a data-model table (fields, types, required/optional).
- Code/JSON blocks (keep as
<pre>). - Structural prose or ASCII that wants to be a diagram: status/state lifecycles, architecture (services, hosting, data flow), sequences. These become inline SVG — never reproduce ASCII art.
- RFC keywords (MUST / SHALL / SHOULD / MAY) — these are load-bearing; chip them.
- Cross-references (
→ See file.md §N) — keep them as explicit pointers back to the canonical Markdown.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 93 lines · 43 tokens per session scan A f7b5dee2f440
prd-view is a skill published in the GitHub repository joshukraine/dotfiles (422 stars, last pushed 23d ago), licensed MIT. It adds 43 tokens to every session and 1,786 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-30.
Other skills, from other repositories
playwriter
Control the user own Chrome browser via Playwriter extension with Playwright code snippets in a stateful local js sandbox via playwriter cli. Use this over other Playwright MCPs to automate the browser — it connects to the user's existing Chrome instead of launching a new one. Use this for JS-heavy websites…
chrome-cdp
Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome). Requires Node.js 22+ and a local Chromium-family browser with remote debugging enabled — check node --version before relying on this skill.
cmux-browser
End-user browser automation with cmux. Use when you need to open sites, interact with pages, wait for state changes, and extract data from cmux browser surfaces. Requires the macOS cmux app — skip on hosts without a reachable cmux socket.
cmux-rebuild
Manage the user's durable dev sessions — zellij sessions on remote hosts (bonbon, taffy) reached over mosh, plus the local host's (trifle) own detached zellij sessions, surfaced as cmux tabs via ssh::durable / zellij::resume. Load when the user wants to rebuild/resurrect lost cmux durable surfaces after a cmux restart…
ml-paper-writing
Write publication-ready ML/AI papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. Includes LaTeX templates, reviewer guidelines, and citation verification workflows.
cmux-fork-session
Fork the current agent session — Claude Code or pi — into a new cmux split pane (or tab): opens a split beside the caller, relaunches this session forked (claude --fork-session / pi --fork), titles it 'fork: ', and keeps that title. Use when the user asks to fork/duplicate/branch the current session into a new split…