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.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 28, 2026
toolsgo

Works with

  • claude code
  • cursor
  • cli

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add italoag/bloco-vanity-generator --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/italoag-reversa-visor/badge)](https://www.skillsdirectory.com/skills/italoag-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.
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.

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.

Comments

Loading comments…

Newsletter

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