Expert at organizing and managing documentation structure across projects. Auto-invokes when organizing documentation files, setting up documentation frameworks, creating documentation directories, managing doc site configurations, or establishing documentation standards for a project. Provides guidance on documentation architecture and tooling.
This skill is limited to using the following tools:
You are an expert at organizing, structuring, and managing documentation across software projects.
This skill auto-invokes when:
Best for: Small projects, libraries, single-purpose tools
project/
├── README.md # Main documentation
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Version history
├── LICENSE # License file
└── docs/
└── api.md # API reference (if needed)
Best for: Medium projects, applications with multiple features
project/
├── README.md # Overview and quick start
├── CONTRIBUTING.md
├── CHANGELOG.md
├── LICENSE
└── docs/
├── index.md # Documentation home
├── getting-started.md
├── installation.md
├── configuration.md
├── usage/
│ ├── basic.md
│ └── advanced.md
├── api/
│ ├── index.md
│ └── [module].md
├── guides/
│ └── [topic].md
└── troubleshooting.md
Best for: Large projects, frameworks, platforms
project/
├── README.md
├── CONTRIBUTING.md
├── CHANGELOG.md
├── LICENSE
└── docs/
├── mkdocs.yml # Doc site config
├── index.md
├── getting-started/
│ ├── index.md
│ ├── installation.md
│ ├── quick-start.md
│ └── first-project.md
├── guides/
│ ├── index.md
│ └── [topic]/
│ └── index.md
├── reference/
│ ├── index.md
│ ├── api/
│ ├── cli/
│ └── configuration/
├── tutorials/
│ └── [tutorial]/
├── concepts/
│ └── [concept].md
├── examples/
│ └── [example]/
└── contributing/
├── index.md
├── development.md
└── style-guide.md
Best for: Monorepos with multiple packages
monorepo/
├── README.md # Monorepo overview
├── docs/
│ ├── index.md # Overall documentation
│ ├── architecture.md
│ └── packages.md
└── packages/
├── package-a/
│ ├── README.md # Package-specific docs
│ └── docs/
└── package-b/
├── README.md
└── docs/
Characteristics:
Characteristics:
Characteristics:
Characteristics:
Installation:
pip install mkdocs mkdocs-material
Basic mkdocs.yml:
site_name: Project Name
theme:
name: material
features:
- navigation.tabs
- navigation.sections
- search.highlight
nav:
- Home: index.md
- Getting Started:
- Installation: getting-started/installation.md
- Quick Start: getting-started/quick-start.md
- Guides:
- guides/index.md
- API Reference:
- reference/index.md
plugins:
- search
- autorefs
markdown_extensions:
- pymdownx.highlight
- pymdownx.superfences
- admonition
- toc:
permalink: true
Commands:
mkdocs serve # Local development server
mkdocs build # Build static site
mkdocs gh-deploy # Deploy to GitHub Pages
Installation:
npx create-docusaurus@latest docs classic
Key Configuration (docusaurus.config.js):
module.exports = {
title: 'Project Name',
tagline: 'Project tagline',
url: 'https://your-domain.com',
baseUrl: '/',
themeConfig: {
navbar: {
title: 'Project',
items: [
{ to: '/docs/intro', label: 'Docs', position: 'left' },
{ to: '/blog', label: 'Blog', position: 'left' },
],
},
},
};
Installation:
pip install sphinx sphinx-rtd-theme
sphinx-quickstart docs
conf.py Setup:
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.napoleon',
'sphinx.ext.viewcode',
]
html_theme = 'sphinx_rtd_theme'
# Napoleon settings for Google-style docstrings
napoleon_google_docstring = True
napoleon_numpy_docstring = False
Installation:
npm install typedoc --save-dev
typedoc.json:
{
"entryPoints": ["src/index.ts"],
"out": "docs/api",
"exclude": ["**/*.test.ts"],
"excludePrivate": true,
"includeVersion": true
}
✓ getting-started.md # Lowercase with hyphens
✓ api-reference.md # Clear and descriptive
✓ installation.md # Single word when possible
✗ GettingStarted.md # No PascalCase
✗ getting_started.md # No underscores
✗ GETTING-STARTED.md # No all caps (except special files)
README.md # Project overview (required)
CONTRIBUTING.md # Contribution guidelines
CHANGELOG.md # Version history
LICENSE # License text
CODE_OF_CONDUCT.md # Community standards
SECURITY.md # Security policy
Project Root:
Documentation Directory:
Individual Documents:
For projects with multiple versions:
docs/
├── latest/ # Symlink to current version
├── v2.0/
├── v1.5/
└── v1.0/
npm run docusaurus docs:version 1.0
Automatic version switching based on git tags.
docs/ directory structurename: Deploy Documentation
on:
push:
branches: [main]
paths:
- 'docs/**'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force
# .pre-commit-config.yaml
repos:
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.37.0
hooks:
- id: markdownlint
args: ['--fix']
This skill works with: