with one click
vp-auto
Autonomous execution loop with control points and recovery
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Autonomous execution loop with control points and recovery
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
LLM-driven QA agent team generator — research codebase, generate context-aware QA scanning agents
Brainstorm session to collect ideas and decisions for the project
Convert brainstorm sessions into executable artifacts
Import and triage tickets from Excel/M365 Online, Google Sheets, or CSV/TSV files — classify as BUG/ENH, accept/decline via AskUserQuestion, write back to source, generate TRIAGE report
Audit state, docs drift, and stack best-practice compliance — works on any project
Create new request: feature, bug fix, enhancement, or brainstorm continuation
| name | vp-auto |
| description | Autonomous execution loop with control points and recovery |
| version | 0.2.2 |
Output this banner as the first thing on every invocation — before questions, work, or any other output:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VIEPILOT ► VP-AUTO v0.2.2 (fw 2.19.0)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Version Update Check (ENH-072)
After displaying the greeting banner, run:
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" check-update --silent
If exit code = 1 (update available — new version printed to stdout): Display notice banner before any other output:
┌──────────────────────────────────────────────────────────────────┐
│ ✨ ViePilot {latest_version} available (installed: {current}) │
│ npm i -g viepilot && vp-tools install --target {adapter_id} │
└──────────────────────────────────────────────────────────────────┘
Replace {latest_version} with stdout from the command, {current} with the installed
version, {adapter_id} with the active adapter (claude-code / cursor / antigravity / codex / copilot).
If exit code = 0 or command unavailable: silent, continue.
Suppression rules:
--no-update-check flag on skill invocation → skip this step entirelyconfig.json → update.check: false → skip this step entirelyupdate_check_done session guard)
</version_check>
<persona_context>At skill start, run:
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" persona auto-switch
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" persona context
Inject the output as ## User Persona context before any task execution.
Silent if command unavailable or errors.
</persona_context>
Prompt user conversationally with numbered list options at control points.
Use Claude Code tools: Bash (shell), Read (file), Edit + Write (file write/patch),
Grep (search), Glob (file patterns), LS, WebSearch, WebFetch,
Agent (spawn subagent — multi-level nesting supported)
Interactive: AskUserQuestion (deferred — preload via ToolSearch before first call)
Additional tools (ENH-099):
Monitor — run command in background, each output line fed back to Claude; use for
npm test --watchAll=false, dev server tail, CI polling mid-conversationCronCreate / CronDelete / CronList — in-session scheduled prompts (survive
--resume); use for periodic quality checks during long autonomous phasesEnterWorktree / ExitWorktree — isolated git worktree per task; auto-cleanup on
exit if no changes; use for parallel task execution without branch conflicts
(not available to subagents)LSP — code intelligence: type errors after each edit, jump to definition, find
references; requires code intelligence plugin; replaces post-edit tsc --noEmitPushNotification — desktop + phone push on phase complete or control-point pause
(Anthropic infra only; not available on Bedrock/Vertex)EnterPlanMode / ExitPlanMode — plan gate before implementation: EnterPlanMode
switches to read-only planning; ExitPlanMode presents plan for approval before any
file edits are madeUse Agent tool for subagent dispatch. For parallel task execution: fan-out with multiple
Agent calls per cluster (see ADAPTER_CONTEXT.orchestration — claude-code supports parallel: true).
Use Cursor tools: run_terminal_cmd (shell), read_file (read), edit_file (write/edit),
grep_search (search), web_search, codebase_search, list_dir, file_search
Interactive: text list fallback (AskQuestion available in Plan Mode only; Agent Mode = text)
Subagent: /multitask (user command, single-level only — not a callable tool)
MCP limit: 40 tools
Use Antigravity tools: shell (cmd), file_read, file_write, MCP plugins
Interactive: text fallback (TUI-based; no formal AskUserQuestion)
Skill path: .agents/skills/<skill>/SKILL.md (project) or ~/.gemini/antigravity/skills/ (global)
Note: Gemini CLI deprecated June 18, 2026 — use Antigravity CLI.
Use Codex tools: container.exec (sandboxed shell), apply_patch (file write), web_search
Interactive: text fallback (TUI Tab/Enter injection)
Config: ~/.codex/config.toml
Use Copilot tools: runCommands (shell), read/readfile (read), edit/editFiles (write),
code_search, find_references
Interactive: askQuestions (main agent only — NOT available in subagents; VS Code issue #293745)
Skill path: .github/agents/<name>.agent.md
<scope_policy>
vp-* skills in ViePilot workflows.non vp-*) are out of framework scope unless user explicitly opts in.vp-* skill.
</scope_policy><implementation_routing_guard>
/vp-auto + workflows/autonomous.md is the default lane for implementing work that already has a phase/task plan (doc-first BUG-001, git persistence BUG-003). /vp-request and /vp-evolve do not replace this lane unless the user explicitly overrides.
</implementation_routing_guard>Pauses at control points:
Updates after each task:
.viepilot/TRACKER.md.viepilot/phases/*/PHASE-STATE.md.viepilot/HANDOFF.jsonCHANGELOG.md (if feature/fix).viepilot/ROADMAP.md when task completion changes phase progress/statusGit persistence gate before PASS (BUG-003):
git status --porcelain must be emptygit rev-parse ... @{u})git rev-list --count @{u}..HEAD equals 0)node bin/vp-tools.cjs git-persistence --strictMandatory task decomposition before implementation:
If required task details are missing, do not implement until task contract is refined.
Doc-first gate before implementation (BUG-001):
.md MUST hold a real written plan (Paths + File-Level Plan or bullet Implementation Notes—no bare {{PLACEHOLDER}} rows).PHASE-STATE.md MUST show the task in_progress before the first implementation commit for that task.{projectPrefix}-vp-p{phase}-t{task} or edit shipping files until both are satisfied (read-only exploration and editing the task file to record the plan are allowed).Preflight before each task implementation:
.viepilot/STACKS.md (if exists)~/.viepilot/stacks/{stack}/SUMMARY.md for relevant stacks.viepilot/audit-report.md has Tier 3 stack guardrails, apply them before codingUpdates after each phase complete:
.viepilot/ROADMAP.md — phase status row and Progress Summary tableUpdates after each phase (if new skills added):
docs/skills-reference.md — append sections for new skillsUpdates on milestone complete:
README.md — version badge, skills/workflows counts, Skills Reference table, Workflows table, Project Structure, Completion StatusREADME.md metrics — run npm run readme:sync when script exists; if cloc missing, continue with logged guidance (non-blocking)After: Project built, or paused for user intervention.
Language configuration (ENH-032):
~/.viepilot/config.json → COMMUNICATION_LANG (default: en).COMMUNICATION_LANG controls banners, control-point messages, and user-facing output.vp-tools config set language.communication vi
<execution_context> @$HOME/{envToolDir}/workflows/autonomous.md </execution_context>
Optional flags: - `--from N` : Start from phase N - `--phase N` : Run only phase N - `--fast` : Skip optional verifications - `--dry-run` : Plan only, no executionNo extra args: simply means the flags above are off — not a rule of “mandatory stop after each task”. In chat, one turn is typically ~one task; continue with the next turn or invoke /vp-auto again. Doc: docs/user/features/autonomous-mode.md.
Task path validation (BUG-009):
Before executing each task, validates all paths in the ## Paths block.
If any path starts with ~/ or / (absolute):
~/.claude/ (live install) instead of sourceSee preflight check in workflows/autonomous.md → “Preflight: Task Paths Validation (BUG-009)”.
# Load context
Read AI-GUIDE.md → minimal context strategy
Read TRACKER.md → current state
Read ROADMAP.md → phases list
Display startup banner:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VIEPILOT ► AUTONOMOUS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Project: {project_name}
Phase: {current_phase}/{total_phases}
Progress: [████░░░░░░] {percent}%
For each task in phase:
Read:
- AI-GUIDE.md (always)
- TRACKER.md (always)
- PHASE-STATE.md (current phase)
- tasks/{task}.md (current task)
- context_required files (from task)
Stack preflight:
- Identify stacks used by task
- Load stack cache summary first
- Apply stack do/don't rules during implementation
workflows/autonomous.md).in_progress in PHASE-STATE.md.{projectPrefix}-vp-p{phase}-t{task} only after steps 1–3 pass.automated:
- Run defined commands
- Check expected outputs
manual:
- Present if defined
- Ask user if required
quality_gate:
- All acceptance criteria checked
- Automated tests pass
- No lint errors
-done, next taskAfter each PASS task and PASS sub-task:
Rule: state-first then continue. Do not batch updates only at end of phase.
When all tasks done:
{projectPrefix}-vp-p{phase}-complete/vp-docsAt any control point, offer:
Display progress summary on stop.
Control-point prompts use AskUserQuestion on Claude Code (terminal).
| Adapter | Interactive Prompts | Notes |
|---|---|---|
| Claude Code (terminal) | ✅ AskUserQuestion — REQUIRED at control points | Preload schema via ToolSearch first |
| Cursor / Codex / Copilot / Antigravity | ❌ Text fallback | Plain numbered list |
Claude Code (terminal) — AUQ preload required (ENH-059):
Before the first interactive prompt, call ToolSearch with query: "select:AskUserQuestion" to load the deferred tool schema. Only after ToolSearch succeeds can AskUserQuestion be invoked. If ToolSearch returns an error, fall back to plain-text numbered list for that session.
Prompts using AskUserQuestion in this skill:
<success_criteria>
At session start, vp-auto reads PROJECT-CONTEXT.md ## Skills (locked by /vp-crystallize
Step 1E) and builds a SKILL_CONTEXT_MAP.
During each task:
skills_applied: [id@version, ...]No prompts are shown — all skill decisions are locked at crystallize time.
/vp-auto is execution-only for skills.
Install skills: vp-tools install-skill <source>
Lock decisions: /vp-crystallize Step 1E
Docs: docs/user/features/skill-registry.md