From maverick
Scans a project for missing best-practice areas (linting, unit testing) and implements the top recommendation for each gap. Supports recommend mode to write recommendations without installing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/maverick:do-adopt [recommend] [topic] (optional — omit for all topics; 'recommend' skips implementation)[recommend] [topic] (optional — omit for all topics; 'recommend' skips implementation)The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scan the current project for missing best-practice areas and **implement the top recommendation** for each gap — or, in recommend mode, stop after producing recommendations without installing anything.
Scan the current project for missing best-practice areas and implement the top recommendation for each gap — or, in recommend mode, stop after producing recommendations without installing anything.
$ARGUMENTS may contain a topic name, the word recommend, or both:
<topic> — adopt that one topic only.recommend [<topic>] — recommend-only mode: perform the same
detection and analysis, write the recommendation as a
status: recommended project skill (see step 5R), and implement
nothing. This replaces the old standalone do-recommend skill.Do not prompt the user for which topics to process.
| Topic | Best-Practice Skill |
|---|---|
| linting | mav-bp-linting |
| unit-testing | mav-bp-testing |
Detection hints for each topic come from the shared registry —
${CLAUDE_PLUGIN_ROOT}/skills/do-upskill/topics.json (scanHints per
topic). Do not maintain a separate detection list here.
For each topic:
Apply the topic's scanHints (dependencies, grep patterns, file globs)
plus a check for CI steps that run the tool. If the practice is
already implemented (configs exist, dependencies present, actively
used), 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
(${CLAUDE_PLUGIN_ROOT}/skills/<skill-name>/SKILL.md) to understand the
recommended tools and configuration standards for the detected stack.
If docs/maverick/skills/<topic>/SKILL.md exists with
status: recommended frontmatter (written by do-upskill
or a prior recommend-mode run), read it and use its recommended stack —
do not re-analyse. There is exactly one recommendation artifact
format: the project-skill file. Never write a separate
docs/maverick/recommendations/ document.
Pick the best-fit tool for the stack (1 option when there is a clear
winner — e.g. Ruff for Python, ESLint for TypeScript; name up to 2
genuinely competitive alternatives and their trade-offs in the Patterns
section). Write it as a status: recommended project skill at
docs/maverick/skills/<topic>/SKILL.md, using
do-upskill's mandatory output structure (Stack /
Configuration / Patterns / File Locations, prose only, under 100 lines).
Then stop — no installation, no commits.
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)Rewrite docs/maverick/skills/<topic>/SKILL.md as a factual project
skill describing what is now implemented (drop the
status: recommended field), per do-upskill's output
structure. This keeps the single artifact current.
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.
status: recommended project skill; never a parallel recommendations documentnpx claudepluginhub thermiteau/maverick --plugin maverickGenerates project-specific implementation skills by scanning codebases for any topic, producing SKILL.md files with concrete technology usage, configuration, and code locations.
Bootstraps new projects or improves existing ones with best practices for structure, git, documentation, testing, code quality, dependencies, dev workflow, and CI/CD.
Bootstraps new projects interactively (Node/TS scripted, others manual) or adds enforcement tooling (TDD, secret scanning, file limits, git hooks, CLAUDE.md) to existing projects.