documentation-and-adrs

Document architectural decisions and ADRs with templates and a structured directory layout.

2|Updated Oct 28, 2022
One-click install
npx skills add https://github.com/jmanuelrosa/dotfiles --skill documentation-and-adrs-jmanuelrosa
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: documentation-and-adrs
Source: https://github.com/jmanuelrosa/dotfiles/tree/main/roles/ai/files/claude/skills/dev-documentation
Command: npx skills add https://github.com/jmanuelrosa/dotfiles --skill documentation-and-adrs-jmanuelrosa

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Document decisions, not just code. ADRs capture the rationale, constraints, and trade-offs behind significant design choices, ensuring future engineers understand why a decision was made.

Core Features & Use Cases

  • Architecture Decision Records (ADRs) capture decisions, alternatives considered, and consequences to maintain historical context.
  • ADR Lifecycle guidelines describe the lifecycle transitions (Proposed → Accepted → Superseded or Deprecated) and how to manage updates.
  • Inline documentation practices explain the rationale behind code and API decisions, beyond what the code shows.
  • API documentation conventions help maintain consistent public-facing interfaces and developer expectations.
  • Onboarding and knowledge transfer: useful for team members and AI agents to understand past decisions.

Quick Start

Create a new ADR for a major design decision following the ADR template and store it in docs/decisions/.

Frequently Asked Questions about documentation-and-adrs

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

FAQPage Schema
What is an Architecture Decision Record and when do I need one?

An Architecture Decision Record captures the rationale, constraints, and trade-offs behind significant design choices to preserve historical context. You need an ADR when making API changes, introducing new system components, or altering public interfaces.

How do I document architectural decisions to preserve context for future engineers?

To document architectural decisions, create a new ADR using a structured template and store it in a docs/decisions/ directory. This captures the alternatives considered and consequences to maintain historical context for future engineers and agents.

How does the ADR lifecycle work when managing architecture updates?

The ADR lifecycle transitions through Proposed, Accepted, Superseded, or Deprecated states. These lifecycle guidelines manage updates by tracking status changes, ensuring engineers understand when a decision was replaced or invalidated.

What is the best way to maintain API documentation and inline code rationale?

The best way to maintain API documentation is applying conventions for consistent public-facing interfaces alongside inline documentation practices that explain the rationale behind code and API decisions beyond what the code itself shows.

Can I use architecture decision records for team onboarding and knowledge transfer?

Architecture decision records are useful for team onboarding and knowledge transfer, providing the context of past decisions to new team members and AI agents so they understand why specific design choices were made.

When should I not use an ADR for system changes?

ADRs should not be used for minor changes that lack significant trade-offs. They are designed to capture major design choices, constraints, and alternatives for API changes or new system components where historical context is critical.