com um clique
do-adopt
Scan a project for missing best-practice areas and implement the top recommendation for each gap. Currently covers linting and unit testing. Installs tools, writes configs, and adds CI steps.
Menu
Scan a project for missing best-practice areas and implement the top recommendation for each gap. Currently covers linting and unit testing. Installs tools, writes configs, and adds CI steps.
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.
Run a security audit of the project's existing codebase and write a findings report to docs/security-audit.md. Covers secrets exposure, dependency vulnerabilities, authentication and authorisation patterns, input validation, transport security, and common OWASP risks. Run as part of do-init or on demand.
Create, restructure, or update technical documentation. Handles greenfield projects, refactoring non-compliant docs, and incremental updates after code changes.
Work on a multi-story GitHub epic end-to-end. Builds a DAG from the child stories, groups them into waves, runs waves in parallel via per-story worktrees, ejects PRs that fail agent-code-review for human handling, and propagates blocks to downstream stories. Requires git worktrees.
Initialise a project for use with Maverick — verifies the GitHub App, installs the CLI if needed, writes the project config with integration tracking, scaffolds docs, generates project skills, runs an initial cybersecurity audit, then commits the changes and opens a PR.
Install the maverick CLI tool system-wide from the plugin directory.
| name | do-adopt |
| description | Scan a project for missing best-practice areas and implement the top recommendation for each gap. Currently covers linting and unit testing. Installs tools, writes configs, and adds CI steps. |
| argument-hint | topic to adopt (optional — processes all topics if omitted) |
| user-invocable | true |
| disable-model-invocation | false |
Depends on: do-recommend, mav-bp-linting, mav-bp-unit-testing, mav-git-workflow, mav-local-verification
Scan the current project for missing best-practice areas and implement the top recommendation for each gap. This is the action counterpart to do-recommend — instead of listing options, it installs and configures the best-fit tool directly.
| Topic | Best-Practice Skill | What to detect |
|---|---|---|
| linting | mav-bp-linting | Linter configs, formatter configs, lint scripts, pre-commit hooks |
| unit-testing | mav-bp-unit-testing | Test frameworks, test runners, coverage tools, test files |
When invoked, process all topics in the table above unless `` names a specific topic — in that case process only that topic. Do not prompt the user for which topics to process.
For each topic:
Use the same detection logic as do-recommend:
Linting:
eslint.config.*, .eslintrc*, .prettierrc*, prettier.config.*, ruff.toml, pyproject.toml [tool.ruff], .golangci.yml, .stylelintrc*eslint, prettier, ruff, clippy, golangci-lint, rubocop, stylelintUnit testing:
jest.config.*, vitest.config.*, pytest.ini, pyproject.toml [tool.pytest], setup.cfg [tool:pytest]vitest, jest, mocha, pytest, unittest, junit, rspec**/*.test.*, **/*.spec.*, **/test_*.*If the practice is already implemented, skip the topic. Print: <topic>: already implemented, skipping.
Determine the primary language(s) and framework(s) by reading:
package.json (Node/JS/TS, look at framework deps like react, vue, express, etc.)pyproject.toml / requirements.txt (Python)go.mod (Go)Cargo.toml (Rust)build.gradle.kts / pom.xml (JVM)Read the corresponding best-practice skill (e.g., skills/mav-bp-linting/SKILL.md) to understand the recommended tools and configuration standards for the detected stack.
If docs/maverick/recommendations/<topic>.md exists and has status: pending, read it and use the top recommendation (the one marked "Recommended"). This avoids re-analysing the stack when do-recommend was already run.
If no recommendation file exists, determine the top recommendation directly from the best-practice skill's language-specific defaults table.
Install and configure the recommended tool. Follow the best-practice skill's standards precisely.
For linting — implement all of:
eslint.config.js with flat config for TS/JS, ruff.toml for Python). Follow the error-only policy from the best-practice skill.lint and format (or equivalent) scripts to the project's script runner (package.json scripts, Makefile, pyproject.toml scripts)For unit testing — implement all of:
vitest.config.ts for Vite projects, jest.config.js for other JS/TS, pyproject.toml [tool.pytest] for Python)test script (and test:coverage if the framework supports it)If a recommendation file exists at docs/maverick/recommendations/<topic>.md, update its status from pending to adopted. If no recommendation file exists, create one with status: adopted using the same structure as do-recommend but with only the implemented option.
Create a conventional commit for each topic adopted:
chore: adopt <tool-name> for <topic> (<topic>)
Follow the mav-git-workflow skill for commit conventions. Do not push — the user will review and push.