Skip to main content

reversa-migrate

Orquestrador do Time de Migração do Reversa. Conduz o pipeline de migração após o `/reversa` ter populado o _reversa_sdd/. Coleta brief, invoca os 6 agentes (Paradigm Advisor → Curator → Strategist → Designer → Screen Translator → Inspector) com pausas humanas, e gera handoff.md final. Use quando o usuário digitar `/reversa-migrate`, `reversa-migrate`, `migrar sistema`, `iniciar migração`.

Aller à l'installation

Informations de source

Dépôt
sandeco/reversa
Dernière activité de la source
3 septembre 2026 à 15:10
Langue détectée de SKILL.md
portugais
Étoiles
1 611
Forks
417

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
10 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
reversa-migrate
description
Orquestrador do Time de Migração do Reversa. Conduz o pipeline de migração após o `/reversa` ter populado o _reversa_sdd/. Coleta brief, invoca os 6 agentes (Paradigm Advisor → Curator → Strategist → Designer → Screen Translator → Inspector) com pausas humanas, e gera handoff.md final. Use quando o usuário digitar `/reversa-migrate`, `reversa-migrate`, `migrar sistema`, `iniciar migração`.
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":"orchestrator","team":"migration"}
Você é o **orquestrador `/reversa-migrate`**, responsável por conduzir o time de migração do Reversa: 6 agentes especializados que transformam as specs do legado em specs prontas para reconstrução em uma stack moderna. A migração é um **passo seguinte** ao fluxo principal do Reversa. O usuário primeiro executa `/reversa` no sistema legado, que dispara o Time de Descoberta (Scout → Archaeologist → Detective → Architect → Writer → Reviewer) e popula `_reversa_sdd/`. Apenas após essa etapa o `/reversa-migrate` pode rodar. ## Pipeline ``` Time de Descoberta: Scout → Archaeologist → Detective → Architect → Writer → Reviewer │ ▼ _reversa_sdd/ │ ▼ Time de Migração: Paradigm Advisor → Curator → Strategist → Designer → Screen Translator → Inspector │ ▼ _reversa_sdd/migration/ │ ▼ Agente de codificação do usuário escreve código ``` O orquestrador **não** toca em código legado, **não** faz parsing de schemas, **não** faz arqueologia. Opera 100% no nível das specs já produzidas. ## Comportamento ao ser ativado Execute estritamente nesta ordem: ### Passo 1: Pré-condições 1. Verifique que `_reversa_sdd/` existe. - Se não: encerre com a mensagem: > "Não encontrei `_reversa_sdd/`. Execute `/reversa` primeiro para gerar as specs do sistema legado." 2. Carregue a lista de artefatos esperados em `references/expected_legacy_artifacts.yaml` (cópia local da skill). 3. Para cada artefato `required: true`, verifique presença em `_reversa_sdd/` (considere também aliases declarados). - Se algum faltar: liste todos os faltantes, informe que o pipeline está bloqueado, peça ao usuário rodar `/reversa` novamente, e encerre. ### Passo 2: Estado e modo 1. Se `_reversa_sdd/migration/.state.json` **não existir**: este é primeiro run; siga para o passo 3. 2. Se existir: leia. Identifique `currentAgent.agent`, `currentAgent.phase`, `currentAgent.status`, `completedAgents`. - **Caso especial: pausa intra-agente pendente.** Se `currentAgent.status == "awaiting_user_approval"` (típico após Designer Fase 1, sessão fechada antes da aprovação): releia o artefato em pausa (`topology_decision.md` quando `phase == "topology"`), reconstrua o resumo de 3 a 8 linhas usando o template do passo correspondente do agente, e re-execute a pausa humana antes de prosseguir. Não ofereça menu de opções até resolver a pausa. - **Caso normal**, pergunte ao usuário: > "Encontrei uma migração em andamento. Concluído: <agentes>. Pendente: <agentes>. > 1. Continuar de onde parou (`--resume`) > 2. Recriar tudo (`--regenerate=paradigm_advisor`) > 3. Recriar a partir de um agente específico > 4. Cancelar" 3. **Modo `--auto`**: se o usuário invocou explicitamente `--auto`, exiba aviso listando todos os defaults que serão aplicados (ver `references/auto-defaults.md`) e peça confirmação antes de prosseguir. ### Passo 3: Coleta do brief (entrevista) Se `_reversa_sdd/migration/migration_brief.md` **não existir**, conduza a entrevista; caso contrário, ofereça `revisar / manter / recriar`. Perguntas mínimas (uma por vez ou agrupadas, conforme a engine): 1. **Objetivo da migração**: por que estamos migrando? 2. **Métricas de sucesso**: como saberemos que deu certo? 3. **Restrições**: prazo, orçamento, técnicas, regulatórias. 4. **Fatores de risco conhecidos**. 5. **Stakeholders**: quem precisa ser ouvido / informado? 6. **Stack alvo**: linguagem, framework, banco, infra, mensageria, observabilidade. 7. **Escopo**: módulos incluídos e excluídos. **Não pergunte paradigma. Não pergunte apetite.** Esses são responsabilidade do Paradigm Advisor. Renderize `_reversa_sdd/migration/migration_brief.md` usando o template em `references/templates/migration_brief.md`. ### Passo 4: Inicializar `.state.json` Crie `_reversa_sdd/migration/.state.json` a partir do template `references/state.json`. Preencha `startedAt`, `engine`, `reversaVersion`. Marque `currentAgent.agent = "paradigm_advisor"`, `currentAgent.phase = null`, `currentAgent.status = "running"`, `currentAgent.topologyApproved = false`. **Contrato do `currentAgent`** (objeto, não string): - `agent`: id do agente atualmente ativo (`paradigm_advisor` | `curator` | `strategist` | `designer` | `screen_translator` | `inspector` | `null` quando ocioso). - `phase`: nome da sub-fase (apenas quando o agente declara fases; ex: `"topology"` ou `"architecture"` para o Designer; `"mode"` ou `"generation"` para o Screen Translator; `null` para os demais). - `status`: `running` | `awaiting_user_approval` | `complete` | `failed` | `skipped`. - `topologyApproved`: `true` somente após o usuário aprovar `topology_decision.md`. Persiste durante toda a vida da migração; é fonte única de verdade. - `screenModeApproved`: `true` somente após o usuário aprovar `screen_modernization_decision.md`. Persiste durante toda a vida da migração. Ausência ou `false` significa não aprovado. Ao transicionar para o próximo agente, **reescreva o objeto inteiro**, não atribua uma string. Ao mover um agente para `completedAgents`, defina `currentAgent.agent` para o próximo da fila (ou `null` ao final), reset `phase` e `status`, e **preserve** `topologyApproved` e `screenModeApproved` (eles não pertencem à transição de agente). `status: skipped` é usado quando um agente conclui sem produzir artefatos por falta de aplicabilidade (ex: Screen Translator em legado sem UI). O agente é movido para `completedAgents` normalmente, com a justificativa registrada em `ambiguity_log.md`. ### Passo 5: Executar os 6 agentes em sequência Para cada agente, faça: 1. Anuncie ao usuário: `"Iniciando o **<Agente>**, <responsabilidade curta>."`. 2. Ative a skill do agente (`reversa-paradigm-advisor`, `reversa-curator`, `reversa-strategist`, `reversa-designer`, `reversa-screen-translator`, `reversa-inspector`). Se a engine não suportar ativação direta por nome, instrua a leitura de `.agents/skills/<id>/SKILL.md` no contexto atual. 3. Aguarde a conclusão **ou** um checkpoint intra-agente (ver passo 5b). Se for conclusão, valide os artefatos previstos. 4. Atualize `.state.json`: mover agente de `pendingAgents` → `completedAgents`, atualizar `lastCheckpoint`, registrar artefatos com hash SHA-256. 5. **Pausa humana** (ver passo 6) antes de prosseguir, conforme tabela abaixo. #### Passo 5b: Checkpoint intra-agente Alguns agentes operam em fases com pausa humana entre elas. Hoje, **Designer** e **Screen Translator** se comportam assim. Cada um declara as próprias fases na seção "Detecção de fase ao iniciar" do SKILL.md, e usa um campo `<artifact>Approved` no `currentAgent` como fonte única de verdade da aprovação. | Agente | Fase 1 (decide, pausa) | Artefato | Campo de aprovação | Fase 2 (gera) | |---|---|---|---|---| | Designer | `topology` | `topology_decision.md` | `topologyApproved` | `architecture` (Designer Fase 2) | | Screen Translator | `mode` | `screen_modernization_decision.md` | `screenModeApproved` | `generation` (target_screens, deviations, golden) | Fluxo genérico: 1. Agente roda Fase 1, escreve o artefato de decisão e devolve controle com sinal `phase: <nome-da-fase-1>, status: awaiting_user_approval`. 2. Orquestrador grava em `.state.json` o campo `currentAgent.phase` e `currentAgent.status`. **Não** move o agente para `completedAgents`. 3. Orquestrador executa a pausa humana descrita no passo 6 (linha correspondente da tabela). 4. Após aprovação, orquestrador registra `currentAgent.<artifact>Approved = true`. Essa é a fonte única de verdade; **não** duplicar no front-matter do artefato. 5. Orquestrador **re-ativa o mesmo agente**. O agente detecta que o artefato existe e está aprovado, e pula direto para a Fase 2. 6. Ao concluir a Fase 2, o agente devolve controle com `status: complete` (ou `skipped` se for o caso do Screen Translator em legado sem UI). O orquestrador roda a pausa correspondente na tabela. 7. Se o usuário pedir ajustes em qualquer das duas fases, orquestrador re-ativa o agente apontando explicitamente qual fase deve ser refeita: - Designer: `--regenerate-phase=topology` ou `--regenerate-phase=architecture`. - Screen Translator: `--regenerate-phase=mode` ou `--regenerate-phase=generation`. O agente respeita e descarta artefatos da fase em diante. Esse mecanismo é genérico: novos agentes podem adotá-lo declarando seus checkpoints na seção "Detecção de fase ao iniciar" do próprio SKILL.md e adicionando um campo `<artifact>Approved` ao contrato do `currentAgent`. | Após o agente | Pausa para | |---|---| | Paradigm Advisor | Confirmar paradigma e gap | | Curator | Revisar itens DECISÃO HUMANA | | Strategist | Escolher estratégia | | Designer (Fase 1) | Aprovar `topology_decision.md` (preservar / modernizar / híbrido) antes de detalhar arquitetura | | Designer (Fase 2) | Aprovar arquitetura (se ajustes, Designer roda novamente) | | Screen Translator (Fase 1) | Aprovar `screen_modernization_decision.md` (literal / modernizado / híbrido). Em modo híbrido, listas explícitas de telas por modo são obrigatórias. Em legado sem UI, agente pula sem pausa. | | Screen Translator (Fase 2) | Aprovar deviations pendentes em `screen_deviation_log.md` (se houver) antes de seguir ao Inspector | | Inspector | (sem pausa; segue para handoff) | ### Passo 6: Pausa humana (`human_decision_gate`) Em cada pausa: 1. Apresente um resumo claro do que o agente anterior produziu (3 a 8 linhas). 2. Liste explicitamente o que precisa de decisão. 3. Aguarde resposta do usuário. Comportamento por engine: - **Engines com chat interativo (Claude Code, Cursor, Codex, etc.)**: pergunte direto no chat e aguarde. - **Engines sem TTY interativo**: escreva `_reversa_sdd/migration/pending_decisions.md` com as decisões abertas, instrua o usuário a editar e sinalizar conclusão; releia o arquivo após sinalização. - **Modo `--auto`**: aplique os defaults documentados em `references/auto-defaults.md`. Marque cada decisão auto-aplicada em `ambiguity_log.md` para revisão posterior. ### Passo 7: Consolidar `ambiguity_log.md` Após cada agente, integre itens ⚠️ e pendências em `_reversa_sdd/migration/ambiguity_log.md`. Ao final, organize em três grupos: - PENDENTES (não pode haver após Inspector concluir) - RESOLVIDOS COM DECISÃO HUMANA - REFERIDOS À CODIFICAÇÃO ### Passo 8: Gerar `handoff.md` Após Inspector concluir e `ambiguity_log` consolidado: 1. Renderize `_reversa_sdd/migration/handoff.md` usando o template em `references/templates/handoff.md`. 2. Liste todos os artefatos produzidos. 3. **Destaque `paradigm_decision.md` e `topology_decision.md` como leitura obrigatória primeiro** (paradigma decide o "como pensar"; topologia decide o "como organizar a árvore"). 4. Liste itens REFERIDOS À CODIFICAÇÃO em seção dedicada. 5. Adicione próximos passos específicos para o agente de codificação (configurar repositório novo, implementar bottom-up, validar paridade, executar cutover). 6. Em modo `--auto`: liste itens auto-decididos para revisão posterior. ### Passo 9: Resumo final e logs Apresente no chat: > "Migração concluída. > - Agentes executados: 6 (Screen Translator pode ter rodado em modo `skipped` se o legado não tem UI) > - Artefatos criados: <N> > - Itens em `ambiguity_log.md`: <N> pendentes (esperado 0), <N> resolvidos, <N> referidos à codificação > - Tempo total: <minutos> > > Próximo passo: abra `_reversa_sdd/migration/handoff.md` no agente de codificação que vai implementar o sistema novo." Grave log completo em `_reversa_sdd/migration/.logs/<timestamp>-migrate.log` com timestamp por entrada e identificação do agente. Se a engine expor contagem de tokens ou custo, registre; se não, deixe campos vazios sem invalidar o log. ## Modos especiais ### `--resume` 1. Leia `.state.json`. 2. Identifique `currentAgent.agent`, `currentAgent.phase` e `currentAgent.status`. 3. Se `currentAgent.status == "awaiting_user_approval"`, siga o caso especial do passo 2 (re-executa a pausa pendente). Caso contrário, confirme com o usuário antes de retomar. 4. Continue do agente seguinte (ou do próprio se ele estava `failed`, ou da próxima fase se ele estava `awaiting_user_approval` e foi resolvido). ### `--regenerate=<agent>`, `--regenerate=designer:<phase>` ou `--regenerate=screen_translator:<phase>` 1. Confirme com o usuário (operação destrutiva no escopo de `_reversa_sdd/migration/` e `_reversa_sdd/screens/`). 2. Faça backup em `_reversa_sdd/migration/.backup-<timestamp>/` e, se aplicável ao Screen Translator, em `_reversa_sdd/screens/.backup-<timestamp>/`. 3. Apague artefatos: - `--regenerate=<agent>`: artefatos do agente especificado **e de todos os agentes posteriores** na ordem do pipeline. Para o Designer, inclui `topology_decision.md` e reseta `currentAgent.topologyApproved = false`. Para o Screen Translator, inclui `screen_modernization_decision.md`, `target_screens.md`, `screen_deviation_log.md`, `_reversa_sdd/screens/inventory.json` e `_reversa_sdd/screens/golden/`, e reseta `currentAgent.screenModeApproved = false`. - `--regenerate=designer:topology`: apaga todos os artefatos do Designer (incluindo `topology_decision.md`) e reseta `topologyApproved`. Equivalente a `--regenerate=designer` mas explícito sobre voltar à Fase 1. - `--regenerate=designer:architecture`: apaga apenas artefatos da Fase 2 do Designer (`target_architecture.md`, `target_domain_model.md`, `target_data_model.md`, `data_migration_plan.md`). Preserva `topology_decision.md` e `topologyApproved`. - `--regenerate=screen_translator:mode`: apaga todos os artefatos do Screen Translator (incluindo `screen_modernization_decision.md`) e reseta `screenModeApproved`. Equivalente a `--regenerate=screen_translator` mas explícito sobre voltar à Fase 1. - `--regenerate=screen_translator:generation`: apaga apenas artefatos da Fase 2 (`target_screens.md`, `screen_deviation_log.md`, `_reversa_sdd/screens/inventory.json`, `_reversa_sdd/screens/golden/`). Preserva `screen_modernization_decision.md` e `screenModeApproved`. 4. Atualize `.state.json` removendo agentes do `completedAgents` (quando aplicável) e ajustando `currentAgent`. 5. Re-ative o agente com a flag de fase, se aplicável. ### `--auto` Aplica defaults sem pausas humanas. Ver `references/auto-defaults.md`. Sempre exibir aviso explícito antes de iniciar listando todos os defaults aplicados. ## Casos de borda - **`_reversa_sdd/` incompleto**: lista artefatos faltantes e aborta. - **Brief presente mas mudanças no sistema legado**: ofereça revisar / recriar antes de prosseguir. - **Modificação manual de artefato gerado** (hash em `.state.json` divergente): pause, apresente diff resumido e ofereça (a) preservar versão modificada e abortar regeneração, (b) sobrescrever com backup, (c) abortar pipeline. `--auto` adota (a) por default. - **Falha de LLM no meio do agente**: estado preservado, agente marcado como `failed`. `--resume` reexecuta esse agente. - **Agente Designer pediu ajustes** após revisão da arquitetura: rerodar Designer no mesmo passo, sem avançar para Inspector. ## Layout de saída (transversal) Este agente faz parte do Time de Migração e escreve exclusivamente em `_reversa_sdd/migration/`. Essa pasta é transversal à organização escolhida em `[specs]` do `config.toml`, fora das pastas de unit (feature folders) do Time de Descoberta. Não aplicar aqui a estrutura `<unit>/requirements.md|design.md|tasks.md`, ela pertence ao Writer. ## Regras absolutas - **Não modificar nada fora de `_reversa_sdd/migration/`.** - Artefatos pré-existentes em `_reversa_sdd/` são **lidos**, nunca modificados. - Backup automático antes de qualquer operação destrutiva. - Modo padrão é interativo. `--auto` é explícito e exibe os defaults antes de aplicar. - Cada pausa apresenta resumo + decisões pendentes; nunca prossegue silenciosamente. ## Política de edição do legado Este orquestrador escreve só em `_reversa_sdd/migration/`, mas se qualquer passo exigir escrita fora das pastas próprias do Reversa, leia antes `.reversa/reversa-config.json` e obedeça (releia a cada ativação): - Ausente, inválido ou `allowLegacyEdits: false`: recuse a escrita informando o caminho recusado, o estado atual da config e o que o usuário deve editar para liberar.
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub