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.
O que ela faz
Esta ferramenta cria um registro formal de decisões importantes sobre a arquitetura do seu projeto de software. Ela salva essas decisões em arquivos de texto fáceis de ler, chamados ADRs, que ficam junto com o código.
Quando usar
- ✓Quando você decide qual tecnologia usar (ex: banco de dados, framework).
- ✓Ao discutir os prós e contras de diferentes abordagens.
- ✓Quando alguém pergunta por que uma escolha específica foi feita.
Exemplo do que pedir para a IA
“Grave esta decisão: vamos usar o banco de dados PostgreSQL em vez do MongoDB.”
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
A ferramenta identifica quando uma decisão importante é tomada. Ela então coleta o contexto, as alternativas consideradas e as consequências, formatando tudo em um arquivo de texto chamado ADR.
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 affaan-m/ECC --skill architecture-decision-recordsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/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
Capture decisões de arquitetura conforme elas acontecem durante as sessões de codificação. Em vez de as decisões ficarem apenas em threads do Slack, comentários de PR ou na memória de alguém, esta habilidade produz documentos ADR estruturados que vivem ao lado do código.
Quando Ativar
- O usuário diz explicitamente "vamos registrar esta decisão" ou "ADR isso"
- O usuário escolhe entre alternativas significativas (framework, biblioteca, padrão, banco de dados, design de API)
- O usuário diz "decidimos..." ou "o motivo pelo qual estamos fazendo X em vez de Y é..."
- O usuário pergunta "por que escolhemos X?" (ler ADRs existentes)
- Durante as fases de planejamento, quando os trade-offs arquiteturais são discutidos
Formato ADR
Use o formato ADR leve proposto por Michael Nygard, adaptado para desenvolvimento assistido por IA:
# ADR-NNNN: [Decision Title]
**Date**: YYYY-MM-DD
**Status**: proposed | accepted | deprecated | superseded by ADR-NNNN
**Deciders**: [who was involved]
## Context
What is the issue that we're seeing that is motivating this decision or change?
[2-5 sentences describing the situation, constraints, and forces at play]
## Decision
What is the change that we're proposing and/or doing?
[1-3 sentences stating the decision clearly]
## Alternatives Considered
### Alternative 1: [Name]
- **Pros**: [benefits]
- **Cons**: [drawbacks]
- **Why not**: [specific reason this was rejected]
### Alternative 2: [Name]
- **Pros**: [benefits]
- **Cons**: [drawbacks]
- **Why not**: [specific reason this was rejected]
## Consequences
What becomes easier or more difficult to do because of this change?
### Positive
- [benefit 1]
- [benefit 2]
### Negative
- [trade-off 1]
- [trade-off 2]
### Risks
- [risk and mitigation]
Fluxo de Trabalho
Capturando um Novo ADR
Quando um momento de decisão é detectado:
- Inicializar (apenas primeira vez) — se
docs/adr/não existir, pergunte ao usuário a confirmação antes de criar o diretório, umREADME.mdsemeado com o cabeçalho da tabela de índice (veja Formato do Índice ADR abaixo) e umtemplate.mdem branco para uso manual. Não crie arquivos sem consentimento explícito. - Identificar a decisão — extraia a escolha arquitetural central que está sendo feita
- Coletar contexto — qual problema motivou isso? Quais restrições existem?
- Documentar alternativas — quais outras opções foram consideradas? Por que foram rejeitadas?
- Declarar consequências — quais são os trade-offs? O que se torna mais fácil/difícil?
- Atribuir um número — escaneie ADRs existentes em
docs/adr/e incremente - Confirmar e escrever — apresente o rascunho do ADR ao usuário para revisão. Escreva em
docs/adr/NNNN-decision-title.mdapenas após aprovação explícita. Se o usuário recusar, descarte o rascunho sem escrever nenhum arquivo. - Atualizar o índice — anexe a
docs/adr/README.md
Lendo ADRs Existentes
Quando um usuário pergunta "por que escolhemos X?":
- Verifique se
docs/adr/existe — se não, responda: "Nenhum ADR encontrado neste projeto. Gostaria de começar a registrar decisões de arquitetura?" - Se existir, escaneie o índice
docs/adr/README.mdem busca de entradas relevantes - Leia os arquivos ADR correspondentes e apresente as seções de Contexto e Decisão
- Se nenhuma correspondência for encontrada, responda: "Nenhum ADR encontrado para essa decisão. Gostaria de registrar um agora?"
Estrutura do Diretório ADR
docs/
└── adr/
├── README.md ← index of all ADRs
├── 0001-use-nextjs.md
├── 0002-postgres-over-mongo.md
├── 0003-rest-over-graphql.md
└── template.md ← blank template for manual use
Formato do Índice ADR
# Architecture Decision Records
| ADR | Title | Status | Date |
|-----|-------|--------|------|
| [0001](0001-use-nextjs.md) | Use Next.js as frontend framework | accepted | 2026-01-15 |
| [0002](0002-postgres-over-mongo.md) | PostgreSQL over MongoDB for primary datastore | accepted | 2026-01-20 |
| [0003](0003-rest-over-graphql.md) | REST API over GraphQL | accepted | 2026-02-01 |
Sinais de Detecção de Decisão
Observe estes padrões na conversa que indicam uma decisão arquitetural:
Sinais explícitos
- "Vamos com X"
- "Devemos usar X em vez de Y"
- "O trade-off vale a pena porque..."
- "Registre isso como um ADR"
Sinais implícitos (sugerem registrar um ADR — não crie automaticamente sem confirmação do usuário)
- Comparando dois frameworks ou bibliotecas e chegando a uma conclusão
- Tomando uma decisão de design de esquema de banco de dados com justificativa declarada
- Escolhendo entre padrões arquiteturais (monolito vs microsserviços, REST vs GraphQL)
…
Perguntas frequentes
O que é um ADR?
ADR significa 'Architecture Decision Record' (Registro de Decisão de Arquitetura). É um documento simples que captura uma decisão importante sobre a estrutura do software.
Onde esses registros são salvos?
Eles são salvos em arquivos de texto no formato Markdown, dentro de uma pasta chamada `docs/adr/` no seu projeto.
Preciso criar esses arquivos manualmente?
Não, a ferramenta pode criar e gerenciar esses arquivos para você quando você toma uma decisão.
Detalhes
Descrição original do autor
Capture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README. Use when the user says 'record this decision' or 'ADR this', chooses between frameworks or databases, discusses trade-offs, or asks why the codebase is shaped this way.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #14
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
academy-guide
Faz seu agente recomendar cursos e tutoriais para aprender a usar o Claude. É útil quando você tem dúvidas sobre como usar o Claude ou seus produtos.
anthropics/skills
claude-api
Fornece informações sobre a API do Claude, como modelos, preços e configurações. É útil para desenvolvedores que usam a API do Claude em seus projetos.
anthropics/skills
ponytail-help
Fornece um guia rápido sobre como usar as ferramentas e comandos. Ajuda a entender as funcionalidades disponíveis.
DietrichGebert/ponytail