Claude Code Plugins

Community-maintained marketplace

Feedback

Technical writing patterns for README files, API documentation, architecture decision records (ADRs), changelogs, contributing guides, code comments, and docs-as-code workflows. Covers documentation structure, style guides, Markdown best practices, and documentation testing.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name docs-codebase
description Technical writing patterns for README files, API documentation, architecture decision records (ADRs), changelogs, contributing guides, code comments, and docs-as-code workflows. Covers documentation structure, style guides, Markdown best practices, and documentation testing.

Technical Documentation — Quick Reference

This skill provides execution-ready patterns for writing clear, maintainable technical documentation. Claude should apply these patterns when users need README files, API docs, ADRs, changelogs, or any technical writing.

Modern Best Practices (2025): Docs-as-code workflows, Markdown standardization, automated changelog generation, ADR (Architecture Decision Records), interactive API docs (OpenAPI 3.2+), documentation testing, accessibility standards (WCAG 2.2), AI-assisted writing (Mintlify, Copilot Docs), video tutorials (Loom, Tango), and docs in version control with CI/CD.


When to Use This Skill

Claude should invoke this skill when a user requests:

  • Writing README files for projects
  • Documenting APIs (REST, GraphQL, gRPC)
  • Creating architecture decision records (ADRs)
  • Writing changelogs and release notes
  • Creating contributing guidelines
  • Documenting code with comments and docstrings
  • Setting up docs-as-code workflows
  • Creating user guides and tutorials
  • Writing technical specifications
  • Building documentation sites (MkDocs, Docusaurus)

Quick Reference

Documentation Type Template Key Sections When to Use
Project README readme-template.md Name, Features, Installation, Usage, Config New project, open source, onboarding
Architecture Decision adr-template.md Status, Context, Decision, Consequences Technical decisions, trade-offs
API Reference api-docs-template.md Auth, Endpoints, Schemas, Errors, Rate Limits REST/GraphQL APIs, webhooks
Changelog changelog-template.md Added, Changed, Deprecated, Removed, Fixed, Security Releases, version history
Contributing Guide contributing-template.md Setup, Commit Guidelines, PR Process, Code Style Open source, team projects
Code Comments JSDoc, Python docstrings Params, Returns, Raises, Examples Public APIs, complex functions
User Guide MkDocs/Docusaurus Getting Started, Tutorials, Troubleshooting End-user documentation

Decision Tree: Choosing Documentation Type

User needs: [Documentation Task]
    ├─ New project or repository?
    │   └─ **README.md** (project overview, installation, quick start)
    │
    ├─ Made important technical decision?
    │   ├─ Architecture or design choice? → **ADR** (adr-template.md)
    │   └─ Technology choice? → **ADR** with alternatives section
    │
    ├─ Building or documenting API?
    │   ├─ REST API? → **OpenAPI 3.1** spec + api-docs-template
    │   ├─ GraphQL API? → Schema-first + GraphQL Docs
    │   └─ gRPC API? → Protobuf + generated docs
    │
    ├─ Releasing new version?
    │   ├─ Manual changelog? → **CHANGELOG.md** (Keep a Changelog format)
    │   └─ Automated? → semantic-release + Conventional Commits
    │
    ├─ Open source or team collaboration?
    │   ├─ Contribution workflow? → **CONTRIBUTING.md**
    │   ├─ Code of conduct? → CODE_OF_CONDUCT.md
    │   └─ License? → LICENSE file
    │
    ├─ Documenting code?
    │   ├─ Public API/library? → **Docstrings** (JSDoc, Python, etc.)
    │   ├─ Complex logic? → **Comments** (explain WHY, not WHAT)
    │   └─ Architecture? → **README** in module/package + diagrams
    │
    ├─ Building documentation site?
    │   ├─ Python project? → **MkDocs** + Material theme
    │   ├─ JavaScript/React? → **Docusaurus** (versioning support)
    │   └─ Next.js? → **Nextra** (minimal setup)
    │
    └─ Troubleshooting guide?
        └─ Common issues → Solutions → Diagnostic commands → Logs location

Navigation: README Documentation

README Best Practices - `resources/readme-best-practices.md`

Comprehensive guide for creating effective README files with:

  • Essential 13-section structure (Name, Features, Prerequisites, Installation, Configuration, Usage, etc.)
  • Copy-paste ready installation commands
  • Configuration table templates
  • Troubleshooting patterns
  • Badge recommendations
  • Anti-patterns to avoid
  • README quality checklist

When to use: Creating new project README or improving existing documentation.


Navigation: Architecture Documentation

ADR Writing Guide - `resources/adr-writing-guide.md`

Complete guide for documenting architectural decisions with:

  • 8-section ADR structure (Title, Status, Context, Decision, Consequences, Alternatives, Implementation, References)
  • Status lifecycle (Proposed → Accepted → Deprecated → Superseded)
  • How to document trade-offs and alternatives
  • ADR naming conventions and indexing
  • When to write vs skip ADRs
  • Real-world examples with metrics

When to use: Documenting technical decisions like database choice, framework selection, or architecture patterns.

Template: templates/architecture/adr-template.md


Navigation: Changelog Documentation

Changelog Best Practices - `resources/changelog-best-practices.md`

