ValorVie

documentation-guide

0
0
# Install this skill:
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

  1. Check CONTRIBUTING.md for "Disabled Skills" section
  2. Check CONTRIBUTING.md for "Documentation Language" section
  3. Check existing documentation structure
  4. If not found, default to English

First-Time Setup

If documentation is missing:

  1. Ask: "This project doesn't have complete documentation. Which language should I use? (English / δΈ­ζ–‡)"
  2. Determine project type (new/refactor/migrate/maintain)
  3. Create required documents based on matrix
  4. 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



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.