8.3 KiB
name, description
| name | description |
|---|---|
| dev-guided | Guided development workflow for human-in-the-loop iterative implementation. Use this skill for development work where the human wants to maintain control over key decisions, the problem is exploratory rather than well-defined, or when working incrementally with frequent human feedback. This skill creates problem_statement.md, decisions.md, runbook.md, and progress.md artifacts in a development session folder, then guides iterative implementation sessions where the agent plans work, implements, and records progress. |
Guided Development
Overview
Guided development is a workflow designed for iterative, human-in-the-loop software development. Unlike traditional planning approaches that create detailed upfront plans, this workflow establishes problem boundaries, captures explicit human decisions, and enables incremental implementation with continuous feedback.
Use this skill when:
- The problem is exploratory and not fully understood upfront
- Human input is needed for key technical decisions
- Development will proceed iteratively across multiple sessions
- The human wants to maintain control rather than delegate to autonomous execution
Workflow Decision Tree
When the skill is invoked, determine which phase to enter:
Does docs/development/NNN-<name>/ exist with materials?
├─ NO → Initial Setup Phase (create problem_statement, decisions, runbook, progress)
└─ YES → Implementation Session Phase (load context, plan, implement, update progress)
Initial Setup Phase
When no materials exist, guide the human through creating foundational documents via structured Q&A.
Process
-
Determine folder location
- Check for existing development session folders:
docs/development/ - Determine next number:
NNN(e.g., 001, 002, etc.) - Ask human for feature name
- Create folder:
docs/development/NNN-<name>/
- Check for existing development session folders:
-
Create problem_statement.md
- Load the template from
references/template-problem_statement.md - Ask questions to understand the problem:
- "What problem are you trying to solve?"
- "What is the scope of this work? What's explicitly out of scope?"
- "What does success look like?"
- "Are there any constraints or requirements?"
- Fill in the template with responses
- Save as
problem_statement.md
- Load the template from
-
Create decisions.md
- Load the template from
references/template-decisions.md - CRITICAL RULE: MUST ask about every unclear aspect. MUST NOT assume "sensible defaults" or "de facto standards"
- Probe for decisions on:
- Language/framework choices
- Library/dependency choices
- Architectural patterns
- Data storage approaches
- Testing strategies
- Error handling approaches
- Security considerations
- For each unclear aspect:
- Explain why a decision is needed
- Present options if helpful (without bias)
- Ask for the human's choice
- Record the decision with rationale
- Save as
decisions.md
- Load the template from
-
Create runbook.md
- Load the template from
references/template-runbook.md - Ask questions:
- "How should this code be built/compiled?"
- "How should this code be run/tested?"
- "Are there any other validation steps?"
- "At what points during implementation should I pause and ask for your feedback?"
- Fill in build, test, run, and validation instructions
- Create structured feedback points
- Save as
runbook.md
- Load the template from
-
Create empty progress.md
- Load the template from
references/template-progress.md - Create empty file (will be populated after first implementation session)
- Save as
progress.md
- Load the template from
-
Complete setup
- Inform human that setup is complete
- Ask if they want to start the first implementation session now or later
- If now, proceed to Implementation Session Phase
Reference Materials
For detailed guidance on the initial setup phase, read references/initial-setup.md.
Implementation Session Phase
When materials already exist, start an implementation session to continue development work.
Process
-
Load context
- Read
problem_statement.mdto understand the problem scope - Read
decisions.mdto understand what choices have been made - Read
runbook.mdto understand validation and feedback points - Read
progress.mdto understand what's been done and what's outstanding - Check for existing
plan-N.mdfiles to understand previous approaches
- Read
-
Determine session number
- List existing
plan-N.mdfiles - Next session number = max(N) + 1
- If no plan files exist, this is session 1
- List existing
-
Enter plan mode
- Based on loaded context, create a plan for this session
- Plan should include:
- What will be accomplished
- Specific steps to take
- Dependencies between steps
- Expected validation points from runbook
- Outstanding questions or uncertainties
- Present plan to human for approval
-
Save approved plan
- After human approves the plan, save as
plan-N.mdwhere N is the session number - Proceed with implementation
- After human approves the plan, save as
-
Implement according to plan
- Follow the approved plan
- Respect feedback points: When reaching a feedback point in runbook.md, MUST pause and ask for human input
- Document new decisions: If new unclear aspects arise, update decisions.md and ask for human input
- Update runbook if needed: If build/test/validation steps change, update runbook.md
- Follow existing decisions: Use the choices recorded in decisions.md
- Perform validation steps from runbook.md
- Ensure all tests pass
-
Update progress.md
- Add a new session entry using this format:
## Session N (YYYY-MM-DD) ### Accomplished - [What was implemented/completed] - [Tests that now pass] - [Issues that were resolved] ### Outstanding - [What still needs to be done] - [Known issues or blockers] ### Questions - [New unclear aspects that need decisions] - [Uncertainties or concerns] -
Session completion
- Verify all changes are recorded in progress.md
- Verify any new decisions are in decisions.md
- Verify runbook.md is current
- Inform human that session is complete
- Summarize what was accomplished and what's next
Reference Materials
For detailed guidance on implementation sessions, read references/implementation-session.md.
Key Principles
-
No Assumptions: Never assume "sensible defaults" or "de facto standards". Always ask for explicit human decisions.
-
Respect Feedback Points: Feedback points in runbook.md are mandatory pause points. Never skip them.
-
Living Documents: decisions.md, runbook.md, and progress.md are living documents that evolve throughout the development session.
-
Session-Scoped Plans: Each implementation session gets its own plan file. Plans are ephemeral and session-specific, not long-term roadmaps.
-
Problem-Focused: problem_statement.md defines the problem and scope, not the solution. It provides boundaries, not prescriptions.
Example Usage
Starting new work:
Human: "I want to add OAuth authentication to the app"
Agent: [Invokes dev-guided skill]
Agent: [Creates docs/development/001-oauth-auth/ folder]
Agent: [Guides through creating problem_statement, decisions, runbook, progress]
Agent: "Setup complete. Ready to start first implementation session?"
Continuing existing work:
Human: "Continue working on OAuth" [in directory with existing materials]
Agent: [Invokes dev-guided skill]
Agent: [Loads problem_statement, decisions, runbook, progress]
Agent: [Enters plan mode]
Agent: "Based on progress, I plan to implement token storage. Here's my plan..."
Agent: [After approval, saves as plan-2.md and implements]
Agent: [Updates progress.md with session 2 summary]
Resources
This skill includes reference materials with detailed phase guidance and templates:
references/
initial-setup.md- Detailed guidance for the initial setup phaseimplementation-session.md- Detailed guidance for implementation sessionstemplate-problem_statement.md- Template for problem statementstemplate-decisions.md- Template for decisions with examplestemplate-runbook.md- Template for runbook with feedback point examplestemplate-progress.md- Template for progress tracking