🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

reversa

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reversa - npm Package Compare versions

Comparing version
1.2.49
to
1.2.50
+26
-20
agents/reversa-coding/SKILL.md
---
name: reversa-coding
description: Conduz a execução do actions.md em código. Atualiza checkboxes para [X], escreve progress.jsonl, gera legacy-impact.md e regression-watch.md. Use quando o usuário digitar "/reversa-coding", "reversa-coding", "executar plano" ou pedir para começar a codar a feature ativa. Último skill do ciclo forward, depois de `/reversa-to-do` (e opcionalmente `/reversa-audit` ou `/reversa-quality`).
description: Conduz a execução do actions.md em código. Atualiza checkboxes para [X], escreve progress.jsonl, gera legacy-impact.md e regression-watch.md. Funciona ancorado no legado (extração do Discovery em `_reversa_sdd/`) ou em greenfield (prd.md + specs SDD do `/reversa-new`). Use quando o usuário digitar "/reversa-coding", "reversa-coding", "executar plano" ou pedir para começar a codar a feature ativa. Último skill do ciclo forward, depois de `/reversa-to-do` (e opcionalmente `/reversa-audit` ou `/reversa-quality`).
license: MIT

@@ -21,8 +21,13 @@ compatibility: Claude Code, Codex, Cursor, Gemini CLI e demais agentes compatíveis com Agent Skills.

## Pré-requisito inegociável: extração reversa
## Âncora de contexto: legado ou greenfield
Esse skill **EXIGE** que a pipeline reversa tenha sido executada antes pelo menos uma vez. Sem `_reversa_sdd/`, os dois artefatos centrais do skill (`legacy-impact.md` e `regression-watch.md`) ficam sem âncora e perdem completamente o valor, o ciclo forward vira um framework genérico qualquer. O Reversa só faz sentido com a ponte legado-código viva.
Esse skill **EXIGE** uma âncora de contexto em `_reversa_sdd/`, senão os dois artefatos centrais (`legacy-impact.md` e `regression-watch.md`) perdem o valor e o ciclo forward vira um framework genérico qualquer. Duas âncoras são válidas:
A verificação é estrita: `_reversa_sdd/` precisa existir como diretório E conter pelo menos `architecture.md` E `domain.md`. Se qualquer condição falhar, o skill aborta com mensagem clara, NÃO oferece opção de prosseguir mesmo assim, NÃO escreve nada em disco.
1. **Legado:** `_reversa_sdd/` contém `architecture.md` E `domain.md` (extração do Time de Descoberta via `/reversa`). Comportamento clássico.
2. **Greenfield:** `_reversa_sdd/` contém `prd.md` E pelo menos uma spec em `_reversa_sdd/sdd/` (artefatos do `/reversa-new`). Projeto novo é caso válido, o pipeline não bloqueia por ausência da extração. Os artefatos do skill se adaptam conforme descrito nas seções de geração.
Se existirem as duas âncoras (projeto que rodou `/reversa` e `/reversa-new`), use a de legado como principal e as specs SDD como complemento.
A verificação continua estrita quando NENHUMA âncora existe: o skill aborta com mensagem clara, NÃO oferece opção de prosseguir mesmo assim, NÃO escreve nada em disco.
## Verificações Iniciais

@@ -34,23 +39,16 @@

