Human-in-the-loop iterative development. Use when requirements will emerge during implementation, decisions need human approval at each step, or work will span multiple sessions with frequent feedback loops. Creates problem statement, decisions log, runbook, and progress tracking.
Guides iterative development through human-in-the-loop sessions. Use when requirements emerge during implementation or you need approval at each step. Creates problem statements, decisions logs, runbooks, and progress tracking for multi-session work.
/plugin marketplace add anexpn/claude-plugins/plugin install jun-dev-workflows@jun-workflowsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/implementation-session.mdreferences/initial-setup.mdreferences/template-decisions.mdreferences/template-problem_statement.mdreferences/template-progress.mdreferences/template-runbook.mdGuided 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:
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)
When no materials exist, guide the human through creating foundational documents via structured Q&A.
Determine folder location
docs/development/NNN (e.g., 001, 002, etc.)docs/development/NNN-<name>/Create problem_statement.md
references/template-problem_statement.mdproblem_statement.mdCreate decisions.md
references/template-decisions.mddecisions.mdCreate runbook.md
references/template-runbook.mdrunbook.mdCreate empty progress.md
references/template-progress.mdprogress.mdComplete setup
For detailed guidance on the initial setup phase, read references/initial-setup.md.
When materials already exist, start an implementation session to continue development work.
Load context
problem_statement.md to understand the problem scopedecisions.md to understand what choices have been maderunbook.md to understand validation and feedback pointsprogress.md to understand what's been done and what's outstandingplan-N.md files to understand previous approachesDetermine session number
plan-N.md filesEnter plan mode
Save approved plan
plan-N.md where N is the session numberImplement according to plan
Update progress.md
## 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
For detailed guidance on implementation sessions, read references/implementation-session.md.
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.
Test Driven Development (TDD): For every new feature or bugfix, you MUST:
YAGNI (You Aren't Gonna Need It): The best code is no code. Don't add features we don't need right now. When it doesn't conflict with YAGNI, architect for extensibility and flexibility.
DRY (Don't Repeat Yourself): Work hard to reduce code duplication, even if the refactoring takes extra effort.
Minimal Changes: Make the SMALLEST reasonable changes to achieve the desired outcome. Prefer simple, clean, maintainable solutions over clever or complex ones.
Fix Broken Things Immediately: All test failures are your responsibility, even if they're not your fault. Fix broken things immediately when you find them.
Never Skip Tests: Never delete a test because it's failing. Never write tests that "test" mocked behavior. Test output must be pristine to pass.
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]
This skill includes reference materials with detailed phase guidance and templates:
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 trackingThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.