Ships with octo. Installing the plugin gets this command.
⚡ How it fires
How this command gets triggered: by you, by Claude, or both.
Fires itselfClaude auto-loads it when your prompt matches the work.
You can call itInvoke it directly when you want it.
Slash command/prd
👁️ Context preview
What this command does when you run it.
The feature or system to write a PRD for
📊 Stats
Stars3,869
Forks362
LanguageShell
LicenseMIT
📦 Ships with octo
</> Command definition
prd.md
---command: prd
description: Write an AI-optimized PRD using multi-AI orchestration and 100-point scoring framework
arguments:
- name: feature
description: The feature or system to write a PRD for
required: true
---### MANDATORY COMPLIANCE — DO NOT SKIP
**When the user explicitly invokes `/octo:prd`, you MUST follow the orchestrated PRD workflow below.** You are PROHIBITED from writing the PRD directly without the required clarification, research, scoring, and `orchestrate.sh` steps.
### EXECUTION MECHANISM — NON-NEGOTIABLE
**You MUST execute this command by calling `orchestrate.sh` as documented below. You are PROHIBITED from:**
- ❌ Doing the work yourself using only Claude-native tools (Agent, Read, Grep, Write)
- ❌ Using a single Claude subagent instead of multi-provider dispatch via orchestrate.sh
- ❌ Skipping orchestrate.sh because "I can do this faster directly"
**Multi-LLM orchestration is the purpose of this command.** If you execute using only Claude, you've violated the command's contract.
## STOP - DO NOT INVOKE /skill OR Skill() AGAIN
This command is already executing. The feature to document is: **$ARGUMENTS.feature**
---## PHASE 0: CLARIFICATION (MANDATORY - DO THIS FIRST)
Before writing ANY PRD content, ask the user:
**After drafting the PRD but BEFORE self-scoring, dispatch the draft to a second provider for adversarial review.** A single-model PRD has blind spots — cross-provider challenge surfaces wrong assumptions, uncovered scenarios, and contradictory requirements.
**If an external provider is available, dispatch through Octopus routing:**
"You are a skeptical product reviewer. Challenge this PRD:
1. What ASSUMPTIONS are wrong or untested? (e.g., assumed user behavior, market conditions, technical feasibility)
2. What USER SCENARIOS are missing? (edge cases, error states, migration paths, day-2 operations)
3. What REQUIREMENTS CONTRADICT each other? (e.g., 'real-time' + 'offline-first', 'simple' + 'enterprise-grade')
4. What will the FIRST user complaint be?
5. What is the biggest RISK this PRD ignores?
PRD DRAFT:
<paste PRD content>"
fi
```
**If no external provider is available**, launch Sonnet:
```
Agent(
model: "sonnet",
description: "Adversarial PRD review",
prompt: "Challenge this PRD. What assumptions are wrong? What scenarios are missing? What requirements contradict? What will the first user complaint be?
PRD DRAFT:
<PRD content>"
)
```
**After receiving the challenge:**
- Revise the PRD to address valid challenges (add missing scenarios, resolve contradictions, note assumptions)
- Dismiss irrelevant challenges but note them in the Risks section if they have partial merit
- Add to the PRD footer: `Adversarial review: applied (provider: <provider>)`
**Skip with `--fast` or when user explicitly requests speed over thoroughness.**