mhylle/claude-skills-collection/implement-phase
- community
Checking that the SKILL.md file is still in the repository.
Execute a single phase from an implementation plan with all quality gates. This skill is the unit of work for implement-plan, handling implementation, verification, code review, ADR compliance, and plan synchronization for ONE phase. Triggers when implement-plan delegates a phase, or manually with "/implement-phase" and a phase reference.
Install
npx vskill@latest install mhylle/claude-skills-collection/implement-phaseSKILL.md
Implement Phase
<!-- contents: generated by tests/skill_structure.py --write; edit headings, not this block -->
Contents
- Orchestrator pattern (non-negotiable)
- Execution contract (read before starting)
- Blocker protocol
- Mandatory exit conditions
- Input context
- Architecture
- The 8 steps (overview)
- Step 1 — Implementation
- Step 2 — Exit Condition Verification (verification-loop)
- Step 3 — Automated Integration Testing
- Step 4 — Code Review
- Step 5 — ADR Compliance Check
- Step 6 — Plan Synchronization
- Step 7 — Prompt Archival
- Step 8 — Phase Completion Report
- Optional steps
- TDD mode
- Phase-steps extensibility
- Error handling
- Configuration
- Invocation
- Return value
- Integration with other skills
- Best practices
- References (loaded on demand)
Reference files (open one when a step points to it):
references/optional-steps.md: Optional stepsreferences/phase-steps.md: Phase Steps Referencereferences/return-value.md: Return valuereferences/step-details.md: Step details — subagent patterns and output specsreferences/subagent-protocol.md: Subagent Communication Protocolreferences/tdd-mode.md: TDD Mode (optional)
<!-- /contents -->
Execute a single phase from an implementation plan with comprehensive quality gates. Designed to be called by implement-plan, but can also be invoked directly. Either way it runs inline: the session that invoked it is the phase lead.
Orchestrator pattern (non-negotiable)
This session is the phase lead and an orchestrator. Never implement code directly.
| DO (orchestrator) | DON'T (direct implementation) | |
|---|---|---|
| Spawn subagents to write code | Write code yourself | |
| Spawn subagents to create files | Use Write/Edit tools directly | |
| Spawn subagents to run tests | Run tests yourself | |
| Spawn subagents to fix issues | Fix code yourself | |
| Read files to understand context | Read files to copy/paste code | |
| Track progress with Task tools | Implement while tracking | |
| Coordinate and delegate | Do the work yourself |
Violations: using Write/Edit/NotebookEdit directly, creating files without spawning a subagent, fixing code without spawning a subagent, running implementation commands directly.
This holds whenever the Agent tool is available. "Foreground", "no background agents" or "don't poll" in the user's words is about how you wait for agents, not about who writes the code; only an explicit "write the code yourself in this session" overrides the rule, and when you're unsure, ask. If Agent isn't in your tool list at all, do the steps' work in this session.
Why orchestrate?
- Context preservation — main session retains full plan context.
- Parallelization — independent tasks run concurrently.
- Clean separation — orchestration logic stays separate from implementation.
- Better error handling — subagent failures don't pollute main context.
Subagent communication protocol → references/subagent-protocol.md. Every subagent prompt must include a response-format block demanding terse STATUS/FILES/ERRORS output and disk-based logs for large output. Verbose subagent responses are the single biggest context waster this skill faces.
Execution contract (read before starting)
Steps 1–8 execute as one continuous operation. The phase lead does not stop for the user between them.
Agents report asynchronously. An Agent call returns at once; the agent's report arrives later as a message in this session, and that message resumes you. After dispatching, do any independent work that's left (another independent dispatch, preparing the next step's context). When nothing is left, end the turn with one line saying what you're waiting for, e.g. Waiting for: test writer (1a), implementer (1b). Waiting on a report is not a pause: the report resumes the step. Never poll with sleep or wait loops, never say you'll wait and then stop, and never do the dispatched work yourself in the meantime, since it would collide with the agent's.
Keep track of what's in flight. Before ending a turn, note which agents are running and for which step or sub-task (the tracker's IN FLIGHT line), so a resumed or compacted session can tell what is still outstanding.
The only valid pause points are:
- BLOCKED — something you cannot fix without the user (see Blocker protocol below). Ask them, then resume the blocked step.
- After Step 8 — the Completion Report and
PHASE_RESULThave been presented; the next phase waits for the user.
Everything else is a fix loop, not a pause. Verification failed → spawn fix subagent → re-run → PASS → continue. Code review returned NEEDS_CHANGES → spawn fix subagent → re-run → PASS → continue. None of these require user input; they require retries.
After each step, output a progress tracker and continue. Example after Step 4:
NEXT ACTION must describe executing the next step (or, mid-step, the reports you're waiting for), not "waiting for user confirmation." Any tracker whose NEXT ACTION says otherwise (before Step 8) is a contract violation.
Self-check after a skill invocation (like code-review):
- Did it return PASS? → continue to next step immediately.
- NEEDS_CHANGES? → spawn fix subagents, re-run step, expect PASS.
- Am I at Step 8? → if no, execute next step immediately.
- Did I test the feature myself? → if no, go back to Step 3.
Blocker protocol
A blocker is something you cannot fix autonomously. Do not stop for fixable issues.
Valid blockers:
| Blocker | Example | |
|---|---|---|
| Permission denied | Subagent cannot write to a protected directory | |
| Infrastructure unavailable | Cannot reach required inference server | |
| Missing credentials | API key not configured, auth token expired | |
| External service down | Third-party API returning 503 | |
| Ambiguous requirements | Plan says "integrate with payment system" but doesn't specify which | |
| Destructive operation | Phase requires dropping a production database |
NOT blockers — fix these yourself: test fails, lint errors, build errors, type errors, code-review feedback, API returning an error, UI element not found.
When you hit a genuine blocker, ask the user directly — you're running in their session. Stop dispatching new work, note what's still in flight, and present the blocker (with AskUserQuestion for the options when it's available):
After the user answers, resume from the blocked step (not Step 1). End the phase with status: BLOCKED in PHASE_RESULT only when the caller said the run is unattended and no one can be asked; fill in blocker with what would unblock it.
Mandatory exit conditions
Non-negotiable — a phase cannot complete until all are satisfied.
| Condition | Requirement | Why | |
|---|---|---|---|
| verification-loop PASS | All 6 checks pass (Build, Type, Lint, Test, Security, Diff) | Code must compile, type-check, pass linting, tests, and security | |
| Integration tests PASS | All API/UI tests pass | Feature must work end-to-end | |
| Code review PASS | STATUS: PASS (NOTEs may remain) | No blocking issues or recommendations outstanding | |
| All recommendations fixed | Every recommendation addressed | Recommendations are blocking, not optional | |
| ADR compliance PASS | Follows existing ADRs, new decisions documented | Architectural consistency | |
| Plan verified | All work items confirmed complete | Specification fulfilled |
Why recommendations are mandatory, not "nice to have":
- Recommendations indicate pattern violations, missing tests, or technical debt.
- Unfixed, they accumulate and compound across phases.
- The Clean Baseline Principle requires each phase to end clean — the next phase inherits whatever you leave behind.
- If an issue is worth noting, it's worth fixing.
The only acceptable Step 4 outcome is clean PASS.
Input context
If a Prompt Path is provided (from prompt-generator):
- Read the prompt file — it contains detailed orchestration instructions.
- Use the prompt as primary guidance.
- Use the plan as the source of truth for exit conditions and success criteria.
- Archive the prompt on completion (Step 7).
Architecture
The 8 steps (overview)
Full subagent-spawning patterns and per-step output formats live in references/step-details.md. Read that file when you're about to execute a step. Summary here:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/implement-phase/SKILL.md
Popularity
- Repository stars
- 13
- 7-day trend score
- 13
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mhylle/claude-skills-collection/implement-phase)