Guide for maintaining changelogs using Keep a Changelog format with:

  • 6 change categories (Added, Changed, Deprecated, Removed, Fixed, Security)
  • Semantic versioning rules (MAJOR.MINOR.PATCH)
  • Unreleased section management
  • Conventional Commits integration
  • Automated changelog generation (semantic-release, standard-version)
  • Breaking change communication
  • Linking to Git commits

When to use: Creating release notes, maintaining version history, documenting breaking changes.

Template: templates/project-management/changelog-template.md


Navigation: API Documentation

API Documentation Standards - `resources/api-documentation-standards.md`

Modern API documentation standards covering:

  • REST API documentation (OpenAPI 3.1/3.2, authentication, endpoints, errors)
  • GraphQL API documentation (schema, queries, mutations)
  • gRPC API documentation (Protocol Buffers, service definitions)
  • Essential elements (base URL, auth, rate limiting, pagination, webhooks)
  • Error response format (RFC 7807)
  • Interactive documentation tools (Swagger UI, Redoc, Stoplight)
  • Code examples in multiple languages

When to use: Documenting REST, GraphQL, or gRPC APIs for developers.

Template: templates/api-reference/api-docs-template.md


Navigation: Code Comments & Docstrings

Code Commenting Guide - `resources/code-commenting-guide.md`

Comprehensive guide for effective code documentation with:

  • Core principles (Comment WHY not WHAT, avoid obvious comments, keep updated)
  • Docstring formats (JSDoc, Python Google Style, TSDoc, Godoc)
  • Inline comment best practices
  • When to use documentation vs implementation comments
  • Comment anti-patterns (commented-out code, redundant comments, changelog comments)
  • TODO/FIXME/HACK comment standards
  • Accessibility comments (ARIA labels)

When to use: Documenting code for maintainability, writing public API documentation.


Navigation: Contributing Guidelines

Contributing Guide Standards - `resources/contributing-guide-standards.md`

Guide for creating CONTRIBUTING.md files with:

  • 9-section structure (Welcome, Ways to Contribute, Setup, Workflow, Code Style, Review, Issues, Community, Recognition)
  • Development setup instructions
  • Conventional Commits format
  • Pull request workflow
  • Code style guidelines (JavaScript, Python, testing)
  • Code review expectations
  • Bug reporting and feature request templates
  • Security vulnerability reporting

When to use: Setting up contribution process for open-source or team projects.

Template: templates/project-management/contributing-template.md


Navigation: Docs-as-Code Workflows

Docs-as-Code Setup - `resources/docs-as-code-setup.md`

Setting up documentation with version control and CI/CD:

  • MkDocs configuration and Material theme
  • Docusaurus setup for versioned docs
  • GitBook integration
  • GitHub Actions for automated deployment
  • Documentation site structure
  • Search and navigation patterns

When to use: Building documentation sites with automated deployment.


Navigation: Writing & Testing

Technical Writing Best Practices - `resources/writing-best-practices.md`

Clear communication principles:

  • Active voice and conciseness
  • Plain language guidelines
  • Audience awareness
  • Structure and formatting
  • Writing style consistency

Markdown Style Guide - `resources/markdown-style-guide.md`

Markdown formatting standards:

  • Syntax reference (headers, lists, code blocks, tables)
  • Style consistency rules
  • Link formatting
  • Code block language tags
  • Table formatting

Documentation Testing - `resources/documentation-testing.md`

Automated documentation quality checks:

  • Linting with markdownlint and Vale
  • Link validation with markdown-link-check
  • Spell checking with cspell
  • Code example testing
  • CI/CD integration

When to use: Establishing documentation standards, automating quality checks.


Templates

Complete copy-paste ready templates organized by domain:

Architecture Documentation

API Reference

Project Management


External Resources

See data/sources.json for:

  • Style Guides: Google Developer Docs, Microsoft Writing Guide, Write the Docs
  • Documentation Tools: MkDocs, Docusaurus, GitBook, Nextra, Mintlify
  • API Documentation: OpenAPI, Swagger UI, Redoc, GraphQL Docs
  • Testing Tools: Vale (prose linting), markdownlint, cspell (spell check), markdown-link-check
  • Patterns: Keep a Changelog, Semantic Versioning, ADRs, Conventional Commits
  • Learning: Google Technical Writing Courses, Docs for Developers (book)

Related Skills


Usage Notes

For Claude: When a user requests documentation:

  1. Identify documentation type using the Decision Tree
  2. Reference appropriate template from templates/ directory
  3. Follow best practices from relevant resource file
  4. Provide copy-paste ready content with user's specific context
  5. Include examples from templates or resources
  6. Mention related skills if user might need complementary guidance

Common workflows:

  • New project: README template → Contributing guide → Changelog
  • API development: API docs template → OpenAPI spec → Interactive docs
  • Technical decision: ADR template → Document alternatives → Reference in README
  • Open source setup: README → CONTRIBUTING.md → CODE_OF_CONDUCT.md → LICENSE

Quality checks:

  • Verify all links work (use markdown-link-check)
  • Run spell checker (cspell)
  • Lint Markdown (markdownlint)
  • Test code examples actually run
  • Check accessibility (WCAG 2.2 for web docs)

Success Criteria: Documentation is clear, accurate, up-to-date, discoverable, and enables users to be productive quickly with minimal support.