Autonomous Workflow
Iron Law
NO SKIPPING PHASES. Explore, then Plan, then Code, then Verify. Every phase produces an artifact.
Explore > Plan > Code > Verify
- EXPLORE: Agent(Explore) for unfamiliar code; independent Bash queries in one message; read referenced files. LSP:
goToDefinition from issue keywords, findReferences for impact.
- PLAN: TaskCreate per deliverable, dependencies via addBlockedBy, display the plan.
- CODE: TaskUpdate(in_progress); implement; commit incrementally (Tier 1); TaskUpdate(completed) only after the per-task gate. LSP:
hover before modifying.
- VERIFY, four mandatory layers:
a. Static: lint/test/typecheck in parallel. With
lsp.diagnosticsAsQuality, LSP diagnostics add a signal (errors P1, warnings P2), never replace CLI checks.
b. Runtime: build, start, verify; on failure enter the debug-fix-retest loop (bounded by closedLoop.maxDebugIterations).
c. Review: self-review with fix-forward; fix P1/P2 immediately.
d. Verdict: when verdict.enabled, dispatch verdict-judge with acceptance criteria + evidence bundle only (no diff, rationale, journal). Per criterion PASS/FAIL/NEEDS-HUMAN-REVIEW; FAIL enters a fix loop, NEEDS-HUMAN-REVIEW escalates.
Task-Tool Contract
TaskCreate in PLAN (one per deliverable, imperative subject, acceptance criteria in description); TaskGet before working a task; TaskUpdate(in_progress) before starting; TaskUpdate(completed) only after the per-task gate; TaskList at checkpoints.
Per-Task Verification Gate
TaskUpdate(taskId, status: "completed") is blocked until ALL hold:
- All tests pass (existing and new); otherwise the task stays
in_progress in the debug-fix-retest loop.
- The task's verification command was run and its output recorded as evidence now, not at VERIFY.
- Every modified file is classified; out-of-context files resolved (separate commit, removed, or user-approved).
- When
settings.json testing.tddMode is enforce (default), RED-GREEN-REFACTOR was observed: failing test before implementation.
Three-Tier Safety
| Tier |
Actions |
Behavior |
| 1 Autonomous |
Commits, branches, file edits, staging |
Execute |
| 2 Journal |
Push, PR creation, issue assignment |
Execute, log to journal |
| 3 Confirm |
Merge, release, force operations |
Human confirmation, always |
settings.json tiers; promotable (journal→confirm), never demotable. Full tables: references/three-tier-safety.md.
AskUserQuestion Enforcement
"Use the AskUserQuestion tool" means invoke the tool with contextual options, never plain text.
Decision Journal
- Init:
{journal-dir}/issue-{N}.md at branch creation (default .decisions/).
- Log: hooks auto-log file changes and commits; skills add timestamped entries (category, decision, rationale, risk).
- Summarize for the PR body:
public entries only; internal (security rationale, credentials, vulnerabilities) never reaches PR bodies, comments, or logs.
- Anti-estimation guard: no calendar-time estimates in entries; t-shirt sizing (S/M/L) only when asked. See
skills/llm-operator-principles/SKILL.md.
Bounded Verification
Ceilings (qualityCheckMaxIterations, closedLoop.maxDebugIterations default 5, fixForwardMaxIterations) are safety nets, not budgets. Run, fix, re-run until convergence. Halt only for genuine non-convergence (same failure across the last 3 iterations with no progress AND ceiling reached), then file a six-field escalation per skills/llm-operator-principles/SKILL.md § Genuine non-convergence. Never silently loop past the ceiling.
Stop Conditions
Plan >10 tasks for one issue: decompose first. Contradictory EXPLORE signals: ask before planning. >5 files modified without a commit: stop; tasks too large.
Closed-Loop Mandate
Fix failures yourself; never report and move on. Minimum runtime verification per project type: runtime-verification. Only markdown-only, config-only, dependency-bump-only may skip runtime checks (with the evidence that skill requires); any other skip requires a six-field escalation.
Graceful Degradation
No agent teams: sequential. No quality commands: Skill(capability-discovery), then runtime-only. No LSP: grep. No gh: git-only.
Proactive Autonomy
Try first; present 2-3 options with a recommendation, never open questions; use the six fields in references/escalation-format.md. Escalate only for: irreversible actions (Tier 3); genuinely ambiguous product/architecture decisions; out-of-whitelist runtime skips; genuine non-convergence. Never for: Tier 1/2 actions; decisions with clear policy; any P1/P2/P3 disposition (fix it — no follow-up issues in default mode); approaching a ceiling.
1---2name: autonomous-workflow3description: Execute development workflows through Explore-Plan-Code-Verify phases with task-driven tracking, Tier 1/2/3 action classification, decision journaling, and bounded debug loops. Use when executing any development workflow autonomously or orchestrating multi-step implementation tasks. This skill MUST be consulted because skipping phases causes rework, and unbounded verification loops cause agents to loop forever on unsolvable problems.4---56# Autonomous Workflow78## Iron Law910**NO SKIPPING PHASES. Explore, then Plan, then Code, then Verify. Every phase produces an artifact.**1112## Explore > Plan > Code > Verify13141. **EXPLORE**: Agent(Explore) for unfamiliar code; independent Bash queries in one message; read referenced files. LSP: `goToDefinition` from issue keywords, `findReferences` for impact.152. **PLAN**: TaskCreate per deliverable, dependencies via addBlockedBy, display the plan.163. **CODE**: TaskUpdate(in_progress); implement; commit incrementally (Tier 1); TaskUpdate(completed) only after the per-task gate. LSP: `hover` before modifying.174. **VERIFY**, four mandatory layers:18 a. **Static**: lint/test/typecheck in parallel. With `lsp.diagnosticsAsQuality`, LSP diagnostics add a signal (errors P1, warnings P2), never replace CLI checks.19 b. **Runtime**: build, start, verify; on failure enter the debug-fix-retest loop (bounded by `closedLoop.maxDebugIterations`).20 c. **Review**: self-review with fix-forward; fix P1/P2 immediately.21 d. **Verdict**: when `verdict.enabled`, dispatch verdict-judge with acceptance criteria + evidence bundle only (no diff, rationale, journal). Per criterion PASS/FAIL/NEEDS-HUMAN-REVIEW; FAIL enters a fix loop, NEEDS-HUMAN-REVIEW escalates.2223## Task-Tool Contract2425TaskCreate in PLAN (one per deliverable, imperative subject, acceptance criteria in description); TaskGet before working a task; TaskUpdate(in_progress) before starting; TaskUpdate(completed) only after the per-task gate; TaskList at checkpoints.2627## Per-Task Verification Gate2829`TaskUpdate(taskId, status: "completed")` is blocked until ALL hold:30311. All tests pass (existing and new); otherwise the task stays `in_progress` in the debug-fix-retest loop.322. The task's verification command was run and its output recorded as evidence now, not at VERIFY.333. Every modified file is classified; out-of-context files resolved (separate commit, removed, or user-approved).344. When `settings.json` `testing.tddMode` is `enforce` (default), RED-GREEN-REFACTOR was observed: failing test before implementation.3536## Three-Tier Safety3738| Tier | Actions | Behavior |39|------|---------|----------|40| **1** Autonomous | Commits, branches, file edits, staging | Execute |41| **2** Journal | Push, PR creation, issue assignment | Execute, log to journal |42| **3** Confirm | Merge, release, force operations | Human confirmation, always |4344`settings.json` `tiers`; promotable (journal→confirm), never demotable. Full tables: `references/three-tier-safety.md`.4546## AskUserQuestion Enforcement4748"Use the AskUserQuestion tool" means invoke the tool with contextual options, never plain text.4950## Decision Journal5152- **Init**: `{journal-dir}/issue-{N}.md` at branch creation (default `.decisions/`).53- **Log**: hooks auto-log file changes and commits; skills add timestamped entries (category, decision, rationale, risk).54- **Summarize** for the PR body: `public` entries only; `internal` (security rationale, credentials, vulnerabilities) never reaches PR bodies, comments, or logs.55- **Anti-estimation guard**: no calendar-time estimates in entries; t-shirt sizing (S/M/L) only when asked. See `skills/llm-operator-principles/SKILL.md`.5657## Bounded Verification5859Ceilings (`qualityCheckMaxIterations`, `closedLoop.maxDebugIterations` default 5, `fixForwardMaxIterations`) are safety nets, not budgets. Run, fix, re-run until convergence. Halt only for **genuine non-convergence** (same failure across the last 3 iterations with no progress AND ceiling reached), then file a six-field escalation per `skills/llm-operator-principles/SKILL.md` § Genuine non-convergence. Never silently loop past the ceiling.6061## Stop Conditions6263Plan >10 tasks for one issue: decompose first. Contradictory EXPLORE signals: ask before planning. >5 files modified without a commit: stop; tasks too large.6465## Closed-Loop Mandate6667Fix failures yourself; never report and move on. Minimum runtime verification per project type: `runtime-verification`. Only `markdown-only`, `config-only`, `dependency-bump-only` may skip runtime checks (with the evidence that skill requires); any other skip requires a six-field escalation.6869## Graceful Degradation7071No agent teams: sequential. No quality commands: `Skill(capability-discovery)`, then runtime-only. No LSP: grep. No gh: git-only.7273## Proactive Autonomy7475Try first; present 2-3 options with a recommendation, never open questions; use the six fields in `references/escalation-format.md`. Escalate only for: irreversible actions (Tier 3); genuinely ambiguous product/architecture decisions; out-of-whitelist runtime skips; genuine non-convergence. Never for: Tier 1/2 actions; decisions with clear policy; any P1/P2/P3 disposition (fix it — no follow-up issues in default mode); approaching a ceiling.