2.1. Se ausente, aborte com mensagem apontando `/reversa-to-do`
3. Verifique o pré-requisito da extração reversa:
3.1. Se `_reversa_sdd/` não existir como diretório, aborte com a mensagem:
3. Verifique a âncora de contexto:
3.1. **Âncora de legado:** `_reversa_sdd/` existe E contém `architecture.md` E `domain.md`. Se satisfeita, registre internamente o cenário como **legado** e siga para o passo 4.
3.2. **Âncora greenfield:** `_reversa_sdd/` existe E contém `prd.md` E pelo menos um arquivo `.md` em `_reversa_sdd/sdd/`. Se satisfeita (e a de legado não), registre o cenário como **greenfield**, informe ao usuário ("Sem extração de legado, vou ancorar nos artefatos do `/reversa-new`: `prd.md` e specs SDD.") e siga para o passo 4.
3.3. Se NENHUMA das duas âncoras estiver satisfeita, aborte com a mensagem:
> 🛑 `/reversa-coding` exige a pipeline reversa executada antes. A pasta `_reversa_sdd/` não foi encontrada.
> 🛑 `/reversa-coding` exige uma âncora de contexto em `_reversa_sdd/` e não encontrei nenhuma:
>
> Execute `/reversa` para gerar a extração do legado e depois volte para cá. Sem esse contexto, `legacy-impact.md` e `regression-watch.md` ficariam sem âncora e o ciclo forward perderia seu diferencial.
3.2. Se `_reversa_sdd/` existir mas faltar `architecture.md`, aborte com a mensagem:
> 🛑 `/reversa-coding` exige `_reversa_sdd/architecture.md` (gerado pelo Architect na pipeline reversa). O arquivo está ausente, talvez a extração tenha sido parcial.
> - **Legado:** `architecture.md` + `domain.md` (gere com `/reversa`)
> - **Greenfield:** `prd.md` + specs em `sdd/` (gere com `/reversa-new`)
>
> Execute `/reversa` em modo completo (mínimo `essencial`) e volte para cá.
> Sem esse contexto, `legacy-impact.md` e `regression-watch.md` ficariam sem âncora e o ciclo forward perderia seu diferencial. Rode um dos dois pipelines e volte para cá.
3.3. Se `_reversa_sdd/architecture.md` existir mas faltar `_reversa_sdd/domain.md`, aborte com a mensagem:
3.4. No caso do passo 3.3, NÃO crie `legacy-impact.md`, NÃO crie `regression-watch.md`, NÃO toque em `actions.md`, NÃO escreva `progress.jsonl`. Apenas relate e encerre.
> 🛑 `/reversa-coding` exige `_reversa_sdd/domain.md` (gerado pelo Detective na pipeline reversa). O arquivo está ausente.
>
> Execute `/reversa` para completar a extração e volte para cá.
3.4. Em todos os casos do passo 3, NÃO crie `legacy-impact.md`, NÃO crie `regression-watch.md`, NÃO toque em `actions.md`, NÃO escreva `progress.jsonl`. Apenas relate e encerre.
4. Aplique `before-coding` da forma padrão

@@ -84,2 +82,6 @@

**Cenário greenfield:** não há legado para impactar. Gere o arquivo mesmo assim, com adaptações: mapeie cada arquivo criado ao componente correspondente das specs em `_reversa_sdd/sdd/` (em vez de `architecture.md`), use o tipo de impacto `componente-novo` para tudo, e registre no cabeçalho: "Feature greenfield, sem legado pré-existente. Âncora: prd.md + specs SDD." As seções "Preservadas" e "Modificadas" ficam vazias com essa nota. Pule os passos 4 e 5 abaixo.
**Cenário legado:**
1. Para cada arquivo do projeto tocado, mapeie ao componente correspondente em `_reversa_sdd/architecture.md` quando possível

@@ -103,2 +105,6 @@ 2. Para cada componente afetado, classifique o tipo de impacto: `regra-alterada`, `regra-removida`, `regra-nova`, `componente-novo`, `componente-extinto`, `delta-de-dados`, `delta-de-contrato-externo`

**Cenário greenfield:** não há regras 🟢 para vigiar (nada foi extraído de código existente ainda). Gere o arquivo com a estrutura padrão, watch principal vazio, e registre os RFs implementados (das specs SDD) na seção "Observações", sem peso de regressão. Eles ganham peso quando uma futura extração `/reversa` sobre o código novo os confirmar como 🟢. Pule os passos 1 a 4 abaixo (o passo 5, IDs estáveis, vale para as observações).
**Cenário legado:**
1. Para cada regra na seção "Modificadas" do `legacy-impact.md`, gere um watch item

@@ -105,0 +111,0 @@ 2. Para regras explicitamente removidas, gere watch item do tipo `ausência`

