agentleFS
SWEStashSWEStash/swe-workflow-skills/skills/prd-writing/SKILL.md

prd-writing

Skill1 starsChanged 5 days agoMITView on GitHub

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.

16 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use feedback-synthesis, onboarding-flow and 1 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Dragoon0xSkill

    feedback-synthesis

    Turn raw customer feedback from multiple sources into clear product insights and priorities. Covers feedback collection, pattern recognition, and separating signal from noise. Use when feedback feels overwhelming, contradictory, or when the team can't agree on what users actually want.

    Also in 3 projects that use this

  • Dragoon0xSkill

    onboarding-flow

    Design first-run experiences that create the aha moment fast. Reduces time-to-value by sequencing actions, progressive disclosure, and contextual guidance. Use when building signup flows, product tours, or empty states.

    Also in 3 projects that use this

  • +1 more from Dragoon0x

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 11 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write lightweight requirements and design documents that align stakeholders without drowning in waterfall-style documentation.

    line 8
  2. Distinctive:

    When: Before starting a significant feature or epic (more than a sprint of work)

    line 15
  3. Distinctive:

    When: Before implementing non-trivial technical work (new service, data migration, architecture change)

    line 20
  4. Distinctive:

    Every PRD begins with a crystal-clear problem statement:

    line 28
  5. Distinctive:

    If you can't articulate the problem, you're not ready to write requirements.

    line 35
  6. Distinctive:

    Document constraints: performance requirements, accessibility requirements, platform support, backwards compatibility, regulatory …

    line 64
  7. Distinctive:

    If mockups, wireframes, or user flows exist, link them.

    line 68
  8. Distinctive:

    Use the template at templates/prd.md.

    line 72
  9. Distinctive:

    Use the template at templates/rfc.md.

    line 101
  10. Distinctive:

    KISS: If it takes more than an afternoon to write, the scope is too large — split it.

    line 106
  11. Distinctive:

    Working software over comprehensive documentation: Write just enough to align.

    line 107

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
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-modeling if needed)
  • API changes (link to api-design if 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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.