Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Skill Renato Arquiteto

Skill Renato Arquiteto — Claude Code

Skill de Arquiteto de Software Senior para o Claude Code, construida a partir de 56 transcricoes de video do canal Renato Augusto Tech. Transforma o Claude em um consultor de arquitetura que projeta sistemas distribuidos, aplica design patterns, SOLID, Object Calisthenics e conduz sessoes de system design com foco pratico e fundamentado.

Instalacao

Opcao 1 — Comando global (qualquer projeto)

Copie o arquivo renato-arquiteto.md para ~/.claude/commands/:

cp renato-arquiteto.md ~/.claude/commands/

Depois invoque com:

/renato-arquiteto

Opcao 2 — Skill de projeto

Copie a pasta Renato/ para dentro do seu projeto e referencie no CLAUDE.md:

Skill disponivel em: ./Renato/SKILL.md

Funcionalidades

1. System Design Completo

Conduz sessoes de system design seguindo uma metodologia de 7 etapas:

Etapa O que faz
1. Requisitos Elicita requisitos funcionais (o que o sistema faz) e nao funcionais (como deve se comportar)
2. Estimativas Calcula armazenamento total, trafego diario, operacoes de leitura/escrita por segundo
3. Entidades Identifica entidades do dominio, relacionamentos e separa dados brutos de metadados
4. Banco de Dados Escolhe o banco aplicando Teorema CAP e PACELC — nunca superdimensiona
5. Endpoints Define API com autenticacao JWT, boas praticas de seguranca
6. Arquitetura Projeta incrementalmente, componente por componente, explicando cada decisao
7. Escalabilidade Resolve alta disponibilidade, redundancia, cache e processamento assincrono

Arquiteturas de referencia incluidas:

  • TicketMaster (filas virtuais, Elasticsearch, Debezium CDC)
  • YouTube (multipart upload, transcoding, CDN, adaptive bitrate)
  • Google Drive (URLs pre-assinadas, sincronizacao local/remoto, iNotify/FSEvent)
  • Copa do Mundo em tempo real (Event Sourcing, Kafka, SSE, Redis Pub/Sub)
  • URL Shortener (base-62, HashID, Cassandra, 301 vs 302)
  • Escalabilidade de 0 a 1 milhao de usuarios

2. Comunicacao em Tempo Real

Orienta a escolha correta entre 4 tecnologias com regras claras:

Tecnologia Direcao Overhead Caso de Uso
Polling Simulado bidirecional Alto Dashboard interno, poucos usuarios
Long Polling Simulado bidirecional Medio Alternativa pre-SSE
SSE Servidor → Cliente Baixo Notificacoes, geolocalizacao, streaming de dados
WebSocket Bidirecional Zero Chat, jogos, Discord, WhatsApp

SSE — 8 pontos de atencao criticos:

  • Content-Type text/event-stream obrigatorio
  • Formato data: <valor>\n\n com duas quebras de linha
  • Eventos nomeados com event: <nome>\n
  • NUNCA chamar res.end() (transforma em polling)
  • Gerenciar conexoes com req.on('close')
  • Singleton para conexoes Redis/BD
  • JWT via query string (EventSource nao suporta headers)
  • Reconexao automatica nativa do browser

3. Load Balancing Aprofundado

Cobre Layer 4 vs Layer 7 do modelo OSI com 6 algoritmos:

Algoritmo Logica Quando Usar
Round Robin Circular entre servidores Servidores homogeneos
Weighted Round Robin Baseado no peso de cada servidor Capacidades diferentes
Least Connections Menos conexoes ativas Tempos de resposta variados
Least Response Time Servidor mais rapido Monitorar saude
Sticky Round Robin Fixa usuario a um servidor Aplicacoes stateful
IP Hash Hash do IP do cliente Persistencia de sessao

Ferramentas mapeadas: Nginx, HAProxy, Traefik, AWS ALB/NLB, Google Cloud LB, Azure LB/App Gateway, F5 Big-IP, Citrix NetScaler


4. Apache Kafka e Event Sourcing

Conceitos fundamentais com aplicacao pratica:

  • Topico vs Fila — Kafka persiste eventos, nao remove apos consumo
  • Particoes — subdivisoes para paralelismo, cada uma pertence a UM consumidor
  • Consumer Groups — isolamento de consumidores para evitar duplicatas
  • Offset Commit — garantia de processamento ordenado
  • Chave de Particao — Murmur Hash + modulo para distribuicao deterministica
  • Rebalanceamento — redistribuicao automatica quando consumidor cai
  • Event Replay — reprocessar desde o inicio para corrigir bugs historicos
  • Projecoes — views materializadas em Redis a partir de eventos

