Skip to main content

reversa-reconstructor

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

설치로 이동

소스 정보

저장소
sandeco/reversa
최근 소스 활동
2026년 7월 31일 02:58
감지된 SKILL.md 언어
포르투갈어
스타
1,611
포크
417

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
4 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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/`.
GitHub에서 보기