skills/upskill/SKILL.md
Use when a best-practice skill needs project-specific implementation details and no project skill exists at docs/maverick/skills/<topic>/SKILL.md. Scans the codebase and generates a project-specific skill file.
npx skillsauth add thermiteau/maverick-private upskillInstall 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.
Scan the current project's codebase for a given topic and produce a project-specific skill file at docs/maverick/skills/<topic>/SKILL.md.
Primary audience: LLMs. The generated skill is project implementation and usage guidance — what technology is used, how it's configured, and where the code lives. It is NOT best practices (the maverick best-practice skill handles that). Keep it dense, factual, and under 500 lines.
When invoked (via /upskill or the Skill tool), process all topics listed in skills/upskill/topics.json without prompting the user. Do not present a list of choices or ask which topics to generate — iterate through every entry in the JSON array and generate a project skill for each one.
For each topic entry in topics.json:
topic, prompt, and bestPracticeSkill fieldsdocs/maverick/skills/<topic>/SKILL.mdUse subagents or parallel agents to process multiple topics concurrently when possible.
Each topic entry in topics.json provides:
Additionally, the default scan hints below are used to find code patterns.
digraph generate {
"Receive topic + scan hints" [shape=box];
"Check dependency files" [shape=box];
"Grep for code patterns" [shape=box];
"Glob for relevant files" [shape=box];
"Read discovered files" [shape=box];
"Technology found?" [shape=diamond];
"Write full project skill" [shape=box];
"Write recommended skill from best practice" [shape=box];
"Receive topic + scan hints" -> "Check dependency files";
"Check dependency files" -> "Grep for code patterns";
"Grep for code patterns" -> "Glob for relevant files";
"Glob for relevant files" -> "Read discovered files";
"Read discovered files" -> "Technology found?";
"Technology found?" -> "Write full project skill" [label="yes"];
"Technology found?" -> "Write recommended skill from best practice" [label="no"];
}
Search for topic-related packages in:
package.json (dependencies, devDependencies)pyproject.toml (dependencies, optional-dependencies)requirements.txtbuild.gradle.ktsgo.modCargo.tomlUse the scan hints grep patterns to find relevant code. If no scan hints provided, use the defaults for the topic.
Use the scan hints file patterns to find relevant files by name.
Read the files found in steps 2-3 to understand:
Write SKILL.md to docs/maverick/skills/<topic>/SKILL.md using the Write tool (which creates parent directories automatically). Do NOT use mkdir via Bash.
Every generated project skill MUST use this exact structure:
---
title: <Topic> — Project Implementation
topic: <topic-name>
last-verified: <YYYY-MM-DD>
---
## Stack
<What technology/library/service is used. Be specific: name, version if detectable.>
## Configuration
<How it's configured: env vars, config files, initialisation patterns. Describe in prose, no code.>
## Patterns
<Established conventions in this codebase. How the team uses this technology.>
## File Locations
<Specific file paths where the relevant code lives.>
If scanning finds no existing implementation for the topic, generate a recommended implementation skill based on the best-practice skill for that topic and the project's codebase.
digraph not_found {
"No implementation found" [shape=box];
"Best-practice skill exists?" [shape=diamond];
"Analyse codebase context" [shape=box];
"Write recommended skill" [shape=box];
"Write minimal stub" [shape=box];
"No implementation found" -> "Best-practice skill exists?";
"Best-practice skill exists?" -> "Analyse codebase context" [label="yes"];
"Best-practice skill exists?" -> "Write minimal stub" [label="no"];
"Analyse codebase context" -> "Write recommended skill";
}
skills/mav-bp-logging/SKILL.md)Use the same mandatory output structure but with recommended content:
---
title: <Topic> — Project Implementation
topic: <topic-name>
last-verified: <YYYY-MM-DD>
status: recommended
---
## Stack
<Recommended technology/library based on the project's stack and best-practice guidance. Be specific: name the library and explain why it fits this project.>
## Configuration
<Recommended configuration approach based on the project's patterns — env vars, config files, initialisation. Reference the best-practice standards.>
## Patterns
<Recommended usage patterns tailored to this codebase's framework and structure. Describe how the team should use this technology.>
## File Locations
<Recommended file locations following the project's existing directory conventions.>
The status: recommended frontmatter field distinguishes generated recommendations from skills based on detected implementations. Users can review and edit the generated skill, then remove the status field once they've adopted it.
If no best-practice skill exists for the topic, write a minimal stub:
---
title: <Topic> — Project Implementation
topic: <topic-name>
last-verified: <YYYY-MM-DD>
status: stub
---
## Stack
No <topic> implementation detected. No best-practice skill available to generate recommendations.
## Configuration
N/A
## Patterns
N/A
## File Locations
N/A
When no scan hints are provided by the calling skill, use these defaults:
createLogger|getLogger|logger\.|console\.error|LOG_LEVEL|logging\.basicConfig**/logger.*, **/logging.*sendAlert|publish|PagerDuty|Opsgenie|alertService|notify|Sentry\.capture**/alert*.*, **/notify*.*describe\(|it\(|test\(|expect\(|assert|@Test|func Test**/*.test.*, **/*.spec.*, **/test_*.*workflow_dispatch|on:\s+push|pipeline|stage|job|trigger:|pool:|vmImage:.github/workflows/*.yml, .github/workflows/*.yaml, .gitlab-ci.yml, azure-pipelines.yml, Jenkinsfile, .circleci/config.yml, buildkite.yml, .buildkite/**/*.yml, bitbucket-pipelines.yml, .travis.yml, cloudbuild.yaml, appveyor.ymlcreateConnection|getRepository|prisma\.|db\.|migrate|schema**/schema.*, **/migration*, **/database.*, **/db.*eslint|prettier|ruff|lint-staged|formatOnSave|"lint":|"format":eslint.config.*, .eslintrc*, .prettierrc*, prettier.config.*, ruff.toml, .golangci.yml, .stylelintrc*testing
Create or update technical documentation for a project. Covers architecture, service interactions, data flows, and design decisions. Produces professional markdown with Mermaid diagrams.
development
How to process code review feedback — verify before implementing, push back when wrong, clarify before acting on partial understanding. Applied when receiving review from the code-reviewer agent or human reviewers.
development
Analyze a project's codebase against Maverick standard practices and write a findings report. Checks linting, unit tests, integration tests, documentation, and CI/CD. Run when onboarding an existing project or on demand.
development
Use when encountering any bug, test failure, or unexpected behaviour during implementation. Requires root cause investigation before proposing fixes.