prd-writing
Write lightweight agile PRDs and technical RFCs that align stakeholders before implementation. Triggers: PRD, product requirements, RFC, request for comments, technical design doc, design document, tech spec, write requirements, what are we building, spec this out. Produces the WHAT and WHY — feature-planning handles HOW.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 1
- Forks
- 1
01 前言 Front Matter
- name
- prd-writing
- description
- Write lightweight agile PRDs and technical RFCs that align stakeholders before implementation. Triggers: PRD, product requirements, RFC, request for comments, technical design doc, design document, tech spec, write requirements, what are we building, spec this out. Produces the WHAT and WHY — feature-planning handles HOW.
02 资源文件 4
- 参考文档evals/evals.json3.0 KB
- 参考文档references/prd-examples.md5.6 KB
- 参考文档templates/prd.md1.7 KB
- 参考文档templates/rfc.md1.7 KB
03 SKILL.md 正文
PRD & RFC Writing
Write lightweight requirements and design documents that align stakeholders without drowning in waterfall-style documentation. In agile, these documents are living artifacts — concise enough to write quickly, clear enough to prevent misalignment.
Two Document Types
Agile PRD (Product Requirements Document)
Audience: Product, design, engineering, stakeholders Purpose: Define WHAT to build and WHY, from the user's perspective When: Before starting a significant feature or epic (more than a sprint of work)
Technical RFC (Request for Comments)
Audience: Engineering team, tech leads, architects Purpose: Propose HOW to build something technically, gather feedback before committing When: Before implementing non-trivial technical work (new service, data migration, architecture change)
Many features need both: a PRD from the product side and an RFC from the engineering side. Some only need one.
Workflow: Agile PRD
Step 1: Start with the Problem
Every PRD begins with a crystal-clear problem statement:
- What user pain or business need does this address?
- Who specifically has this problem? (Define the persona)
- How big is this problem? (Frequency, severity, number of users affected)
- What do users do today to work around it?
If you can't articulate the problem, you're not ready to write requirements.
Step 2: Define Goals and Non-Goals
Goals: What this project will achieve (tied to metrics when possible) Non-goals: What this project explicitly will NOT do (prevents scope creep)
Non-goals are just as important as goals. They're the guardrails that keep the project focused.
Step 3: Write User Stories
Express requirements as user stories:
As a [user persona],
I want to [action/capability],
so that [benefit/outcome].
Group stories by priority using MoSCoW:
- Must have: Project fails without these
- Should have: Important but not launch-blocking
- Could have: Nice to have if time allows
- Won't have (this time): Explicitly deferred
Step 4: Define Acceptance Criteria and Constraints
For each must-have story, define acceptance criteria (use feature-planning's Given/When/Then format).
Document constraints: performance requirements, accessibility requirements, platform support, backwards compatibility, regulatory compliance.
Step 5: Include Design Context
If mockups, wireframes, or user flows exist, link them. If not, describe the intended user experience in enough detail that a designer can start.
Step 6: Produce the PRD
Use the template at templates/prd.md. Keep it under 3 pages. Link to detailed resources rather than embedding everything.
Workflow: Technical RFC
Step 1: State the Problem and Context
Same discipline as the PRD — start with why, not what. Include:
- What triggered this RFC (feature requirement, scaling issue, tech debt)
- Current state of the system
- Constraints (timeline, backward compatibility, team expertise)
Step 2: Propose the Solution
Describe the technical approach clearly. Include:
- High-level architecture or design
- Key components and their interactions
- Data model changes (link to
data-modelingif needed) - API changes (link to
api-designif needed)
Step 3: Present Alternatives
List 2-3 alternatives considered with tradeoffs. This proves you've thought beyond the first idea.
Step 4: Identify Open Questions
List questions that need answering during or after the review process. This invites targeted feedback.
Step 5: Produce the RFC
Use the template at templates/rfc.md. Circulate for review with a clear deadline.
Principles Applied
- Agile over waterfall: These documents are living drafts, not contracts. Update as understanding evolves.
- KISS: If it takes more than an afternoon to write, the scope is too large — split it.
- Working software over comprehensive documentation: Write just enough to align. The code is the real spec.
04 同仓库更多 Skills
writing-skills
Use when authoring, editing, or reviewing a skill in this library — a new SKILL.md, one that under-triggers, or hardening an existing one. Covers description and listing-budget rules, frontmatter, progressive disclosure, the 3-eval rule, and pressure-testing against rationalizations.
working-agreement
Define and validate how a multi-session project is run — where plans, status and decisions live, session routines, new work, milestone close. README/CONTRIBUTING → project-documentation.
verification-before-completion
Evidence gate before any claim that work is done, fixed, passing, or deployed. Route here when a message declares the work finished or asks to commit, push, merge, ship, or close it out, including a brief sign-off, and before git-workflow or release-management act on it. Writing the commit message or PR text itself → git-workflow.
ui-ux-design
Design user experiences from an engineer's perspective — user flows, wireframes, interaction patterns, responsive strategy, navigation, loading/error/empty states. Triggers: design the UI, user flow, wireframe, how should this screen look, loading state, error state, empty state, responsive design, navigation, page layout, form design, mockup.
threat-modeling
Design-time security analysis of a system or feature before it's built — trust boundaries, attack surface, STRIDE per element, abuse cases, prioritized mitigations that become security requirements. Triggers: threat model, STRIDE, trust boundary, attack surface, what could go wrong security-wise, security design review, abuse case, secure this design, security requirements. Reviewing EXISTING code/config for vulnerabilities → security-audit; use this skill while the design is still on the whiteboard.
test-suite-design
Design comprehensive test suites for existing code — strategy across unit/integration/e2e, fixtures, factories, helpers. Triggers: add tests, write tests for, increase coverage, test this module, testing strategy, test plan, what tests do I need, test infrastructure, test helpers, this has no tests. Not for TDD — use tdd-workflow.