skills/do-task-solo/SKILL.md
Work on a user-described task end-to-end autonomously using local task files instead of GitHub issues. The user describes what they want interactively, and Claude formalises, designs, plans, and implements it.
npx skillsauth add thermiteau/maverick do-task-soloInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Depends on: mav-scope-boundaries, mav-git-workflow, mav-create-solution-design, mav-create-tasks, mav-plan-execution, mav-local-verification, mav-bp-cicd, mav-claude-code-recovery, mav-bp-logging, mav-bp-alerting, mav-systematic-debugging, do-pullrequest-review
Work on a user-described task autonomously. All artifacts (task description, solution design, tasks, progress) are stored locally under .maverick/do-task/ instead of on GitHub. Follow every phase in order. Do not skip phases. Only pause to ask the user when you are blocked or need clarification.
All task artifacts live under .maverick/do-task/<TASK-ID>/. The task ID is a zero-padded sequential number (e.g., TASK-001, TASK-002).
.maverick/do-task/
TASK-001/
task.md # Formalised task description (the "issue")
solution-design.md # Solution design
tasks.md # Task checklist
state.json # Phase and progress tracking
completion.md # Completion summary
mkdir -p .maverick/do-task
# Determine next task ID
LAST=$(ls -1 .maverick/do-task/ 2>/dev/null | grep '^TASK-' | sort -V | tail -1 | sed 's/TASK-0*//')
NEXT=$((${LAST:-0} + 1))
TASK_ID=$(printf "TASK-%03d" $NEXT)
TASK_DIR=".maverick/do-task/$TASK_ID"
mkdir -p "$TASK_DIR"
Before creating any files, ensure the task state file is gitignored (task documents themselves are committed so they survive across sessions):
grep -q '.maverick/do-task/*/state.json' .gitignore 2>/dev/null || echo '.maverick/do-task/*/state.json' >> .gitignore
Maintain state.json to track progress across sessions. This file is gitignored.
{
"task_id": "TASK-001",
"branch": null,
"phase": "understand|design|tasks|branch|implement|review|complete",
"created": "2026-03-10T12:00:00Z"
}
Capture the user's request as a structured task document. This replaces the GitHub issue.
Write .maverick/do-task/<TASK-ID>/task.md:
# <Concise task title>
## Description
<What the user wants, written clearly and completely. Include context, motivation, and any background the user provided.>
## Acceptance Criteria
- [ ] <Criterion 1 — specific, verifiable>
- [ ] <Criterion 2>
- [ ] <Criterion N>
## Constraints
<Any constraints mentioned by the user — performance, compatibility, scope limits, etc. Omit section if none.>
---
*Task ID: TASK-001 | Created: 2026-03-10*
Rules for formalising:
Update state.json phase to understand.
Run Phase 2 as a subagent to keep the main context window clean for implementation.
task.md (instead of an issue number)solo.maverick/do-task/<TASK-ID>/solution-design.md instead of posting a GitHub commentsolution-design.md exists and follows the solution design structure (Approach, Areas Affected, Key Decisions, Risks, Acceptance Criteria Mapping)state.json has phase set to designThe design document follows the same structure as the mav-create-solution-design skill, written to solution-design.md instead of a GitHub comment.
Run Phase 3 as a subagent to keep the main context window clean for implementation.
solution-design.md.maverick/do-task/<TASK-ID>/tasks.mdtasks.md exists and contains a checkbox-format task liststate.json has phase set to tasks<type>/<task-id>-<short-desc> (e.g., feat/TASK-001-add-export). Follow the mav-git-workflow skill for type prefixes.develop).task.md, solution-design.md, tasks.md) so they are tracked in version control.state.json: set branch and phase to branch.docs/maverick/skills/. For each topic directory that contains a SKILL.md, read it. These project skills provide codebase-specific guidance (libraries, patterns, configuration) that supplements the best-practice skills. If none exist, continue without them.state.json phase to implement.Read the task list from tasks.md and execute each task in order:
tasks.md: check off the completed task (- [ ] to - [x]) and commit the updateFollow the mav-plan-execution skill for the execution loop, verification discipline, failure handling, and crash recovery. In solo mode, it will work autonomously — only pausing when genuinely blocked.
task.md) and the diff (git diff develop...HEAD).solution-design.md and tasks.md.state.json phase to review.git diff develop...HEAD --name-only to identify all changed files.docs/:
git diff develop...HEAD).maverick/do-task/<TASK-ID>/completion.md:# Completion: <Task title>
**Task ID:** TASK-001
**Branch:** `feat/TASK-001-add-export`
## Changes Made
- <Summary of what was implemented>
## Verification
- [x] Linting passes
- [x] Tests pass
- [x] Acceptance criteria met
## Acceptance Criteria Status
- [x] <Criterion 1> — implemented in <file/commit>
- [x] <Criterion 2> — implemented in <file/commit>
---
*Completed: 2026-03-10*
state.json phase to complete.gh pr create --title "<concise title>" --body "$(cat <<PR_EOF
## Summary
<1-3 bullet points>
Task: $TASK_ID (see \`.maverick/do-task/$TASK_ID/\`)
## Test Plan
- [ ] <verification steps>
---
*Created by Claude Code*
PR_EOF
)"
When resuming work on a task (new session, after crash):
.maverick/do-task/ for any task with a state.json where phase is not complete.tasks.md checkboxes with git log to detect progress that wasn't recorded.main or develop.feat: add rubric export (TASK-001)).task.md, solution-design.md, tasks.md, completion.md) to version control so they are available for review and survive across sessions. Only state.json is gitignored.development
--- name: do-test description: Write or update tests for a code change. Operates in two modes: `unit` (module-scoped, fast, deterministic) and `integration` (crosses module / service / database boundaries). Intended to be invoked once per testable change from inside a do-issue-* or do-epic phase. Mode is required. argument-hint: mode: unit or integration user-invocable: true disable-model-invocation: false --- **Depends on:** mav-bp-unit-testing, mav-bp-integration-testing, mav-local-verificati
development
Implement a focused code change. Use this skill as the wrapper for any implementation work so the Maverick workflow report captures what was done and so the agent applies the project's coding standards before editing. Intended to be invoked once per task from inside a do-issue-* or do-epic phase, not standalone.
documentation
Durability conventions for multi-instance Maverick workflows. Covers cold-start hydration from GitHub, marker-write protocols, push-per-task cadence, and recreating worktrees from remote branches. GitHub is the source of truth; local files are a cache.
development
Mandatory remote code review on every pull request. Defines the contract for a GitHub Actions workflow that runs the agent-code-reviewer in CI when a PR is opened, synchronized, or reopened. Used as a dependency by do-issue-solo and do-epic to enforce the review gate, and by do-maverick-alignment to audit the workflow's presence.