recursive-planninglisted
Install: claude install-skill Jartan-LLC/grimoire
# Recursive Planning
## Decomposition Process
1. **Survey** -- greenfield or existing? For existing: read README, types, error classes, test setup, conventions. These are constraints.
2. **Identify domains** -- genuinely different kinds of work (parsing vs querying vs aggregating vs formatting)
3. **Map dependencies** -- which domains need outputs from others? Dependencies flow through interfaces only.
4. **Assign waves** -- no dependencies -> Wave 1. Depends on Wave 1 -> Wave 2. Wave 0 is always contracts/setup. Integration is final wave.
5. **Assign scopes** -- each module gets a directory or file set. Zero overlap between parallel modules.
6. **Specify conventions** -- language, test framework, type system, DI pattern, path handling, package manager
7. **Plan deliverables** -- README, CHANGELOG, `--version`, runtime version access, coverage config
## Module Split Criteria
See `recursive-development` skill for split principle and examples. Goal: natural, best-practice file structure.
## Contract Guidance
Wave 0 agent designs contracts. The plan specifies what they should cover:
- **Enumerate capabilities** -- list all operations/formats/modes, not just common ones
- **Error handling** -- "Parsers yield Record | ParseError" not "Parsers raise on bad input"
- **Batch interfaces** -- "Aggregator takes list[AggregationSpec]" not single-item
- **Injectable I/O** -- "Formatters accept a write callable"
- **Types only** -- contracts file has protocols, dataclasses, enums, t