software-architecture
Ajuda seu agente a criar e analisar código de software. É útil para planejar a estrutura de programas e garantir que o código seja de alta qualidade.
O que ela faz
Esta ferramenta ajuda a criar softwares de alta qualidade, seguindo boas práticas de organização e design. Ela ensina como escrever código mais limpo, fácil de entender e manter.
Quando usar
- ✓Quando você quer começar um novo projeto de software.
- ✓Ao revisar o código de um programa existente.
- ✓Se você precisa organizar melhor as partes de um software.
Exemplo do que pedir para a IA
“Me ajude a organizar a estrutura de um aplicativo web seguindo os princípios de Clean Architecture.”
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 usa princípios como 'Clean Architecture' e 'Domain Driven Design' para dar conselhos. Ela sugere como dividir o código em partes menores e mais organizadas, e como nomear as coisas de forma clara.
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 software-architectureOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/software-architecture/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.
Habilidade de Desenvolvimento de Arquitetura de Software
Esta habilidade fornece orientação para o desenvolvimento e arquitetura de software focados em qualidade. Ela é baseada nos princípios de Arquitetura Limpa (Clean Architecture) e Design Orientado a Domínio (Domain Driven Design).
Regras de Estilo de Código
Princípios Gerais
- Padrão de retorno antecipado (early return): Sempre use retornos antecipados quando possível, em vez de condições aninhadas, para melhor legibilidade.
- Evite duplicação de código através da criação de funções e módulos reutilizáveis.
- Decomponha componentes e funções longos (mais de 80 linhas de código) em múltiplos componentes e funções menores. Se eles não puderem ser usados em outro lugar, mantenha-os no mesmo arquivo. Mas se o arquivo tiver mais de 200 linhas de código, ele deve ser dividido em vários arquivos.
- Use funções de seta (arrow functions) em vez de declarações de função quando possível.
Melhores Práticas
Abordagem "Biblioteca Primeiro" (Library-First Approach)
- SEMPRE procure por soluções existentes antes de escrever código personalizado.
- Verifique o npm em busca de bibliotecas existentes que resolvam o problema.
- Avalie serviços/soluções SaaS existentes.
- Considere APIs de terceiros para funcionalidades comuns.
- Use bibliotecas em vez de escrever suas próprias utilidades ou helpers. Por exemplo, use
cockatielem vez de escrever sua própria lógica de retentativa. - Quando código personalizado É justificado:
- Lógica de negócios específica e única do domínio.
- Caminhos críticos de desempenho com requisitos especiais.
- Quando dependências externas seriam excessivas.
- Código sensível à segurança que requer controle total.
- Quando soluções existentes não atendem aos requisitos após avaliação completa.
Arquitetura e Design
- Princípios de Arquitetura Limpa e DDD:
- Siga o design orientado a domínio e a linguagem ubíqua.
- Separe entidades de domínio de preocupações de infraestrutura.
- Mantenha a lógica de negócios independente de frameworks.
- Defina casos de uso claramente e mantenha-os isolados.
- Convenções de Nomenclatura:
- EVITE nomes genéricos:
utils,helpers,common,shared. - USE nomes específicos do domínio:
OrderCalculator,UserAuthenticator,InvoiceGenerator. - Siga os padrões de nomenclatura de contexto delimitado (bounded context).
- Cada módulo deve ter um único propósito claro.
- EVITE nomes genéricos:
- Separação de Preocupações (Separation of Concerns):
- NÃO misture lógica de negócios com componentes de UI.
- Mantenha consultas ao banco de dados fora dos controllers.
- Mantenha limites claros entre os contextos.
- Garanta a separação adequada de responsabilidades.
Anti-Padrões a Evitar
- Síndrome NIH (Not Invented Here - Não Inventado Aqui):
- Não crie autenticação personalizada quando Auth0/Supabase existem.
- Não escreva gerenciamento de estado personalizado em vez de usar Redux/Zustand.
- Não crie validação de formulário personalizada em vez de usar bibliotecas estabelecidas.
- Escolhas Arquiteturais Ruins:
- Misturar lógica de negócios com componentes de UI.
- Consultas ao banco de dados diretamente em controllers.
- Falta de separação clara de preocupações.
- Anti-Padrões de Nomenclatura Genérica:
utils.jscom 50 funções não relacionadas.helpers/misc.jscomo um "depósito" genérico.common/shared.jscom propósito pouco claro.
- Lembre-se: Cada linha de código personalizado é um passivo que requer manutenção, testes e documentação.
Qualidade do Código
- Tratamento adequado de erros com blocos
catchtipados. - Divida a lógica complexa em funções menores e reutilizáveis.
- Evite aninhamento profundo (máximo de 3 níveis).
- Mantenha funções focadas e com menos de 50 linhas, quando possível.
- Mantenha arquivos focados e com menos de 200 linhas de código, quando possível.
Quando Usar
Esta habilidade é aplicável para executar o fluxo de trabalho ou as ações descritas na visão geral.
Exemplo
Solicitação do usuário:
Use @software-architecture para esta tarefa: Guia para arquitetura de software focada em qualidade.
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
- Não trate a saída como substituta para validação específica do ambiente, testes ou revisão de especialistas.
- Pare e peça esclarecimentos se os inputs necessários, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Perguntas frequentes
O que é 'Clean Architecture'?
É uma forma de organizar o código de um software para que ele seja fácil de entender, testar e modificar, separando as partes importantes do negócio das partes técnicas.
O que significa 'evitar duplicação de código'?
Significa não escrever o mesmo código várias vezes. Em vez disso, crie uma função ou módulo que possa ser usado em vários lugares.
Por que devo preferir usar bibliotecas prontas?
Usar bibliotecas existentes economiza tempo e esforço, pois elas já foram testadas e resolvidas por outras pessoas. Só crie seu próprio código se for realmente necessário.
Detalhes
Descrição original do autor
Guide for quality focused software architecture. This skill should be used when users want to write code, design architecture, analyze code, in any case that relates to software development.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4211
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC