mcpField
B
build-prd

build-prd

github.com/fellowship-devDevelopment3139 installsUpdated 2w ago
Repository

About build-prd

A collaborative skill for turning feature ideas or incomplete requests into implementation-ready product requirements. It gathers missing details, drafts a PRD for review, and updates a GitHub issue only after approval.

Key features

  1. 01Collects requirements and gaps
  2. 02Batches clarification questions
  3. 03Drafts structured PRDs
  4. 04Requires approval before issue updates
  5. 05Updates GitHub issue labels and content

Use cases

  1. 01Turning a vague idea into a feature specification
  2. 02Preparing requirements from a feature-request issue
  3. 03Reviewing a PRD before implementation

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fellowship-dev/dogfooded-skills --skill build-prd

After installing, type/build-prdin Claude Code to confirm it loaded.

Details

From the project README

build-prd

Create a Product Requirements Document through collaborative discussion with the user, ending with a complete GitHub issue ready for implementation.

When to Use

  • User asks to "create a PRD" or "write requirements"
  • Working from a GitHub issue labeled feature-request or enhancement
  • User needs to document requirements before implementation
  • Transforming a vague idea into a structured, implementable spec

When NOT to Use

  • Issue already has a complete PRD (check for [PRD] prefix in title)
  • Pure bug reports — those need reproduction steps, not requirements
  • Implementation is already underway — write a spec retroactively instead

Prerequisites

gh auth status        # GitHub CLI authenticated
gh repo view          # Inside a valid repo (or org/repo provided)

Workflow

Step 1: Understand the request

If triggered from a GitHub issue:

gh issue view ISSUE_NUMBER --repo ORG/REPO

Read project context:

cat project-instructions.md  # or equivalent project instructions file
cat README.md

Articulate the core request in 1-2 sentences. If you can't, ask the user to clarify before continuing.

Step 2: Identify gaps

Check the request against required PRD sections:

SectionRequired?Source
Problem StatementYesWhy does this matter?
User StoriesYesWho needs it and why?
Success MetricsYesHow do we measure success?
Scope (in + out)YesWhat's included and excluded?
Technical ConstraintsYesLimitations, integrations, patterns?
Mockups/ExamplesNoVisual references if available
DependenciesNoRelated features or systems
TimelineNoPriority or deadline

Build a list of questions for anything missing.

Step 3: Ask all questions in one batch
To create a complete PRD, I need some additional information:

Q1: [specific question]
Q2: [specific question]
Q3: [specific question]
Q4 (Optional): [nice-to-have question]

Warning: Ask ALL questions at once. Do not drip-feed one question at a time — that wastes the user's time and breaks flow.

If working from a GitHub issue, add the question label:

gh issue edit ISSUE_NUMBER --repo ORG/REPO --add-label "question"

Wait for user responses before proceeding.

Step 4: Draft the PRD

Use this template — replace ALL placeholders with actual content:

# [Feature Name]

## Problem Statement
[2-3 sentences: what user problem this solves and why it matters now]

## User Stories
- As a [user type], I want [goal] so that [benefit]
- As a [user type], I want [goal] so that [benefit]

## Success Metrics
- [Metric]: [specific target or measurement approach]
- [Metric]: [specific target or measurement approach]

## Scope

### In Scope
- [Concrete feature or deliverable]
- [Concrete feature or deliverable]

### Out of Scope
- [Explicitly excluded item — prevents scope creep]
- [Explicitly excluded item]

## Technical Requirements
- [Requirement referencing existing codebase patterns]
- [Constraint or integration point]

## Dependencies
- [Related system or feature, if any]

## Open Questions
- [Anything unresolved — do not guess]

## Implementation Notes
[Architectural decisions, patterns to follow, files to reference]
Step 5: Review with user

Present the full PRD draft. Highlight assumptions:

I've drafted a PRD based on our discussion. Please review:

[FULL PRD]

Assumptions I made:
- [Assumption 1]
- [Assumption 2]

Does this capture everything? Anything to change?

Warning: NEVER proceed to Step 6 without explicit user approval. "Looks good" or "yes" counts. Silence does not.

Step 6: Update the GitHub issue

Only after user approval:

gh issue edit ISSUE_NUMBER --repo ORG/REPO \
  --body "$(cat /tmp/prd-draft.md)" \
  --title "[PRD] Feature Name" \
  --add-label "ready-to-work"

gh issue edit ISSUE_NUMBER --repo ORG/REPO --remove-label "question" 2>/dev/null || true
LabelAction
ready-to-workAdd — signals PRD is complete
questionRemove if present
feature-request, enhancementKeep — preserve original labels
Step 7: Confirm
gh issue comment ISSUE_NUMBER --repo ORG/REPO \
  --body "PRD created. Issue updated with complete requirements. Ready for implementation planning."

Error Handling

User unsure about scope — propose MVP: include only what's essential for core value, move everything else to "Out of Scope (future)".

Scope too broad — suggest splitting into multiple PRDs, each focused on one capability. Start with the foundational one.

User provides implementation details instead of requirements — redirect: "Before implementation, let's clarify: what problem does this solve? What should users be able to do that they can't now?"

Missing success metrics — suggest based on feature type:

Feature TypeSuggested Metrics
User-facingAdoption rate, usage frequency, satisfaction
PerformanceLatency reduction, error rate decrease
Developer toolTime saved, code quality improvement
InfrastructureUptime, cost reduction, incident frequency

Critical Rules

  • Never update a GitHub issue without explicit user approval — the PRD is a contract
  • Never make up technical details — mark unknowns as Open Questions
  • Batch all questions — one message, numbered Q1-Qn
  • No placeholder text in final PRD — every bracket must be replaced
  • Preserve original labels — only add ready-to-work, never remove feature-request or enhancement

Comments

Markdown supported