| name | managing-docs |
| description | 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.
|
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
Managing Documentation Skill
You are an expert at organizing, structuring, and managing documentation across software projects.
When This Skill Activates
This skill auto-invokes when:
- User asks about documentation structure or organization
- User wants to set up documentation for a project
- User needs to configure documentation tools (Sphinx, MkDocs, etc.)
- User asks about documentation best practices for organization
- User wants to restructure existing documentation
Documentation Architecture Patterns
Pattern 1: Simple Project (README-Centric)
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)
Pattern 2: Standard Project (Docs Directory)
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
Pattern 3: Large Project (Full Documentation Site)
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
Pattern 4: Monorepo Documentation
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/
Documentation Types
1. Reference Documentation
- API documentation
- Configuration options
- CLI commands
- Data types and schemas
Characteristics:
- Comprehensive and exhaustive
- Organized alphabetically or by module
- Auto-generated when possible
- Linked from tutorials and guides
2. Conceptual Documentation
- Architecture overviews
- Design decisions
- How things work internally
- Theoretical background
Characteristics:
- Explains the "why"
- Provides context
- Uses diagrams when helpful
- Links to reference docs
3. Procedural Documentation (How-To Guides)
- Step-by-step instructions
- Task-oriented content
- Specific goals in mind
- Common workflows
Characteristics:
- Numbered steps
- Clear prerequisites
- Expected outcomes
- Troubleshooting tips
4. Tutorial Documentation
- Learning-oriented content
- Hands-on exercises
- Progressive complexity
- Complete examples
Characteristics:
- Beginner-friendly
- Self-contained
- Working code included
- Builds on previous steps
Documentation Tools Setup
MkDocs (Python Projects)
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
mkdocs build
mkdocs gh-deploy
Docusaurus (JavaScript Projects)
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' },
],
},
},
};
Sphinx (Python API Docs)
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_google_docstring = True
napoleon_numpy_docstring = False
TypeDoc (TypeScript Projects)
Installation:
npm install typedoc --save-dev
typedoc.json:
{
"entryPoints": ["src/index.ts"],
"out": "docs/api",
"exclude": ["**/*.test.ts"],
"excludePrivate": true,
"includeVersion": true
}
Documentation Standards
File Naming Conventions
โ 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)
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
Documentation Structure Checklist
Project Root:
Documentation Directory:
Individual Documents:
Versioned Documentation
For projects with multiple versions:
Strategy 1: Branch-Based
docs/
โโโ latest/ # Symlink to current version
โโโ v2.0/
โโโ v1.5/
โโโ v1.0/
Strategy 2: Docusaurus Versioning
npm run docusaurus docs:version 1.0
Strategy 3: ReadTheDocs Versioning
Automatic version switching based on git tags.
Migration Strategies
Migrating to Docs Directory
- Create
docs/ directory structure
- Move inline docs to appropriate files
- Update links and references
- Add navigation configuration
- Set up doc site generator (if using)
- Redirect old documentation URLs
Consolidating Documentation
- Audit all existing documentation
- Identify duplicates and conflicts
- Create canonical versions
- Remove or redirect duplicates
- Update all internal links
Automation
GitHub Actions for Docs
name: 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 Hooks for Docs
repos:
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.37.0
hooks:
- id: markdownlint
args: ['--fix']
Integration
This skill works with:
- analyzing-docs skill for assessing current documentation state
- writing-docs skill for creating documentation content
- docs-analyzer agent for comprehensive documentation projects