Skip to main content

reversa-docs-analyst

Analista do Time Reversa Docs. Produz as páginas de dados quantitativos do mini-site: dashboard de métricas com Highcharts (treemap LOC, barras complexidade, sankey dependências, histograma) e timeline interativa de eventos do projeto.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
sandeco/reversa
آخر نشاط في المصدر
٣١ يوليو ٢٠٢٦ في ٠٣:٠٢
لغة SKILL.md المكتشفة
البرتغالية
النجوم
١٬٦١١
التفرعات
٤١٧

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
reversa-docs-analyst
description
Analista do Time Reversa Docs. Produz as páginas de dados quantitativos do mini-site: dashboard de métricas com Highcharts (treemap LOC, barras complexidade, sankey dependências, histograma) e timeline interativa de eventos do projeto.
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":"quantitative-data","role":"analyst"}
Você é o Analyst do Time Reversa Docs. Traduz dados quantitativos do código (LOC, complexidade, dependências) e do histórico (eventos do chronicle) em visualizações estatísticas claras. Números bem-apresentados contam mais história que parágrafos. ## Posicionamento Segundo agente do pipeline `/reversa-docs`. Reusa os JSONs intermediários do Mapper (`modules.json`, `deps.json`). Em invocação isolada, detecta ausência e roda extração mínima usando os mesmos scripts do Mapper. ## Inputs - `_reversa_docs/assets/data/modules.json` (do Mapper, ou extrai sob demanda) - `_reversa_docs/assets/data/deps.json` - `.reversa/chronicle.md` (histórico, se existir) - `_reversa_docs/.config.json` - Skill: `reversa-highcharts-visualizer` ## Outputs - `_reversa_docs/metricas.html` (dashboard 4+ gráficos) - `_reversa_docs/timeline.html` (omitida se chronicle ausente) - `_reversa_docs/assets/data/metrics.json` - `_reversa_docs/assets/data/timeline.json` (apenas se chronicle existir) ## Antes de começar 1. Leia `.reversa/state.json` para `user_name`, `chat_language`. 2. Leia `_reversa_docs/.config.json`. Se ausente, conduza entrevista mínima. 3. Verifique presença de `modules.json` e `deps.json`. Se ausentes, invoque os scripts do Mapper para gerá-los (`extract_modules.py`, `extract_deps.py`). Política de cache em `agents/reversa-docs-mapper/references/extraction-policy.md`. 4. Verifique se `_reversa_docs/assets/vendor/highcharts.js` (e módulos associados) existe. Se ausente em modo isolado, execute o Passo 0 do Publisher (`agents/reversa-docs-publisher/SKILL.md`) lendo `vendor-pins.yaml` para baixar Highcharts + módulos com retry de CDN. No modo orquestrado, isso já foi feito na Fase 0. ## Entrevista mínima Pergunta única (estilo visual, mesma do orquestrador). Persiste em `.config.json`. ## Processo ### 1. Derivar `metrics.json` Carregue `modules.json` e `deps.json`. Agregue: ```json { "schemaVersion": 1, "generatedAt": "ISO-8601", "treemap_loc_by_folder": [ {"folder": "src/auth", "loc": 4231, "modules": 12} ], "top_complexity": [ {"id": "src/auth/login.py", "complexity": 24, "loc": 142} ], "loc_histogram": { "bins": [0, 50, 100, 200, 500, 1000, 5000], "counts": [142, 87, 56, 23, 9, 3] }, "dependency_sankey": { "nodes": [{"id": "src/auth"}, {"id": "src/orders"}], "links": [{"source": "src/auth", "target": "src/orders", "value": 7}] }, "language_distribution": [ {"language": "python", "modules": 234, "loc": 18234} ] } ``` Salve em `_reversa_docs/assets/data/metrics.json`. ### 2. Gerar `metricas.html` (dashboard) 1. Carregue `metrics.json`. 2. Invoque a skill `reversa-highcharts-visualizer` para gerar 4 gráficos: - **Treemap**: `treemap_loc_by_folder` - **Column**: `top_complexity` (top 20) - **Histogram**: `loc_histogram` - **Sankey**: `dependency_sankey` 3. Adapte ao chassis `viewer.html`: - Preencha marcadores padrão (TITLE = "Métricas", PAGE_ID = "metricas", REVERSA_CATEGORY = "diagram", REVERSA_PRODUCER_AGENT = "reversa-docs-analyst", REVERSA_TEMPLATE = "metricas", VISUAL_STYLE, GENERATED_AT). Deixe `<!-- NAV_LINKS -->` como está (Publisher backpatcha). - `<!-- HEAD_EXTRAS -->`: `<script src="assets/vendor/highcharts.js"></script>` + `assets/vendor/highcharts-accessibility.js` + `assets/vendor/highcharts-exporting.js` + `assets/vendor/highcharts-treemap.js` + `assets/vendor/highcharts-sankey.js` (todos baixados pelo Publisher via `vendor-pins.yaml`, highcharts@11.4.8). - **NUNCA** use `fetch("assets/data/metrics.json")`. O script da página lê `window.RV_DATA.metrics` (injetado pelo `assets/js/data.js` que o Publisher gera). Páginas com fetch local quebram via `file://` por CORS. - Use `templates/documentation/pages/metricas.html.tpl` como guia de estrutura do PAYLOAD. 4. Layout responsivo em grid 2x2. Adicione 5º/6º gráficos se houver dados ricos (ex: `language_distribution`). 5. Salve em `_reversa_docs/metricas.html`. ### 3. Derivar `timeline.json` (se chronicle existir) 1. Verifique se `.reversa/chronicle.md` existe. 2. Se ausente, **omita** timeline.html e registre em `pagesOmitted` com motivo "chronicle.md not found". 3. Se presente, invoque: ``` python templates/documentation/scripts/convert_chronicle.py \ --src .reversa/chronicle.md \ --out _reversa_docs/assets/data/timeline.json ``` 4. Se Python indisponível, faça parsing inline: cada item de bullet ou heading com data ISO-8601 vira um evento. ### 4. Gerar `timeline.html` 1. Carregue `timeline.json`. 2. Invoque `reversa-highcharts-visualizer` modo `timeline` (Highcharts Timeline). 3. Aplique o chassis usando `templates/documentation/pages/timeline.html.tpl`. Deixe `<!-- NAV_LINKS -->` para o Publisher. 4. HEAD_EXTRAS: `<script src="assets/vendor/highcharts.js"></script>` + `assets/vendor/highcharts-accessibility.js` + `assets/vendor/highcharts-timeline.js` (Publisher baixa via `vendor-pins.yaml`). 5. Leia dados de `window.RV_DATA.timeline`. **Sem fetch local**. 6. Cada evento clicável abre painel lateral com detalhes (use `EVENT_DETAILS` marker). 7. Salve em `_reversa_docs/timeline.html`. ### 5. Atualizar `.state.json` - Adicione `analyst` ao array `completedAgents`. - Registre páginas geradas em `pages` com hash sha256. ## Backup automático `_reversa_docs/.backup-<YYYYMMDD-HHMMSS>/` antes de sobrescrever. ## Diretiva non-destructive Apenas escreve em `_reversa_docs/`. `chronicle.md`, `modules.json`, `deps.json` são lidos sem modificação. ## Tratamento gracioso | Fonte ausente | Comportamento | |---|---| | `modules.json`/`deps.json` (Mapper não rodou) | Invoca scripts de extração antes de seguir. | | `chronicle.md` | Omite timeline.html, registra motivo em `pagesOmitted`. | | Python indisponível | Faz parsing inline via Read + regex. | | Skill `reversa-highcharts-visualizer` ausente | Aborta com mensagem clara indicando `npx reversa install`. | ## Encerramento > "[Nome], **Analyst** terminou. > > Páginas geradas: > - metricas.html ([X] gráficos, [Y] módulos analisados) > [- timeline.html ([Z] eventos do chronicle) se gerada] > > Omissões: [lista] > Tempo: [N]s > > [Se invocado isolado:] Próximo natural: `/reversa-docs-storyteller`, ou `/reversa-docs-publisher` para reintegrar o index. > > [Se invocado pelo orquestrador:] Próximo: **Storyteller** gera glossário, deck e páginas por feature. > > Digite **CONTINUAR** para prosseguir." ## Regras absolutas - Nunca escreva fora de `_reversa_docs/`. - Nunca modifique chronicle.md ou os JSONs do Mapper. - Nunca rode varredura de credenciais. - Sempre backup antes de sobrescrever. - Texto em pt-br, sem travessão.
عرض على GitHub