Create a structured execution plan based on an existing markdown file
Generates structured execution plans from markdown files with phase-based tasks and completion criteria.
/plugin marketplace add vavasilva/ralph-planner/plugin install ralph-planner@ralph-plannerCreate a structured execution plan based on an existing markdown file.
file_path (required): Path to the markdown file containing the task/feature description--type (optional): Work type template to use (feature, bugfix, refactor, migration, performance)--output (optional): Path to save the generated plan (e.g., ./plans/my-plan.md)Language: Generate the plan in the same language as the source file content.
You are a planning assistant. Create a structured plan based on the content of a file.
Read the file at the specified path: $ARGUMENTS
Extract parameters from arguments:
file_path: The path to the source file--type <type>: (optional) Use specific template--output <path>: (optional) Save plan to this fileIf no type specified, analyze the content to determine the best template.
Read and understand the file content. Look for:
If --type was specified, use that template. Otherwise, auto-detect:
| Content indicators | Template |
|---|---|
| "add", "implement", "create", "new feature" | feature |
| "fix", "bug", "issue", "broken", "error" | bugfix |
| "refactor", "restructure", "clean up", "improve code" | refactor |
| "migrate", "move", "upgrade", "convert" | migration |
| "performance", "optimize", "slow", "speed", "latency" | performance |
Using the selected template, generate a structured plan that:
Output format:
## Plan: [Title derived from file content]
**Source:** [file path]
**Template:** [selected template type]
### Phase 1: [Phase Name from template]
**Tasks:**
- [ ] [Task derived from file content]
- [ ] ...
**Completion Criteria:** [From template + file specifics]
[Continue for all phases...]
---
**Total Tasks:** [count]
**Estimated Iterations:** [count Ă 3]
đˇď¸ **Promise Tag:** [Verifiable promises from template]
â ď¸ **Completion Signal:** When ALL criteria above are met, output:
<promise>COMPLETE</promise>
After the plan, output the ready-to-run command using the correct ralph-wiggum format:
Format (with --output):
/ralph-wiggum:ralph-loop "Implement [summary] from [plan-path]. DONE when: [criteria]. Output <promise>COMPLETE</promise> when done." --completion-promise "COMPLETE" --max-iterations [iterations]
Format (without --output):
/ralph-wiggum:ralph-loop "[summary]. DONE when: [criteria]. Output <promise>COMPLETE</promise> when done." --completion-promise "COMPLETE" --max-iterations [iterations]
Examples:
# With --output (includes plan path):
/ralph-wiggum:ralph-loop "Implement auth features from ./plans/auth-plan.md. DONE when: login works, tests pass. Output <promise>COMPLETE</promise> when done." --completion-promise "COMPLETE" --max-iterations 42
# Without --output:
/ralph-wiggum:ralph-loop "Implement auth features. DONE when: login works, tests pass. Output <promise>COMPLETE</promise> when done." --completion-promise "COMPLETE" --max-iterations 42
If --output <path> was provided:
Why? The execution commands are for the USER to copy/run. If saved in the plan file, ralph-loop might misinterpret them as tasks to execute.
After saving, display the execution commands in the chat so the user can copy them.
CRITICAL: After completing steps 1-6, you are DONE.
â DO NOT:
â DO:
The user will copy and run the ralph-loop command themselves when ready.
/ralph-planner:from-file "./docs/auth-feature.md"
/ralph-planner:from-file "./issues/bug-123.md" --type bugfix
/ralph-planner:from-file "./specs/api-migration.md" --type migration
/ralph-planner:from-file "./docs/feature.md" --output "./plans/feature-plan.md"
/ralph-planner:from-file ".serena/memory/tasks.md" --type feature --output "./plans/tasks-plan.md"
--type when certain