npx skills add ...
npx skills add yonatangross/orchestkit --skill write-prd
Write PRD — Product Requirements Documents with structured 8-section templates, user stories, acceptance criteria, and value proposition validation. Use when writing PRDs, defining product requirements, creating user stories with INVEST criteria, or building go/no-go decision frameworks.
npx skills add yonatangross/orchestkit --skill write-prd
Translate product vision and research into clear, actionable engineering specifications. Produces PRD-[product-name].md output files following an 8-section structure.
Output file naming: PRD-[product-name].md (e.g., PRD-sso-invite-flow.md)
Load Read("references/prd-template.md") for the full template with all 8 sections (Summary, Contacts, Background, Objective, Market Segments, Value Propositions, Solution, Release), priority levels, and NFR categories.
Load Read("references/user-stories-guide.md") for INVEST criteria, story format, Gherkin acceptance criteria, and Definition of Ready/Done.
Load Read("references/value-prop-canvas-guide.md") for the canvas template and fit check process. Every Value Map item must correspond to a Job, Pain, or Gain.
Load from rules: Read("rules/strategy-go-no-go.md") for stage gate criteria and scoring thresholds (Go >= 7.0 | Conditional 5.0-6.9 | No-Go < 5.0).
After generating the PRD, write it to disk:
Plan-mode filenames (CC 2.1.111+): If this skill enters plan mode (via
EnterPlanMode) before writing the PRD, CC 2.1.111 names the resulting plan file after the prompt stem rather than random words. To get a clean filename, include the product slug in the plan-mode prompt (e.g.EnterPlanMode("PRD: authentication-rework")→plans/prd-authentication-rework.md). Before 2.1.111, plan filenames wereplans/swift-cobra.mdetc. — review and rename as needed.
After PRD is approved, decompose its acceptance criteria into a runnable goal, then implement:
prd-to-goal reduces the Go/No-Go gate + acceptance criteria below into a single AND-joined boolean assertion, so the PRD drives an autonomous /goal run rather than a manual read-through.
ork:user-research — Build user understanding (personas, journey maps, interviews) before writing the PRDork:prd-to-goal — Reduce this PRD's acceptance criteria to a single /goal until …, or stop after N turns lineork:implement — Execute the implementation plan from the PRDork:brainstorm — Explore solution alternatives before committing to PRD scopeork:assess — Rate PRD quality and completenessVersion: 2.0.0
# 1. Create main task IMMEDIATELY
TaskCreate(subject="Write PRD: {PRODUCT}", description="8-section PRD with user stories and acceptance criteria", activeForm="Writing PRD for {PRODUCT}")
# 2. Create subtasks for each phase
TaskCreate(subject="Scope clarification", activeForm="Clarifying PRD scope") # id=2
TaskCreate(subject="Research and memory check", activeForm="Researching prior PRDs") # id=3
TaskCreate(subject="Draft 8-section PRD", activeForm="Drafting PRD sections") # id=4
TaskCreate(subject="Write user stories and acceptance criteria", activeForm="Writing user stories") # id=5
TaskCreate(subject="Write output file", activeForm="Writing PRD file") # id=6
# 3. Set dependencies for sequential phases
TaskUpdate(taskId="3", addBlockedBy=["2"]) # Research needs scope first
TaskUpdate(taskId="4", addBlockedBy=["3"]) # Drafting needs research context
TaskUpdate(taskId="5", addBlockedBy=["4"]) # Stories need draft structure
TaskUpdate(taskId="6", addBlockedBy=["5"]) # Output needs all sections done
# 4. Update status as you progress
TaskUpdate(taskId="2", status="in_progress") # When starting
TaskUpdate(taskId="2", status="completed") # When done — repeat for each subtask# Search for prior PRDs and product decisions
mcp__memory__search_nodes(query="{PRODUCT} PRD requirements")
# After PRD is written, store key decisions
mcp__memory__create_entities(entities=[{
"name": "PRD-{product-slug}",
"entityType": "document",
"observations": ["PRD written for {PRODUCT}", "Key objectives: ..."]
}])Write(f"PRD-{product_slug}.md", prd_content)
TaskUpdate(status="completed")prd-to-goal PRD-{product-slug}.md # → one copy-pasteable `/goal until …, or stop after N turns` line
implement PRD-{product-slug}.md