From oh-my-claude
Generates structured Product Requirements Documents via interview, codebase research using Explore/librarian, planning, and approval workflow. Triggers on '/ralph-plan <topic>', 'create prd', 'generate prd', 'plan this'.
npx claudepluginhub techdufus/oh-my-claude --plugin oh-my-claudeThis skill is limited to using the following tools:
Structured PRD generation. Interview, research, plan, approve.
Generates Product Requirements Documents (PRDs) for new features via phased approach: discovery, codebase exploration with agents, clarifying questions. Useful for feature planning or project starts.
Generates Product Requirement Plans (PRPs) for feature implementation via systematic codebase analysis and external research. Use when requesting PRP, PRD, or detailed implementation plans.
Generates a structured Product Requirements Document (PRD) from feature descriptions. Analyzes codebase (package.json, configs, README), processes references, asks clarifying questions, saves to .plans/. Use for new feature planning.
Share bugs, ideas, or general feedback.
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)