write-prd

A product-requirements command that turns a Product Brief or other approved product input into a clarified Product Requirements Document (PRD). A PRD describes what a product should do and why.

In plain words
What is it for?
Use it to clarify an existing PRD, create one from a Product Brief, or combine approved product context into a single requirements document.
Why use it?
It resolves ambiguity at the product level before the work is split into features, architecture, and implementation tasks.

Command

Install

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.

agentmods
npx agentmods add commands/nicelight/devrails-26/write-prd
Clone the repo
git clone --depth 1 https://github.com/nicelight/DevRails-26
Per session 15 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,347 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00015 $0.01347
Opus 5 $0.00008 $0.00674
Sonnet 5 $0.00003 $0.00269
Haiku 4.5 $0.00002 $0.00135

Measured 2d ago against content hash 6a0df441e424, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

write-prd 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.

skills/_shared/references/commands/write-prd.md · 151 lines

How it starts

The opening of the file, as written. The whole thing — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/write-prd - Product input -> clarified PRD

This command resolves product-level ambiguity. It does not decompose the PRD into epics/features or perform architecture/task design.

<input_contract> Require at least one current PRD source:

  • .memory-bank/analysis/product-brief.md;
  • explicit operator-provided PRD text/file;
  • existing prd.md or .memory-bank/prd.md being clarified.

Read .memory-bank/constitution.md. Read only relevant optional context from brainstorming, product/requirements, glossary/invariants, spec-backbone, spec-index, canonical contracts/states/runbooks/testing docs, and $ARGUMENTS.

Before writing, record whether prd.md or .memory-bank/prd.md already exists; this selects the handoff route.

If no PRD source exists, stop and request /brief or explicit source text. If the Constitution is missing, ask for /constitution or explicit permission to continue without ratified project principles. </input_contract>

<creator_vibe_contract> Before interpreting PRD sources or interviewing the operator, load and follow the installed creator-vibe skill. Apply it while reading the Product Brief, idea/PRD text, relevant brainstorming context, and operator answers so the PRD preserves the product's intended human experience and distinctive center while making behavior and acceptance explicit.

Creator-vibe is an interpretation lens, not product authority. Constitution, authoritative sources, and explicit accepted decisions still govern; inferred intent cannot fill a material ambiguity, create a requirement, or choose a branch for the operator. </creator_vibe_contract>

<hard_invariants>

  • Constitution and explicit accepted operator decisions outrank lower-level product evidence.
  • Do not weaken, reinterpret, or silently override the Constitution.
  • Ground every material PRD claim in source evidence or an accepted answer.
  • Do not create product decomposition, feature/task records, implementation plans, or SDD design specs.
  • A recommendation/default is not an operator decision; silence is not consent. </hard_invariants>

<operator_decisions> Inspect the PRD for material ambiguity across these coverage areas, in any order:

  • functional scope and behavior;
  • users/actors and UX flows;
  • domain/data model;
  • non-functional qualities;
  • integrations and external dependencies;
  • edge cases/failure handling;
  • constraints/tradeoffs and terminology;
  • acceptance criteria, verification, and completion signals;
  • unresolved markers such as NEEDS CLARIFICATION, TBD, TODO, or ???.

Treat a non-functional quality as material when its failure would itself block product/feature acceptance or realize a significant accepted risk. Its product basis must identify the observable quality, an accepted numeric target or qualitative success criterion, conditions that can change pass/fail, and a verification-method class. A human/expert review is valid when it names the observable qualitative criterion and reviewer type; detailed rubric/evidence design belongs downstream only when non-trivial.

Never invent or silently interpret a material target or pass/fail parameter. If authoritative sources and accepted operator decisions do not settle one, keep the existing clarification blocker and resume through /write-prd.

Ask the operator whenever a real ambiguity or branch could affect product behavior, scope, architecture, data, decomposition, testing, operations, security/compliance, or acceptance. Adapt the interview to the evidence: ask one question or a small group of tightly related questions, use multiple choice or open form, explain impact, and optionally recommend an option. Do not impose a question quota, fixed questionnaire, or short-answer word limit. Do not ask decorative questions for already-authoritative evidence.

In unattended use, apply only previously accepted authoritative decisions. If one is missing, record the question and affected PRD sections and stop with HALT_BLOCKING_QUESTIONS or HALT_CLARIFICATION_REQUIRED. </operator_decisions>

Read the full file on GitHub · 151 lines

Changes

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.

  1. 2d ago First seen · 151 lines · 15 tokens per session scan A 6a0df441e424

Subscribe to this mod's changes

write-prd is a command published in the GitHub repository nicelight/DevRails-26 (22 stars, last pushed 4d ago), licensed MIT. It adds 15 tokens to every session and 1,347 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-30.