Structured PRD generation with interview, research, and approval workflow. Triggers on: '/ralph-plan
Structured PRD generation. Interview, research, plan, approve.
Ralph Plan creates comprehensive Product Requirements Documents through a deliberate process:
The result is a battle-tested plan ready for implementation by any method the user chooses.
| Category | Trigger Phrases |
|---|---|
| Start planning | /ralph-plan <topic>, create prd, generate prd, plan this |
| Check status | ralph-plan status |
| Resume | resume ralph-plan |
Create a structured plan through interview and research.
Create draft at .claude/plans/drafts/{topic-slug}.md with template:
# Planning Draft: {topic}
## Status
Phase: Interview
Started: {timestamp}
## Requirements
- [to be captured from interview]
## Decisions
- [choices made during interview]
## Research Findings
- [results from Explore/librarian]
## Open Questions
- [unanswered items]
Conduct focused interview (3-5 questions based on complexity):
Core Questions:
Follow-up Questions (as needed):
Update draft after each answer.
Research the codebase before finalizing:
Agent: Explore
Task: Find relevant files for {topic}
Expected: List of files that will be affected
Agent: oh-my-claude:librarian
Task: Read and summarize key files
Expected: Summary of current implementation patterns
Add findings to draft under "## Research Findings".
Transform draft into structured plan with these sections:
# Plan: {topic}
## Context
[Why this plan exists, what problem it solves]
## Objectives
### Must Have
- [required outcomes]
### Must NOT
- [explicit exclusions and constraints]
## Implementation Steps
1. [Step with specific file references]
2. [Step with specific file references]
3. ...
## Files to Modify
| File | Changes |
|------|---------|
| `path/to/file.ts` | [what changes] |
## Acceptance Criteria
- [ ] [Testable criterion]
- [ ] [Testable criterion]
- [ ] [Testable criterion]
User must review and approve the plan before finalization.
AskUserQuestion tool for approval:{
"questions": [{
"question": "How would you like to proceed with this PRD?",
"header": "PRD Status",
"options": [
{"label": "Approve", "description": "Finalize and save the PRD"},
{"label": "Request Changes", "description": "Modify specific sections"},
{"label": "Cancel", "description": "Abort and keep draft"}
],
"multiSelect": false
}]
}
CRITICAL: You MUST use the AskUserQuestion tool for approval. Do NOT output text prompts asking the user to "reply with" something.
| User Response | Action |
|---|---|
| "Approve" | Finalize PRD (move to final location) |
| "Request Changes" | Ask what to change, update plan, re-present with AskUserQuestion |
| "Cancel" | Keep draft, do not finalize |
| "Other" (custom text) | Interpret and act accordingly, then re-prompt if needed |
Do NOT interpret ambiguous responses as approval. If unclear, re-prompt with AskUserQuestion.
Move plan from draft to final location:
.claude/plans/drafts/{topic-slug}.md --> .claude/plans/{topic-slug}.md
Delete the draft file
Report completion:
PRD finalized at .claude/plans/{topic-slug}.md
Next steps:
- Review the plan at your convenience
- Implement manually, or use your preferred automation
- Reference the acceptance criteria to track progress
When user says ralph-plan status:
Ralph Plan Status
=================
**Plan:** {topic}
**Phase:** Interview | Research | Draft Complete | Awaiting Approval | Finalized
--- Plan Location ---
Draft: .claude/plans/drafts/{topic-slug}.md
Final: .claude/plans/{topic-slug}.md (if finalized)
--- Plan Contents ---
Steps: {total}
Acceptance Criteria: {total}
Files Affected: {count}
/ralph-plan implement user authentication with JWT
Interview Phase:
Research Phase:
src/models/User.ts, src/routes/index.tsPlan Generated:
Approval:
Plan presented to user with AskUserQuestion tool.
User selects: "Approve"
Output:
PRD finalized at .claude/plans/user-authentication-jwt.md
/ralph-plan refactor the API to use dependency injection
Interview Phase:
Research Phase:
Plan Generated:
Approval: User selects "Request Changes" via AskUserQuestion, specifies "change step 5 to use factory pattern"
Updated Plan: Step 5 modified, re-presented with AskUserQuestion
Second Approval: User selects "Approve"
Output:
PRD finalized at .claude/plans/api-dependency-injection.md
create prd for adding test coverage to src/services/
Interview Phase:
Research Phase:
Plan Generated:
Approval: User approves
Output:
PRD finalized at .claude/plans/service-test-coverage.md
| Signal | Complexity | Interview Depth |
|---|---|---|
| "just", "simple", "quick" | Simple | 2-3 questions |
| Specific file mentioned | Standard | 3-4 questions |
| "redesign", "overhaul" | Complex | 5-6 questions |
| Multiple systems involved | Complex | 6+ questions |
| Scenario | Skip? |
|---|---|
| User provides full context and file paths | Yes |
| Simple config change | Yes |
| New feature in unfamiliar area | No |
| Refactoring existing code | No |
.claude/plans/drafts/{topic-slug}.md.claude/plans/drafts/{topic-slug}.md"AskUserQuestion tool for approval (NEVER use text prompts)AskUserQuestion tool)Ralph Plan uses an enhanced version of the /plan methodology:
The difference: Ralph Plan has a formal approval gate and structured workflow.
.claude/
plans/
drafts/
{topic-slug}.md # During planning (before approval)
{topic-slug}.md # After approval (final PRD)