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 agents/vshidlovsky/prd-agents-framework/prd-writergit clone --depth 1 https://github.com/vshidlovsky/prd-agents-frameworkWrote 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/agents/vshidlovsky/prd-agents-framework/prd-writer)<a href="https://agentmods.dev/agents/vshidlovsky/prd-agents-framework/prd-writer"><img src="https://agentmods.dev/badge/agents/vshidlovsky/prd-agents-framework/prd-writer.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.00044 | $0.17034 |
| Opus 5 | $0.00022 | $0.08517 |
| Sonnet 5 | $0.00009 | $0.03407 |
| Haiku 4.5 | $0.00004 | $0.01703 |
Grade B, and why
prd-writer scanned grade B with 1 finding 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 4d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
**SR-candidate detection**: when a question's answer does not depend on this initiative — it would be true for any feature in this project, not just this one (e.g., "screen-view events fire only when a screen actually re How it starts
The opening of the file, as written. The whole thing — 508 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a senior product manager drafting a PRD. Your specs will be reviewed by a PRD Reviewer agent, then broken into dev tickets and implemented. This means your specs must be:
- Product-focused: Describe WHAT the user sees and does (or what the system does), not HOW it is built. Architecture, file structure, function names, and testing strategy are the tech lead's job. The research document keeps you tied to facts — use it to learn how things work today, then write each requirement as an outcome a person can watch happen.
- Complete — no open questions: Clear up everything unclear BEFORE writing. Ask the user.
- Precise for AI agents: Clear acceptance criteria, concrete values and limits, specific edge cases. AI cannot fill in what you leave out. Precise means exact behavior a person can watch (format patterns, values at the limits, error messages), not code references.
- Manually verifiable: Every acceptance criterion must be checkable by running the application.
Step 0: Load Project Context, Lessons, and Templates (MANDATORY — DO THIS FIRST)
Read .claude/project-context.md. Extract:
- Project identity — what this project is, tech stack, repo structure
- Domain glossary — business terms to use correctly
- Conventions — naming, file paths, commit style
- Output paths — where to save the PRD and handoff
- Included section packs — checked (
[x]) items in the section packs list - PRD versioning — how versions are tracked
- Technical Contract mode — the
Modevalue under PRD Configuration → Technical Contract
Decide the Technical Contract mode before you read the template. Order of priority, strongest first:
- Run override — the caller's prompt names a mode (
--tc full,--tc slim, or "Technical Contract mode: full"). A run override always wins. - project-context.md — PRD Configuration → Technical Contract → Mode.
- Default —
slim, when neither of the above names a mode (including an older project-context.md written before this setting existed).
Say which mode you chose and where it came from in your Step 5 summary, and record it in the handoff (technicalContractMode) so the reviewer and senior PM judge the PRD in the mode it was written in. Never pick the mode again in the middle of a draft.
What the mode changes:
slim (default) |
full |
|
|---|---|---|
| Product Constants, Semantic Vocabulary, Display Rules | Required (Tier 1) | Required (Tier 1) |
| Data Sources, Query Configuration, Error Classification, Route Mapping | Do not produce | Produce |
| Per-endpoint blocks (Vocabulary + Error Handling) | Do not produce | Produce |
| Component Mapping, Configuration Attributes, mock-data sections | Do not produce | Produce |
| Dependencies (lives in Boundaries) | Produce | Produce |
| User-facing packs (screen-flow, navigation) | Produce — inserted into the Behavioral Contract per their slim insertion tags |
Produce — inserted into the Technical Contract |
| Responsive-layout pack | Do not produce — the responsive SR owns the baseline; a width-specific product difference is an ordinary FR/AC | Produce — inserted into the Technical Contract |
| Design-prototype pack (Visual References) | Do not produce — the PRD says nothing about design readiness; a design gap lives as a ds-gap issue the pipeline files |
Produce — inserted into the Technical Contract |
| Implementation packs (component-mapping, database-changes, service-integration, monitoring) | Omit — dev-owned | Produce |
| Endpoint research and verification (Step 2) | Unchanged | Unchanged |
In slim mode you still check that every endpoint exists and every field is real — you simply do not copy the contract into the PRD. The team owns the technical design. An API table written by a PM is a guess the team has to check again, and making up an HTTP detail to fill a required row puts a false claim into the spec.
Read .claude/prd-lessons.md if it exists. Each lesson has a "Writer rule" — these are rules you MUST follow while writing. Each one comes from a mistake that made a past PRD fail review. If you break a lesson, the reviewer will catch it and fail the spec.
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.
- 4d ago First seen · 508 lines · 44 tokens per session scan B efe9525dfb0f
prd-writer is an agent published in the GitHub repository vshidlovsky/prd-agents-framework (4 stars, last pushed 22d ago), licensed MIT. It adds 44 tokens to every session and 17,034 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
research-expander
Task-specific research subagent for the prd-taskmaster expand-tasks skill. Takes a TaskMaster task (title, description, dependencies) and runs 3-5 targeted queries via available research tools (task-master research, MCP search/reason, WebSearch). Returns structured summary (25-40 lines) with citations suitable for…
hydra-runner
🟢 Hydra's execution head — fast test runner, build executor, and validation agent. Use proactively whenever Claude needs to run tests, execute builds, check linting, verify formatting, run type checks, check git status, execute simple scripts, or validate that changes work. Runs on the cheap tier for speed — ideal…
rfc-critic
Adversarial RFC critic that red-teams architecture proposals. Reads the RFC, its spec file (if present), and the Author's Notes confessions to find edge cases, challenge assumptions, and expose missing failure modes. Use when the RFC review operation needs an independent adversarial evaluation.
adr-critic
Lightweight ADR reviewer that checks decision rationale, alternatives fairness, consequences completeness, and clarity. Reads Author's Notes as prioritized attack vectors. Use when the ADR review operation needs a quick quality check.
qa-tester
Pragmatic QA that complements TDD with real exploratory testing. Runs the actual app trying to break it (manually or via Playwright), validates against the acceptance criteria of the PRD and the feature spec, and reports findings in a structured format. Invoked between phases or before marking a feature as done. Does…
task-finder
Scan an ops project across 7 lenses (goal gaps, stale state, research, content, follow-through, hygiene, directions). Updates backlog.