---
name: reversa-new
description: Orquestrador do time Code New Project Agents do Reversa. Conduz o pipeline greenfield, partindo de uma ideia em linguagem natural e produzindo brainstorm, personas, PRD e specs SDD em `_reversa_sdd/`. Use quando o usuário digitar "/reversa-new", "reversa-new", "começar projeto novo", "criar projeto do zero" ou pedir para iniciar um produto greenfield. Não escreve código de aplicação, apenas specs.
description: Orquestrador do time Code New Project Agents do Reversa. Conduz o pipeline greenfield, partindo de uma ideia em linguagem natural e produzindo brainstorm, personas, PRD e specs SDD em `_reversa_sdd/`. Tem dois modos: guiado (passo a passo com CONTINUAR, termina nas specs) e expresso (entrevista única no início e execução de ponta a ponta, emendando no ciclo forward até o código). Use quando o usuário digitar "/reversa-new", "/reversa-new expresso", "reversa-new", "começar projeto novo", "criar projeto do zero", "da ideia ao código" ou pedir para iniciar um produto greenfield.
license: MIT

@@ -14,3 +14,3 @@ compatibility: Claude Code, Codex, Cursor, Gemini CLI e demais agentes compatíveis com Agent Skills.

Você é o orquestrador do time Code New Project Agents do Reversa. Sua missão é conduzir o pipeline greenfield, do "tenho uma ideia" até as specs SDD prontas para entrar no ciclo forward.
Você é o orquestrador do time Code New Project Agents do Reversa. Sua missão é conduzir o pipeline greenfield, do "tenho uma ideia" até as specs SDD prontas para entrar no ciclo forward (modo guiado) ou até o código implementado (modo expresso).

@@ -23,18 +23,29 @@ ## Pipeline

▼ chama
reversa-ideator → ideation.md
reversa-ideator → ideation.md
▼ chama (após CONTINUAR)
reversa-researcher → personas.md
▼ chama (guiado: após CONTINUAR | expresso: direto)
reversa-researcher → personas.md
▼ chama (após CONTINUAR)
reversa-drafter → prd.md
▼ chama (guiado: após CONTINUAR | expresso: direto)
reversa-drafter → prd.md
▼ chama (após CONTINUAR)
reversa-spec-sdd → sdd/<componente>.md
▼ chama (guiado: após CONTINUAR | expresso: direto)
reversa-spec-sdd → sdd/<componente>.md
├── modo guiado: handoff, sugere /reversa-forward
▼ modo expresso: continua direto
reversa-requirements → <forward_folder>/<NNN>-<short>/requirements.md
▼ (clarify pulado, [DÚVIDA] vira premissa 🟡)
reversa-plan → roadmap.md, investigation.md, ...
handoff: sugere /reversa-forward
reversa-to-do → actions.md
reversa-coding → código + progress.jsonl + legacy-impact.md + regression-watch.md
```
Você nunca executa um agente automaticamente sem CONTINUAR do usuário.
No modo guiado você nunca executa um agente automaticamente sem CONTINUAR do usuário. No modo expresso, após o INICIAR da entrevista única, você é quem responde os handoffs (ver "Modo expresso").

@@ -53,3 +64,3 @@ ## Antes de começar

```
Se faltar `user_name`, peça antes de prosseguir (mesmo padrão de `/reversa`).
Se faltar `user_name`, peça antes de prosseguir (mesmo padrão de `/reversa`). Exceção: no modo expresso, essa coleta acontece no bloco 1 da entrevista única, não pergunte duas vezes.
2. Resolva `output_folder` a partir de `state.json` (padrão `_reversa_sdd`). Quando o texto deste SKILL.md menciona `_reversa_sdd/`, use o valor real.

@@ -62,4 +73,4 @@ 3. Garanta que `_reversa_sdd/` existe (criação recursiva, sem `.gitkeep`). Mesmo padrão do `/reversa-forward`.

1. Se ausente ou `stage == "done"`, siga adiante para coleta de brief.
2. Se `stage` for um valor do pipeline (`ideator`, `researcher`, `drafter`, `spec-sdd`), apresente menu:
1. Se ausente ou `stage == "done"`, siga adiante para escolha do modo e coleta de brief.
2. Se `stage` for um valor do pipeline (`ideator`, `researcher`, `drafter`, `spec-sdd`, `forward-requirements`, `forward-plan`, `forward-todo`, `forward-coding`), apresente menu:

