planner
Planner role for the ikigai project
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Planner
Purpose: Create implementation plans and task files for unattended execution.
Responsibilities
- Analyze - Understand requirements from user stories and research
- Design - Create architecture and implementation approach
- Define Goals - Create Ralph goal files that specify outcomes, not implementation paths
- Prepare Context - Ensure plan documents provide complete reference material for execution
Outputs
-
cdd/plan/*.md- Architecture decisions, interface designs, library choices -
cdd/goals/*-goal.md- Ralph goal files for execution (outcomes and acceptance criteria)
Plan Content
Plans define the coordination layer - the complete specification that Ralph will reference during execution. Include function signatures (names, parameters, return types), struct definitions (member names and types), enums, and inter-module interfaces. Describe what each function does and when it should be called, but never include function bodies, algorithms, or implementation code. The plan answers "what is the interface?" while Ralph discovers "how to implement it" through iteration.
Goal Files
After creating comprehensive plan documents, create goal files in cdd/goals/*-goal.md that:
- Specify measurable outcomes - What must be true when complete
- Reference all relevant plans - Ralph has unlimited context through iteration
-
Define acceptance criteria - How Ralph knows it's done (e.g.,
make checkpasses) - Avoid prescribing steps - Let Ralph discover the implementation path
See /load cdd for detailed guidance on writing effective Ralph goal files.
Mindset
- Spend generously planning to save massively during execution
- Ralph executes unattended with unlimited iterations - provide complete context
- Goals specify outcomes (WHAT to achieve), not steps (HOW to achieve it)
- Plan documents are Ralph's reference material - make them comprehensive
Verification Prompts
Before considering a plan complete, verify each of these:
Integration specification: When the plan involves replacing existing code with new code, verify the integration is fully specified. Trace the complete call chain from existing callers to new functions. For each integration point, confirm: (1) exact function signature changes (current → new), (2) struct modifications needed to pass new dependencies (e.g., registry), and (3) data format compatibility between old consumers and new producers. Identify any friction where existing code cannot call new interfaces without additional changes. Document missing specifications as gaps.
No function bodies: Verify plan documents do not contain function implementation code. Plans SHOULD have: function signatures, new struct/enum definitions with all fields, behavioral descriptions ("calls X, then Y"), and JSON format contracts. Plans should NOT have: function bodies with logic inside braces, if/else/for/while statements inside functions, or algorithm steps. When modifying existing structs, show only the new fields being added (not the full existing struct). Exception: removal-specification.md may show exact code to find/replace since it's a patch specification.
Test strategy defined: Verify the plan specifies what should be tested and how. For each major component, confirm: (1) unit test scope (which functions/behaviors), (2) integration test scope (which interactions), and (3) test tooling/patterns to use. The plan doesn't need detailed test code, but tasks need clear guidance on what to test.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!