From ralph-dev
Breaks down PRD into atomic, testable tasks (<30 min each) using ralph-dev CLI, creates modular task files, and seeks user approval.
npx claudepluginhub mylukin/ralph-dev --plugin ralph-devThis skill is limited to using the following tools:
Break down the PRD into atomic, testable tasks (each <30 minutes), create task files via CLI, and get user approval before implementation.
Generates ordered task YAML from PRD markdown file with sequential IDs, dependencies, descriptions, and acceptance criteria. Use after creating or reviewing a PRD for implementation planning.
Decomposes specs into ordered, verifiable tasks with acceptance criteria using vertical slicing and dependency graphs. Use for large tasks, scope estimation, or parallel agent work.
Generates sized, contextual tasks from PRDs/requirements using Example Mapping, Given-When-Then criteria, edge cases, and slicing rules for standalone engineer implementation.
Share bugs, ideas, or general feedback.
Break down the PRD into atomic, testable tasks (each <30 minutes), create task files via CLI, and get user approval before implementation.
.ralph-dev/prd.mdIMPORTANT: This skill requires the Ralph-dev CLI. It will build automatically on first use.
# Bootstrap CLI - runs automatically, builds if needed
source ${CLAUDE_PLUGIN_ROOT}/shared/bootstrap-cli.sh
# Verify CLI is ready
ralph-dev --version
# Context-compression resilience: Verify current phase
CURRENT_PHASE=$(ralph-dev state get --json 2>/dev/null | jq -r '.phase // "none"')
echo "Current phase: $CURRENT_PHASE"
# Expected: breakdown
# Ensure .ralph-dev is gitignored (add if missing)
git check-ignore -q .ralph-dev 2>/dev/null || {
echo ".ralph-dev/" >> .gitignore
git add .gitignore && git commit -m "chore: gitignore .ralph-dev temp files"
}
# Verify PRD exists
[ -f ".ralph-dev/prd.md" ] || { echo "ERROR: PRD not found"; exit 1; }
Read .ralph-dev/prd.md and extract:
For each user story, create 1-3 tasks following these rules:
Task Breakdown Rules:
Task Naming Convention: {module}.{feature}.{aspect}
auth.signup.ui, auth.signup.api, auth.signup.testsCRITICAL: Create tasks one at a time for context-compression resilience.
# Initialize tasks
ralph-dev tasks init --project-goal "..." --language "..."
# Create each task immediately (not batched)
ralph-dev tasks create \
--id "{module}.{feature}" \
--module "{module}" \
--priority {N} \
--estimated-minutes {M} \
--description "..." \
--criteria "Criterion 1" \
--criteria "Criterion 2" \
--json
# Verify creation
ralph-dev tasks list --json
Display the task plan and ask for user approval:
๐ Task Plan
**Total Tasks**: {N} tasks
**Estimated Time**: {X} hours
## Tasks by Module
### Module: {name} (Priority {range})
1. [P{n}] {task.id} - {description} ({minutes} min)
...
Use AskUserQuestion tool:
case "$ANSWER" in
"Yes, proceed"*)
ralph-dev state update --phase implement
;;
"Modify first"*)
echo "Edit files in: .ralph-dev/tasks/"
echo "Resume with: /ralph-dev resume"
exit 0
;;
"Cancel"*)
ralph-dev state clear
exit 1
;;
esac
REQUIRED Output Format:
---PHASE RESULT---
phase: breakdown
status: complete
tasks_created: {N}
tasks_dir: .ralph-dev/tasks
estimated_hours: {X}
next_phase: implement
---END PHASE RESULT---
---
id: {module}.{task-name}
module: {module-name}
priority: {number}
status: pending
estimatedMinutes: {number}
dependencies: [{task-ids}]
---
# {Task Title}
## Description
{What needs to be implemented}
## Acceptance Criteria
1. {Testable criterion}
2. {Testable criterion}
header: โค12 chars (e.g., "Approval")| Error | Action |
|---|---|
| PRD not found | Fail, prompt to run Phase 1 |
| Task creation fails | Retry once, then report error |
| User rejects plan | Save state, allow manual editing |