From vibeflow
Advance the project to the next SDLC phase. Reads projectId from vibeflow.config.json, invokes the sdlc_advance_phase MCP tool, and surfaces the phase-gate's pass/fail reason. Supports humanOverrideNote for advancing under HUMAN_APPROVAL_REQUIRED consensus (Sprint 17-C).
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibeflow:advanceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Thin wrapper around the `sdlc_advance_phase` MCP tool so operators
Thin wrapper around the sdlc_advance_phase MCP tool so operators
can move phases without hand-assembling tool-call arguments. Paired
with /vibeflow:flow-status for inspection.
/vibeflow:advance [TARGET_PHASE] [humanOverrideNote="..."]
Arguments:
TARGET_PHASE (optional since v2.5.2): one of REQUIREMENTS,
DESIGN, ARCHITECTURE, PLANNING, DEVELOPMENT, TESTING,
DEPLOYMENT. Case-insensitive. When omitted, the skill
defaults to the next phase in the canonical SDLC sequence
based on currentPhase (see "Phase order" below).humanOverrideNote="<reason>" (optional): operator-supplied
justification when advancing under a HUMAN_APPROVAL_REQUIRED
consensus verdict (Sprint 17-C). The note is written to the
phase_advanced event payload and surfaced on subsequent
SessionStart calls by load-sdlc-context.sh.Examples:
/vibeflow:advance # → next phase from currentPhase
/vibeflow:advance DESIGN
/vibeflow:advance DESIGN humanOverrideNote="YÖS tier resolved offline with Legal"
/vibeflow:advance design # case-insensitive; uppercased for you
REQUIREMENTS → DESIGN → ARCHITECTURE → PLANNING
→ DEVELOPMENT → TESTING → DEPLOYMENT
If currentPhase == DEPLOYMENT, no default next phase exists —
the skill stops with "Already at the last phase; nothing to
advance. Use /vibeflow:flow-status to inspect."
Read vibeflow.config.json from the current working directory.
The project field is the MCP-tool's projectId argument. If
the file is missing, emit:
Not a VibeFlow project — vibeflow.config.json not found.
Run /vibeflow:onboard first.
and stop.
If $ARGUMENTS contains a phase token (the first whitespace-
separated word that isn't a key="value" pair), uppercase it
and use it as TARGET_PHASE.
If no phase token is supplied (v2.5.2 default-to-next):
vibeflow.config.json.currentPhase (or call
mcp__sdlc-engine__sdlc_get_state if the config doesn't
carry a live currentPhase).REQUIREMENTS → DESIGN → ARCHITECTURE → PLANNING → DEVELOPMENT → TESTING → DEPLOYMENT.currentPhase == DEPLOYMENT, emit:
Already at the last phase (DEPLOYMENT). Nothing to advance.
Use /vibeflow:flow-status to inspect exit criteria.
and stop.If the user supplied a token that doesn't match any of the seven phase names, emit the valid list and stop. Double-advancing ("REQUIREMENTS → ARCHITECTURE" skipping DESIGN) is a structural error the validator will reject — still let it through to the tool call so the operator sees the exact validator error.
Scan $ARGUMENTS for humanOverrideNote="<anything>" and
extract the quoted value. If absent, don't pass the field — the
MCP tool treats it as optional.
Call mcp__sdlc-engine__sdlc_advance_phase with:
{
"projectId": "<from config>",
"to": "<UPPERCASED target phase>",
"humanOverrideNote": "<optional note>"
}
The tool returns one of two shapes:
Success:
{
"ok": true,
"state": { "currentPhase": "DESIGN", "revision": 5, ... },
"transition": { "ok": true, "errors": [] }
}
Print: Advanced <from> → <to>. Revision now <N>.
If humanOverrideNote was supplied, add:
Audit event recorded with your override note; it will appear on next SessionStart.
Failure:
{
"ok": false,
"errors": ["Exit criteria not met for REQUIREMENTS: consensus.requirements.approved"],
"state": { ... }
}
Print each error on its own line. For common errors, offer the remediation:
consensus.<phase>.approved missing → suggest running
/vibeflow:consensus-orchestrator on the primary reportlast consensus is NEEDS_REVISION / REJECTED → suggest
/vibeflow:consensus-arbiter or /vibeflow:consensus-specialist
/vibeflow:apply-arbiter-patchtestability.score>=60 / coverage.met / etc. → suggest the
relevant analyzer skill to satisfy the gateOn success, print a one-liner naming the next expected step for the new phase (e.g. "DESIGN: design-bridge + accessibility checks. Try /vibeflow:flow-status to see the new phase's exit criteria.").
force: true from this skill. Forcing a phase advance
bypasses every exit-criterion check. That's intentionally
left to direct MCP tool invocation — the operator has to
type it out so the audit trail shows the explicit choice./vibeflow:flow-status — show current phase + missing exit criteria/vibeflow:consensus-orchestrator — satisfy consensus.<phase>.approved/vibeflow:consensus-arbiter / /vibeflow:consensus-specialist —
resolve NEEDS_REVISION with diff-first patchesnpx claudepluginhub mytechsonamy/vibeflow --plugin design-guardGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.