architecture-decision-records
Ajuda seu agente a escrever e organizar registros de decisões de arquitetura. É útil para documentar escolhas técnicas importantes e manter um histórico claro.
O que ela faz
Esta ferramenta ajuda a registrar e gerenciar decisões importantes sobre como construir software. Ela explica o porquê de uma decisão, qual foi a decisão tomada e o que acontece como resultado.
Quando usar
- ✓Ao decidir qual nova tecnologia usar em um projeto.
- ✓Quando você precisa explicar por que uma escolha técnica foi feita.
- ✓Para manter um histórico de como o software evoluiu.
Exemplo do que pedir para a IA
“Registre a decisão de usar PostgreSQL como banco de dados principal para o projeto X.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escreve um documento curto explicando o problema, as opções consideradas, a decisão final e as consequências. Esses documentos são organizados em uma pasta e podem ser atualizados conforme as decisões mudam.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add wshobson/agents --skill architecture-decision-recordsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/documentation-generation/skills/architecture-decision-records/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Registros de Decisões de Arquitetura
Padrões abrangentes para criar, manter e gerenciar Registros de Decisões de Arquitetura (ADRs) que capturam o contexto e a justificativa por trás de decisões técnicas significativas.
Quando Usar Esta Habilidade
- Tomar decisões arquiteturais significativas
- Documentar escolhas de tecnologia
- Registrar compromissos de design (trade-offs)
- Integrar novos membros da equipe
- Revisar decisões históricas
- Estabelecer processos de tomada de decisão
Conceitos Principais
1. O que é um ADR?
Um Registro de Decisão de Arquitetura captura:
- Contexto: Por que precisávamos tomar uma decisão
- Decisão: O que decidimos
- Consequências: O que acontece como resultado
2. Quando Escrever um ADR
| Escrever ADR | Pular ADR |
|---|---|
| Adoção de novo framework | Atualizações de versão menores |
| Escolha de tecnologia de banco de dados | Correções de bugs |
| Padrões de design de API | Detalhes de implementação |
| Arquitetura de segurança | Manutenção rotineira |
| Padrões de integração | Mudanças de configuração |
3. Ciclo de Vida do ADR
Proposed → Accepted → Deprecated → Superseded
↓
Rejected
Antes de redigir um ADR padrão, leve ou Y-statement, leia modelos de decisão.
Antes de redigir um ADR de depreciação ou RFC, leia modelos de depreciação e RFC.
Gerenciamento de ADRs
Estrutura de Diretório
docs/
├── adr/
│ ├── README.md # Index and guidelines
│ ├── template.md # Team's ADR template
│ ├── 0001-use-postgresql.md
│ ├── 0002-caching-strategy.md
│ ├── 0003-mongodb-user-profiles.md # [DEPRECATED]
│ └── 0020-deprecate-mongodb.md # Supersedes 0003
Índice de ADRs (README.md)
# Architecture Decision Records
This directory contains Architecture Decision Records (ADRs) for [Project Name].
## Index
| ADR | Title | Status | Date |
| ------------------------------------- | ---------------------------------- | ---------- | ---------- |
| [0001](0001-use-postgresql.md) | Use PostgreSQL as Primary Database | Accepted | 2024-01-10 |
| [0002](0002-caching-strategy.md) | Caching Strategy with Redis | Accepted | 2024-01-12 |
| [0003](0003-mongodb-user-profiles.md) | MongoDB for User Profiles | Deprecated | 2023-06-15 |
| [0020](0020-deprecate-mongodb.md) | Deprecate MongoDB | Accepted | 2024-01-15 |
## Creating a New ADR
1. Copy `template.md` to `NNNN-title-with-dashes.md`
2. Fill in the template
3. Submit PR for review
4. Update this index after approval
## ADR Status
- **Proposed**: Under discussion
- **Accepted**: Decision made, implementing
- **Deprecated**: No longer relevant
- **Superseded**: Replaced by another ADR
- **Rejected**: Considered but not adopted
Automação (adr-tools)
# Install adr-tools
brew install adr-tools
# Initialize ADR directory
adr init docs/adr
# Create new ADR
adr new "Use PostgreSQL as Primary Database"
# Supersede an ADR
adr new -s 3 "Deprecate MongoDB in Favor of PostgreSQL"
# Generate table of contents
adr generate toc > docs/adr/README.md
# Link related ADRs
adr link 2 "Complements" 1 "Is complemented by"
Processo de Revisão
## ADR Review Checklist
### Before Submission
- [ ] Context clearly explains the problem
- [ ] All viable options considered
- [ ] Pros/cons balanced and honest
- [ ] Consequences (positive and negative) documented
- [ ] Related ADRs linked
### During Review
- [ ] At least 2 senior engineers reviewed
- [ ] Affected teams consulted
- [ ] Security implications considered
- [ ] Cost implications documented
- [ ] Reversibility assessed
### After Acceptance
- [ ] ADR index updated
- [ ] Team notified
- [ ] Implementation tickets created
- [ ] Related documentation updated
Melhores Práticas
Fazer
- Escrever ADRs cedo - Antes do início da implementação
- Mantê-los curtos - 1-2 páginas no máximo
- Ser honesto sobre os compromissos - Incluir contras reais
- Vincular decisões relacionadas - Construir um grafo de decisões
- Atualizar o status - Depreciar quando substituído
Não Fazer
- Não alterar ADRs aceitos - Escrever novos para substituir
- Não omitir o contexto - Leitores futuros precisam de histórico
- Não esconder falhas - Decisões rejeitadas são valiosas
…
Perguntas frequentes
O que é um ADR?
É um documento que registra uma decisão técnica importante, explicando o contexto, a decisão e suas consequências.
Quando devo escrever um ADR?
Sempre que uma decisão técnica tiver um impacto significativo, como escolher uma nova tecnologia, mudar a arquitetura ou definir padrões importantes.
O que significa 'Deprecated' ou 'Superseded'?
'Deprecated' (Obsoleto) significa que a decisão não é mais recomendada. 'Superseded' (Substituído) significa que uma nova decisão a substituiu.
Detalhes
Descrição original do autor
Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4855
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
architecture-decision-records
Faz seu agente registrar decisões importantes sobre a estrutura do projeto. Ajuda a entender o porquê das escolhas feitas e a manter um histórico claro das mudanças.
affaan-m/ECC
code-tour
Faz seu agente criar guias passo a passo no código, com locais exatos em arquivos e linhas. É útil para apresentar um projeto, explicar código ou revisar mudanças. Ajuda a entender como um sistema funciona.
affaan-m/ECC
codebase-onboarding
Ajuda seu agente a analisar um código desconhecido e criar um guia de integração. Ele inclui um mapa da arquitetura, pontos de entrada e convenções. Ideal para quem está começando em um novo projeto.
affaan-m/ECC