mkdocs
Build documentation sites with MkDocs and Material for MkDocs. Use when a user asks to create project documentation, configure MkDocs themes, add search and navigation, deploy docs to GitHub Pages, or customize Markdown extensions.
Usage
Getting Started
- Install the skill using the command above
- Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
- Reference the skill in your prompt
- The AI will use the skill's capabilities automatically
Example Prompts
- "Review the open pull requests and summarize what needs attention"
- "Generate a changelog from the last 20 commits on the main branch"
Documentation
Overview
You are an expert in MkDocs with the Material theme, the Python-powered documentation site generator. You help developers build documentation from Markdown with auto-navigation, search, versioning, and Material Design styling. MkDocs Material is the most popular documentation theme on GitHub, used by FastAPI, Pydantic, and hundreds of open-source projects.
Instructions
Setup
pip install mkdocs-material
mkdocs new my-docs && cd my-docs
mkdocs serve # Live preview at localhost:8000
mkdocs build # Generate static site
Configuration
# mkdocs.yml — Full configuration
site_name: My SDK Documentation
site_url: https://docs.example.com
repo_url: https://github.com/org/repo
repo_name: org/repo
theme:
name: material
palette:
- scheme: default
primary: indigo
accent: indigo
toggle:
icon: material/brightness-7
name: Switch to dark mode
- scheme: slate
primary: indigo
accent: indigo
toggle:
icon: material/brightness-4
name: Switch to light mode
features:
- navigation.instant # SPA-like navigation
- navigation.tracking # URL updates as you scroll
- navigation.tabs # Top-level tabs
- navigation.sections # Group sidebar items
- navigation.expand # Auto-expand sidebar sections
- navigation.top # Back to top button
- search.suggest # Search suggestions
- search.highlight # Highlight search terms
- content.code.copy # Copy button on code blocks
- content.code.annotate # Code annotations
- content.tabs.link # Linked content tabs
- announce.dismiss # Dismissible announcements
plugins:
- search
- tags
- social # Auto-generate social cards
markdown_extensions:
- admonition # Callout boxes
- pymdownx.details # Collapsible callouts
- pymdownx.superfences # Nested code blocks, Mermaid
- pymdownx.tabbed:
alternate_style: true # Content tabs
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
- attr_list
- md_in_html
- toc:
permalink: true
nav:
- Home: index.md
- Getting Started:
- Installation: guide/installation.md
- Quick Start: guide/quickstart.md
- Configuration: guide/configuration.md
- API Reference:
- Client: api/client.md
- Authentication: api/auth.md
- Changelog: changelog.md
Markdown Features (Material Theme)
## Admonitions (Callout Boxes)
!!! note "Custom Title"
This is a note with a custom title.
!!! warning
This is a warning. Pay attention.
!!! tip "Pro Tip"
Use admonitions to highlight important information.
!!! danger "Breaking Change"
This API is deprecated and will be removed in v3.0.
??? info "Click to expand"
This is a collapsible admonition.
## Content Tabs
=== "Python"
```python
import my_sdk
client = my_sdk.Client(api_key="xxx")
```
=== "JavaScript"
```javascript
import { Client } from "my-sdk";
const client = new Client({ apiKey: "xxx" });
```
=== "cURL"
```bash
curl -H "Authorization: Bearer xxx" https://api.example.com/v1/users
```
## Code Annotations
```python
client = Client(
api_key="xxx", # (1)!
timeout=30, # (2)!
retry=True, # (3)!
)
- Get your API key from the dashboard
- Timeout in seconds. Default is 60.
- Automatically retry on 429 and 5xx errors
## Installation
```bash
pip install mkdocs-material
Examples
Example 1: User asks to set up mkdocs
User: "Help me set up mkdocs for my project"
The agent should:
- Check system requirements and prerequisites
- Install or configure mkdocs
- Set up initial project structure
- Verify the setup works correctly
Example 2: User asks to build a feature with mkdocs
User: "Create a dashboard using mkdocs"
The agent should:
- Scaffold the component or configuration
- Connect to the appropriate data source
- Implement the requested feature
- Test and validate the output
Guidelines
- Material theme — Always use
mkdocs-material; the default theme is functional but Material is beautiful and feature-rich - Code annotations — Use code annotations
(1)!for inline explanations; cleaner than long comments - Content tabs — Show examples in multiple languages side by side; users pick their stack
- Admonitions for callouts — Use
!!! note/warning/tip/dangerfor important information; more visible than bold text - Auto-generate API docs — Use
mkdocstringsplugin to generate API reference from Python docstrings - Versioning — Use
mikefor versioned documentation; readers can switch between v1.0, v2.0, latest - Social cards — Enable the social plugin for auto-generated Open Graph images; looks great on Twitter/Slack
- GitHub Pages deployment —
mkdocs gh-deploypushes to GitHub Pages in one command; add to CI for auto-deploy on merge
Information
- Version
- 1.0.0
- Author
- terminal-skills
- Category
- Development
- License
- Apache-2.0