skills/mav-bp-code-review/SKILL.md
Code review conventions for all projects. Covers mandatory review requirements, review scope, PR sizing, reviewer and author responsibilities, and automated review integration. Applied when creating or reviewing pull requests.
npx skillsauth add thermiteau/maverick mav-bp-code-reviewInstall 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.
Ensure all code changes are reviewed before merging. Reviews catch defects, share knowledge, and maintain codebase quality. Optimise for small, focused pull requests with timely, constructive feedback.
do-cybersecurity-review as a pre-push gatemain)Every review should evaluate the change against these dimensions:
| Dimension | What to check | | ------------------ | ----------------------------------------------------------------------------------------------------- | | Correctness | Does the code do what it claims? Are edge cases handled? Are assumptions documented? | | Maintainability | Is the code readable? Are names clear? Is complexity justified? Will the next developer understand it? | | Test coverage | Are new code paths tested? Are edge cases covered? Do tests actually assert meaningful outcomes? | | Documentation | Are public APIs documented? Are non-obvious decisions explained? Is the PR description clear? |
Security is out of scope for the PR review process. It runs as a separate pre-push gate via do-cybersecurity-review (in update mode against the diff and impact set) before the PR is opened. By the time a reviewer sees a PR, security findings have already been surfaced and folded into the PR body.
| Size | Lines changed | Review quality | Recommendation | | ----------------- | ------------- | -------------- | --------------------------------------------- | | Small | < 100 | Excellent | Ideal. Aim for this size. | | Medium | 100 - 400 | Good | Acceptable for most feature work. | | Large | 400 - 800 | Declining | Split if possible. Flag to reviewers. | | Too large | > 800 | Poor | Must split. Reviewers cannot effectively review this. |
| Action | Target | | ------------------------------ | ------------------------- | | First review comment | Within 1 business day | | Follow-up after author responds | Within 4 business hours | | Final approval | Within 2 business days of PR creation |
If a review will be delayed, communicate proactively. A quick "I'll review this tomorrow" is better than silence.
Automated tools handle mechanical checks so human reviewers can focus on design and logic:
| Tool | What it catches | | -------------------------------------------- | ---------------------------------------------------- | | Linters | Style violations, unused imports, formatting | | Type checkers | Type mismatches, null safety, missing returns | | Test suites | Regressions, broken functionality | | AI code review (agent-code-reviewer) | Spec compliance, correctness, test coverage, maintainability | | AI security review (do-cybersecurity-review) | Pre-push gate scoped to changed code + impact set |
Human review time is expensive. Do not spend it on issues that automated tools handle:
getData should be fetchData| Pattern | Issue | Fix | | ------------------------------------------------- | ---------------------------------- | ---------------------------------------------------- | | PR merged without any review | No review gate | Enable branch protection requiring approvals | | PR with 1000+ lines changed | Too large to review effectively | Split into smaller, focused PRs | | Review pending for 3+ business days | SLA violation | Escalate or reassign reviewer | | All review comments are style nits | Wasted review effort | Configure linters to catch style; focus on logic | | Reviewer approves without comments on large PR | Rubber-stamp review | Reviewers must demonstrate understanding of the change | | Author pushes "fix review" commits without context | Lost review trail | Explain what was changed in response to which comment | | Self-approval on protected branch | Missing review gate | Configure branch protection to disallow self-approval | | Skipping CI to merge faster | Bypassing quality gates | CI must pass; fix failures, do not skip them |
<!-- maverick-plugin-version: 3.3.7 -->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.
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.