@@ -88,5 +99,9 @@ ```

- `drafter` → próximo é `reversa-spec-sdd`
- `spec-sdd` → handoff final (pipeline completo)
- `spec-sdd` → modo guiado: handoff final (pipeline completo); modo expresso: próximo é `reversa-requirements`
- `forward-requirements` → próximo é `reversa-plan` (só existe em modo expresso)
- `forward-plan` → próximo é `reversa-to-do`
- `forward-todo` → próximo é `reversa-coding`
- `forward-coding` → retome as ações `[ ]` pendentes de `actions.md` via `reversa-coding`; se todas `[X]`, exiba o relatório final expresso
Informe ao usuário e peça CONTINUAR antes de invocar.
Respeite o `mode` salvo em `newproject_progress`. Em modo guiado, informe ao usuário e peça CONTINUAR antes de invocar. Em modo expresso, refaça apenas as perguntas da entrevista ainda sem resposta persistida e retome SEM pedir CONTINUAR.

@@ -117,2 +132,23 @@ ### Opção 2: Recriar tudo

## Escolha do modo
O `/reversa-new` tem dois modos de execução:
- **Guiado:** um agente por vez, com CONTINUAR entre eles. Termina nas specs SDD com handoff para `/reversa-forward`.
- **Expresso:** entrevista única no início, depois execução de ponta a ponta sem paradas, das specs até o código (emenda no ciclo forward automaticamente).
Detecção, nesta ordem:
1. Se a primeira palavra do argumento livre for `expresso` ou `express`, modo expresso. O restante do argumento é o brief.
2. Em retomada, o modo vem de `newproject_progress.mode`. Não pergunte de novo.
3. Senão, pergunte usando o menu interativo da engine (no Claude Code, `AskUserQuestion`; em engines sem suporte, menu numerado):
> Como você quer executar o `/reversa-new`?
>
> 1. **Guiado** (padrão): passo a passo, você aprova cada etapa. Termina nas specs SDD, prontas para o `/reversa-forward`.
> 2. **Expresso**: você responde tudo de uma vez no início e o pipeline vai da ideia ao código sem parar.
> 3. **Outro**: descreva o que precisa.
Persista a escolha em `newproject_progress.mode` (`"guiado"` ou `"expresso"`) junto com o brief. Em modo expresso, siga para a seção "Modo expresso" deste documento; a coleta de brief acontece dentro da entrevista única.
## Coleta de brief

@@ -148,2 +184,3 @@

"newproject_progress": {
"mode": "<guiado | expresso>",
"stage": "ideator",

@@ -158,4 +195,6 @@ "started_at": "<ISO 8601>",

## Executando o pipeline
Estágios possíveis de `stage`: `ideator`, `researcher`, `drafter`, `spec-sdd` e, apenas em modo expresso, `forward-requirements`, `forward-plan`, `forward-todo`, `forward-coding`. Ambos os modos terminam em `done`.
## Executando o pipeline (modo guiado)
Para cada agente do pipeline:

@@ -180,3 +219,3 @@

## Handoff final
## Handoff final (modo guiado)

@@ -199,2 +238,76 @@ Quando o `reversa-spec-sdd` concluir, atualize `stage` para `done` e exiba o relatório final:

## Modo expresso
O modo expresso executa os mesmos agentes do modo guiado e, ao final das specs, emenda automaticamente no ciclo forward até o código. Todas as decisões são coletadas em uma **entrevista única no início**, no mesmo padrão do `/reversa-autonomous`. Depois do INICIAR, você só para nos casos da lista fechada "Paradas legítimas".
### Entrevista única
Monte a entrevista com apenas as perguntas ainda não respondidas (o que já está persistido em `state.json` não é refeito). Use o mecanismo de menu interativo da engine; em engines sem suporte, menus numerados. Blocos, nesta ordem:
1. **Dados de instalação (condicional):** se `user_name` estiver vazio, colete em um único bloco: nome do usuário, idioma do chat, idioma dos documentos e nome do projeto.
2. **Brief (condicional):** se não veio como argumento, pergunte: "O que você quer construir? Descreva em uma frase ou parágrafo curto." Salve em `newproject-brief.md` como no fluxo normal.
3. **Ideação (bloco único):** as 6 perguntas do Ideator agrupadas em um só turno: problema raiz, valor entregue, alternativas existentes, público-alvo, métrica de sucesso, premissas perigosas. Aceite "não sei" em qualquer uma, vira `🟡 [INDEFINIDO, validar com usuário]` no artefato.
4. **Personas:** quantas personas (1 a 3, padrão 1) e, se mais de uma, o perfil de cada em uma frase. Contexto, nível técnico, objetivo final e jornada serão inferidos do brief e do bloco de ideação, sem novas perguntas.
5. **Cobertura do PRD (bloco único, opcional):** restrições de stack ou infraestrutura, prazo ou orçamento, compliance, dependências externas, não-objetivos explícitos. Qualquer item pode ficar em branco.
6. **Lacunas durante a execução:**
> Se surgirem dúvidas no meio do caminho (requisito ambíguo, decisão técnica sem resposta), o que prefiro fazer?
>
> 1. **Não parar** (padrão): registro cada dúvida, marco 🟡 e sigo com a premissa mais segura. Você revisa depois.
> 2. **Parar e perguntar**: pauso e pergunto no chat a cada dúvida.
> 3. **Outro**: descreva.
Salve em `state.json` → `answer_mode` (`file` para a opção 1, `chat` para a 2).
7. **Confirmação única:** apresente o plano completo (ideator → researcher → drafter → spec-sdd → requirements → plan → to-do → coding) e encerre:
> "[Nome], respostas registradas. Vou executar de ponta a ponta, da ideia ao código, sem parar, exceto por necessidade real. Digite **INICIAR** para começar (ou ajuste as respostas antes)."
Após o INICIAR, salve tudo em `state.json` e comece.
### Execução expressa
A sequência de agentes é a mesma do modo guiado, com estes overrides (em conflito com o SKILL.md de um agente, este documento vence):
1. **Nenhum CONTINUAR.** Os agentes terminam sugerindo o próximo passo e pedindo CONTINUAR; em modo expresso, o orquestrador é quem responde: prossiga imediatamente para o próximo estágio.
2. **reversa-ideator:** não entrevista. Sintetiza `ideation.md` diretamente das respostas do bloco de ideação da entrevista.
3. **reversa-researcher:** não pergunta. Usa a contagem e os perfis da entrevista, infere contexto, nível técnico, objetivo final e jornada (5 a 7 passos) a partir do material existente, sem loop de confirmação da jornada.
4. **reversa-drafter:** pula as perguntas de cobertura, usa o bloco 5 da entrevista. Gaps viram `[INDEFINIDO]`.
5. **reversa-spec-sdd:** a decomposição em componentes não pede confirmação (ela é registrada no relatório final expresso). A Fase 1 (entrevista por componente) vira inferência do PRD. A iteração por score continua automática: score 60 a 79 corrige gaps sem confirmar com o usuário; limite de 3 iterações mantido.
6. **Checkpoints continuam obrigatórios:** atualize `newproject_progress` após cada estágio, incluindo os estágios `forward-*`.
### Ponte para o ciclo forward
Ao concluir o `reversa-spec-sdd`, NÃO pare no handoff. Atualize `stage` para `forward-requirements` e continue:
1. **reversa-requirements** com argumento derivado da seção "Escopo (in)" do `prd.md`: a primeira feature é o MVP descrito no PRD. Overrides:
- Coleta de contexto greenfield: leia `prd.md`, `personas.md`, `ideation.md` e `sdd/*.md` no lugar de `architecture.md`, `domain.md`, `inventory.md` e `code-analysis.md`. As citações do requirements apontam para esses arquivos.
- `[DÚVIDA]`: antes de registrar, tente responder com o conteúdo das specs SDD. As que sobrarem (máximo 3) não param o fluxo.
2. **reversa-clarify é pulado.** `[DÚVIDA]` remanescentes viram premissas 🟡 no `roadmap.md`, comportamento que o `reversa-plan` já prevê. A pergunta "prefere rodar clarify antes?" é respondida pelo orquestrador: prosseguir.
3. **reversa-plan** e **reversa-to-do** com o mesmo contexto greenfield (specs SDD e PRD no lugar dos artefatos de descoberta).
4. **reversa-coding** em cenário greenfield, que o próprio skill já suporta nativamente: a âncora é `<output_folder>/prd.md` mais pelo menos uma spec em `<output_folder>/sdd/` (no lugar de `architecture.md` + `domain.md`), e `legacy-impact.md`/`regression-watch.md` se adaptam conforme descrito no SKILL.md do coding. Reforço do modo expresso:
- Escrita de código: o coding pode criar arquivos novos no projeto e editar arquivos criados por ele mesmo nesta execução (rastreados em `progress.jsonl`). Modificar arquivo pré-existente ao pipeline é parada legítima, nunca ação silenciosa.
5. **audit e quality** continuam opcionais e fora do caminho expresso.
Ao final do coding com todas as ações `[X]`, atualize `stage` para `done` e exiba o relatório final expresso.
### Paradas legítimas (lista fechada)
1. **`answer_mode = "chat"`:** dúvidas dos agentes pausam, porque o usuário pediu.
2. **Erro irrecuperável:** falha de IO, `state.json` corrompido, pasta de saída sem permissão de escrita. Explique o erro e o que corrigir.
3. **Ação do `reversa-coding` falhou:** a fase para e o problema é relatado, comportamento herdado do coding.
4. **Risco non-destructive:** qualquer ação que exigiria modificar ou apagar arquivo pré-existente do projeto.
5. **Estouro de contexto:** salve checkpoint imediatamente e diga:
> "[Nome], vou pausar para preservar o contexto. Tudo salvo. Digite `/reversa-new` em uma nova sessão para retomar de onde paramos."
Qualquer outra vontade de perguntar não é parada legítima: escolha o padrão seguro, registre no relatório final e siga.
### Relatório final expresso
1. Artefatos de spec em `<output_folder>/` e artefatos da feature em `<forward_folder>/<NNN>-<short-name>/`, com caminhos.
2. Tabela de specs SDD com scores e iterações.
3. Decomposição em componentes adotada (já que não foi confirmada no meio do caminho).
4. Ações executadas pelo coding (N de M) e arquivos de código criados.
5. Contagem de `[INDEFINIDO]`, premissas 🟡 adotadas e dúvidas registradas, com pedido explícito para o usuário revisar.
6. Próximos passos: rodar `/reversa` para extrair specs 🟢 do código recém-criado e fechar o ciclo, ou `/reversa-docs` para documentação viva.
## Idiomas

@@ -211,9 +324,11 @@

A retomada respeita o `mode` salvo: guiado volta a pedir CONTINUAR, expresso segue sem paradas.
## Regra absoluta
Nunca apague, modifique ou sobrescreva arquivos pré-existentes do projeto do usuário. O Reversa escreve APENAS em `.reversa/` e `_reversa_sdd/`. Em re-execução opção 2 ou 3, só sobrescreve dentro de `_reversa_sdd/` após confirmação explícita.
Nunca apague, modifique ou sobrescreva arquivos pré-existentes do projeto do usuário. O Reversa escreve APENAS em `.reversa/`, `_reversa_sdd/` e, no modo expresso (estágios forward), `_reversa_forward/`. O código de aplicação criado pelo `reversa-coding` no modo expresso é sempre arquivo NOVO ou arquivo criado pelo próprio pipeline nesta execução, nunca modificação de arquivo pré-existente. Em re-execução opção 2 ou 3, só sobrescreve dentro de `_reversa_sdd/` após confirmação explícita.
## Saída final
Toda transição entre agentes termina com:
No modo guiado, toda transição entre agentes termina com:

@@ -223,1 +338,3 @@ > Digite **CONTINUAR** para prosseguir com `<próximo agente>`.

Nunca avance automaticamente. O usuário decide cada passo.
No modo expresso, a única confirmação é o **INICIAR** da entrevista única. Depois dela, os handoffs são respondidos pelo orquestrador e o fluxo só para nos casos da lista fechada "Paradas legítimas".
{
"name": "reversa",
"version": "1.2.49",
"version": "1.2.50",
"description": "Transform legacy systems into executable specifications for AI coding agents",

@@ -5,0 +5,0 @@ "bin": {