Design
millstone for all work. Do not manually read files, write code, or explore the codebase yourself; the CLI orchestrates agent calls that do this for you.
millstone Commands¶
| Command | What it does |
|---|---|
--task "..." |
General-purpose: research, review, edit files, answer questions |
--design "..." |
Analyze codebase toward an idea, produce .millstone/designs/<slug>.md |
--plan .millstone/designs/X.md |
Break a design into atomic tasks, append to .millstone/tasklist.md |
--dry-run |
Preview what would be sent to the agent without executing |
Key insight: --task is your general-purpose tool. Use it for anything that isn't a structured design or plan generation.
The Loop¶
IDEA → research → design → review → iterate → plan → review → iterate → STOP
There's no fixed sequence — adapt to what you learn at each step.
Idiomatic Usage¶
# Research toward the idea
millstone --task "How does X work in this codebase? Focus on Y."
# Create a design
millstone --design "idea description"
# Review the design
millstone --task "Review .millstone/designs/<slug>.md. Output APPROVED or NEEDS_REVISION with specific issues."
# Fix issues in the design
millstone --task "Update .millstone/designs/<slug>.md: add specific file paths to the Scope section"
# Generate plan
millstone --plan .millstone/designs/<slug>.md
# Review the plan
millstone --task "Review tasks for <design> in .millstone/tasklist.md. Check atomicity, metadata completeness, and dependency ordering."
# Fix plan issues
millstone --task "Split task X in .millstone/tasklist.md into two atomic tasks"
Responsibilities¶
| You | millstone |
|---|---|
| Decide what to research/design/review next | Read files, analyze code, write documents |
| Judge quality of outputs (APPROVED/NEEDS_REVISION) | Execute the review logic |
| Formulate clear, specific task prompts | Do the work described in the prompt |
| Decide when to stop | N/A |
Stop Condition¶
Stop and hand off to the execution operator (docs/prompts/execute.md) when:
- The design has measurable success criteria and clear scope boundaries.
- The plan has unambiguous, atomic tasks with complete metadata (ID, risk, scope, tests, acceptance criteria).
- You're confident a builder could execute each task without guessing.
Do not run millstone -n X or execute any build tasks.
Tips¶
- Be specific in
--taskprompts. "Review X" is vague. "Review X for Y, output APPROVED or NEEDS_REVISION" is actionable. - Chain research before design: understand the codebase before proposing changes.
- Iterate freely. Re-run
--designwith refined framing if the first output misses the mark. - Trust the agent's file access. Don't manually cat/grep — use
--taskinstead.
--task to understand the relevant codebase area.
2. Generate a design with --design.
3. Review and iterate until APPROVED.
4. Generate a plan with --plan.
5. Review and iterate until tasks are atomic and unambiguous.
6. Stop and report that the plan is ready for execution.