skills/tech-docs/SKILL.md
Create or update technical documentation for a project. Covers architecture, service interactions, data flows, and design decisions. Produces professional markdown with Mermaid diagrams.
npx skillsauth add thermiteau/maverick-private tech-docsInstall 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.
Produce technical documentation that explains what systems do, how they interact, and why specific choices were made.
Primary audience: LLMs. These docs will be loaded into LLM context windows during development tasks. Every token must earn its place. Write for machine comprehension first — dense, precise, and structurally consistent. Avoid prose padding, narrative flow, and filler sentences that a human might appreciate but an LLM gains nothing from.
Avoid documenting business processes or product capabilities.
digraph docs {
"Understand the request" [shape=box];
"Explore the codebase" [shape=box];
"Identify scope" [shape=box];
"Write documentation" [shape=box];
"Validate accuracy" [shape=diamond];
"Done" [shape=box];
"Revise" [shape=box];
"Understand the request" -> "Explore the codebase";
"Explore the codebase" -> "Identify scope";
"Identify scope" -> "Write documentation";
"Write documentation" -> "Validate accuracy";
"Validate accuracy" -> "Done" [label="accurate"];
"Validate accuracy" -> "Revise" [label="gaps found"];
"Revise" -> "Validate accuracy";
}
Clarify what needs documenting:
Before writing anything, read the relevant source code:
Determine the documentation boundary:
Follow the structure and standards below.
Cross-reference every factual claim with the source code. If you cannot verify something, say so rather than guessing.
When documenting a full project (not a single component), include a brief onboarding section in architecture-overview.md or a dedicated getting-started.md:
Keep to under 20 lines. This is the one context where CLI commands are acceptable.
Every document must start with a YAML frontmatter block. This gives an LLM immediate context about what the document covers without reading the full body.
---
title: <descriptive title>
scope: <component | service | architecture | decision>
relates-to: [list of other doc filenames this connects to]
last-verified: <YYYY-MM-DD when last checked against source code>
---
## Overview
<1-2 sentences: what this covers, stated as facts not narrative.>
## <Core Content>
<Main documentation. Use H2/H3 headings as section labels. Prefer bullet points and tables over paragraphs. Each section should be independently useful — an LLM may retrieve a single section, not the whole document.>
## Integration Points
<How this component connects to others. Include a Mermaid diagram.>
## Design Decisions
<Decision: rationale format. No preamble.>
Docs are loaded into LLM context alongside code, conversation history, and tool results. Context is finite and expensive.
docs/technical/kebab-case.md naming (e.g. authentication-architecture.md)relates-to in frontmatterindex.md in docs/technical/ listing all documents with one-line descriptions — this serves as the entry point for LLM context loading| Task size | Documentation depth | | ----------------------------------- | -------------------------------------------------- | | Trivial (config, minor change) | 2-3 sentences in an existing doc or commit message | | Small (single component) | Overview + core content (under 200 lines) | | Medium (feature, service) | Full document structure (200-500 lines) | | Large (cross-cutting, architecture) | Split into multiple focused documents |
Scale section depth to component complexity. Indicators that a component needs deeper coverage:
For these components, document each distinct responsibility separately rather than summarising the whole.
Use diagrams to visualise:
sequenceDiagram or flowchartflowchart or sequenceDiagramflowchart or C4ContextstateDiagram-v2Guidelines:
key: value patterns, bullet lists, and tables. Reserve prose for explaining why — rationale that cannot be expressed as a list.Before finalising documentation:
docs/technical/index.md updated if this is a new documentdevelopment
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.
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.