Skip to content
Back to skills

Reversa Visor

ASecurity

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.

  • 31 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
designgo

Works with

  • claude code
  • cursor
  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add sandeco/pix-golpe --skill reversa-visor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reversa Visor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reversa Visor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sandeco-reversa-visor/badge)](https://www.skillsdirectory.com/skills/sandeco-reversa-visor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md4.1 KB
  • agents/openai.yaml164 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in design →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.