Arquitetura tipica:

Data Provider → API Ingestao → Kafka → Consumer Group 1 (PostgreSQL)
                                     → Consumer Group 2 (Redis Cache + Pub/Sub) → SSE → Frontend

5. Design Patterns (10 Patterns)

Cada pattern com problema que resolve, exemplo pratico e tradeoffs:

Pattern Resolve Exemplo
Strategy if/else de tipos Calculos de imposto: ICMS, ISS, IPI
Observer Notificar multiplos interessados Monitor de preco Bitcoin
Decorator Comportamento composivel em cadeia Pipeline de imagem: Basic → Watermark → Resize
Proxy Controle de acesso (cache, log, lazy load) ReportGeneratorProxy com cache 1h
Facade Interface simplificada para subsistemas OrderFacade: pagamento + notificacao + estoque
Adapter Desacoplamento de bibliotecas PdfAdapterInterface: DomPDF, TcPDF
State Ciclo de vida com transicoes validas Pedido: Realizado → Preparando → Entregue
Template Method Duplicacao em algoritmos com passos variaveis DataMiner com openFile/extractData abstratos
Simple Factory Centralizar criacao de objetos NotificationFactory: Email, SMS, Slack
Singleton Instancia unica (conexoes, logger) Redis compartilhado — prefira DI Container

Regras: nao aplique preventivamente, todo pattern tem desvantagem, aprenda errando primeiro.


6. Principios SOLID

Cada principio com violacao concreta, solucao e conexao com patterns:

Principio Violacao Tipica Solucao
SRP OrderProcessor faz estoque + calculo + pagamento Extrair para 3 classes + Facade
OCP Adicionar desconto exige modificar Order Interface DiscountInterface + Strategy
LSP S3ReportGenerator retorna URL ao inves de arquivo Redesenhar hierarquia "is-a"
ISP CreditCard forçado a implementar generateQRCode() Segregar em interfaces menores
DIP OrderProcessor instancia StripeClient diretamente Injetar PaymentGatewayInterface (Hexagonal)

7. Object Calisthenics (7 Regras)

Regra Descricao Tecnica
1 Um nivel de indentacao por metodo Guard clauses: inverta, trate, retorne
2 Nao use else Guard clauses: happy path no topo
3 Encapsule primitivos Value Objects: Email, CPF, Age
5 Um ponto por linha (Lei de Demeter) order.getCustomerZipCode()
7 Max 50 linhas por classe Extrair responsabilidades
8 Max 2 parametros no construtor Agrupar com Value Objects
9 Sem getters/setters Metodos com comportamento: applyDiscount()

8. Banco de Dados — Escolha Fundamentada

Mapeamento por Teorema CAP + PACELC:

Banco CAP PACELC Ideal Para
PostgreSQL CA EC Dados transacionais, JSONB, ate ~10K writes/s
Cassandra AP EL Escrita massiva, alta disponibilidade
MongoDB CP EC Documentos flexiveis
DynamoDB AP EL Serverless, baixa latencia
CockroachDB CP NewSQL com transacoes distribuidas
Redis Cache, pub/sub, filas, canivete suico

9. Escalabilidade — Roteiro Completo

Sequencia de evolucao de 0 a milhoes de usuarios:

1. Servidor unico
2. Separar banco de dados
3. Escala vertical (mais RAM, CPU, disco)
4. Escala horizontal (load balancer + replicas)
5. Replicacao de BD (master-slave)
6. Cache com Redis (Cache Aside + TTL)
7. Auto-scaling baseado em metricas
8. Multi-datacenter (redundancia geografica)
9. Filas de mensageria (processamento assincrono)
10. Monitoramento e CI/CD

Sharding incluido: range-based vs hash-based, consistent hashing, problema da celebridade, Saga Pattern.


10. Seguranca

Armazenamento de senhas:

  • Texto puro / MD5/SHA — NUNCA
  • bcrypt com cost factor adaptativo
  • Argon2ID — memory-hard (mais moderno)
  • Salt por usuario + Pepper por aplicacao

Upload seguro:

  • URLs pre-assinadas com expiracao
  • Multipart upload (chunks de 5-10MB)
  • Uploads retomáveis via listParts
  • NUNCA expor URL final do storage

