O que painel-de-revisão-de-artigo faz?
Versão: 1.0
Produz até três arquivos de revisão ao lado de um rascunho de post técnico, cada um escrito por uma persona especialista diferente: um especialista de domínio (precisão das afirmações técnicas), um editor (estrutura, clareza, público, adequação à plataforma) e um estatístico (se os dados suportam as conclusões). Cada arquivo usa a mesma estrutura Bom / Errado / Precisa de mais explicação para que o autor possa agir. A fonte da verdade são os dados brutos, scripts e anotações na pasta do rascunho, nunca o resumo do próprio rascunho.
Regras críticas (leia primeiro)
- Leia a pasta inteira antes de escrever uma palavra. O rascunho, suas anotações, rascunhos de primeiro comentário, posts irmãos, scripts de benchmark e arquivos de resultados brutos. Uma revisão que lê apenas o rascunho não consegue pegar um rascunho que cita incorretamente seus dados.
- Verifique cada número que o rascunho afirma. Recalcule a partir dos dados brutos ou marque como não verificado. Cite o arquivo e o valor:
results_gc.json: 173 → 166 MB. - "Errado" significa errado, não uma preferência de estilo. Uma afirmação sem evidência na pasta, um número que contradiz os dados, uma conclusão que a análise não suporta, ou uma frase que a plataforma renderizará quebrada. Gosto vai para "Precisa de mais explicação".
- Cada item "Errado" traz uma correção concreta: redação substituta, o comando que testaria a afirmação, ou o corte.
- Cada lente fica na sua própria área. Faça referência cruzada aos outros arquivos ("a precisão técnica está em
REVIEW-…-JVM.md") em vez de repetir suas descobertas. - Lente de estatística: analise, não olhe. Execute
scripts/paired_stats.pynos dados brutos. Nunca conclua "ruído" ou "sem efeito" sem um IC e uma figura de efeito mínimo detectável. - Respeite o orçamento de tamanho. Conte os caracteres do rascunho em relação ao limite da plataforma (LinkedIn: 3.000) e diga o que cada adição deve custar.
- Sinalize confidencialidade. Nomes internos, IDs de tickets, hosts, clientes ou figuras de produção: diga que precisam de aprovação de Comunicação/Jurídico. Nunca coloque dados restritos (membro, sinistros, saúde, credenciais) em uma revisão ou pesquisa.
Tabela de leitura prévia
| Fonte | Caminho | O que extrair |
|---|---|---|
| O rascunho | o arquivo que o usuário nomeia | Toda afirmação factual, todo número, todo comando, o gancho (primeiros ~210 caracteres), o CTA, contagem de caracteres |
| Anotações do autor | *.md irmãos (anotações de dados, primeiro comentário, posts irmãos) | As próprias ressalvas e correções do autor que o rascunho ignorou; texto repetido entre posts irmãos |
| Scripts de benchmark | *.py, *.sh, Dockerfiles na pasta | Ordem de execução (aleatorizada? em blocos?), o que cada métrica realmente mede e quando é amostrada |
| Resultados brutos | *.json, *.csv, *.log | Os números para recalcular; tamanho do bloco para pareamento |
| Guia da lente de domínio | references/domain-lens.md | A lista de verificação de domínio; a seção JVM é o domínio trabalhado |
| Guia da lente editorial | references/editorial-lens.md | Regras da plataforma (markdown do LinkedIn, dobra, limite) e a lista de verificação de estrutura |
| Guia da lente de estatística | references/statistics-lens.md | A receita de análise e as bandeiras metodológicas padrão |
| Lições passadas | ~/.claude/skill-memory/article-review-panel.md (crie se não existir) | Feedback de execuções anteriores; aplique antes de redigir |
Fluxo de trabalho
Fase 1. Inventário
Liste a pasta. Leia o rascunho e todos os arquivos de anotação, script e resultado. Conte os caracteres do rascunho. Construa uma lista de afirmações: cada número e cada asserção factual, com sua linha.
Fase 2. Escolher lentes
Padrão para todas as três. Execute apenas a lente que o usuário nomear ("aja como um estatístico"). Para a lente de domínio, pegue o campo do usuário ("JVM", "Kubernetes", "Postgres") ou infira do rascunho e diga qual você escolheu.
Fase 3. Verificar
Recalcule cada afirmação a partir dos dados brutos. Para benchmarks, execute:
python3 ${CLAUDE_SKILL_DIR}/scripts/paired_stats.py --file <results.json> --list
python3 ${CLAUDE_SKILL_DIR}/scripts/paired_stats.py --file <results.json> \
--block-size <variantes por rodada> --pair <A>:<B> [--pair ...] --metrics <m1,m2>
Pesquise na pasta por evidência de cada afirmação qualitativa ("não inicia", "ignorado silenciosamente"). Sem evidência significa "Errado: não testado", com o comando de teste.
Fase 4. Escrever um arquivo por lente
Escreva na pasta do rascunho, nomeado REVIEW-<STEM-DO-RASCUNHO>-<LENTE>.md com LENTE em JVM/<DOMÍNIO>, EDITORIAL, STATISTICS. Siga o formato de saída abaixo e o guia da lente em references/.
Fase 5. Avaliar e relatar
Execute evals.md através de um subagente avaliador com contexto limpo (dê a ele apenas evals.md, o rascunho e os arquivos de revisão). Corrija cada falha e reavalie. Em seguida, relate ao usuário: uma linha por lente com o principal item "Errado" e os caminhos. Adicione qualquer nova lição que o usuário der a ~/.claude/skill-memory/article-review-panel.md (mais nova primeiro; crie se não existir).
Formato de saída
# Revisão de <arquivo do rascunho>: <nome da lente>
Visão do revisor: <persona>. <O que foi verificado contra o quê.>
## Veredito
<2–4 frases: publicável ou não, o ponto mais forte, a contagem de correções obrigatórias.>
## Bom
- **<Afirmação em negrito>.** <Evidência, com arquivo e número.>
## Errado: <deve corrigir antes de publicar | as conclusões não decorrem dos dados>
### 1. <Declaração do defeito em uma linha>
<O que o rascunho diz, o que os dados dizem, por que isso importa.>
Sugestão de correção: <redação, comando ou corte.>
## Precisa de mais explicação
### N. <Tópico>
<O que está faltando e uma linha sugerida.>
## Pontos menores
- **<Rótulo>:** <uma ou duas frases>.
O arquivo de estatística adiciona uma seção Como a análise foi feita após o cabeçalho, e uma lista Reexecuções recomendadas no final.
Exemplo prático
Entrada:
aja como um engenheiro JVM experiente e revise POST-1-DEFAULT-CDS-EN.md em ~/aot-exploration/linkedin-cds, depois um editor, depois um estatístico
Passos que Claude toma:
- Lê o post,
DADOS-POST.md, o rascunho do primeiro comentário, post 2,bench*.pyeresults*.json. Conta 2.623 de 3.000 caracteres. - Lente de domínio: confirma que ZGC mapeia
classes_nocoops.jsa; não encontra nenhum arquivo mencionandoAOTCache, então a afirmação "JVM nem inicializa" é sinalizada como Errada com um comando de teste. - Lente editorial: o gancho de 87 caracteres cabe acima da dobra; quatro comandos com crase serão renderizados literalmente no LinkedIn (Errado).
- Lente de estatística: vê
random.shuffle(order)dentro do loop da rodada, então executapaired_stats.py --block-size 12. O deslocamento agrupado é −2,1% [−3,2%, −1,5%], então "isso é ruído" está Errado. O "+2%" veio da comparação de medianas não pareadas. - Escreve três arquivos
REVIEW-POST-1-*.md, avalia comevals.md, relata.
Saída (arquivo de estatística, excerto):
### 1. "Tempo de inicialização: −4% a +2%. Isso é ruído." não é o que os dados dizem
| Configuração | Deslocamento pareado | IC 95% | Mais rápido com CDS | p exato |
|---|---|---|---|---|
| Serial | −69 ms | [−104, −49] | **10/10** | **0,002** |
| **Agrupado, 50 pares** | **−2,1%** | **[−3,2%, −1,5%]** | **39/50** | n/a |
A conclusão correta é "um efeito real, mas pequeno: cerca de 2%, ou 20–70 ms",
não "ruído".
A saída completa dos três arquivos desta execução está resumida em references/examples.md.
Arquivos de referência
references/domain-lens.md: lista de verificação do especialista de domínio; domínio trabalhado JVM/CDS/AOT.references/editorial-lens.md: lista de verificação do editor e regras da plataforma LinkedIn.references/statistics-lens.md: receita de análise e bandeiras metodológicas padrão.references/examples.md: a execução do post CDS, descoberta por descoberta.evals.md: verificações de aprovado/reprovado. Execute através de um avaliador com contexto limpo antes de entregar.~/.claude/skill-memory/article-review-panel.md: registro de lições, mais novo primeiro, privado desta máquina (vejamemory.md). Leia antes de redigir.
Scripts
scripts/paired_stats.py: análise A/B pareada apenas com stdlib (Wilcoxon exato, inversão de sinal, Hodges-Lehmann, IC bootstrap, MDE, deslocamento agrupado, verificações de deriva e ordem).--listmostra variantes e métricas;--self-testexecuta 8 verificações.
Quando NÃO usar esta skill
- Revisar código, uma branch ou um PR. Use diegourban:gh-pr-review, diegourban:branch-review ou /code-review.
- Verificar como uma base de código realmente se comporta. Use diegourban:fact-checker.
- Escrever ou reescrever o post em si. Tenha uma conversa direta; esta skill apenas revisa.
- Um deck ou slides. Revise o conteúdo com esta skill apenas se o usuário pedir; construa com create-slide-deck.