ork-assess
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a…
Product Requirements Documents: 8-section template, user stories, acceptance criteria, go/no-go. Use when writing a PRD or user stories.
Claude Code
$ npx -y skills add yonatangross/orchestkit --skill write-prd --agent claude-code
Codex
$ npx skills add yonatangross/orchestkit --skill write-prd -a codex -y
Cursor
$ npx skills add yonatangross/orchestkit --skill write-prd -a cursor -y
Gemini CLI
$ npx skills add yonatangross/orchestkit --skill write-prd -a gemini-cli -y
GitHub Copilot
$ npx skills add yonatangross/orchestkit --skill write-prd -a github-copilot -y
OpenCode
$ npx skills add yonatangross/orchestkit --skill write-prd -a opencode -y
Windsurf
$ npx skills add yonatangross/orchestkit --skill write-prd -a windsurf -y
name: write-prd
license: MIT
compatibility: "Claude Code 2.1.277+."
description: "Product Requirements Documents: 8-section template, user stories, acceptance criteria, go/no-go. Use when writing a PRD or user stories."
context: fork
# user-typed commands stay interactive; CC >= 2.1.218 backgrounds forks by default (#3093)
background: false
agent: product-strategist
user-invocable: true
argument-hint: "product name or feature"
disable-model-invocation: false
metadata:
category: document-asset-creation
version: "2.0.1"
author: "OrchestKit"
complexity: "medium"
tags: "prd, requirements, user-story, acceptance-criteria, invest, value-proposition, go-no-go"
allowed-tools: "Read Write Edit Glob Grep Bash WebFetch WebSearch AskUserQuestion TaskCreate TaskUpdate Agent mcp__memory__search_nodes mcp__memory__create_entities mcp__memory__add_observations mcp__memory__create_relations"
triggers:
keywords: [prd, "product requirements", "requirements document", "requirements for", "define the requirements", "user stories", "acceptance criteria", "product spec", "formal spec"]
examples:
- "write a PRD for the SSO invite flow"
- "create a product requirements document for billing"
- "i need user stories and acceptance criteria for the dashboard"
anti-triggers: [implement, build, brainstorm, explore, review]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`)
PRODUCT = "$ARGUMENTS" # Product name or feature, e.g., "SSO invite flow"
AskUserQuestion(
questions=[{
"question": "What type of PRD?",
"header": "PRD Scope",
"options": [
{"label": "Full PRD (Recommended)", "description": "All 8 sections with research, stories, and release plan"},
{"label": "Lightweight spec", "description": "Summary, objectives, user stories only"},
{"label": "User stories only", "description": "INVEST stories with acceptance criteria"},
{"label": "Update existing PRD", "description": "I have a PRD file to iterate on"}
],
"multiSelect": false
}]
)# 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: ..."]
}])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:
Write(f"PRD-{product_slug}.md", prd_content)
TaskUpdate(status="completed")> **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")` → `pl
The Complete AI Development Toolkit for Claude Code. 115 skills, 36 agents, 163 hooks. Install `ork` for stable (v10.x).
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a…
Compare plausible implementation, architecture, product, or operational approaches before committing to one. Use when a request…
Map an unfamiliar codebase, feature, architecture, data flow, or operational path with file-backed evidence. Use when a request…
Render an answer inline as compact ASCII or box-drawing art with semantic status icons. Use for status, inventories, budgets,…
Make an approved, scoped change and prove the affected behavior. Use when a request asks to implement, build, add, or land a…
Review a pull request or branch for correctness, regressions, security, operational risk, and missing evidence. Use when a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.