documentation-and-adrs

Writes architecture decision records, API documentation, READMEs, and changelogs for codebases.

1|Updated Mar 2, 2025
One-click install
npx skills add https://github.com/marjorg/setup --skill documentation-and-adrs-marjorg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: documentation-and-adrs
Source: https://github.com/marjorg/setup/tree/main/home/.agents/skills/documentation-and-adrs
Command: npx skills add https://github.com/marjorg/setup --skill documentation-and-adrs-marjorg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code shows what was built but not why, so teams repeatedly re-debate past decisions and new engineers or agents lack the context to work safely in a codebase. ## Core Features & Use Cases - Architecture Decision Records: Create sequentially numbered ADRs with context, decision, alternatives considered, and consequences, while matching any existing project convention for location, numbering, and headings. - Inline and API Documentation: Write why-focused comments, document known gotchas, and add typed docstrings or OpenAPI specs for public APIs. - Project Documentation: Structure READMEs with quick start and commands, and maintain changelogs for shipped features. - Use Case: After choosing PostgreSQL over MongoDB for a new service, record the trade-offs in an ADR so future engineers and agents understand the rationale instead of re-litigating the decision. ## Quick Start Write an ADR documenting why we chose PostgreSQL over MongoDB for the primary database, following the existing conventions in this repository.

Frequently Asked Questions about documentation-and-adrs

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

FAQPage Schema
How do I write an architecture decision record?

An ADR documents a significant technical decision with sections for status, date, context, decision, alternatives considered, and consequences. Store it in docs/decisions/ with sequential numbering, or match your project's existing ADR convention if one exists.

When should I write an ADR?

Write an ADR when choosing frameworks or major dependencies, designing data models, selecting authentication strategies, deciding API architecture, or making any decision expensive to reverse. Skip ADRs for trivial or easily reversible choices.

What should code comments explain?

Comments should explain why code behaves a certain way, not restate what it does. Document non-obvious intent, known gotchas, and constraints, and avoid TODO comments, commented-out code, and comments on self-explanatory functions.

Should old ADRs be deleted when a decision changes?

No, old ADRs capture historical context and should be kept. When a decision changes, write a new ADR that references and supersedes the old one, following the lifecycle from proposed to accepted to superseded or deprecated.

What belongs in a project README?

A README should include a one-paragraph project description, quick start steps, a commands table, an architecture overview linking to ADRs, and contributing guidelines. It must explain how to run the project.