advance-phase
npx machina-cli add skill jppuche/Ignite/advance-phase --openclawAdvance Phase
Validates that exit conditions for the current phase are met, then transitions the project to the next phase. Updates all tracking documents and runs validation.
Procedure
1. Read current state
- Read
docs/STATUS.md— identify current phase from "Current phase" / "Fase actual" section - Read
docs/STATUS.md"Project Profile" section — identify profile (Quick/Standard/Enterprise) and active phases - Read
docs/DECISIONS.md— count decisions made (entries in the main table) - If current phase is unclear or STATUS.md is missing: ask user to clarify
- If profile section is missing (legacy project): assume all phases active (Enterprise behavior)
2. Validate exit conditions
Check the conditions for the current phase. Report each condition as PASS or FAIL.
| Phase | Exit conditions |
|---|---|
| 0: Foundation | CLAUDE.md exists AND .claude/hooks/ has at least 1 hook AND .claude/quality-gate.json exists AND docs/FOUNDATION.md exists AND Project Profile determined in STATUS.md |
| 1: Technical Landscape | >= 5 decisions in DECISIONS.md main table AND ## Stack section in CLAUDE.md is populated (not placeholder) |
| 2: Tooling & Security | Candidate Ecosystem Catalog section in DECISIONS.md has entries AND every candidate has a Status (APPROVED/REJECTED/DEFERRED/SKIP) |
| 3: Strategic Review | Strategic Assessment section in DECISIONS.md is populated AND Architecture Directives subsection exists |
| 4: Architecture Blueprint | >= 1 spec file in docs/specs/ (not counting spec-template.md) AND security review documented (in docs/reviews/ or DECISIONS.md) |
| 5: Team Assembly | >= 1 agent file in .claude/agents/ AND AGENT-COORDINATION.md Section 13 has entries (not just placeholder comments) |
| N: Development | Read the current block's spec file — check its specific exit conditions section. If no spec identified: ask user which block. |
| Final: Hardening | All pending items in STATUS.md are checked [x] AND docs/SCRATCHPAD.md has no unresolved open questions |
If ANY condition is FAIL:
- Report what's missing with specific details (e.g., "3 decisions found, need >= 5")
- Ask user: "Force advance anyway? This will log a warning in DECISIONS.md."
- If user says force: proceed, but append to DECISIONS.md:
| YYYY-MM-DD | Phase N force-advanced | Exit conditions not fully met: [list failures] | User override | - If user says no: stop. Do not advance.
If ALL conditions are PASS: proceed to step 3.
3. Execute transition
Determine the next active phase based on the project profile:
Profile-aware phase resolution:
- Read the active phases list from STATUS.md "Project Profile" section
- The next phase is the first phase in the standard sequence that is AFTER the current phase AND is in the active phases list
- If phases are skipped, note them in the transition summary: "Skipped Phase X (not in {profile} profile)"
- If no profile section exists (legacy project): all phases are active
Profile → Active phases mapping:
| Profile | Active Phases |
|---|---|
| Quick | 0, N |
| Standard | 0, 1, 2, 3 (fast-path), 4, N, Final |
| Enterprise | All (0, 1, 2, 3, 4, 5, N, Final) |
Standard Phase 3 fast-path: Auto-skip if: no Candidate Ecosystem Catalog entries in DECISIONS.md AND single stack AND agent pre-selection is "Generalistas" or "Lorekeeper only". Otherwise, Phase 3 runs normally.
Do these steps in order:
-
Update
docs/STATUS.md:- In the Completed section: add
- [x] Phase N: [name](or check the existing checkbox) - If phases were skipped: also mark them as completed with note:
- [x] Phase X: [name] (skipped — {profile} profile) - In the "Current phase" / "Fase actual" section: change to the next ACTIVE phase name
- In the Pending section: remove or update the completed phase entry
- In the Completed section: add
-
Append to
docs/CHANGELOG-DEV.md:## YYYY-MM-DD — Phase N complete: [phase name] - Exit conditions: [N/N passed | forced] - Decisions this phase: [count] - Notable: [1-2 key outcomes, or "routine"] -
Run
bash scripts/validate-docs.sh:- If errors: report them and fix before finalizing
- If the script doesn't exist: warn and skip (early project)
-
Append to
docs/SCRATCHPAD.md:- Under today's date section:
- [lorekeeper] Phase N → Phase N+1 transition. Exit conditions: [summary].
- Under today's date section:
4. Display summary
Present to the user:
- What was completed (phase name + key outcomes)
- If phases were skipped: list them with reason ("Skipped Phase X — not in {profile} profile")
- What the next phase involves (brief description)
- 2-3 recommended first actions for the new phase
- If
_workflow/guides/workflow-guide.mdexists: reference the relevant phase section
Phase sequence
Standard order (adapt if project uses custom phases):
Phase 0: Foundation
Phase 1: Technical Landscape
Phase 2: Tooling & Security
Phase 3: Strategic Review
Phase 4: Architecture Blueprint
Phase 5: Team Assembly
Phase N: Development Blocks
Phase Final: Hardening
If current phase is "Final" or "Hardening": report "This is the last phase. No next phase to advance to." and stop.
Edge cases
- Custom phase names (non-standard, non-English): match by phase number if present (e.g., "Fase 3" → Phase 3 conditions). If no number found: ask user for exit conditions.
- Multiple unchecked items in Pending: advance only the current phase (first item in Pending that matches Current phase).
- CHANGELOG-DEV.md doesn't exist: create it with the transition entry as the first entry.
- User runs this mid-phase: exit conditions won't be met → shows what's missing → safe (no silent advancement).
- Phase N (Development Blocks): each block has its own exit conditions in
docs/specs/block-NN-*.md. Ask which block if not obvious from STATUS.md. - Missing profile section (legacy projects): treat as Enterprise (all phases active). Display note: "No project profile found — assuming all phases active."
- Profile mismatch: if user tries to advance to a phase not in their profile, warn and ask: "Phase X is not in your {profile} profile. Advance anyway?"
Source
git clone https://github.com/jppuche/Ignite/blob/master/_workflow/templates/skills/advance-phase/SKILL.mdView on GitHub Overview
Advance-phase validates exit conditions for the current phase, then transitions the project to the next phase. It updates STATUS.md and CHANGELOG-DEV.md and runs doc validation to ensure traceability and quality.
How This Skill Works
Reads the current state from docs/STATUS.md and DECISIONS.md, evaluates exit conditions for the active phase by the phase table, and reports PASS/FAIL for each condition. If all checks pass, it determines the next active phase based on the project profile, applies skips if needed, and updates tracking documents and logs.
When to Use It
- When the current phase exit conditions are met and you’re ready to proceed to the next phase.
- When a decision in DECISIONS.md has completed a phase and you need to advance.
- When closing a phase and moving the project state to the next phase per profile.
- When you need to validate docs and log the transition in CHANGELOG-DEV.md.
- When you want to handle skipped phases and record them in the transition summary.
Quick Start
- Step 1: Read the current state from docs/STATUS.md and inspect DECISIONS.md.
- Step 2: Validate exit conditions for the current phase and note PASS/FAIL for each.
- Step 3: If all conditions PASS, determine the next phase per the profile and update STATUS.md, CHANGELOG-DEV.md, and run doc validation.
Best Practices
- Always verify all exit conditions PASS/FAIL from the phase table before advancing.
- Run doc validation after the transition to catch issues early.
- Check STATUS.md for an accurate 'Current phase' and 'Project Profile' before advancing.
- Document any skipped phases in the transition summary with rationale.
- Record the phase change clearly in CHANGELOG-DEV.md for traceability.
Example Use Cases
- Advancing from Phase 0 Foundation to Phase 1 Technical Landscape after meeting all exit criteria and updating STATUS.md.
- In Standard profile, skipping Phase 3 if there are no Candidate Ecosystem Catalog entries and moving to Phase 4.
- Performing a complete transition from Phase 2 Tooling & Security to Phase 3 Strategic Review with proper documentation updates.
- A force-advance scenario: a user overrides due to a missing non-critical item, with the override logged in DECISIONS.md.
- Legacy project transition where no explicit profile is present, resulting in all phases considered active and proceeding accordingly.