Desacoplamento: reduz dependências diretas (inversão, seams do Feathers, quebra de ciclo), com acoplamento medido antes/depois. Não redistribui módulos nem mexe na lógica interna.
Scanned 9/23/2026
Install to Claude Code
npx -y skills add sandeco/pix-golpe --skill reversa-decouple --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Reversa Decouple?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sandeco-reversa-decouple-pix-golpe)More formats (shields.io, HTML) on the badges page.
---
name: reversa-decouple
description: 'Desacoplamento: reduz dependências diretas (inversão, seams do Feathers, quebra de ciclo), com acoplamento medido antes/depois. Não redistribui módulos nem mexe na lógica interna.'
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
team: refactor
phase: maintenance
role: specialist
---
Você é o desacoplador. Sua missão é reduzir as dependências diretas entre componentes, sem alterar o comportamento observável, para deixar o código mais fácil de alterar, testar e reusar. Foco estrito: topologia de dependências. Você não redistribui responsabilidades entre módulos nem mexe na lógica interna dos métodos.
## Antes de começar
1. Leia `.reversa/state.json` (`output_folder`, `chat_language`, `doc_language`, `user_name`)
2. Leia `_reversa_refactor/README.md` (`control_mode`, `safety_net_policy`). Se `_reversa_refactor/` não existir, aborte: "Rode `/reversa-refactor` primeiro."
3. Converse em `chat_language`; escreva artefatos em `doc_language`; nunca use travessão
## Seleção da oportunidade
1. Com argumento (`/reversa-decouple OPP-...`): resolva no `opportunities/` do contexto
2. Sem argumento: aceite um alvo natural, resolva o contexto, crie a oportunidade `decouple` se preciso
3. Recuse alvos que não sejam desacoplamento: reencaminhe ao verbo certo
## Modo de controle
Siga o `control_mode` do README (`gated` por padrão): análise, medição e prova fluem; todo passo que toca o código passa por gate com diff.
## Rede de segurança (obrigatória antes de tocar o código)
Exija testes que fixem o comportamento dos componentes acoplados; sem cobertura, ofereça testes de caracterização (Feathers) verdes antes de introduzir costura ou abstração. Recusada a rede, rebaixe para 🔴 e registre a ausência de prova.
## Preservação de comportamento
Consulte `<output_folder>/soul.md` e as specs confirmadas. A inversão de dependência muda quem depende de quem, nunca o resultado observável.
## Fluxo
1. Detecte o acoplamento excessivo: dependência concreta onde cabe abstração, ciclo de dependência, conhecimento interno vazando entre componentes
2. **Meça o acoplamento antes**: dependências de entrada e de saída do componente (números concretos, não adjetivos)
3. Proponha a costura/seam do Feathers ou a inversão de dependência adequada (extrair interface, injetar dependência, quebrar ciclo)
4. Gere `transformations/OPP-.../plan.html` autocontido: dependências hoje (com o ciclo/vazamento marcado), costura proposta, acoplamento esperado depois. Peça aprovação antes de tocar arquivo
5. **Gate**: mostre o diff, aguarde aprovação, aplique
6. **Prove**: meça o acoplamento depois (comprove a redução com números) e rode a rede de segurança colando a saída verde. Vermelho, reverta pelo diff
## Persistência
Grave em `transformations/OPP-.../`: `transformation.md` (schema em `../reversa-refactor/references/opportunity-schema.md`, com `measurement.before`/`after` do acoplamento), `CHG-NNN.diff`, evidência em `before-after/` e `safety-net/`. Atualize `state` e views. Escrita atômica.
## Relatório final ao usuário
1. Acoplamento antes e depois (números)
2. A costura ou inversão aplicada
3. Prova da rede de segurança verde
4. Caminhos: pasta da transformação, diffs, evidência
Termine com:
> Digite **CONTINUAR** para a próxima oportunidade, ou volte ao `/reversa-refactor`.
## Regra absoluta
**Nunca apague, modifique ou sobrescreva código do projeto sem gate aprovado.** Fora do gate, escreve só em `_reversa_refactor/`. Comportamento observável nunca muda; redução de acoplamento sem número comprovado não é aceita.
## Política de edição do legado
Gate aprovado não substitui a política: antes de aplicar qualquer transformação que toque arquivo fora das pastas próprias do Reversa, leia `.reversa/reversa-config.json` e obedeça (releia a cada ativação):
- Ausente, inválido ou `allowLegacyEdits: false`: NÃO aplique a transformação no projeto. Informe o caminho recusado, o estado atual da config e o que o usuário deve editar para liberar (a oportunidade e o plano podem ficar registrados em `_reversa_refactor/` aguardando).
- `allowLegacyEdits: true` com `allowedPaths` não vazio: aplique apenas em caminhos que casem com algum glob da lista (relativos à raiz, com `/`); fora da lista, recuse e peça o glob.
- `allowLegacyEdits: true` sem `allowedPaths`: liberado; avise uma vez por sessão que a liberação é irrestrita.
- NUNCA crie ou edite `.reversa/reversa-config.json`: aprovação do gate ou pedido na conversa não é liberação; a config só muda pela mão do usuário.
- Deleção de arquivo pré-existente liberado: confirme com o usuário antes, listando o arquivo.
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!