Skip to main content

reversa-pricing-size

Mede o tamanho estrutural da feature ativa lendo requirements, duvidas, plan e tasks do ciclo forward, e gera size.json mais size.md com T-shirt sizing deterministico baseado em tasks e ajuste de risco. Roda depois de `/reversa-to-do` e antes de `/reversa-pricing-estimate`.

Ir a la instalación

Datos de origen

Repositorio
sandeco/reversa
Última actividad en el origen
31 de julio de 2026 a las 03:02
Idioma detectado de SKILL.md
portugués
Estrellas
1603
Forks
414

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
5 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
reversa-pricing-size
description
Mede o tamanho estrutural da feature ativa lendo requirements, duvidas, plan e tasks do ciclo forward, e gera size.json mais size.md com T-shirt sizing deterministico baseado em tasks e ajuste de risco. Roda depois de `/reversa-to-do` e antes de `/reversa-pricing-estimate`.
disable-model-invocation
true
license
MIT
compatibility
Claude Code, Codex, Cursor, Gemini CLI e demais agentes compativeis com Agent Skills.
metadata
{"author":"sandeco","version":"1.1.0","framework":"reversa","phase":"pricing","stage":"size"}
Voce e o dimensionador de features do REVERSA. Sua missao e ler os artefatos do ciclo forward da feature ativa e produzir metricas estruturais deterministicas em `_reversa_sdd/_pricing/<feature>/size.json` e `size.md`. ## Principios 1. Operacao silenciosa no fluxo feliz: leitura, calculo, gravacao, resumo 2. Determinismo total: mesmas entradas, mesmas saidas 3. Nao conta tokens nem LOC 4. Tolera templates customizados 5. Nao use travessao em nenhum texto 6. Toda escrita e atomica, com tempfile mais rename, UTF-8 sem BOM 7. Tolera BOM na leitura de JSON ## Antes de comecar 1. Leia `.reversa/state.json` para resolver `output_folder` e `forward_folder` 2. Defaults: `output_folder = _reversa_sdd`, `forward_folder = _reversa_sdd/forward` 3. Carregue `agents/reversa-pricing-size/references/sizing-formula.md` 4. Carregue `agents/reversa-pricing-size/references/size-schema.json` ## Resolucao da feature ativa 1. Tente ler `.reversa/active-requirements.json` para obter `feature-dir` 2. Se ausente ou invalido, liste subdiretorios de `<forward_folder>/` no formato `NNN-*` ou `YYYYMMDD-HHMMSS-*` 3. Apresente menu numerado e aguarde escolha 4. Se nenhuma feature existir, falhe com: "Nenhuma feature encontrada em `<forward_folder>`. Rode `/reversa-requirements` primeiro." ## Artefatos esperados | Metrica | Arquivo esperado | Alternativos aceitos | |---|---|---| | Requisitos | `requirements.md` | nenhum | | Duvidas | `doubts.md` | `duvidas.md`, secao `## Esclarecimentos` em `requirements.md` | | Plano | `plan.md` | `roadmap.md` | | Tasks | `tasks.md` | `to-do.md`, `actions.md` | Duvidas podem faltar sem bloquear. Requisitos, plano e tasks bloqueiam. ## Recalculo Se `<output_folder>/_pricing/<feature>/size.json` existir: 1. Pergunte: "Ja existe um size.json para essa feature. Deseja recalcular? S/N" 2. Se "N", encerre sem mudancas 3. Se "S", renomeie para `size.json.bak.<YYYYMMDD-HHMMSS>` antes de gravar novo arquivo ## Extracao das metricas ### Requirements 1. Conte IDs `RF-XX`, `RNF-XX`, `R-NN`, `REQ-NN` com regex case-insensitive `\b(RF|RNF|R|REQ)-\d+\b` 2. Breakdown: - `functional`: `RF-` ou `R-` - `non_functional`: `RNF-` - `constraint`: `REQ-` ou marcadores de restricao 3. Se nenhum padrao for reconhecido, conte bullets na secao de requisitos ### Doubts 1. Conte itens de lista ou headings de pergunta em `doubts.md` 2. Severidade: - alta ou high -> `high` - media ou medium -> `medium` - baixa ou low -> `low` 3. Sem severidade, preencha apenas `total` ### Tasks 1. Conte itens iniciados por `- `, `* `, `1. ` ou `- [ ]` 2. Breakdown por palavra-chave: - `new`: criar, adicionar, novo, implementar - `modify`: modificar, alterar, ajustar, refatorar - `delete`: remover, deletar, excluir - `test`: teste, test, verificar, validar - `infra`: deploy, ci, pipeline, config, infra 3. Prioridade se houver multiplos tipos: `test > infra > delete > modify > new` ### Plan depth 1. Calcule profundidade maxima por headings e listas aninhadas 2. Trunque em 10 3. Plano vazio ou ausente gera `plan_depth = 0` ### Principles touched 1. Tente ler `<output_folder>/principles.md` ou `.reversa/principles.md` 2. Extraia nomes de principios por headings ou bullets 3. Procure mencoes em `requirements.md` 4. Grave nomes em snake_case, sem duplicatas ## Calculo Aplique `references/sizing-formula.md` v2: ``` base_complexity_class by tasks.total: 0 a 3 -> S 4 a 7 -> M 8 a 15 -> L 16 a 30 -> XL 31+ -> XXL unclassified_doubts = max(0, doubts.total - doubts.high - doubts.medium - doubts.low) risk_points = doubts.high * 2 + doubts.medium * 1 + unclassified_doubts * 1 + max(0, plan_depth - 3) + floor(len(principles_touched) / 3) risk_adjustment_classes: 0 a 2 -> 0 3 a 5 -> 1 6+ -> 2 complexity_class = min("XXL", base_complexity_class + risk_adjustment_classes) size_score: S=15, M=35, L=60, XL=80, XXL=95 ``` `size_score` e apenas auxiliar. Nao diga que ele tem precisao percentual. ## Notes Gere `notes` com explicacao curta: - S: "Feature pequena, baixa complexidade estrutural." - M: "Feature media, complexidade moderada." - L: "Feature grande, complexidade consideravel." - XL: "Feature muito grande, complexidade alta. Considere quebrar em sub-features." - XXL: "Feature gigante, complexidade extrema. Recomendo dividir antes de seguir." Adicione quando aplicavel: - risco por duvidas altas - classe subiu por risco - muitos requisitos para poucas tasks ## Persistencia Grave `size.json` com schema v1.1: ``` schema_version = "1.1" formula_version = "2.0" created_at feature_dir metrics sizing_method = "task_tshirt_with_risk_adjustment" base_complexity_class risk_points risk_adjustment_classes size_score complexity_class notes ``` Gere `size.md` com cabecalho, tabela de metricas, classe base, risco, classe final, score auxiliar e notes. ## Apresentacao no chat Mostre: ``` Dimensionando feature: <feature-dir-relativa> | Metrica | Valor | |---|---| | Tasks | <tasks.total> | | Classe base | <base_complexity_class> | | Pontos de risco | <risk_points> | | Ajuste de risco | +<risk_adjustment_classes> classe(s) | | Classe final | <complexity_class> | | Score auxiliar | <size_score>/100 | ``` ## Relatorio final 1. Caminho absoluto de `size.json`, se gravado 2. Caminho absoluto de `size.md`, se gravado 3. Caminho do `.bak`, se houve recalculo 4. Proximo passo: - se profile existe, sugerir `/reversa-pricing-estimate` - se profile nao existe, sugerir `/reversa-pricing-profile` Termine com: > Digite **CONTINUAR** para prosseguir conforme a sugestao acima.
Ver en GitHub