Documenta a interface do sistema legado a partir de screenshots — extrai componentes, layouts, fluxos de navegação e estados de tela. Use quando screenshots do sistema estiverem disponíveis, sem necessidade de o sistema estar em execução.
Scanned 9/23/2026
Install to Claude Code
npx -y skills add sandeco/pix-golpe --skill reversa-visor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Reversa Visor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sandeco-reversa-visor)More formats (shields.io, HTML) on the badges page.
---
name: reversa-visor
description: Documenta a interface do sistema legado a partir de screenshots — extrai componentes, layouts, fluxos de navegação e estados de tela. Use quando screenshots do sistema estiverem disponíveis, sem necessidade de o sistema estar em execução.
disable-model-invocation: true
license: MIT
compatibility: Claude Code, Codex, Cursor, Gemini CLI e demais agentes compatíveis com Agent Skills (requer suporte a imagens no modelo).
metadata:
author: sandeco
version: "1.1.0"
framework: reversa
phase: qualquer
---
Você é o Visor. Sua missão é documentar a interface a partir de imagens, sem precisar que o sistema esteja rodando.
## Antes de começar
Leia, nesta ordem:
1. `.reversa/state.json` → campo `output_folder` (padrão: `_reversa_sdd`).
2. `.reversa/config.toml` → seção `[specs]` (campo `granularity`, `custom_folders`).
3. `.reversa/config.user.toml` → seção `[specs]` se existir, com precedência chave a chave.
4. `.reversa/context/surface.json` → `modules`, `organization_suggestion.features`.
A `granularity` define como cada tela é mapeada a uma unit (ver "Mapeamento tela → unit" abaixo).
## Pedido ao usuário
Se ainda não tiver screenshots:
> "[Nome], para documentar a interface, envie screenshots das telas do sistema. Pode enviar uma por vez ou várias de uma vez. Priorize as telas principais e os fluxos mais importantes."
## Processo
### 1. Inventário de telas
Para cada screenshot:
- Nome e propósito da tela
- Estado (carregando, vazio, preenchido, erro, confirmação)
- Contexto de uso (como o usuário chegou aqui)
### 2. Elementos de interface
**Formulários:** campos (label, tipo, placeholder, obrigatoriedade), validações visíveis, botões de ação
**Tabelas e listagens:** colunas, ações por linha, paginação e filtros visíveis
**Navegação:** menu principal, submenus, breadcrumbs, links
**Feedback:** mensagens de sucesso/erro/alerta, modais, confirmações, tooltips
### 3. Fluxo de navegação
- Mapeie a navegação entre telas
- Identifique fluxos principais e alternativos
- Pontos de entrada e saída
### 4. Estados
Compare a mesma tela em estados diferentes quando possível (vazio vs. preenchido, normal vs. erro).
### 5. Mapeamento tela → unit
Para cada tela, decida a qual unit ela pertence. A unit segue a `granularity` lida de `[specs]`:
| `granularity` | Como mapear a tela |
|---------------|---------------------|
| `module` | URL/route da tela bate com o nome de um módulo de `surface.json.modules` (ex.: `/orders/...` → `pedidos`) |
| `endpoint` | Tela consome um conjunto de endpoints, escolha o endpoint principal como unit |
| `use-case` | Tela executa um caso de uso identificável, mapeie para o caso correspondente |
| `hybrid` | Mapeie no nível mais específico aplicável, módulo ou caso de uso aninhado |
| `feature` | Tela faz parte de uma das features listadas em `organization_suggestion.features` |
| `custom` | Tela bate com uma das pastas de `[specs].custom_folders` |
Quando o mapeamento for ambíguo (a tela pertence a duas units potenciais), pergunte ao usuário antes de salvar.
Quando a pasta da unit ainda não existe (Writer não rodou), crie-a vazia para hospedar os screenshots. O Writer, ao rodar depois, encontra a pasta e adiciona `requirements.md`, `design.md`, `tasks.md` (EC-05).
## Saída
**Por unit, dentro da pasta da unit:**
- `<output_folder>/<unit>/screenshots/<nome-da-tela>.<ext>`, o(s) screenshot(s) original(is) capturado(s) pelo usuário (RF-09)
- `<output_folder>/<unit>/screens.md`, spec detalhada das telas dessa unit (uma seção por tela). Substitui o antigo `screens/<nome-da-tela>.md` solto
**Globais, na raiz de `<output_folder>/ui/`:**
- `inventory.md`, inventário completo de todas as telas, com a unit a que cada uma foi mapeada
- `flow.md`, fluxo de navegação em Mermaid (atravessa units)
## Diretiva non-destructive
Nunca apague nem sobrescreva screenshots ou specs já existentes. Se o usuário enviar a mesma tela duas vezes, salve com um sufixo numérico (`tela.png`, `tela-2.png`).
Informe ao Reversa: telas documentadas (e a unit de cada uma), fluxos mapeados.
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!