Communitygithub.com

registros-de-decisao-arquitetural

Capture decisões arquiteturais tomadas durante sessões do Claude Code como ADRs estruturadas. Detecta automaticamente momentos de decisão, registra contexto, alternativas consideradas e justificativa. Mantém um log de ADRs para que futuros desenvolvedores entendam por que o código foi moldado daquela forma.

O que é registros-de-decisao-arquitetural?

Esta skill para o Claude Code permite que decisões arquiteturais sejam capturadas de forma estruturada durante sessões de codificação, gerando documentos ADR (Architecture Decision Records) que ficam versionados junto ao código. Ela detecta automaticamente momentos-chave de decisão, como quando o usuário escolhe entre frameworks, bibliotecas, padrões ou bancos de dados, ou quando diz explicitamente 'vamos registrar esta decisão'. Ao criar uma nova ADR, a skill coleta contexto, alternativas consideradas e consequências, e só escreve o arquivo no diretório `docs/adr/` após aprovação explícita do usuário. Também suporta consulta a ADRs existentes quando o usuário pergunta 'por que escolhemos X?'. A skill usa o formato leve de ADR proposto por Michael Nygard, adaptado para desenvolvimento assistido por IA, e recomenda registrar apenas decisões significativas (tecnologia, padrões, design de API, modelagem de dados, infraestrutura, segurança, testes e processos).

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/architecture-decision-records

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Registros de Decisão Arquitetural

Capture decisões arquiteturais à medida que acontecem durante sessões de codificação. Em vez de decisões viverem apenas em threads do Slack, comentários de PR ou na memória de alguém, esta skill produz documentos ADR estruturados que ficam junto ao 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 que..." ou "a razão de estarmos fazendo X em vez de Y é..."
  • O usuário pergunta "por que escolhemos X?" (ler ADRs existentes)
  • Durante fases de planejamento quando 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: [Título da Decisão]

**Data**: AAAA-MM-DD
**Status**: proposto | aceito | depreciado | substituído por ADR-NNNN
**Decisores**: [quem esteve envolvido]

## Contexto

Qual é o problema que estamos vendo que está motivando esta decisão ou mudança?

[2 a 5 frases descrevendo a situação, restrições e forças em jogo]

## Decisão

O que estamos propondo e/ou fazendo de diferente?

[1 a 3 frases declarando a decisão claramente]

## Alternativas Consideradas

### Alternativa 1: [Nome]
- **Prós**: [benefícios]
- **Contras**: [desvantagens]
- **Por que não**: [motivo específico pelo qual foi rejeitada]

### Alternativa 2: [Nome]
- **Prós**: [benefícios]
- **Contras**: [desvantagens]
- **Por que não**: [motivo específico pelo qual foi rejeitada]

## Consequências

O que fica mais fácil ou mais difícil de fazer por causa desta mudança?

### Positivas
- [benefício 1]
- [benefício 2]

### Negativas
- [trade-off 1]
- [trade-off 2]

### Riscos
- [risco e mitigação]

Fluxo de Trabalho

Capturando uma Nova ADR

Quando um momento de decisão é detectado:

  1. Inicializar (apenas na primeira vez) — se docs/adr/ não existir, pergunte ao usuário a confirmação antes de criar o diretório, um README.md preenchido com o cabeçalho da tabela de índice (veja Formato do Índice ADR abaixo) e um template.md em branco para uso manual. Não crie arquivos sem consentimento explícito.
  2. Identificar a decisão — extraia a escolha arquitetural central que está sendo feita
  3. Coletar contexto — qual problema motivou isso? Quais restrições existem?
  4. Documentar alternativas — quais outras opções foram consideradas? Por que foram rejeitadas?
  5. Declarar consequências — quais são os trade-offs? O que fica mais fácil/mais difícil?
  6. Atribuir um número — escaneie as ADRs existentes em docs/adr/ e incremente
  7. Confirmar e escrever — apresente o rascunho da ADR ao usuário para revisão. Escreva em docs/adr/NNNN-titulo-da-decisao.md apenas após aprovação explícita. Se o usuário recusar, descarte o rascunho sem gravar nenhum arquivo.
  8. Atualizar o índice — acrescente a entrada em docs/adr/README.md

Lendo ADRs Existente

