Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add ValorVie/custom-skills --skill "documentation-guide"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: documentation-guide
scope: universal
description: |
Guide documentation structure, content requirements, and project documentation best practices.
Use when: creating README, documentation, docs folder, project setup, technical docs.
Keywords: README, docs, documentation, CONTRIBUTING, CHANGELOG, ARCHITECTURE, API docs, ζδ»Ά, θͺͺζζδ»Ά, ζθ‘ζδ»Ά.
Documentation Guide
Language: English | ηΉι«δΈζ
Version: 2.0.0
Last Updated: 2026-01-12
Applicability: Claude Code Skills
Purpose
This skill provides comprehensive guidance on project documentation, including:
- Documentation structure and file organization
- Content requirements by project type
- Writing standards for technical documents
- Templates for common documentation types
Quick Reference (YAML Compressed)
# === PROJECT TYPE β DOCUMENT REQUIREMENTS ===
document_matrix:
# README ARCH API DB DEPLOY MIGRATE ADR CHANGE CONTRIB
new: [REQ, REQ, if_app, if_app, REQ, NO, REC, REQ, REC]
refactor: [REQ, REQ, REQ, REQ, REQ, REQ, REQ, REQ, REC]
migration: [REQ, REQ, REQ, REQ, REQ, REQ, REQ, REQ, REC]
maintenance:[REQ, REC, REC, REC, REC, NO, if_app, REQ, if_app]
# REQ=Required, REC=Recommended, if_app=If applicable, NO=Not needed
# === DOCUMENTATION PYRAMID ===
pyramid:
level_1: "README.md β Entry point, quick overview"
level_2: "ARCHITECTURE.md β System overview"
level_3: "API.md, DATABASE.md, DEPLOYMENT.md β Technical details"
level_4: "ADR/, MIGRATION.md, CHANGELOG.md β Change history"
# === ESSENTIAL FILES ===
root_files:
README.md: {required: true, purpose: "Project overview, quick start"}
CONTRIBUTING.md: {required: "recommended", purpose: "Contribution guidelines"}
CHANGELOG.md: {required: "recommended", purpose: "Version history"}
LICENSE: {required: "for OSS", purpose: "License information"}
docs_structure:
INDEX.md: "Documentation index"
ARCHITECTURE.md: "System architecture"
API.md: "API documentation"
DATABASE.md: "Database schema"
DEPLOYMENT.md: "Deployment guide"
MIGRATION.md: "Migration plan (if applicable)"
ADR/: "Architecture Decision Records"
# === FILE NAMING ===
naming:
root: "UPPERCASE.md (README.md, CONTRIBUTING.md, CHANGELOG.md)"
docs: "lowercase-kebab-case.md (getting-started.md, api-reference.md)"
# === QUALITY STANDARDS ===
quality:
format:
language: "English (or project-specified)"
encoding: "UTF-8"
line_length: "β€120 characters recommended"
diagrams: "Mermaid preferred, then ASCII Art"
links: "Relative paths for internal links"
maintenance:
sync: "Update docs when code changes"
version: "Mark version and date at top"
review: "Include docs in code review"
periodic: "Review quarterly for staleness"
Project Type Document Requirements
Document Requirements Matrix
| Document | New Project | Refactoring | Migration | Maintenance |
|---|---|---|---|---|
| README.md | β Required | β Required | β Required | β Required |
| ARCHITECTURE.md | β Required | β Required | β Required | βͺ Recommended |
| API.md | βͺ If applicable | β Required | β Required | βͺ Recommended |
| DATABASE.md | βͺ If applicable | β Required | β Required | βͺ Recommended |
| DEPLOYMENT.md | β Required | β Required | β Required | βͺ Recommended |
| MIGRATION.md | β Not needed | β Required | β Required | β Not needed |
| ADR/ | βͺ Recommended | β Required | β Required | βͺ If applicable |
| CHANGELOG.md | β Required | β Required | β Required | β Required |
Project Type Quick Reference
π New Project β README + ARCHITECTURE + DEPLOYMENT + CHANGELOG
π Refactoring β All documents + MIGRATION + ADR (document "why refactor")
π Migration β All documents + MIGRATION (core document) + data verification
π§ Maintenance β README + CHANGELOG (update based on change scope)
Documentation Pyramid
βββββββββββββββ
β README β β Entry point, quick overview
βββββββββββββββ€
ββββ΄ββββββββββββββ΄βββ
β ARCHITECTURE β β System overview
βββββββββββββββββββββ€
ββββ΄ββββββββββββββββββββ΄βββ
β API / DATABASE / DEPLOY β β Technical details
βββββββββββββββββββββββββββ€
ββββ΄ββββββββββββββββββββββββββ΄βββ
β ADR / MIGRATION / CHANGELOG β β Change history
βββββββββββββββββββββββββββββββββ
Document Templates (YAML Compressed)
# === README.md ===
readme:
minimum:
- "# Project Name"
- "Brief one-liner description"
- "## Installation"
- "## Usage"
- "## License"
recommended:
- "# Project Name + Badges"
- "## Features (bullet list)"
- "## Installation"
- "## Quick Start / Usage"
- "## Documentation (link to docs/)"
- "## Contributing (link to CONTRIBUTING.md)"
- "## License"
# === ARCHITECTURE.md ===
architecture:
required:
- system_overview: "Purpose, scope, main functions"
- architecture_diagram: "Mermaid or ASCII Art"
- module_description: "Responsibilities, dependencies"
- technology_stack: "Frameworks, languages, versions"
- data_flow: "Main business process"
recommended:
- deployment_architecture: "Production topology"
- design_decisions: "Key decisions (or link to ADR)"
# === API.md ===
api:
required:
- api_overview: "Version, base URL, authentication"
- authentication: "Token acquisition, expiration"
- endpoint_list: "All API endpoints"
- endpoint_specs: "Request/response format"
- error_codes: "Error codes and descriptions"
recommended:
- code_examples: "Examples in common languages"
- rate_limiting: "API call frequency limits"
endpoint_format: |
### POST /api/v1/resource
**Request**: | Field | Type | Required | Description |
**Response**: | Field | Type | Description |
**Errors**: | Code | Description |
# === DATABASE.md ===
database:
required:
- db_overview: "Type, version, connection info"
- er_diagram: "Entity relationship diagram"
- table_list: "All tables with purposes"
- table_specs: "Column definitions"
- index_docs: "Indexing strategy"
- migration_scripts: "Script locations"
recommended:
- backup_strategy: "Frequency, retention"
table_format: |
### TableName
**Columns**: | Column | Type | Nullable | Default | Description |
**Indexes**: | Name | Columns | Type |
**Relations**: | Related | Join | Relationship |
# === DEPLOYMENT.md ===
deployment:
required:
- environment_requirements: "Hardware, software, network"
- installation_steps: "Detailed process"
- configuration: "Config file parameters"
- verification: "Confirm successful deployment"
- troubleshooting: "Common issues and solutions"
recommended:
- monitoring: "Health checks, log locations"
- scaling_guide: "Horizontal/vertical scaling"
# === MIGRATION.md ===
migration:
required:
- overview: "Goals, scope, timeline"
- prerequisites: "Required preparation"
- migration_steps: "Detailed process"
- verification_checklist: "Post-migration checks"
- rollback_plan: "Steps on failure"
- backward_compatibility: "API/DB compatibility"
recommended:
- partner_notification: "External systems to notify"
# === ADR (Architecture Decision Record) ===
adr:
filename: "NNN-kebab-case-title.md (e.g., 001-use-postgresql.md)"
required:
- title: "Decision name"
- status: "proposed | accepted | deprecated | superseded"
- context: "Why this decision is needed"
- decision: "Specific decision content"
- consequences: "Impact (positive/negative)"
recommended:
- alternatives: "Other options considered"
File Location Standards
project-root/
βββ README.md # Project entry document
βββ CONTRIBUTING.md # Contribution guide
βββ CHANGELOG.md # Change log
βββ LICENSE # License file
βββ docs/ # Documentation directory
βββ INDEX.md # Documentation index
βββ ARCHITECTURE.md # Architecture document
βββ API.md # API document
βββ DATABASE.md # Database document
βββ DEPLOYMENT.md # Deployment document
βββ MIGRATION.md # Migration document (if needed)
βββ ADR/ # Architecture decision records
βββ 001-xxx.md
βββ ...
README.md Required Sections
Minimum Viable README
# Project Name
Brief one-liner description.
## Installation
```bash
npm install your-package
Usage
const lib = require('your-package');
lib.doSomething();
License
MIT
### Recommended README Sections
1. **Project Name & Description**
2. **Badges** (CI status, coverage, npm version)
3. **Features** (bullet list)
4. **Installation**
5. **Quick Start / Usage**
6. **Documentation** (link to docs/)
7. **Contributing** (link to CONTRIBUTING.md)
8. **License**
---
## ADR Template
```markdown
# ADR-001: [Decision Title]
## Status
Accepted
## Context
[Why this decision is needed...]
## Decision
[Specific decision...]
## Consequences
### Positive
- Benefit 1
- Benefit 2
### Negative
- Drawback 1
- Drawback 2
## Alternatives Considered
1. Alternative A - Rejected because...
2. Alternative B - Rejected because...
Documentation Audit Checklist
When reviewing a project's documentation:
β‘ README.md exists with essential sections
β‘ Installation instructions are clear and tested
β‘ Usage examples are provided and work
β‘ License specified
β‘ ARCHITECTURE.md exists (for non-trivial projects)
β‘ API.md exists (if APIs exposed)
β‘ DATABASE.md exists (if databases used)
β‘ DEPLOYMENT.md exists (for deployed projects)
β‘ ADR/ exists for major decisions
β‘ CHANGELOG.md follows Keep a Changelog format
β‘ All internal links working
β‘ Diagrams are up to date
β‘ No outdated information
Configuration Detection
Detection Order
- Check
CONTRIBUTING.mdfor "Disabled Skills" section - Check
CONTRIBUTING.mdfor "Documentation Language" section - Check existing documentation structure
- If not found, default to English
First-Time Setup
If documentation is missing:
- Ask: "This project doesn't have complete documentation. Which language should I use? (English / δΈζ)"
- Determine project type (new/refactor/migrate/maintain)
- Create required documents based on matrix
- Suggest documenting in
CONTRIBUTING.md:
## Documentation Standards
### Language
This project uses **English** for documentation.
### Required Documents
Based on project type, we maintain:
- README.md
- ARCHITECTURE.md
- DEPLOYMENT.md
- CHANGELOG.md
Detailed Guidelines
For complete standards, see:
- Documentation Writing Standards
- Documentation Structure
- README Template
Related Standards
- Documentation Writing Standards - Content requirements
- Documentation Structure - File organization
- Changelog Standards - CHANGELOG format
- Changelog Guide Skill - CHANGELOG skill
Version History
| Version | Date | Changes |
|---|---|---|
| 2.0.0 | 2026-01-12 | Added: Project type matrix, document templates, documentation pyramid |
| 1.0.0 | 2025-12-24 | Initial release |
License
This skill is released under CC BY 4.0.
Source: universal-dev-standards
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.