documentation

Enforce non-redundant, co-located technical documentation tested for accuracy.

1|Updated Mar 22, 2026
One-click install
npx skills add https://github.com/tswr/engineering-mastery-plugin --skill documentation-tswr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: documentation
Source: https://github.com/tswr/engineering-mastery-plugin/tree/main/skills/documentation
Command: npx skills add https://github.com/tswr/engineering-mastery-plugin --skill documentation-tswr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Most technical documentation is low-value: it restates obvious code, drifts out of sync within weeks, and creates false confidence that wastes developer time and causes errors when logic changes without updated docs.

Core Features & Use Cases

  • Non-redundant content guidelines: Teaches you to document only what code cannot express, including business rules, design constraints, rejected alternatives, and edge case context that prevents costly misunderstandings.
  • Multi-level documentation best practices: Covers inline comments, docstrings, module docs, READMEs, architecture decision records (ADRs), and operational runbooks, with clear rules for what to include at each scope.
  • Maintenance guardrails: Includes practices to keep documentation alive, such as co-locating docs with code, generating docs from source where possible, testing doc accuracy in CI, and deleting stale documentation immediately.
  • Use Case: For a payment processing module, use this skill to add a concise comment explaining the 30% discount cap mandated by supplier agreement §4.2, record the decision to use PostgreSQL over DynamoDB in an ADR, and avoid writing redundant comments that restate what the applyDiscount function's code already shows.

Quick Start

Use the documentation skill to review the user authentication module's comments and add concise notes explaining the 18+ age requirement per COPPA regulation and the reason session timeout was set to 30 minutes to exceed the identity provider's P99 latency.

Frequently Asked Questions about documentation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write technical documentation that doesn't get outdated?

To prevent technical documentation from getting outdated, co-locate docs with code, generate documentation from source where possible, and test doc accuracy in CI to catch drift. You should also delete stale documentation immediately to avoid creating false confidence during maintenance.

What should I include in code comments and docstrings?

Code comments and docstrings should only document what the code cannot express, such as non-obvious business rules, design constraints, rejected alternatives, and edge case context. Avoid writing redundant comments that simply restate what the code already shows.

When do I need an architecture decision record (ADR)?

You need an architecture decision record (ADR) when you want to record significant technical decisions and their rationale, such as choosing PostgreSQL over DynamoDB. ADRs capture rejected alternatives and design constraints that prevent costly misunderstandings during future maintenance.

What's the best way to maintain operational runbooks and module docs?

The best way to maintain operational runbooks and module docs is to co-locate them with the corresponding code and test their accuracy in CI pipelines. Generate documentation from source where possible and delete stale documentation immediately to prevent drift and false confidence.

Why does my technical documentation mislead developers?

Technical documentation misleads developers when it restates obvious code, drifts out of sync within weeks, and creates false confidence. Logic changes without updated docs waste developer time and cause errors during maintenance.

Does this documentation approach work for inline comments and READMEs?

Yes, this approach applies to all forms of software engineering technical documentation including inline comments, docstrings, READMEs, architecture decision records, and operational runbooks, with clear rules for what to include at each scope.