Construir
Esteira de engenharia de software com IA em português — 27 skills para Claude Code + painel web com aprovação humana em portões. Da ideia ao lançamento, com processo.
npx -y skills add wendelcastro/fluxo-engenharia-ia --skill construirAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Orquestrador do Fluxo de Engenharia com IA. Executa a esteira completa — da ideia ao lançamento — com portões de aprovação humana entre as fases. Use quando o usuário quiser construir um projeto ou funcionalidade do zero, disser "vamos construir", "executa o fluxo completo", "cria isso pra mim do início ao fim", ou quando não souber qual skill do fluxo aplicar.
SKILL.md
12.4 KB, as published. Nobody here has run it
Construir — Orquestrador do Fluxo
Visão geral
Esta é a porta de entrada do fluxo. Ela faz duas coisas:
- Roteia — se a tarefa precisa de apenas uma skill, identifica qual e a invoca.
- Orquestra — se a tarefa é um projeto ou funcionalidade completa, executa a esteira inteira (Definir → Planejar → Construir → Verificar → Revisar → Lançar), pausando nos portões de aprovação para o humano decidir antes de avançar.
Todo o progresso é gravado em fluxo/estado.json, o que permite retomar uma execução
interrompida e alimentar interfaces externas (dashboard, página web) em tempo real.
Quando usar
- O usuário quer construir algo do zero (projeto, funcionalidade, mudança significativa)
- O usuário não sabe por onde começar
- O usuário pediu explicitamente "o fluxo completo"
Quando NÃO usar: tarefas de uma linha, correções triviais ou quando o usuário já invocou uma skill específica diretamente.
Roteamento — qual skill aplicar?
Quando a tarefa NÃO exige a esteira completa, identifique a fase e invoque a skill certa:
A tarefa chegou
│
├── Nem o usuário sabe direito o que quer? ─────→ entrevistar
├── Ideia vaga, precisa de variações? ──────────→ refinar-ideia
├── Documento de produto (o quê e por quê)? ────→ prd
├── Projeto/funcionalidade nova? ───────────────→ especificar
├── Tem spec, falta quebrar em tarefas? ────────→ planejar
├── Implementando código? ──────────────────────→ implementar
│ ├── Trabalho de interface (UI)? ────────────→ frontend
│ ├── Trabalho de API? ───────────────────────→ design-de-api
│ ├── Precisa de contexto melhor? ────────────→ contexto
│ ├── Precisa validar contra docs oficiais? ──→ fontes-oficiais
│ └── Risco alto / código desconhecido? ──────→ questionar
├── Escrevendo/rodando testes? ─────────────────→ teste-primeiro
│ └── Teste no navegador? ────────────────────→ testar-navegador
├── Algo quebrou? ──────────────────────────────→ depurar
│ └── Quebrou no meio da esteira? ────────────→ recuperar
├── Revisando código? ──────────────────────────→ revisar-codigo
│ ├── Complexo demais? ───────────────────────→ simplificar-codigo
│ ├── Preocupação com segurança? ─────────────→ blindar
│ └── Preocupação com performance? ───────────→ otimizar
├── Commit, branch, versão? ────────────────────→ git-profissional
├── Pipeline de CI/CD? ─────────────────────────→ ci-cd
├── Desativar/migrar sistema antigo? ───────────→ migrar
├── Documentação e decisões (ADRs)? ────────────→ documentar
├── Logs, métricas, alertas? ───────────────────→ observabilidade
├── Deploy e lançamento? ───────────────────────→ lancar
├── Fechar o ciclo e registrar aprendizados? ───→ memoria
└── Quanto custou? Onde otimizar tokens? ───────→ telemetria
A esteira completa
Quando a tarefa é um projeto ou funcionalidade inteira, execute as fases em ordem. Os portões (🚪) são paradas obrigatórias: apresente o resultado, aguarde aprovação explícita do humano e só então avance. Nunca pule um portão por conta própria.
FASE 1 — DEFINIR
entrevistar (se o objetivo estiver vago) → refinar-ideia (se houver alternativas)
→ prd (produto/funcionalidade nova de porte) → especificar (deriva do PRD)
🚪 PORTÃO 1: o humano aprova o PRD (linguagem de produto); a spec técnica
deriva dele e é apresentada como anexo. Para correções e ajustes pequenos,
pule o PRD e aprove a spec direto.
FASE 2 — PLANEJAR
planejar → salva tarefas/plano.md e tarefas/pendencias.md
🚪 PORTÃO 2: o humano aprova o plano e a ordem das tarefas
FASE 3 — CONSTRUIR (por tarefa, em fatias verticais)
contexto → fontes-oficiais (quando usar libs/APIs externas) → implementar
→ questionar (decisões não triviais) → teste-primeiro
[observabilidade corre em paralelo: instrumente enquanto constrói]
FASE 4 — VERIFICAR
teste-primeiro (suíte completa) → testar-navegador (se houver UI) → depurar (se falhar)
FASE 5 — REVISAR
revisar-codigo → simplificar-codigo → blindar → otimizar (se houver meta de performance)
🚪 PORTÃO 3: o humano aprova o código revisado (mostre o diff resumido e os achados)
FASE 6 — LANÇAR
git-profissional → documentar → ci-cd (se aplicável) → lancar
🚪 PORTÃO 4: o humano dá o "vai" final antes do deploy
ENCERRAMENTO
memoria (registra aprendizados) → telemetria (registra consumo por fase)
Nem toda execução precisa de todas as fases. Uma correção de bug pode ser apenas:
depurar → teste-primeiro → revisar-codigo → git-profissional. Anuncie no início quais
fases o trabalho exige e por quê.
Estado do fluxo (fluxo/estado.json)
Ao iniciar a esteira, crie a pasta fluxo/ no projeto e mantenha estado.json
atualizado a cada mudança de fase, portão ou tarefa:
{
"projeto": "nome-do-projeto",
"iniciado_em": "2026-07-06T14:30:00-03:00",
"fase_atual": "construir",
"progresso_pct": 45,
"narrativa": "Construindo a terceira de sete tarefas: a tela de correção. Os testes da lógica já passam.",
"medidores": {
"skills_executadas": 5,
"agentes_ativos": 0,
"agentes_total": 2,
"seguranca": "pendente",
"testes": "14/14",
"consumo": "—"
},
"fases": [
{ "id": "definir", "status": "concluida", "portao": "aprovado" },
{ "id": "planejar", "status": "concluida", "portao": "aprovado" },
{ "id": "construir", "status": "em_andamento", "tarefa_atual": "3/7" },
{ "id": "verificar", "status": "pendente" },
{ "id": "revisar", "status": "pendente", "portao": "aguardando" },
{ "id": "lancar", "status": "pendente", "portao": "aguardando" }
],
"aguardando_humano": false,
"pergunta_pendente": null,
"artefatos": ["tarefas/plano.md", "tarefas/pendencias.md"]
}
Este arquivo é o contrato com qualquer interface externa: um dashboard web pode lê-lo
para mostrar progresso, portões pendentes e perguntas ao usuário. Quando pausar em um
portão, defina aguardando_humano: true e preencha pergunta_pendente.
O campo narrativa é obrigatório em toda atualização: uma ou duas frases, em
linguagem leiga (sem jargão técnico), contando o que está acontecendo agora — como se
explicasse para alguém que nunca programou. É esse campo que uma interface exibe como
"o que a IA está fazendo", e é ele que transforma o fluxo em ferramenta de aprendizado,
não só de produção.
Os medidores também devem ser mantidos em toda atualização — são o que dá ao
usuário a certeza de que tudo está rodando:
skills_executadas— quantas skills distintas já foram acionadas no ciclo.agentes_ativos/agentes_total— subagentes trabalhando agora e o total usado no ciclo. Atualize ao despachar e ao receber cada subagente.seguranca—pendente→rodando(quandoblindarinicia) →verificada(sem achados abertos) ouachados(em tratamento).testes— resultado da última execução (ex.:"14/14");"—"antes do primeiro teste.consumo—"—"até atelemetriafechar o ciclo; então registre a estimativa (ou o valor real de/cost, se o usuário informar), ex.:"≈150 mil tokens".
Modo painel (interface web)
Quando o usuário quiser acompanhar pela tela ("abre o painel", "quero ver o fluxo", "mostra a esteira") — ou for iniciante e a interface ajudar — ative o modo painel:
- Suba o servidor (em segundo plano, a partir da pasta do projeto):
- Windows:
node "%USERPROFILE%\.claude\skills\construir\painel\servidor.js" - macOS/Linux:
node ~/.claude/skills/construir/painel/servidor.js
- Windows:
- Abra
http://localhost:4747no navegador do usuário. - Diário de eventos — além do
estado.json, registre cada passo relevante emfluxo/eventos.jsonl(uma linha JSON por evento):
Tipos:{"em":"2026-07-06T14:32:00-03:00","fase":"construir","skill":"teste-primeiro","tipo":"info","narrativa":"Escrevendo os testes que descrevem como o quiz deve se comportar."}info,sucesso,alerta,portao. Anarrativaé sempre em linguagem leiga — é o que aparece na tela para o usuário. - Portões pela tela — ao chegar num portão: preencha
pergunta_pendentenoestado.json(camposportao,titulo,resumo,aprova), definaaguardando_humano: truee execute:
O comando bloqueia até o humano decidir na tela e imprime a decisão em JSON (node "<caminho do painel>/aguardar-decisao.js" portao-1aprovarouajustar+ comentário). Trateajustarcomo reprovação do portão: aplique o comentário e reapresente. Se o comando expirar (30 min), pergunte pela conversa normalmente.
Sem o painel, os portões funcionam pela conversa — o modo painel é opcional e não substitui a regra: nenhum portão avança sem decisão humana explícita.
Economia de tokens (regras da esteira)
- Passagem de bastão enxuta — ao trocar de fase, não recarregue a conversa inteira: resuma o essencial (decisões, caminhos de arquivos, pendências) em até 20 linhas.
- Referências sob demanda — os arquivos em
referencias/só são lidos na etapa que os exige, nunca preventivamente. - Subagentes para varredura — buscas amplas no código vão para subagentes; o contexto principal recebe só a conclusão.
- Uma skill por vez — carregue apenas a skill da fase atual.
- Registre o consumo — ao fechar cada fase, anote na
telemetriao esforço gasto, para o próximo ciclo ser mais barato.
Comportamentos permanentes (valem em todas as fases)
- Declare suposições antes de implementar qualquer coisa não trivial e peça correção.
- Gerencie a própria confusão — requisito ambíguo ou contraditório: PARE e pergunte; nunca escolha uma interpretação em silêncio.
- Discorde quando necessário — aponte o problema, quantifique o impacto, proponha alternativa. Concordar com uma má ideia não ajuda ninguém.
- Imponha simplicidade — se 100 linhas bastam, 1.000 linhas são um defeito.
- Disciplina de escopo — toque apenas no que a tarefa pede.
- Verifique, não suponha — "parece certo" nunca encerra uma tarefa; evidência sim
(teste passando, build limpo, comportamento observado). O critério global está em
referencias/definicao-de-pronto.md.
Sinais de alerta
- Avançar de fase sem parar no portão
fluxo/estado.jsondesatualizado em relação ao trabalho real- Começar a codificar sem spec aprovada ("é óbvio o que construir" não existe)
- Pular a verificação porque "parece certo"
- Fases inteiras rodando sem o humano saber o que está acontecendo
Verificação
- As fases necessárias foram anunciadas no início e justificadas
- Todos os portões pararam e receberam aprovação explícita
-
fluxo/estado.jsonreflete o estado real ao final -
memoriaetelemetriaforam executadas no encerramento