Pular para o conteúdo
Skillpedia
Documentação48 mil · #2195

architecture-decision-records

Ajuda seu agente a registrar decisões importantes de arquitetura. Ele cria documentos que explicam o porquê de certas escolhas técnicas.

O que ela faz

Esta ferramenta ajuda a registrar e gerenciar decisões importantes sobre como construir software. Ela documenta o porquê de uma escolha técnica ter sido feita, quais outras opções foram consideradas e quais foram os resultados.

Quando usar

  • ✓Ao escolher uma nova tecnologia para um projeto.
  • ✓Ao decidir como diferentes partes do software devem se comunicar.
  • ✓Ao documentar mudanças importantes que afetam a estrutura do software.

Exemplo do que pedir para a IA

“Registre a decisão de usar PostgreSQL como banco de dados principal para o novo e-commerce.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/architecture-decision-records/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/architecture-decision-records/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você descreve o problema, lista as opções que pensou, explica qual escolheu e por quê, e detalha o que aconteceu depois.

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 sickn33/agentic-awesome-skills --skill architecture-decision-records

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/architecture-decision-records/SKILL.md -o SKILL.md
Conteú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.

Use esta habilidade quando

  • Tomar decisões arquiteturais significativas
  • Documentar escolhas de tecnologia
  • Registrar trade-offs de design
  • Integrar novos membros da equipe
  • Revisar decisões históricas
  • Estabelecer processos de tomada de decisão

Não use esta habilidade quando

  • Você só precisa documentar pequenos detalhes de implementação
  • A mudança é um patch menor ou manutenção de rotina
  • Não há decisão arquitetural a ser registrada

Instruções

  1. Capture o contexto, as restrições e os impulsionadores da decisão.
  2. Documente as opções consideradas com seus trade-offs.
  3. Registre a decisão, a justificativa e as consequências.
  4. Vincule ADRs relacionados e atualize o status ao longo do tempo.

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 de rotina
Padrões de integração Mudanças de configuração

3. Ciclo de Vida do ADR

Proposed → Accepted → Deprecated → Superseded
              ↓
           Rejected

Modelos

Modelo 1: ADR Padrão (Formato MADR)

# ADR-0001: Usar PostgreSQL como Banco de Dados Principal

## Status

Aceito

## Contexto

Precisamos selecionar um banco de dados principal para nossa nova plataforma de e-commerce. O sistema lidará com:
- ~10.000 usuários simultâneos
- Catálogo de produtos complexo com categorias hierárquicas
- Processamento de transações para pedidos e pagamentos
- Busca de texto completo para produtos
- Consultas geoespaciais para localizador de lojas

A equipe tem experiência com MySQL, PostgreSQL e MongoDB. Precisamos de conformidade ACID para transações financeiras.

## Impulsionadores da Decisão

* **Deve ter conformidade ACID** para processamento de pagamentos
* **Deve suportar consultas complexas** para relatórios
* **Deve suportar busca de texto completo** para reduzir a complexidade da infraestrutura
* **Deve ter bom suporte a JSON** para atributos de produto flexíveis
* **Familiaridade da equipe** reduz o tempo de integração

## Opções Consideradas

### Opção 1: PostgreSQL
- **Prós**: Conformidade ACID, excelente suporte a JSON (JSONB), busca de texto completo integrada, PostGIS para geoespacial, a equipe tem experiência
- **Contras**: Configuração de replicação ligeiramente mais complexa que o MySQL

### Opção 2: MySQL
- **Prós**: Muito familiar para a equipe, replicação simples, grande comunidade
- **Contras**: Suporte a JSON mais fraco, sem busca de texto completo integrada (precisa de Elasticsearch), sem geoespacial sem extensões

### Opção 3: MongoDB
- **Prós**: Esquema flexível, JSON nativo, escalabilidade horizontal
- **Contras**: Sem ACID para transações multi-documento (no momento da decisão), a equipe tem experiência limitada, requer disciplina de design de esquema

## Decisão

Usaremos o **PostgreSQL 15** como nosso banco de dados principal.

## Justificativa

O PostgreSQL oferece o melhor equilíbrio entre:
1. **Conformidade ACID** essencial para transações de e-commerce
2. **Capacidades integradas** (busca de texto completo, JSONB, PostGIS) reduzem a complexidade da infraestrutura
3. **Familiaridade da equipe** com bancos de dados SQL reduz a curva de aprendizado
4. **Ecossistema maduro** com excelente suporte de ferramentas e comunidade

A ligeira complexidade na replicação é compensada pela redução de serviços adicionais (nenhum Elasticsearch separado necessário).

## Consequências

### Positivas
- Um único banco de dados lida com transações, busca e consultas geoespaciais
- Complexidade operacional reduzida (menos serviços para gerenciar)
- Fortes garantias de consistência para dados financeiros
- A equipe pode alavancar a expertise SQL existente

### Negativas
- Necessidade de aprender recursos específicos do PostgreSQL (sintaxe de JSONB, busca de texto completo)
- Limites de escalabilidade vertical podem exigir réplicas de leitura mais cedo
- Alguns membros da equipe precisam de treinamento específico em PostgreSQL

### Riscos
- A busca de texto completo pode não escalar tão bem quanto mecanismos de busca dedicados
- Mitigação: Projetar para uma possível adição de Elasticsearch, se necessário

## Notas de Implementação

- Usar JSONB para atributos de produto flexíveis
- Implementar pooling de conexões com PgBouncer
- Configurar replicação de streaming para réplicas de leitura
- Usar a extensão pg_trgm para busca fuzzy

## Decisões Relacionadas


…
Perguntas frequentes

O que é um ADR?

É um documento curto que explica uma decisão técnica importante, incluindo o contexto, a decisão tomada e suas consequências.

Quando devo usar isso?

Use quando fizer uma escolha técnica significativa que precise ser lembrada e entendida por todos, como escolher um banco de dados ou um novo framework.

Quando NÃO devo usar isso?

Não use para documentar pequenas correções de bugs ou mudanças rotineiras que não afetam a estrutura principal do software.

Detalhes

Descrição original do autor

Comprehensive patterns for creating, maintaining, and managing Architecture Decision Records (ADRs) that capture the context and rationale behind significant technical decisions.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2195
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas