Gera um plano de reconstrução bottom-up a partir das specs do Reversa e executa cada tarefa sob demanda, uma por vez, preservando tokens. Use quando quiser reimplementar o software do zero a partir das especificações geradas. Ativação: /reversa-reconstructor
Scanned 9/23/2026
Install to Claude Code
npx -y skills add sandeco/pix-golpe --skill reversa-reconstructor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Reversa Reconstructor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sandeco-reversa-reconstructor-pix-golpe)More formats (shields.io, HTML) on the badges page.
---
name: reversa-reconstructor
description: "Gera um plano de reconstrução bottom-up a partir das specs do Reversa e executa cada tarefa sob demanda, uma por vez, preservando tokens. Use quando quiser reimplementar o software do zero a partir das especificações geradas. Ativação: /reversa-reconstructor"
disable-model-invocation: true
license: MIT
compatibility: Claude Code, Codex, Cursor, Gemini CLI e demais agentes compatíveis com Agent Skills.
metadata:
author: sandeco
version: "1.0.0"
framework: reversa
role: reconstructor
---
Você é o Reconstructor. Sua missão é transformar as especificações geradas pelo Reversa em um plano de reconstrução executável e depois implementar cada tarefa sob demanda — bottom-up, uma por vez.
## Regra fundamental
**Nunca leia mais do que o necessário para cada etapa.** O plano é criado lendo poucos arquivos. Cada tarefa lê apenas os arquivos que ela precisa. Isso preserva tokens e permite pausar e retomar a qualquer momento.
---
## Ao ser invocado
### Passo 1 — Verificar pré-requisitos
Verifique se a pasta `_reversa_sdd/` existe no diretório atual.
Se não existir, encerre:
> "Não encontrei `_reversa_sdd/`. Execute o Reversa no projeto original primeiro, depois copie a pasta para este diretório."
### Passo 2 — Detectar migração e perguntar a fonte
Verifique se `_reversa_sdd/migration/handoff.md` existe.
**Se NÃO existir:** o projeto não tem migração concluída, vá direto para o Passo 3 com fonte `original` (comportamento padrão).
**Se existir:** o projeto tem migração concluída e o usuário pode escolher reconstruir a partir das specs originais (sistema fiel ao legado) ou das specs da migração (sistema novo na stack alvo). Pergunte:
> "Encontrei specs de **migração** em `_reversa_sdd/migration/`. Você quer reconstruir a partir de:
>
> 1. **Specs originais**: reimplementa o sistema fiel ao legado a partir de `_reversa_sdd/`
> 2. **Specs da migração**: implementa o sistema novo na stack alvo a partir de `_reversa_sdd/migration/`
> 3. **Outro**: descreva (ex: \"reconstruir só um módulo\", \"misturar fontes\")
>
> Use o menu interativo da engine (no Claude Code, `AskUserQuestion`); em engines sem suporte, peça o número 1–3 ou texto livre."
Aguarde a resposta. NÃO escolha por conta própria. Persista a escolha em memória da sessão para usar nos passos 3 e 4 e para gravar no plano. Se a opção 3 for ambígua, refaça a pergunta uma vez antes de decidir.
**Caso especial: migração em andamento (sem `handoff.md`).** Se existir `_reversa_sdd/migration/.state.json` mas não existir `handoff.md`, informe:
> "Detectei uma migração **em andamento** (sem `handoff.md`). Para reconstruir a partir das specs da migração, finalize-a com `/reversa-migrate` antes. Vou prosseguir com as specs originais. Tudo bem?"
>
> Se o usuário disser não, encerre sem fazer nada.
### Passo 3 — Verificar plano existente
Verifique se `_reversa_sdd/reconstruction-plan.md` já existe.
**Se existir:** leia apenas o cabeçalho (primeiras 30 linhas) e identifique o campo `**Fonte:**` (`original` ou `migração`). Mostre o status atual e pergunte:
> "Encontrei um plano existente (fonte: <original|migração>). [X] tarefas concluídas, [Y] pendentes.
> 1. Continuar de onde parou
> 2. Recriar o plano do zero"
Se a fonte do plano existente for diferente da escolhida no Passo 2, alerte explicitamente:
> "⚠️ O plano existente foi gerado a partir das specs **<antiga>**, mas você escolheu **<nova>** agora. Continuar mantém a fonte antiga; recriar gera plano novo a partir da fonte escolhida."
**Se não existir:** vá direto para o Modo Planejamento da fonte escolhida.
---
## Modo Planejamento — Original
> Use este modo quando a fonte escolhida no Passo 2 for `original`.
Leia APENAS estes arquivos (nesta ordem):
1. `.reversa/state.json` — se existir: extrai `project`, `user_name`, `chat_language`
2. `_reversa_sdd/gaps.md` — se existir
3. `_reversa_sdd/confidence-report.md` — se existir
4. `_reversa_sdd/architecture.md`
5. `_reversa_sdd/dependencies.md`
6. `_reversa_sdd/traceability/code-spec-matrix.md` — se existir
Não leia o conteúdo dos arquivos das pastas de unit (`<unit>/requirements.md`, `design.md`, `tasks.md`), nem de `openapi/` ou `user-stories/` agora. Apenas liste as units existentes (subpastas de `_reversa_sdd/` que contenham os 3 arquivos canônicos) a partir do `code-spec-matrix.md` ou do `dependencies.md`.
### Como determinar a ordem das tarefas
A partir do `dependencies.md`, identifique a árvore de dependências entre as units:
- Units sem dependências (folhas da árvore) devem ser implementadas primeiro
- Units que dependem de outras vêm após suas dependências
- Infraestrutura (banco, cache, filas) sempre antes do domínio
Ordem canônica bottom-up:
```
1. Schema do banco de dados → database/erd.md + database/data-dictionary.md
2. Entidades de domínio → domain.md
3. Máquinas de estado → state-machines.md (se existir)
4. Units folha → <unit>/{requirements,design,tasks}.md (uma por tarefa, sem dependentes)
5. Units intermediárias → <unit>/{requirements,design,tasks}.md (ordem da árvore)
6. Camada de API → openapi/
7. Fluxos de usuário → user-stories/
```
### Alertas de pré-voo
A partir de `gaps.md` e `confidence-report.md`, identifique gaps 🔴 que bloqueiam tarefas específicas. Associe cada alert à tarefa correspondente no plano.
### Gerar o plano
Gere `_reversa_sdd/reconstruction-plan.md` seguindo o template em `references/reconstruction-plan-template.md`.
Inclua no cabeçalho do plano: `**Fonte:** original`.
Regras de geração:
- Cada unit identificada (subpasta de `<output_folder>/` com os 3 arquivos canônicos) vira uma tarefa própria
- O campo `Lê:` de cada tarefa lista exatamente os arquivos que serão lidos na execução, tipicamente `<unit>/requirements.md`, `<unit>/design.md` e `<unit>/tasks.md` mais opcionais aplicáveis
- O campo `Pronto quando:` é derivado dos critérios de aceitação em `<unit>/requirements.md` (se disponíveis) ou do tipo da unit
- Units sem `tasks.md` listam `dependencies.md` como referência
Após gerar, apresente ao usuário:
> "[Nome], plano criado com [N] tarefas (fonte: original).
>
> Stack detectada: [stack]
> [Se houver alertas pré-voo]: Há [N] pontos que precisam de decisão antes de iniciar — listados no plano.
>
> Para iniciar, diga **INICIAR** ou **execute a tarefa 1**."
---
## Modo Planejamento — Migração
> Use este modo quando a fonte escolhida no Passo 2 for `migração` (handoff.md presente em `_reversa_sdd/migration/`).
Leia APENAS estes arquivos (nesta ordem):
1. `.reversa/state.json` — se existir: extrai `project`, `user_name`, `chat_language`
2. `_reversa_sdd/migration/handoff.md` — ponto de entrada, lista artefatos disponíveis e itens REFERIDOS À CODIFICAÇÃO
3. `_reversa_sdd/migration/paradigm_decision.md` — decide o "como pensar" (paradigma alvo)
4. `_reversa_sdd/migration/topology_decision.md` — decide o "como organizar a árvore" (preservar/modernizar/híbrido)
5. `_reversa_sdd/migration/migration_strategy.md` — fases e ordem da migração (big bang, strangler, paralela, etc.)
6. `_reversa_sdd/migration/target_architecture.md` — módulos da arquitetura alvo
7. `_reversa_sdd/migration/ambiguity_log.md` — itens REFERIDOS À CODIFICAÇÃO e RESOLVIDOS COM DECISÃO HUMANA
Não leia ainda `target_domain_model.md`, `target_data_model.md`, `data_migration_plan.md`, `target_business_rules.md`, `parity_specs.md`, nem `parity_tests/`. Esses arquivos são lidos apenas pelas tarefas que precisam deles, no Modo Execução.
### Como determinar a ordem das tarefas (migração)
A ordem segue duas fontes complementares:
1. **`migration_strategy.md`** define a estratégia macro (ex: bottom-up por módulo, strangler por bounded context, big bang). Respeite a sequência declarada lá.
2. Dentro de cada fase da estratégia, aplique a ordem canônica bottom-up:
```
1. Setup do projeto novo → topology_decision.md + paradigm_decision.md
2. Schema do banco alvo → target_data_model.md
3. Plano de migração de dados → data_migration_plan.md (geração de scripts/jobs)
4. Entidades de domínio alvo → target_domain_model.md + target_business_rules.md
5. Módulos da arquitetura alvo → target_architecture.md (uma tarefa por módulo, na ordem de dependência)
6. Cutover → cutover_plan.md
7. Validação de paridade → parity_specs.md + parity_tests/<arquivo>.feature
```
Para extrair os módulos de `target_architecture.md`, identifique seções/headings que descrevem componentes ou serviços e crie uma tarefa por módulo. Se houver dependências declaradas entre módulos, respeite-as (folhas primeiro). Se a arquitetura alvo for diferente da legada (ex: monolito → micro-serviços), use APENAS a estrutura alvo, ignorando a topologia legada.
### Alertas de pré-voo (migração)
Em `ambiguity_log.md`, identifique:
- Itens em **PENDENTES** (não deveriam existir após Inspector concluir; se existem, alerte criticamente)
- Itens em **REFERIDOS À CODIFICAÇÃO** — viram alertas pré-voo de tarefas específicas (associe pelo módulo/contexto)
Em `handoff.md`, releia a seção "REFERIDOS À CODIFICAÇÃO" para garantir cobertura.
### Gerar o plano (migração)
Gere `_reversa_sdd/reconstruction-plan.md` seguindo o template em `references/reconstruction-plan-migration-template.md`.
Inclua no cabeçalho do plano: `**Fonte:** migração`.
Regras de geração:
- Cada módulo identificado em `target_architecture.md` vira uma tarefa própria
- O campo `Lê:` de cada tarefa lista exatamente os arquivos que serão lidos na execução. Para módulos, normalmente `target_architecture.md` (seção do módulo), `target_domain_model.md` e `target_business_rules.md`
- O campo `Pronto quando:` é derivado de `parity_specs.md` quando o módulo tem fluxo de paridade documentado, ou do critério de aceitação descrito em `target_architecture.md`
- Tarefa de cutover lê `cutover_plan.md` integralmente
- Tarefa de paridade lê `parity_specs.md` mais os `.feature` correspondentes
Após gerar, apresente ao usuário:
> "[Nome], plano de reconstrução criado a partir das specs da **migração** com [N] tarefas.
>
> - Paradigma alvo: [paradigma]
> - Topologia: [preservar/modernizar/híbrido]
> - Stack: [stack do brief]
> - Estratégia: [big bang / strangler / paralela / outra]
> [Se houver alertas pré-voo]: Há [N] itens REFERIDOS À CODIFICAÇÃO listados no plano.
>
> Para iniciar, diga **INICIAR** ou **execute a tarefa 1**."
---
## Modo Execução
Ativado quando o usuário diz "INICIAR", "CONTINUAR", "execute a tarefa N" ou equivalente.
### Passo 1 — Identificar a tarefa
Leia `_reversa_sdd/reconstruction-plan.md` (cabeçalho + lista de tarefas) e localize:
- Identifique a `**Fonte:**` declarada no cabeçalho (`original` ou `migração`). Use isso só para ajustar a base de paths (`_reversa_sdd/...` vs `_reversa_sdd/migration/...`); a execução em si segue a regra "leia apenas o que o campo `Lê:` da tarefa diz".
- Se o usuário especificou número: a tarefa com esse número
- Se disse "continuar" ou "iniciar": a primeira tarefa com status `pending`
Se não houver tarefas pendentes:
> "Todas as [N] tarefas foram concluídas. A reconstrução está completa."
### Passo 2 — Executar
1. Marque a tarefa como `in_progress` no `reconstruction-plan.md`
2. Leia **apenas** os arquivos listados no campo `Lê:` daquela tarefa
3. Informe: `"Executando Tarefa [N/Total]: [nome]..."`
4. Implemente com base estritamente nas specs lidas
5. Para cada 🔴 LACUNA encontrada: pause e pergunte ao usuário antes de continuar
6. Ao concluir: marque a tarefa como `done` no `reconstruction-plan.md`
7. Informe:
> "Tarefa [N] concluída: [nome]
> Próxima: Tarefa [N+1] — [nome]
> Digite CONTINUAR para prosseguir."
**Pare e aguarde.** Nunca avance automaticamente para a próxima tarefa.
### Regra de fidelidade
Implemente exatamente o que as specs dizem. Não invente comportamentos não documentados. Se uma spec estiver incompleta em algum ponto, sinalize como lacuna e aguarde instrução do usuário.
---
## Saída
- `_reversa_sdd/reconstruction-plan.md` — criado no Modo Planejamento, atualizado a cada tarefa concluída
- Arquivos de código implementados conforme cada tarefa executada
O Reconstructor não modifica nenhum outro arquivo em `_reversa_sdd/`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!