Quando um usuário pergunta "por que escolhemos X?":

  1. Verifique se docs/adr/ existe — se não, responda: "Nenhuma ADR encontrada neste projeto. Gostaria de começar a registrar decisões arquiteturais?"
  2. Se existir, escaneie o índice docs/adr/README.md em busca de entradas relevantes
  3. Leia os arquivos ADR correspondentes e apresente as seções de Contexto e Decisão
  4. Se nenhuma correspondência for encontrada, responda: "Nenhuma ADR encontrada para essa decisão. Gostaria de registrar uma agora?"

Estrutura do Diretório ADR

docs/
└── adr/
    ├── README.md              ← índice de todas as ADRs
    ├── 0001-use-nextjs.md
    ├── 0002-postgres-over-mongo.md
    ├── 0003-rest-over-graphql.md
    └── template.md            ← template em branco para uso manual

Formato do Índice ADR

# Registros de Decisão Arquitetural

| ADR | Título | Status | Data |
|-----|--------|--------|------|
| [0001](0001-use-nextjs.md) | Usar Next.js como framework frontend | aceito | 2026-01-15 |
| [0002](0002-postgres-over-mongo.md) | PostgreSQL em vez de MongoDB para banco de dados principal | aceito | 2026-01-20 |
| [0003](0003-rest-over-graphql.md) | API REST em vez de GraphQL | aceito | 2026-02-01 |

Sinais de Detecção de Decisão

Fique atento a estes padrões na conversa que indicam uma decisão arquitetural:

Sinais explícitos

  • "Vamos com X"
  • "Deveríamos usar X em vez de Y"
  • "O trade-off vale a pena porque..."
  • "Registre isso como uma ADR"

Sinais implícitos (sugira registrar uma ADR — não crie automaticamente sem confirmação do usuário)

  • Comparar dois frameworks ou bibliotecas e chegar a uma conclusão
  • Fazer uma escolha de design de esquema de banco de dados com justificativa declarada
  • Escolher entre padrões arquiteturais (monólito vs microsserviços, REST vs GraphQL)
  • Decidir sobre estratégia de autenticação/autorização
  • Selecionar infraestrutura de implantação após avaliar alternativas

O Que Torna uma Boa ADR

Faça

  • Seja específico — "Usar Prisma ORM" não "usar um ORM"
  • Registre o porquê — a justificativa importa mais do que o quê
  • Inclua alternativas rejeitadas — futuros desenvolvedores precisam saber o que foi considerado
  • Declare consequências honestamente — toda decisão tem trade-offs
  • Mantenha curto — uma ADR deve ser legível em 2 minutos
  • Use o presente — "Usamos X" não "Usaremos X"

Não Faça

  • Registre decisões triviais — escolhas de nomenclatura de variáveis ou formatação não precisam de ADRs
  • Escreva ensaios — se a seção de contexto ultrapassar 10 linhas, está muito longo
  • Omita alternativas — "apenas escolhemos" não é uma justificativa válida
  • Preencha retrospectivamente sem marcar — se estiver registrando uma decisão passada, anote a data original
  • Deixe ADRs ficarem obsoletos — decisões substituídas devem referenciar sua substituta

Ciclo de Vida das ADRs

proposto → aceito → [depreciado | substituído por ADR-NNNN]
  • proposto: decisão está em discussão, ainda não comprometida
  • aceito: decisão está em vigor e sendo seguida
  • depreciado: decisão não é mais relevante (ex.: funcionalidade removida)
  • substituído: uma ADR mais nova substitui esta (sempre link a substituta)

Categorias de Decisões que Vale a Pena Registrar

CategoriaExemplos
Escolhas de tecnologiaFramework, linguagem, banco de dados, provedor de nuvem
Padrões arquiteturaisMonólito vs microsserviços, orientado a eventos, CQRS
Design de APIREST vs GraphQL, estratégia de versionamento, mecanismo de autenticação
Modelagem de dadosDesign de esquema, decisões de normalização, estratégia de cache
InfraestruturaModelo de implantação, pipeline CI/CD, stack de monitoramento
SegurançaEstratégia de autenticação, abordagem de criptografia, gerenciamento de segredos
TestesFramework de testes, metas de cobertura, equilíbrio entre E2E e integração
ProcessoEstratégia de branching, processo de revisão, cadência de releases

Integração com Outras Skills

  • Agente planejador: quando o planejador propõe mudanças de arquitetura, sugira criar uma ADR
  • Agente revisor de código: sinalize PRs que introduzem mudanças arquiteturais sem uma ADR correspondente

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Habilidades Relacionadas