agent-ops-mkdocs
MkDocs documentation site management: initializing, updating, building, and deploying
Best use case
agent-ops-mkdocs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
MkDocs documentation site management: initializing, updating, building, and deploying
Teams using agent-ops-mkdocs should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/agent-ops-mkdocs/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How agent-ops-mkdocs Compares
| Feature / Agent | agent-ops-mkdocs | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
MkDocs documentation site management: initializing, updating, building, and deploying
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# agent-ops-mkdocs
Skill for managing MkDocs documentation sites: initializing, updating, building, and deploying.
## Purpose
Provide documentation site management capabilities:
1. Initialize MkDocs site from template
2. Add/update documentation pages
3. Generate navigation from directory structure
4. Build and preview locally
5. Deploy to GitHub Pages
## When to Use
- Setting up project documentation
- Adding new documentation pages
- Updating site configuration
- Deploying documentation updates
## Workflow Overview
```mermaid
flowchart LR
A[Init] --> B[Add Pages]
B --> C[Build]
C --> D[Preview]
D --> E[Deploy]
```
## Commands
### Initialize Site
Set up a new MkDocs site with Material theme.
**Input:**
- Project name
- Site URL (optional)
- Theme options (optional)
**Process:**
1. Create `mkdocs.yml` with Material theme configuration
2. Create `docs/` directory structure
3. Create `docs/index.md` home page
4. Add recommended extensions (admonition, tabs, mermaid)
**Output:**
```
mkdocs.yml
docs/
├── index.md
├── getting-started.md
└── assets/
└── .gitkeep
```
**Example:**
```
Initialize MkDocs documentation for this project
```
### Add Page
Add a new documentation page.
**Input:**
- Page title
- Section (optional)
- Content or template
**Process:**
1. Create markdown file in appropriate location
2. Update `nav` in mkdocs.yml
3. Add basic structure (title, sections)
**Example:**
```
Add a page called "API Reference" in the reference section
```
### Generate Navigation
Auto-generate nav structure from docs/ directory.
**Process:**
1. Scan docs/ directory recursively
2. Extract titles from markdown files
3. Build nav tree
4. Update mkdocs.yml
**Example:**
```
Update mkdocs navigation from directory structure
```
### Build Site
Build the static documentation site.
**Process:**
1. Run `mkdocs build`
2. Report any warnings/errors
3. Output to `site/` directory
**Example:**
```
Build the documentation site
```
### Preview Site
Start local development server.
**Process:**
1. Run `mkdocs serve`
2. Report URL (typically http://localhost:8000)
3. Watch for changes
**Example:**
```
Preview the documentation locally
```
### Deploy to GitHub Pages
Deploy documentation to GitHub Pages.
**Process:**
1. Build site with `mkdocs build --strict`
2. Deploy with `mkdocs gh-deploy`
3. Or use GitHub Actions workflow
**Example:**
```
Deploy documentation to GitHub Pages
```
## Configuration Templates
### Minimal mkdocs.yml
```yaml
site_name: Project Name
docs_dir: docs
site_dir: site
theme:
name: material
plugins:
- search
nav:
- Home: index.md
```
### Full Featured mkdocs.yml
```yaml
site_name: Project Name
site_url: https://username.github.io/project/
site_description: Project description
docs_dir: docs
site_dir: site
use_directory_urls: true
repo_name: username/project
repo_url: https://github.com/username/project
theme:
name: material
features:
- navigation.sections
- navigation.tabs
- navigation.tabs.sticky
- navigation.expand
- navigation.top
- content.code.copy
- content.code.annotate
- search.suggest
- search.highlight
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
plugins:
- search
markdown_extensions:
- admonition
- footnotes
- tables
- toc:
permalink: true
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.details
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
- pymdownx.tabbed:
alternate_style: true
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- attr_list
- md_in_html
nav:
- Home: index.md
- Getting Started: getting-started.md
```
## Page Templates
### Standard Page
```markdown
# Page Title
Brief description of the page content.
## Section 1
Content...
## Section 2
Content...
## See Also
- [Related Page](related.md)
```
### API Reference Page
```markdown
# API Reference
## Endpoints
### GET /resource
Description of endpoint.
**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| id | string | Yes | Resource identifier |
**Response:**
```json
{
"id": "123",
"name": "Example"
}
```
### POST /resource
...
```
### Tutorial Page
```markdown
# Tutorial: Feature Name
Learn how to use Feature Name in 10 minutes.
## Prerequisites
- Requirement 1
- Requirement 2
## Step 1: Setup
First, we need to...
## Step 2: Configuration
Next, configure...
## Step 3: Usage
Now you can...
## Summary
In this tutorial, you learned:
- Point 1
- Point 2
## Next Steps
- [Advanced Usage](advanced.md)
```
## Directory Structure Patterns
### Simple Project
```
docs/
├── index.md
├── getting-started.md
├── configuration.md
└── api-reference.md
```
### Medium Project
```
docs/
├── index.md
├── getting-started/
│ ├── installation.md
│ ├── quickstart.md
│ └── first-steps.md
├── guides/
│ ├── basic-usage.md
│ └── advanced-usage.md
├── reference/
│ ├── api.md
│ └── configuration.md
└── about/
├── changelog.md
└── contributing.md
```
### Large Project
```
docs/
├── index.md
├── getting-started/
│ ├── index.md
│ ├── installation.md
│ ├── quickstart.md
│ └── tutorial.md
├── concepts/
│ ├── index.md
│ ├── architecture.md
│ └── terminology.md
├── guides/
│ ├── index.md
│ ├── user-guide.md
│ ├── admin-guide.md
│ └── developer-guide.md
├── reference/
│ ├── index.md
│ ├── api/
│ ├── cli/
│ └── configuration/
├── deployment/
│ ├── index.md
│ ├── docker.md
│ └── kubernetes.md
└── about/
├── changelog.md
├── roadmap.md
└── contributing.md
```
## GitHub Actions Integration
### Deployment Workflow
```yaml
# .github/workflows/docs.yml
name: Deploy Documentation
on:
push:
branches: [main]
paths:
- 'docs/**'
- 'mkdocs.yml'
workflow_dispatch:
permissions:
contents: write
pages: write
id-token: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install mkdocs-material pymdown-extensions
- run: mkdocs gh-deploy --force
```
## Dependencies
Required Python packages:
```bash
pip install mkdocs mkdocs-material pymdown-extensions
```
Or with uv:
```bash
uv add --dev mkdocs mkdocs-material pymdown-extensions
```
## Validation
Before deploying, validate:
1. **Build succeeds**: `mkdocs build --strict`
2. **Links work**: No broken internal links
3. **Images load**: All referenced images exist
4. **Navigation correct**: All pages accessible
## Integration with Other Skills
| Skill | Integration |
|-------|-------------|
| `agent-ops-docs` | Documentation content management |
| `agent-ops-validation` | Include docs build in validation |
| `agent-ops-git` | Commit documentation changes |
## Troubleshooting
### "mkdocs: command not found"
Install MkDocs:
```bash
pip install mkdocs mkdocs-material
```
### "Theme 'material' not found"
Install Material theme:
```bash
pip install mkdocs-material
```
### "Mermaid diagrams not rendering"
Ensure superfences extension is configured correctly in mkdocs.yml.
### "Navigation not updating"
Regenerate nav:
```
Update mkdocs navigation from directory structure
```
### "GitHub Pages 404"
Check:
- `site_url` matches your GitHub Pages URL
- `use_directory_urls: true` is set
- gh-pages branch existsRelated Skills
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
crawl-docs-skill
Run a Crawl4AI-based doc crawler and save internal pages as Markdown using page titles as filenames. Use when the user provides a docs URL and wants all internal subpages saved as .md files. Environment setup should only use uv.
copywriter
Brand voice guardian and conversion-focused copywriter, specializing in direct, no-fluff copy that adapts to project's brand voice
compound
Capture session learnings and save to skills, guidelines, or reference docs under ~/.claude/.
coder-docs
Index + offline snapshot of coder/coder documentation (progressive disclosure).
code-documenter
Use when adding docstrings, creating API documentation, or building documentation sites. Invoke for OpenAPI/Swagger specs, JSDoc, doc portals, tutorials, user guides.
code-documentation
Writing effective code documentation - API docs, README files, inline comments, and technical guides. Use for documenting codebases, APIs, or writing developer guides.
code-documentation-doc-generate
You are a documentation expert specializing in creating comprehensive, maintainable documentation from code. Generate API docs, architecture diagrams, user guides, and technical references using AI...
claw-wiki
A knowledge base for the Generative Agents Town. Read and write articles to share knowledge.
changelogator
Generate a changelog from git commits. Use when the user asks to generate a changelog, prepare release notes, summarize commits, prepare a release, suggest a version bump, or review changes since last tag. Also use when the user mentions "changelog", "release notes", "what changed", "version bump", or "semver".
changelog-update
Update CHANGELOG.md [Unreleased] section with business-focused entries via systematic file review
changelog-generator
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.