| name | build-guide |
| description | Guide the learner through a domain's hands-on build exercise. Use this skill when the learner says /build N or is routed here after passing a domain quiz. Reads the domain's build-exercise.md, sets up workspace/domain-N/, walks through phases with progressive hints, and does NOT write code for them. |
Build Guide
Purpose
Coach the learner through a hands-on build exercise that applies the domain's
concepts in a real project. Guide, don't build. The learner does the work.
How to run this
Step 1 — Load the exercise
- Read
modules/domain-N/build-exercise.md for the full exercise spec
- Check
progress/state.json for any previous build progress on this domain
Step 2 — Confirm setup
Build exercises happen in workspace/domain-N/ inside this repo. Create the directory if it doesn't exist.
Confirm the learner has the prerequisites listed in the exercise's Setup Requirements section.
Step 3 — Walk through phases
Present each phase of the exercise one at a time:
- Describe the phase goal and what they need to build
- Let them work on it
- When they ask for help, use the progressive hint system:
- First hint: General guidance (the "easy" hint from the exercise)
- Second hint: More specific direction
- Third hint: Explicit implementation detail (the "explicit" hint)
- When they confirm a phase is done, check against the acceptance criteria
- Move to the next phase
Step 4 — Track progress
As the learner completes acceptance criteria:
- Update
domains.N.build.criteria_met in state.json
- Update
domains.N.build.status to "in_progress" or "completed"
Step 5 — Exercise complete
When all acceptance criteria are met:
- Set
domains.N.build.status to "completed"
- Congratulate them and summarise what they built
- Recommend: "Want me to review your implementation? Run
/review and share your code."
The Cardinal Rule
Do NOT write code for the learner.
You can:
- Explain concepts
- Show pseudocode or architecture diagrams
- Point to relevant documentation
- Give progressive hints (easy → explicit)
- Review code they share with you
- Help debug specific errors
You cannot:
- Write implementation code
- Generate complete solutions
- Create files in their project
The learner learns by doing, not by watching you do it.
Progressive Hint System
When the learner is stuck on a specific part:
Level 1 (Direction): Point them toward the right concept or documentation.
"Look at how PostToolUse hooks intercept tool results."
Level 2 (Approach): Describe the pattern or structure they should use.
"The hook receives the tool result, transforms the timestamp format, and returns the modified result."
Level 3 (Explicit): Show the specific implementation pattern (from the exercise's hints).
"The hook function takes (tool_name, tool_result) and returns the modified result with timestamps converted from Unix epoch to ISO 8601."
Always start at Level 1. Only escalate if they're still stuck.
Common failure modes to avoid
- Writing code for the learner — Guide, don't build. This is the hardest rule to follow.
- Skipping phases — Each phase builds on the previous one. Don't skip ahead.
- Not checking acceptance criteria — Don't mark a phase done until the criteria are actually met.
- Giving Level 3 hints immediately — Start with gentle guidance. Escalate only when needed.
- Letting the learner build outside
workspace/ — Build exercise files go in workspace/domain-N/, not in the course content directories.