adr
vndee/engineering-skills/.claude/skills/adr/SKILL.md
Use when making significant technical decisions that should be documented — framework choices, architecture patterns, trade-offs, and migration decisions
Skill3 starsChanged 7 months ago
What's in it
- Architecture Decision Records
- Overview
- When to Use
- ADR Format
- File Organization
- Common ADR Topics
- Anti-Patterns
- Chains
---
name: adr
description: Use when making significant technical decisions that should be documented — framework choices, architecture patterns, trade-offs, and migration decisions
---
# Architecture Decision Records
## Overview
Document why you chose one approach over another. Future you (and future Claude sessions) need this context.
**Core principle:** Decisions without documented reasoning get relitigated endlessly. Write it down once.
## When to Use
- Choosing a framework, library, or tool
- Deciding on architecture patterns (monolith vs microservice, sync vs async)
- Making trade-offs (consistency vs availability, simplicity vs flexibility)
- Changing an existing decision
- Any decision someone might ask "why did we do it this way?"
## ADR Format
```markdown
# ADR-[NNN]: [Decision Title]
**Status:** [Proposed | Accepted | Deprecated | Superseded by ADR-NNN]
**Date:** [YYYY-MM-DD]
**Deciders:** [who was involved]
## Context
[What is the situation? What forces are at play? What problem are we solving?]
## Decision
[What did we decide to do?]
We will use [choice] because [primary reason].
## Alternatives Considered
### Alternative A: [name]
- **Pros:** [list]
- **Cons:** [list]
- **Why not:** [decisive reason]
### Alternative B: [name]
- **Pros:** [list]
- **Cons:** [list]
- **Why not:** [decisive reason]
## Consequences
### Positive
- [benefit 1]
- [benefit 2]
### Negative
- [trade-off 1]
- [trade-off 2]
### Risks
- [risk 1] — mitigated by [how]
## Review Triggers
Revisit this decision when:
- [condition 1, e.g., "team grows beyond 5 engineers"]
- [condition 2, e.g., "traffic exceeds 10k req/sec"]
```
## File Organization
```
docs/
adr/
001-use-fiber-over-echo.md
002-clean-architecture.md
003-offset-pagination.md
004-generic-validation.md
005-monolith-first.md
```
## Common ADR Topics
| Decision | Key Trade-offs |
|----------|---------------|
| Framework choice | Ecosystem, performance, learning curve, community |
| Monolith vs microservices | Complexity, deployment, team size, scaling |
| SQL vs NoSQL | Consistency, query flexibility, schema evolution |
| REST vs GraphQL | Client flexibility, caching, complexity |
| Sync vs async processing | Latency, reliability, complexity |
| Build vs buy | Cost, customization, maintenance burden |
| Offset vs cursor pagination | Simplicity vs performance at scale |
## Anti-Patterns
- **No alternatives listed** — if you didn't consider alternatives, you didn't make a decision
- **No consequences** — every decision has trade-offs, document them
- **Too vague** — "we chose the best option" explains nothing
- **Never updated** — mark old ADRs as deprecated/superseded, don't delete them
## Chains
- **REQUIRED:** Update CLAUDE.md if decision changes architecture or conventions (`claude-md`)
- **After:** `system-design` decisions, `data-model` schema decisions
- **Reference:** During `go-refactor` / `py-refactor` to understand original intent
More agent context in vndee/engineering-skills
36 other files this repository gives its agents.
Skill
- analytics.claude/skills/analytics/SKILL.md
- api-contract.claude/skills/api-contract/SKILL.md
- api-design.claude/skills/api-design/SKILL.md
- ci-pipeline.claude/skills/ci-pipeline/SKILL.md
- claude-md.claude/skills/claude-md/SKILL.md
- code-quality.claude/skills/code-quality/SKILL.md
- data-model.claude/skills/data-model/SKILL.md
- db-migrate.claude/skills/db-migrate/SKILL.md
- debug.claude/skills/debug/SKILL.md
- deploy.claude/skills/deploy/SKILL.md
- dep-update.claude/skills/dep-update/SKILL.md
- disk-cleanup.claude/skills/disk-cleanup/SKILL.md
- docker-build.claude/skills/docker-build/SKILL.md
- eng-lead.claude/skills/eng-lead/SKILL.md
- event-driven.claude/skills/event-driven/SKILL.md
- fullstack-healthcheck.claude/skills/fullstack-healthcheck/SKILL.md
- go-feature.claude/skills/go-feature/SKILL.md
- go-integration-test.claude/skills/go-integration-test/SKILL.md
- go-refactor.claude/skills/go-refactor/SKILL.md
- go-scaffold.claude/skills/go-scaffold/SKILL.md
- incident-response.claude/skills/incident-response/SKILL.md
- interactive-clarify.claude/skills/interactive-clarify/SKILL.md
- observability.claude/skills/observability/SKILL.md
- onboarding.claude/skills/onboarding/SKILL.md
- product-spec.claude/skills/product-spec/SKILL.md
- py-feature.claude/skills/py-feature/SKILL.md
- py-integration-test.claude/skills/py-integration-test/SKILL.md
- py-migrate.claude/skills/py-migrate/SKILL.md
- py-refactor.claude/skills/py-refactor/SKILL.md
- py-scaffold.claude/skills/py-scaffold/SKILL.md
- react-feature.claude/skills/react-feature/SKILL.md
- react-refactor.claude/skills/react-refactor/SKILL.md
- react-scaffold.claude/skills/react-scaffold/SKILL.md
- review-code.claude/skills/review-code/SKILL.md
- security.claude/skills/security/SKILL.md
- system-design.claude/skills/system-design/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

