name: vc-autopilot description: "Emit and validate the provisional goal block for Autopilot Mode. Owns the 9-field format and resume detection from a pasted goal block." argument-hint: "[task description or pasted goal block for resume detection]" trigger_keywords: autopilot, run autopilot, full autopilot, autonomous mode, goal block, provisional goal, AUTOPILOT_ACTIVATED, resume autopilot layer: contract metadata: author: vibecode-pro-max-kit version: "1.0.0"
vc-autopilot
Contract skill that owns the provisional goal block artifact for Autopilot Mode sessions. This skill is invoked by the orchestrator to emit, validate, and resume from the goal block. The canonical protocol lives in process/development-protocols/autopilot.md.
When To Invoke
Invoke this skill when:
- The orchestrator has just received an autopilot trigger phrase and needs to emit the provisional goal block after the consolidated clarification round.
- The orchestrator detects a pasted goal block at session start and needs to determine whether it is a resume scenario (goal block already present → no new clarification round).
- The
validate-autopilot-goal-block.mjsD1 validator needs to be run against an artifact.
Skill Artifact
The provisional goal block — a structured text block of ≤ 4000 characters with exactly 9 named fields. The canonical field spec lives in process/development-protocols/autopilot.md §Provisional Goal Block Format. This skill does not redefine the spec — it references it.
Required fields (exact string anchors — do not rename or abbreviate):
SESSION GOAL:ENTRY PHASE:REMAINING PHASES:CLARIFICATIONS LOCKED:EXECUTE CONSENT:— must contain the literal textstanding-grantedDECISION POLICY:HARD STOPS:TEST GATES:START:
Emission Procedure
Step-by-step for the orchestrator:
- Complete the consolidated clarification round (
process/development-protocols/autopilot.md §Consolidated Clarification Round). - Determine
ENTRY PHASEfrom on-disk artifact detection (autopilot.md §Trigger-Anywhere Detection Flow). - Build the
REMAINING PHASESchecklist: for each phase not yet complete in canonical RIPER-5 order, add a[ ]checkbox line with the phase name and planned execution strategy. - Fill in all 9 fields using the locked clarification answers.
- Count total characters. If > 4000: compress DECISION POLICY and CLARIFICATIONS LOCKED to summaries and reference autopilot.md for full detail.
- Print the block to chat as a fenced code block.
- Write the block to disk:
{task-folder}/{slug}_AUTOPILOT_GOAL_{dd-mm-yy}.md(header: "Emitted: [datetime]. Provisional block. V7 will emit (UPDATE) variant."). - Emit
AUTOPILOT_ACTIVATED: [task] — entry phase: [phase] — goal block emitted.
Resume Detection
How the orchestrator recognizes a pasted goal block at session start:
- If the user message contains all 9 field names as headings/labels, treat it as an autopilot resume.
- On resume: skip the consolidated clarification round entirely. Read
ENTRY PHASEandREMAINING PHASESfrom the pasted block. ReadCLARIFICATIONS LOCKEDas the already-locked decisions. ReadDECISION POLICYandHARD STOPSas the standing policy. - Emit
[MODE: AUTOPILOT | <ENTRY PHASE>]and begin the run fromSTART:. - Do NOT issue a new clarification round (SPEC AC-14).
V7 UPDATE Variant
When VALIDATE V7 completes during an autopilot run, the orchestrator:
- Reads the real gate commands from the new validate-contract.
- Copies the provisional block.
- Prefixes
SESSION GOAL:with(UPDATE). - Replaces
TEST GATES: TBD — populated after VALIDATEwith the actual gate commands. - Updates
START:to reflect post-VALIDATE state. - Prints the updated block to chat.
- Overwrites the disk artifact at the same path.
Validator
Run after writing any goal block artifact to confirm it passes D1 checks:
node .claude/skills/vc-autopilot/scripts/validate-autopilot-goal-block.mjs <artifact-path>
Exit 0 = PASS (all 9 required fields present, EXECUTE CONSENT contains standing-granted, total ≤ 4000 chars).
Exit 1 = FAIL (one or more checks failed — error printed to stdout).
WARN printed (exit 0) when TEST GATES: contains TBD (reminder that V7 UPDATE is pending).
See scripts/validate-autopilot-goal-block.mjs and fixtures/ for the D1 validator and pass/fail fixture pair.