AgentSkillsCN

system-design-decision-engine

系统设计决策引擎。当用户提出“绘制架构”“决策架构”“复审架构”“论证架构”等需求时,此工具将发挥重要作用——它专注于识别反复出现的模式,引导用户提出必问的问题,促使用户做出明确的决策,清晰阐明权衡取舍,并最终形成一份条理清晰、逻辑严密的提案,以备面试或投入生产之用。

SKILL.md
--- frontmatter
name: system-design-decision-engine
description: >
  Motor de decisão para System Design. Use quando a pessoa usuária pedir para
  desenhar, decidir, revisar ou defender uma arquitetura. O foco é identificar
  padrões recorrentes, exigir perguntas obrigatórias, forçar decisões explícitas,
  explicitar trade offs e consolidar uma proposta coerente para entrevista ou produção.
allowed-tools:
  - Read
  - Grep
  - Glob
  - Bash
user-invocable: true

System Design Decision Engine

Objetivo

Você não vai responder apenas explicando conceitos. Você vai conduzir uma decisão arquitetural com rigor. A saída final deve seguir o contrato em reference-output-contract.md.

Regras obrigatórias

  1. Não assumir requisitos não declarados.
  2. Ambiguidade gera pergunta objetiva, não inferência.
  3. Toda decisão deve estar ligada a pelo menos um padrão ativado.
  4. Todo padrão ativado exige ao menos uma decisão explícita.
  5. Não listar tecnologias sem justificar com requisitos e trade offs.
  6. Se a pessoa usuária pedir evidência, use o RAG local e cite a fonte do trecho.

Como esta Skill trabalha

Esta Skill usa 7 padrões recorrentes. A definição de sinais, perguntas e decisões está em JSON em data/patterns/. Veja o resumo em reference-patterns.md.

Fluxo de trabalho.

Etapa 1. Detectar padrões a partir do enunciado Execute: python3 .claude/skills/system-design-decision-engine/scripts/detect_patterns.py "<texto do problema>"

Etapa 2. Gerar perguntas obrigatórias por padrão ativado Execute: python3 .claude/skills/system-design-decision-engine/scripts/generate_questions.py "<lista de ids de padrões>"

Etapa 3. Conduzir perguntas até reduzir ambiguidade Você deve perguntar primeiro as perguntas obrigatórias. Se a pessoa usuária não souber, ofereça 2 ou 3 cenários e explique o que muda nas decisões.

Etapa 4. Consolidar arquitetura Você vai produzir a resposta final seguindo o contrato em reference-output-contract.md. Você deve incluir, para cada padrão ativado:

  • por que ativou
  • decisões tomadas
  • alternativas descartadas
  • trade offs assumidos
  • riscos e falhas comuns

RAG local

O RAG é opcional e só pode ser usado nestes casos:

  • pessoa usuária pediu fonte ou evidência
  • subagent tradeoff-challenger sinalizou justificativa fraca

Política completa em: reference-rag-policy.md

Ingestão do corpus local: python3 .claude/skills/system-design-decision-engine/scripts/rag_ingest.py

Busca no corpus: python3 .claude/skills/system-design-decision-engine/scripts/rag_search.py "<consulta>"

Arquivos de referência

Referencias do Engineering Playbook

Decisoes devem considerar:

  • .docs/engineering-playbook/manual-desenvolvimento/principios.md - Principios orientadores
  • .docs/engineering-playbook/stacks/devops/security.md - Threat modeling (STRIDE)

Padrões Detalhados (Markdown)

Para explicações detalhadas de cada padrão, consulte:

PadrãoSinaisArquivo
ContencaoConcorrência, estoque, reservaspatterns/contention.md
Scaling ReadsAlta leitura, latência sensívelpatterns/scaling-reads.md
Scaling WritesAlta escrita, picospatterns/scaling-writes.md
Real-timeNotificações, estado compartilhadopatterns/real-time-updates.md
Large FilesUpload/download grandespatterns/large-files.md
Long RunningOperações demoradaspatterns/long-running-tasks.md
Multi-stepFluxos com etapaspatterns/multi-step-processes.md

Scripts Utilitários

Detecção e Perguntas (Workflow)

bash
# Detectar padrões no problema
python scripts/detect_patterns.py "sistema de reserva de ingressos"

# Gerar perguntas obrigatórias
python scripts/generate_questions.py "contention,scaling-writes"

Estimativas (Back-of-Envelope)

bash
# Referência rápida de valores comuns
python scripts/capacity_calculator.py --reference

# Estimar storage
python scripts/capacity_calculator.py --storage --users 1000000 --data-per-user 1MB

# Estimar bandwidth
python scripts/capacity_calculator.py --bandwidth --rps 10000 --response-size 10KB

# Estimar QPS
python scripts/capacity_calculator.py --qps --daily-users 1000000

Diagramas Mermaid

bash
# Listar tipos disponíveis
python scripts/diagram_generator.py --list

# Gerar diagrama
python scripts/diagram_generator.py --type microservice
python scripts/diagram_generator.py --type cqrs
python scripts/diagram_generator.py --type saga

Tipos: basic, microservice, event-driven, cqrs, cache, queue, database, saga, circuit-breaker, cdn

Checklist de Decisões

bash
# Checklist interativo
./scripts/decision_checklist.sh

# Checklist para impressão
./scripts/decision_checklist.sh --quick

Subagents Disponíveis

Esta skill trabalha com 4 subagents especializados em .claude/agents/:

AgentFunçãoQuando usar
requirements-interrogatorElimina ambiguidadeFaltam números, limites, requisitos
tradeoff-challengerAtaca decisões fracasEscolhas sem justificativa
failure-analystAnalisa resiliênciaFilas, jobs, pontos de falha
interview-simulatorSimula entrevistaTreinar defesa do design