Documentation Standards
Overview
Standards for writing markdown documentation optimized for both LLM consumption and conversion to professional PDFs using Pandoc. Ensures consistency across all documentation in ~/.claude/ workspace.
When to Use This Skill
Use when:
- •Writing markdown documentation (README, skills, guides, specifications)
- •Creating new skills that include markdown content
- •Authoring content that may be converted to PDF
- •Reviewing documentation for standards compliance
Core Principles
1. LLM-Optimized Documentation Architecture
Machine-Readable Priority: OpenAPI 3.1.0 specs, JSON Schema, YAML specifications take precedence over human documentation.
Why: Structured formats provide unambiguous contracts that both humans and LLMs can consume reliably. Human docs supplement, don't replace, machine-readable specs.
Application:
- •Workflow specifications → OpenAPI 3.1.1 YAML in
~/.claude/specifications/ - •Data schemas → JSON Schema with examples
- •Configuration → YAML with validation schemas
- •Human docs → Markdown referencing canonical machine-readable specs
2. Hub-and-Spoke Progressive Disclosure
Pattern: Central hubs (like CLAUDE.md, INDEX.md) link to detailed spokes (skills, docs directories).
Structure:
CLAUDE.md (Hub - Essentials Only)
↓ links to
Skills (Spokes - Progressive Disclosure)
├── SKILL.md (Overview + Quick Start)
└── references/ (Detailed Documentation)
Rules:
- •Hubs contain essentials only (what + where to find more)
- •Spokes contain progressive detail (load as needed)
- •Single source of truth per topic (no duplication)
3. Markdown Section Numbering
Critical Rule: Never manually number markdown headings.
❌ Wrong:
## 1. Introduction ### 1.1 Background ### 1.2 Objectives ## 2. Implementation
✅ Correct:
## Introduction ### Background ### Objectives ## Implementation
Rationale:
- •Pandoc's
--number-sectionsflag auto-numbers all sections when generating PDFs - •Manual numbering creates duplication: "1. 1. Introduction" in rendered output
- •Auto-numbering is consistent, updates automatically when sections reorganize
- •Applies to ALL markdown: documentation, skills, project files, README files
Rule: If markdown might ever convert to PDF, never manually number headings. Use semantic heading levels (##, ###) and let tools handle numbering.
PDF Generation: See pandoc-pdf-generation skill for implementation details.
Standards Checklist
Use this checklist when creating or reviewing documentation:
Structure
- • Follows hub-and-spoke pattern (essentials in main doc, details in references)
- • Links to deeper documentation for progressive disclosure
- • Single source of truth (no duplicate content across docs)
Markdown Formatting
- • No manual section numbering in headings
- • Semantic heading levels (##, ###, ####) used correctly
- • Code blocks have language identifiers for syntax highlighting
- • Links use markdown format
[text](url), not bare URLs
Machine-Readable Content
- • Workflows documented as OpenAPI 3.1.1 specs (when applicable)
- • Data structures use JSON Schema (when applicable)
- • Configuration uses YAML with validation (when applicable)
- • Human docs reference canonical machine-readable specs
File Organization
- • Documentation lives in appropriate location:
- •Global standards →
~/.claude/docs/standards/ - •Skill documentation →
~/.claude/skills/{skill-name}/references/ - •Project documentation →
{project}/.claude/or{project}/docs/
- •Global standards →
- • Index files provide navigation (INDEX.md, README.md)
Related Resources
- •PDF Generation:
pandoc-pdf-generation- Markdown to PDF conversion - •Skill Architecture:
skill-architecture- Creating effective skills - •Documentation Hub:
~/.claude/docs/INDEX.md- Full documentation index
Examples
Good Hub-and-Spoke Structure
Hub (CLAUDE.md):
## PDF Generation from Markdown **Quick Start**: Use [`pandoc-pdf-generation`](skills/pandoc-pdf-generation/SKILL.md) skill **Critical Rules**: 1. Never write ad-hoc pandoc commands 2. Always verify PDFs before presenting 3. See skill for detailed principles
Spoke (pandoc-pdf-generation/SKILL.md):
- •Quick start with examples
- •Link to
references/for detailed documentation - •Progressive disclosure as needed
Good Machine-Readable Documentation
Workflow Specification (specifications/hook-prompt-capture.yaml):
openapi: 3.1.1
info:
title: Hook Prompt Capture Workflow
version: 1.0.0
paths:
/capture-prompt:
post:
summary: Capture user prompt from hook
# ... detailed spec
Human Documentation (README.md):
## Workflow See [hook-prompt-capture.yaml](specifications/hook-prompt-capture.yaml) for complete workflow specification. Quick overview: ...
Summary
Documentation standards ensure:
- •Consistency across all workspace documentation
- •LLM optimization through machine-readable formats
- •Maintainability via hub-and-spoke + single source of truth
- •PDF compatibility through proper markdown formatting
Follow these standards for all documentation in ~/.claude/ workspace.