skills/do-code/SKILL.md
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.
npx skillsauth add thermiteau/maverick do-codeInstall 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-bp-error-handling, mav-bp-logging, mav-bp-application-security, mav-local-verification, mav-scope-boundaries, mav-systematic-debugging
Wraps implementation work in a Maverick skill so the workflow report
records what was done and the agent applies the project's coding
standards before editing. Invoke this skill once per task from
inside do-issue-solo / do-issue-guided /
do-epic Phase 5. The argument is a one-line task
description that gets logged in the report.
This skill is a thin wrapper. The actual edits are made by the orchestrating Claude Code session using its built-in tools (Read, Edit, Write, Bash, Grep). The skill's job is to pin standards and scope, not to perform the edits in a subagent.
Before doing anything else, check for repo-specific coding guidance at
docs/maverick/skills/do-code.md (path relative to the repo root).
Run this first. If it exits non-zero, halt and report the stderr output to the user verbatim. Do not proceed.
uv run maverick preflight do-code
The check verifies the project is initialised and uv is on PATH.
Before editing, read and follow:
mav-scope-boundaries — implement only what ``
asks for. No unrelated cleanup, no opportunistic refactors, no
abstractions for hypothetical future requirements. Three similar
lines is better than a premature abstraction.mav-bp-error-handling — error handling at system
boundaries only (user input, external APIs). Don't catch what
framework guarantees rule out. No defensive code for scenarios that
can't happen.mav-bp-logging — log levels, structured fields, and
the project's logging conventions.mav-bp-application-security — input validation, secret
handling, authn/authz patterns. If the change touches any of these,
surface the design choice in your verification.Also read any project-level skills at docs/maverick/skills/ —
topic-specific guidance for this codebase that supplements the
maverick-wide best practices.
mav-local-verification (lint,
typecheck, tests). Run the project's verification commands.mav-systematic-debugging and fix. Do not paper over
a failing test or silence a lint warning. Do not commit red.git push --force,
git reset --hard, rm -rf, drop tables, or delete data. If the
task description doesn't explicitly authorise a destructive step,
treat it as out of scope and ask.do-test as a sibling call before the commit).do-code is a subroutine of the calling workflow's
per-task loop — not a terminal action. Returning from this skill is a
hand-back to the caller's next numbered step, not a completion event
(#106).
When you return from this skill, do not post a closing summary, do not stop, do not treat verification-green as "task done." The calling workflow's loop still owns, in order:
skill-dispatch interval that wrapped this invocation
(uv run maverick report end skill-dispatch … --outcome success).do-test for tests that
weren't folded into this skill.uv run maverick report commit …).If you find yourself drafting a final summary after returning here,
that is the signal: scroll back to the calling workflow's per-task
loop and resume from the step immediately after the
/do-code invocation.
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
testing
How to stack a PR on top of an unmerged sibling branch, and how to retarget it to the repo's default branch once the sibling merges. Prevents orphan-merge incidents when a dependent story is ready before its parent.
development
Claim, lease, heartbeat, and release protocols for when multiple Claude Code instances may act on the same issue or epic concurrently. GitHub labels and marker comments are the coordination surface; local state is a cache.
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.