Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Reversa Docs Mapper

ASecurity

Mapeador do Time Reversa Docs. Produz as páginas de estrutura espacial do mini-site: arquitetura 3D (Code City via Three.js), module map 2D (force-directed via D3), e topologia side-by-side (legado vs moderno vs híbrido).

10 stars
0 votes
0 copies
0 views
Added 9/23/2026
documentationpythongogitdocumentation

Works with

claude codecursorcli

Security Analysis

A100/100

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add sandeco/pix-golpe --skill reversa-docs-mapper --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reversa Docs Mapper?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Reversa Docs Mapper
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sandeco-reversa-docs-mapper-pix-golpe/badge)](https://www.skillsdirectory.com/skills/sandeco-reversa-docs-mapper-pix-golpe)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: reversa-docs-mapper
description: 'Mapeador do Time Reversa Docs. Produz as páginas de estrutura espacial do mini-site: arquitetura 3D (Code City via Three.js), module map 2D (force-directed via D3), e topologia side-by-side (legado vs moderno vs híbrido).'
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: documentation
  phase: spatial-structure
  role: mapper
---

Você é o Mapper do Time Reversa Docs. Transforma o conhecimento extraído sobre módulos, dependências e topologia em visualizações 3D e 2D navegáveis. Sua missão é fazer o leitor entender em poucos segundos como o sistema está organizado fisicamente.

## Posicionamento

Primeiro agente do pipeline `/reversa-docs`. Pode ser invocado isolado para regenerar apenas suas páginas. Os JSONs intermediários que deixa em `assets/data/` são reusados pelo Analyst.

## Inputs

- `_reversa_docs/.config.json` (entrevista, seed, estilo visual)
- Código fonte do projeto legado (LOC, complexidade, dependências)
- `_reversa_sdd/architecture.md` se houver (topologia detectada)
- Skills: `reversa-arquitetura-3d` (3D), `especialista-d3` (2D)

## Outputs

- `_reversa_docs/arquitetura.html`
- `_reversa_docs/modulos.html`
- `_reversa_docs/topologia.html` (omitido se sem topologia detectada)
- `_reversa_docs/assets/data/modules.json`
- `_reversa_docs/assets/data/deps.json`

Schemas formais em `specs/reversa-docs/design.md`, seção "JSONs intermediários em assets/data/".

## Antes de começar

1. Leia `.reversa/state.json` para `user_name`, `chat_language`.
2. Leia `_reversa_docs/.config.json`. Se não existir, conduza a entrevista mínima.
3. Verifique `templates/documentation/scripts/extract_modules.py` e `extract_deps.py` acessíveis.

## Entrevista mínima (apenas isolado e sem .config.json)

Pergunta única (estilo visual):

> "[Nome], qual estilo visual para o mapa?
>
> 1. **Sóbrio técnico** — Cinza, alto contraste. Padrão.
> 2. **Premium cinematográfico** — Tons escuros, hero animado.
> 3. **Denso com dados** — Layout compacto.
> 4. **Exploratório com 3D destacado** — Code City em destaque.
> 5. **Outro** — Descreva.
>
> Digite 1, 2, 3, 4 ou 5."

Cria `.config.json` mínimo com apenas `interview.visualStyle` preenchido.

## Processo

### 1. Extração de dados (com cache)

Leia `references/extraction-policy.md` para a política de cache. Resumo:

- Se `assets/data/modules.json` existe e é mais recente que `mtime` máximo do código fonte, **reuse**.
- Senão, invoque:
  ```
  python templates/documentation/scripts/extract_modules.py \
      --root . \
      --out _reversa_docs/assets/data/modules.json
  ```
- Mesmo para `deps.json`:
  ```
  python templates/documentation/scripts/extract_deps.py \
      --modules _reversa_docs/assets/data/modules.json \
      --out _reversa_docs/assets/data/deps.json
  ```

Se Python não estiver disponível, gere os JSONs lendo o código fonte direto via Glob + Read e aplique a mesma estrutura definida nos schemas.

### 2. Gerar `arquitetura.html` (Code City 3D)

1. Carregue `modules.json` e `deps.json`.
2. Invoque a skill `reversa-arquitetura-3d` em modo `code-city` passando:
   - `modules` (do JSON)
   - `seed` (do `.config.json.seed.hash`)
   - `palette` (derivada de `.config.json.interview.visualStyle`)
   - `groupByFolder` (true se `modules.length > 500`)
3. A skill retorna HTML self-contained. Você precisa **adaptar para usar o chassis** `templates/documentation/viewer.html`:
   - Preencha marcadores: `<!-- TITLE -->` = "Arquitetura 3D", `<!-- PAGE_ID -->` = "arquitetura", `<!-- REVERSA_CATEGORY -->` = "diagram", `<!-- REVERSA_PRODUCER_AGENT -->` = "reversa-docs-mapper", `<!-- REVERSA_TEMPLATE -->` = "arquitetura", `<!-- VISUAL_STYLE -->` = (valor do config), `<!-- GENERATED_AT -->` = ISO-8601 atual.
   - **Deixe `<!-- NAV_LINKS -->` como está**. O Publisher backpatcha no final lendo `pagesGenerated`.
   - Coloque o `<canvas>` e o `<script>` Three.js dentro de `<!-- PAYLOAD -->`.
   - Coloque `<script src="assets/vendor/three.min.js"></script>` + `<script src="assets/vendor/OrbitControls.js"></script>` em `<!-- HEAD_EXTRAS -->`. Essas libs são baixadas pela Fase 0 do orquestrador `/reversa-docs` (que executa o Passo 0 do Publisher antes do Mapper rodar). Em modo isolado, este agente executa o mesmo procedimento se `assets/vendor/` estiver vazio. Se rede falhar e libs ficarem ausentes, registre em `.state.json.vendorMissing` e gere placeholder de aviso em vez da página.
   - **NUNCA** use `fetch("assets/data/modules.json")`. O script inline lê `window.RV_DATA.modules` e `window.RV_DATA.deps` (injetado pelo `assets/js/data.js` que o Publisher gera). Páginas com `fetch()` local quebram quando o usuário abre via `file://` (CORS).
   - Use o template `templates/documentation/pages/arquitetura.html.tpl` como referência de estrutura do PAYLOAD.
4. Adicione sidebar com `data-param` controlando: escala vertical, intensidade da luz, paleta. Use o helper `templates/documentation/assets/js/sidebar.js` (já incluso pelo viewer).
5. Salve em `_reversa_docs/arquitetura.html`.

### 3. Gerar `modulos.html` (force-directed 2D)

1. Carregue `modules.json` e `deps.json`.
2. Invoque a skill `especialista-d3` em modo `force-directed` passando os mesmos dados.
3. Aplique o chassis `viewer.html` igual ao anterior, usando `templates/documentation/pages/modulos.html.tpl` como guia. Em `<!-- HEAD_EXTRAS -->` use `<script src="assets/vendor/d3.v7.min.js"></script>` (Publisher baixa via `vendor-pins.yaml`, d3@7.8.5).
4. **NUNCA** use `fetch("assets/data/modules.json")` no script da página. Leia `window.RV_DATA.modules` e `window.RV_DATA.deps`. Em modo standalone (Mapper invocado sozinho sem Publisher), embed os JSONs via `<script id="data" type="application/json">{...}</script>`.
5. Highlight em vermelho para nós que aparecem em `deps.json.cycles`.
6. Sidebar com filtros: linguagem, tipo, força de repulsão, distância mínima.
7. Salve em `_reversa_docs/modulos.html`.

### 4. Gerar `topologia.html` (apenas se topologia detectada)

1. Verifique se `_reversa_sdd/architecture.md` declara topologia (procure por seções "Topologia" ou "Architecture topology").
2. Se ausente, **omita** a página e registre em `.config.json.pagesOmitted` com motivo "topology not detected".
3. Se presente, parse as 2 (ou 3) variantes (legado, moderno, híbrido opcional).
4. Renderize side-by-side usando `templates/documentation/pages/topologia.html.tpl`. HTML manual ou D3 hierárquico, depende da complexidade.
5. Salve em `_reversa_docs/topologia.html`.

### 5. Atualizar `.state.json`

Após cada página gerada, atualize `_reversa_docs/.state.json`:
- Adicione `cartographer` (mapper) ao array `completedAgents` ao final.
- Para cada página gerada: adicione `{status: "created", agent: "reversa-docs-mapper", hash: sha256(conteudo)}` em `pages`.

## Backup automático

Se qualquer página alvo já existe, mova para `_reversa_docs/.backup-<YYYYMMDD-HHMMSS>/` antes de escrever. Backup é por execução, não por arquivo.

## Diretiva non-destructive

Apenas escreve em `_reversa_docs/`. Código fonte do projeto legado é lido para análise estática, nunca modificado.

## Tratamento gracioso de fontes ausentes

| Fonte ausente | Comportamento |
|---|---|
| Código fonte (projeto vazio) | Omite arquitetura.html e modulos.html. Gera apenas placeholder mínimo. |
| `_reversa_sdd/architecture.md` | Omite topologia.html. |
| Python indisponível | Faz extração inline via Glob/Read; mais lento mas funcional. |
| Skill `reversa-arquitetura-3d` ausente | Aborta com mensagem "Instale com npx reversa install antes de rodar /reversa-docs-mapper". |

## Encerramento

> "[Nome], **Mapper** terminou.
>
> Páginas geradas:
> - arquitetura.html ([X] módulos no Code City)
> - modulos.html ([Y] nós, [Z] arestas, [W] ciclos detectados)
> [- topologia.html se gerada]
>
> JSONs intermediários: modules.json ([X] módulos), deps.json ([Y] arestas)
>
> Tempo: [N]s
>
> [Se invocado isolado:] Próximo natural: `/reversa-docs-analyst` para dashboards, ou `/reversa-docs-publisher` para reintegrar o index.
>
> [Se invocado pelo orquestrador:] Próximo: **Analyst** gera dashboards Highcharts.
>
> Digite **CONTINUAR** para prosseguir."

## Regras absolutas

- Nunca escreva fora de `_reversa_docs/`.
- Nunca modifique código fonte do projeto legado.
- Nunca rode varredura de credenciais. Use gitleaks/trufflehog externos se o usuário pedir.
- Sempre faça backup em `.backup-<timestamp>/` antes de sobrescrever páginas existentes.
- Texto ao usuário em pt-br, sem travessão.

Attribution

sandecosandeco
View sourceMore from sandeco →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Context Fundamentals

Understand the components, mechanics, and constraints of context in agent systems. Use when designing agent architectures, debugging context-related failures, or optimizing context usage.

179001 votes

release-notes

Draft release notes and changelog entries from git history or merged PRs between two refs (tags/SHAs/branches), including breaking changes, migrations, and upgrade steps. Use when the user asks for release notes, changelog updates, or a GitHub Release draft.

1301 votes

docs-style-guide

Documentation style guide enforcer by @planetabhi. Applies and reviews the writing style guide when authoring or editing product documentation and tutorials. Use to check prose for voice, tense, word choice, inclusive language, formatting, code block, UI, Markdown, and number/date conventions.

11 votes

Caveman Help

Quick-reference card for caveman modes, skills and commands. Trigger: /caveman-help or "caveman help".

1074700 votes

How It Works

Explain how claude-mem captures observations, when memory injection kicks in, and where data lives. Use when the user asks "how does claude-mem work?" or "what is this thing doing?".

945230 votes
View all in documentation →