11. Qualidade de Codigo

4 Sintomas de Codigo Apodrecendo (Robert Martin):

  • Rigidez, Fragilidade, Imobilidade, Viscosidade

Principios: YAGNI, KISS, SINE

Estimativas: Lei de Hofstadter, Lei de Parkinson, Bike-shedding


12. Microsservicos vs Monolito

  • Monolito Modular primeiro (Martin Fowler: "Monolith First")
  • Microsservicos so quando: dominios estabilizados, escala independente necessaria, times grandes
  • NAO use microsservicos sem: pipelines, observabilidade, mensageria, DDD

13. Docker Swarm + PostgreSQL + Portainer

Recomendacoes especificas para o ambiente do usuario:

  • Servicos: docker stack deploy com replicas, rolling updates, health checks
  • PostgreSQL: PgBouncer para connection pooling, Patroni para HA, pg_dump para backup
  • Redis: servico central para cache e pub/sub, Redis Sentinel para HA
  • Portainer: monitoramento de stacks, alertas de saude, escala on-demand
  • Traefik: load balancer nativo Docker Swarm, HTTPS automatico, rate limiting

14. Livros Recomendados

8 livros fundamentais para a carreira de arquiteto:

  1. Designing Data-Intensive Applications (Kleppmann) — leitura obrigatoria
  2. The Pragmatic Programmer — mentalidade profissional
  3. Fundamentals of Software Architecture (Richards & Ford)
  4. Learning Domain-Driven Design (Khononov)
  5. Building Microservices (Newman)
  6. System Design Interview Vol. 1 & 2 (Alex Xu)
  7. 14 Habits of Highly Productive Developers
  8. How to Win Friends and Influence People (Carnegie)

Modos de Uso

O agente se adapta automaticamente ao tipo de pedido:

Pedido Comportamento
"Projete um sistema de..." Inicia sessao de system design com as 7 etapas
"Revise esse codigo" Identifica violacoes SOLID/Calisthenics, mostra antes/depois
"Qual tecnologia usar para..." Faz perguntas de contexto, compara com tradeoffs
"Como escalar..." Avalia o estagio atual e recomenda o proximo passo
"Como funciona X por baixo dos panos?" Explica fundamentos com exemplos praticos

Tom e Estilo

  • Portugues brasileiro, direto ao ponto
  • Sempre explica o "por baixo dos panos"
  • Alerta sobre erros comuns que programadores cometem
  • Usa "beleza?" e "vamos la" naturalmente
  • Corrige com firmeza mas com didatica
  • Nunca recomenda sem explicar o porque e o quando

Estrutura de Arquivos

Renato/
  SKILL.md              # Skill principal (~420 linhas de conhecimento destilado)
  README.md             # Esta documentacao
  renato-arquiteto.md   # Comando global para ~/.claude/commands/

Origem do Conteudo

Construida a partir de 56 transcricoes de videos do canal Renato Augusto Tech no YouTube, cobrindo:

  • System Design (TicketMaster, YouTube, Google Drive, URL Shortener, Copa do Mundo)
  • Arquitetura distribuida (Kafka, Event Sourcing, Event-Driven Architecture)
  • Design Patterns (Strategy, Observer, Decorator, Proxy, Facade, Adapter, State, Template Method, Factory, Singleton)
  • SOLID (SRP, OCP, LSP, ISP, DIP)
  • Object Calisthenics (regras 1, 2, 3, 5, 7, 8, 9)
  • Infraestrutura (Load Balancing L4/L7, Sharding, Cache, SSE, WebSocket)
  • Seguranca (bcrypt, Argon2ID, multipart upload)
  • Qualidade de codigo (YAGNI, KISS, rotting code symptoms)
  • Carreira (roadmap arquiteto, soft skills, estimativas, impostor syndrome)
  • Fundamentos (redes, SO, floating point, historia da engenharia de software)

Canal de Referencia

Renato Augusto Tech — Canal brasileiro de engenharia de software com conteudo aprofundado sobre arquitetura de sistemas, system design, design patterns, SOLID e carreira de programador. Todos os ensinamentos desta skill foram extraidos dos videos desse canal.


Licenca

Uso pessoal e educacional. Conteudo baseado em material publico do YouTube.

About

Skill de Arquiteto de Software Senior para Claude Code — System Design, Design Patterns, SOLID, Kafka, SSE, Load Balancing, Docker Swarm + PostgreSQL

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors