CommunityPesquisa e Análise de Dadosgithub.com

lybxkl/empirical-research-pipeline

Transform any research material (PDF, Word, Excel, CSV, text, web pages, interview transcripts, images, database exports, etc.) into auditable datasets, statistical models, SPSS-style charts, and publishable manuscripts: first audit for completeness, deduplication, and field quality, then code or extract per codebook, generate CSV/SAV, run descriptive statistics and regressions, produce 600 dpi publication-grade charts, and finally assemble Word/PDF with numerical consistency checks. Use this skill whenever the user mentions data organization, text coding, survey/interview analysis, data cleaning, SPSS/Logistic/OLS, empirical paper charts, submission formatting, or appending new materials to existing data.

O que é empirical-research-pipeline?

Este skill é um pipeline completo de pesquisa empírica que transforma qualquer tipo de material de pesquisa (PDF, Word, Excel, CSV, texto, páginas web, transcrições de entrevistas, imagens, exportações de banco de dados) em conjuntos de dados auditáveis, modelos estatísticos, gráficos estilo SPSS e manuscritos prontos para submissão. Ele funciona em qualquer disciplina, idioma ou formato de arquivo, não se limitando a documentos legais – questionários, entrevistas, notícias, artigos de políticas públicas, registros experimentais e dados abertos são igualmente suportados. O skill impõe seis regras rígidas: auditar antes de codificar/modelar, deduplicar por conteúdo e não por nome de arquivo, manter uma linha = uma unidade de análise, exigir evidência para cada valor codificado, relatar N separadamente para cada modelo e evitar linguagem causal. O fluxo de trabalho é dividido em oito estágios (0 a 7), cada um com um 'portão' que deve ser aprovado antes de prosseguir: escopo e pergunta, auditoria de materiais/dados, protocolo de codificação/extração, conjunto de dados, análise estatística, gráficos de nível de publicação, montagem do manuscrito e verificação final. O skill fornece scripts Python prontos para auditoria, deduplicação, criação de planilhas de codificação, estatísticas automáticas, geração de pacotes de gráficos (cerca de 40-55 gráficos), exportação de PDF de alta resolução e verificação de qualidade. Ele também inclui modelos e referências detalhadas para cada estágio, garantindo que todo número no manuscrito, tabela e gráfico seja consistente e rastreável até a fonte original. É ideal para pesquisadores que precisam de um fluxo rigoroso, transparente e reproduzível para análise de dados empíricos, desde a coleta até a publicação.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lybxkl/SPSS-Style-Charting-Skill/tree/HEAD/empirical-research-pipeline

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Pipeline de Dados de Pesquisa Empírica

Transforme "um monte de materiais bagunçados" em "um fluxo de amostragem verificável + dados de codificação/campos rastreáveis + modelos reproduzíveis + gráficos e manuscritos prontos para submissão". Este skill não se limita a uma disciplina, idioma ou formato de arquivo; documentos legais são apenas um exemplo de "codificação de texto". Questionários, entrevistas, notícias, documentos de políticas, registros experimentais, dados abertos, páginas web e exportações de banco de dados são igualmente aplicáveis.

Os números, nomes de arquivos, caminhos e valores de variáveis de exemplo neste repositório/pacote são placeholders fictícios e não contêm nenhum material real, dados de codificação, dados SPSS ou manuscritos concluídos.

Quando usar

  • O usuário fornece uma pasta contendo PDFs, Word, Excel, CSV, texto, páginas web, transcrições de entrevistas, imagens ou scans e solicita organização, codificação, estatísticas, criação de gráficos ou redação de um artigo.
  • Já existem dados CSV/SPSS que precisam ser limpos, mesclados, complementados com novos materiais, ter o escopo da amostra corrigido ou os modelos reexecutados.
  • Questionários, entrevistas, experimentos, observações, dados públicos, etc., exigem estatísticas descritivas, comparações entre grupos, regressão, heterogeneidade, robustez ou avaliação preditiva.
  • É necessário compilar a parte empírica em Word/PDF, com total consistência numérica entre gráficos, tabelas e texto do manuscrito.
  • O usuário diz "preciso fazer o mesmo com materiais semelhantes" e deseja reutilizar o mesmo fluxo.

Tipos de material e limites de processamento

MaterialProcessamento nativoDescrição
PDFCamada de texto, número de páginas, contagem de caracteres, número de imagens, status de criptografiaScans devem primeiro passar por OCR; PDFs baseados em imagem serão marcados como image_only
DOCX / ODT / PPTXParágrafos, tabelas, texto de slidesFormatos antigos .doc/.ppt devem ser convertidos primeiro
XLSX / XLSMPlanilhas, texto de células; aberto somente leitura.xls deve ser convertido primeiro; recomenda-se instalar openpyxl
CSV / TSV / JSON / JSONLCampos, número de linhas, codificação, valores ausentes; auditoria de qualidade de dados tabularesPlanilhas de codificação ignorarão tabelas e seguirão diretamente para auto_stats
TXT / MD / HTML / XML / YAML / RTFExtração de texto puro; HTML sem tagsConteúdo de página web pode ser usado; scripts/estilos serão removidos
Imagens (PNG/JPG/TIFF, etc.)Listagem de arquivos; dimensões/páginasPrimeiro OCR, depois codificação; este skill não inclui OCR próprio
Áudio/VídeoListagem de arquivosPrimeiro transcrição/extração de quadros, depois codificação; este skill não inclui ASR próprio
Arquivos compactadosListagem de arquivosPrimeiro descompactar; a auditoria marcará como unsupported
Formatos desconhecidos/proprietáriosListagem de arquivosPrimeiro converter ou exportar para um dos formatos acima

"Qualquer material" não significa "qualquer binário pode ser interpretado diretamente". Este skill primeiro incluirá todos os arquivos na auditoria e reconciliação de amostras; formatos que não podem ser lidos diretamente serão claramente marcados com um caminho de conversão, sem serem silenciosamente omitidos.

Seis regras rígidas

  1. Audite primeiro, depois codifique/modelize. Sem saber o número de arquivos, o número de textos legíveis, o número de duplicatas, a falta de campos e os motivos de exclusão, não comece as estatísticas.
  2. Deduplicação por conteúdo, não por nome de arquivo. Diferentes conteúdos com o mesmo nome e o mesmo conteúdo com nomes diferentes são comuns; use pelo menos MD5 e, em seguida, verifique por amostragem com base em título/campos-chave/corpo do texto.
  3. Uma linha = uma unidade de análise. Documentos, entrevistados, casos, instituições, região-ano ou respostas de questionário devem ser fixados no início do projeto; se houver mistura de unidades, indique na seção de limitações.
  4. Cada valor codificado/extraído deve ter evidência. Se o texto original não menciona, registre NA/Não mencionado, não registre 0 por padrão; negação, sugestões de terceiros ou paráfrases não podem ser tomadas como fatos finais.
  5. Descreva N da amostra ≠ N da amostra do modelo. Cada modelo deve reportar seu próprio N e condições de filtragem; texto, tabela, gráfico e resumo devem usar o mesmo escopo.
  6. Associação ≠ causalidade. Escreva "associação/correspondência/mais provável", não "causa/leva a/prova ser eficaz".

Visão geral do fluxo

0 Escopo e Pergunta → 1 Auditoria de Material/Dados → 2 Protocolo de Codificação ou Extração → 3 Conjunto de Dados
                                      ↓
                         7 Verificação Final ← 6 Montagem do Manuscrito ← 5 Gráficos de Nível de Publicação ← 4 Análise Estatística

Cada estágio tem um "portão". Se o portão não for aprovado, não avance para o próximo estágio.


Estágio 0: Escopo e pergunta

Primeiro, escreva uma página scope.md contendo pelo menos:

  • Pergunta de pesquisa, mecanismo teórico, contribuição esperada.
  • Tipos e fontes de material: banco de dados, string de busca/quadro de amostragem, intervalo de tempo, idioma, região.
  • Unidade de análise: um documento/um entrevistado/um caso/uma instituição/um questionário.
  • Critérios de inclusão/exclusão: tempo, tipo, idioma, número de palavras, duplicatas, ilegíveis, campos-chave ausentes.
  • Lista de variáveis esperadas e suas funções: variável dependente, variável independente principal, variável de mecanismo/moderação, variáveis de controle.
  • Forma dos dados: texto, tabela, misto; necessidade de codificação manual, escalas de questionário, grupos experimentais ou dados secundários.

Portão: Ser capaz de descrever em uma frase quantos materiais se perdem em cada etapa de "material original → material legível → amostra dentro do escopo → amostra de análise" e por quê.


Estágio 1: Auditoria de material e dados (deve ser executada primeiro)

1A Auditoria em nível de arquivo

Execute scripts/audit_corpus.py:

python scripts/audit_corpus.py --root "diretório de materiais" --out-dir "output/audit" --min-chars 100

Por padrão, ele verifica todos os tipos suportados sem precisar especificar --ext individualmente; use --list-ext para ver a lista completa. Ele gera:

ArquivoPropósito
corpus_audit.csvPara cada arquivo: extensão, tipo, bytes, páginas/tabelas, caracteres, imagens, MD5, status, erro
corpus_summary.jsonResumo legível por máquina
corpus_duplicates.csvGrupos de duplicatas, sugestões de manter/remover
corpus_report.mdRelatório em chinês pronto para ser colado no log do projeto

Máquina de estados (cada arquivo deve cair em uma categoria):

StatusSignificadoEntra na análise?
validPode ser aberto, tem texto/dados suficientesSim
metadataArquivos de sistema como ._*, .DS_StoreNão
hiddenArquivos/diretórios ocultosNão, a menos que o usuário confirme
unsupportedFormato desconhecido, arquivo compactado, Office antigo, falta analisadorNão, converter/descompactar primeiro
quarantinedLocalizado em diretórios de salto como _duplicatesNão, cópia já isolada
zero_byte0 byteNão
corruptNão pode ser aberto, arquivo corrompidoNão
encryptedProtegido por senha/restrições de acessoNão, a menos que seja possível descriptografar
textlessTem páginas/células, mas texto insuficienteNão, verificar se é arquivo vazio ou precisa de reexportação
image_onlyImagem/scan, sem camada de textoPode ser usado após OCR
mediaÁudio/vídeoTranscrição/extração de quadros primeiro

Duplicação não é um status independente: arquivos de mesmo conteúdo ainda são valid, mas marcados com dup_group/dup_role como keeper/duplicate; o relatório unique_valid_files já deduz as cópias.

Itens que devem ser tratados um a um:

  • ._*, .DS_Store: metadados do macOS, não são materiais de pesquisa; conte como "arquivos não-materiais", não na amostra. ._* legíveis serão anotados na coluna de erro e precisam de confirmação manual.
  • Arquivos/diretórios ocultos: marque como hidden; extensões não na lista de suporte: unsupported; diretórios de salto como _duplicates: quarantined. Nenhum deles entra na amostra, mas devem aparecer no total e no relatório.
  • 0 byte, ilegível, criptografado, texto insuficiente: registre como zero_byte/corrupt/encrypted/textless; PDFs baseados em imagem: image_only.
  • Distribuição de nível superior/ano: conte apenas amostras únicas (valid e não cópias); não inclua metadados, arquivos corrompidos ou cópias duplicadas na estrutura da amostra.
  • Cópias duplicadas: agrupe por MD5; mantenha uma cópia que tenha "nome com identificador/ano, caminho mais curto, texto completo" e mova as demais para _duplicates/, não delete diretamente.
  • Nomes de arquivo truncados, pontos finais, caminhos muito longos: comuns no Windows; use Python para ler e registre no relatório, não conte manualmente com o explorador de arquivos.
  • Mesmo nome com conteúdo diferente, mesmo texto com metadados/configurações de exportação diferentes (MD5 diferente): deve ser verificado manualmente por amostragem com base em título/campos-chave/corpo do texto, não apenas por MD5 para deduplicação automática.

Em seguida, execute scripts/dedupe_corpus.py para gerar o plano de deduplicação:

python scripts/dedupe_corpus.py --audit "output/audit/corpus_audit.csv" --root "diretório de materiais" --out-dir "output/audit" --apply

Portão: sample_flow.md deve ser reconciliável:

Número de arquivos originais (incluindo arquivos .DS_Store/sem extensão)
- Arquivos de metadados/ocultos
- Não suportados/precisam de conversão (unsupported)
- Diretórios de salto como _duplicates (quarantined)
- 0 byte/corrompidos/criptografados/texto insuficiente
= Número de materiais legíveis
- Fora do escopo (tempo/tipo/idioma)
= Número de materiais válidos
- Cópias duplicadas
= Número de amostras únicas (por unique_valid_files)
- Variáveis-chave ausentes/não podem ser codificadas
= Número de amostras de análise

Cada modelo também deve ter seu próprio N; não use um único N para todos.

1B Auditoria de qualidade de dados tabulares

Se o material em si são dados CSV/Excel/SPSS, primeiro faça uma verificação no nível do campo antes de codificar/modelizar:

  • Número de linhas, colunas, tipo de cada coluna (numérico/categórico/texto/data), taxa de valores ausentes, número de valores únicos.
  • Se a chave primária/ID é única; linhas duplicadas; múltiplos registros para a mesma unidade.
  • Se os valores de variáveis categóricas têm ortografia inconsistente ("Sim/Não/1/0/TRUE" misturados); intervalo de datas.
  • Intervalo de variáveis contínuas, outliers, truncamento no P99, necessidade de transformação log.
  • Questões reversas de escalas de questionário, divisão de múltipla escolha, consistência de unidades.
  • Codificação (UTF-8-SIG/GB18030), separador decimal, validade de nomes de variáveis SPSS.

csv_to_spss_syntax.py limpará nomes de variáveis inválidos/duplicados e gerará .sps; auto_stats.py fornecerá estatísticas descritivas, testes entre grupos e correlações para detectar problemas nos dados, mas não substitui modelos formais.

Portão: Ser capaz de explicar a fonte, tipo, tratamento de valores ausentes, tratamento de outliers e em qual modelo final cada coluna entra.


Estágio 2: Protocolo de codificação/extração

2.1 Codificação de texto

  1. Primeiro, escreva uma instância de assets/codebook-template.md: cada variável deve ter definição, valores, regra de julgamento, localização da evidência, exemplo positivo, exemplo negativo, regra para valores ausentes.
  2. Use scripts/make_coding_sheet.py para extrair o texto completo e sentenças de evidência candidatas, gerando uma planilha de codificação; ele fornece apenas fragmentos de evidência, não faz o julgamento final.
    • Padrão --profile generic: adequado para entrevistas, notícias, documentos de políticas, relatórios, páginas web, atas de reuniões e qualquer outro material textual.
    • --profile legal: extrai adicionalmente tribunal, número do caso, província, causa candidata; use apenas ao processar documentos judiciais chineses.
    • Tabelas CSV/TSV/JSON/XLSX serão ignoradas com instrução para seguir o fluxo estatístico; imagens/áudio/vídeo serão instruídos para OCR/transcrição primeiro.
  3. Durante a codificação manual/LLM, cada registro deve pelo menos salvar a sentença de evidência *_ev; codificação sem sentença de evidência é considerada incompleta.
  4. Amostra 10%–15% dos materiais para codificação dupla/duas rodadas, relatando a taxa de concordância ou Cohen's κ; divergências primeiro decididas, depois o codebook é ajustado.
  5. Congele o codebook antes da codificação em larga escala; alterações posteriores devem registrar versão e escopo de impacto.

2.2 Questionário/Escala/Extração estruturada

  • Primeiro, crie um dicionário de variáveis em nível de item: número da questão, enunciado, valores, questões reversas, códigos de valores ausentes.
  • Questões de múltipla escolha/ordenação: divida em 0/1 ou múltiplas colunas; pontuação total da escala: verifique confiabilidade (α/ω) e dimensionalidade primeiro.
  • Questões abertas: primeiro codifique por tema, depois transforme em variáveis de contagem/categoria; não trate frequência de palavras como tema diretamente.
  • As colunas de chave primária, unidade e campo de tempo de dados tabulares devem ser rastreáveis até o arquivo original.

Portão: Amostre 10 registros aleatoriamente e seja capaz de rastrear completamente de "valor codificado → sentença de evidência/campo original → texto original/linha original"; caso contrário, volte à planilha de codificação para ajustar as regras.

Consulte references/02-coding-protocol.md.


Estágio 3: Conjuntos de dados

Conjunto recomendado de três arquivos:

  • data/coded.jsonl: detalhes de codificação por material + fragmentos de evidência, para rastreabilidade.
  • data/analysis.csv: tabela larga para análise, uma linha por unidade de análise.
  • data/analysis.sav: abre diretamente no SPSS, com rótulos de variável/rótulos de valor.

Colunas de marcação obrigatórias:

ColunaSignificado
in_scopeSe pertence ao escopo da pesquisa (tempo, tipo, região, idioma)
in_analysisSe entra na estatística descritiva (exclui não codificável/ausência crítica)
model1_sample, etc.Marcador de amostra separado para cada modelo; não use in_analysis como substituto
dup_groupID do grupo de duplicatas; a cópia mantida é 0, as cópias são 1
exclusion_reasonMotivo da exclusão, para facilitar a escrita do fluxo da amostra

Use scripts/csv_to_spss_syntax.py para gerar .sps, evitando erros de tipo de coluna ao escrever GET DATA manualmente. Se houver texto binário como "Sim/Não", "Tem/Não tem", "Apoiar/Não apoiar" no CSV, o script adicionará automaticamente RECODE ... ('Sim'=1) ('Não'=0) INTO *_num; Logística usará diretamente as colunas numéricas; adicione --no-recode se não for necessário.

Portão: O número de linhas no CSV, o número de linhas no JSONL, o número de linhas no SAV e o número de amostras únicas em sample_flow.md devem coincidir; o N de cada modelo pode ser recalculado a partir das condições de filtragem.


Estágio 4: Análise estatística e extensão

Primeiro, escreva o plano de análise, depois examine os resultados. Por padrão, execute uma combinação de "análise principal + descritiva + bivariada + multivariada + diagnóstico + heterogeneidade + robustez", não apenas um modelo principal.

Primeiro, use o script de verificação automática para executar estatísticas descritivas, testes entre grupos, correlações e modelos univariados:

python scripts/auto_stats.py --data data/analysis.csv --config assets/chart_config.example.json --out output/analysis_pack

Ele gera descriptives.csv, group_tests.csv, binary_rates.csv, correlations.csv, univariate_models.csv, univariate_skipped.csv e analysis_pack.md, usados para identificar variáveis que valem a pena modelar ainda mais; o modelo final ainda deve ser estimado de acordo com as especificações pré-registradas em SPSS/R/Stata, não use o p-valor da verificação automática para selecionar variáveis.

O script identifica automaticamente o tipo de variável de resultado:

  • 0/1 → resultado binário (Logistic/OR).
  • Numérico contínuo → resultado contínuo (OLS/média+IC), comparação entre grupos com Kruskal–Wallis para multicategóricas.
  • Multicategórico → resultado categórico, comparação entre grupos com qui-quadrado/Cramér’s V; variáveis independentes multicategóricas entrarão em OLS/Logit univariado como dummies, reportadas como variável_nível.
  • O resultado multicategórico em si não é submetido a Logit binário; o modelo principal deve usar Logit multinomial ou combinar categorias primeiro.
  • Rótulos de texto comuns como "Sim/Não", "Tem/Não tem", "Apoiar/Não apoiar" são automaticamente mapeados para 0/1; outros textos binários devem usar o item de configuração outcome_map para especificar a classe positiva.
  • Modelos univariados com separação completa ou estimativa instável são gravados em univariate_skipped.csv, sem produzir OR enormes falsos.
  • Colunas de resultado completamente ausentes, 0 linhas após filtragem, filter_query com erro de digitação: saída com erro imediatamente.

Mínimo a incluir:

  • Estatística descritiva: N, proporção/média, taxa de resultado, IC 95% Wilson para cada grupo.
  • Modelo principal: Logística binária / OLS / Logit multinomial, especifique a variável dependente, categoria de referência, variável independente principal, variáveis de controle.
  • Modelo de mecanismo/moderação: termo de interação, inclinação simples ou valores preditos por grupo.
  • Robustez: substituir variável dependente, substituir amostra, adicionar/remover variáveis de controle, antes/depois da deduplicação.
  • Diagnóstico: multicolinearidade, separação completa, células com amostra insuficiente, calibração/discriminação.
  • Heterogeneidade: por categoria/por região/por ano/por grupo.
  • Explorações possíveis: PCA, análise de correspondência, cluster, ROC/predição/calibração; marque como "exploratório".

A tabela do relatório deve incluir pelo menos: coeficiente/OR, IC95%, p, N, indicadores de ajuste, descrição da categoria de referência. Cada modelo com N em linha separada.

Registre as análises feitas e ignoradas em analysis_manifest.md (modelo em references/08-analysis-expansion.md), não relate apenas resultados significativos.

Modelos de sintaxe SPSS e normas de interpretação em references/03-analysis-spss.md; lista de análises de extensão em references/08-analysis-expansion.md.

Portão: Qualquer OR/β deve ser rastreável em três etapas: analysis.sps → arquivo de saída → tabela; analysis_manifest.md deve explicar por que cada análise foi feita ou não e qual o tamanho da amostra; o texto do manuscrito não deve transformar "o texto menciona uma situação" em "a situação realmente ocorreu" com conclusões causais.


Estágio 5: Gráficos de nível de publicação (padrão: pacote completo, não apenas 8 gráficos)

Primeiro, execute scripts/auto_chart_pack.py para gerar um pacote de gráficos completo e, em seguida, selecione os gráficos principais para o texto, os gráficos do apêndice e os gráficos adicionais que precisam ser desenhados:

python scripts/auto_chart_pack.py \
  --data data/analysis.csv \
  --config assets/chart_config.example.json \
  --out output/chart_pack --tiff

Não é necessário modificar o script para resultados contínuos/multicategóricos: o tipo de resultado automaticamente alterna para gráficos de "distribuição do resultado + média/proporção por grupo"; resultados de texto também podem usar outcome_map para especificar a codificação. --coef suporta colunas metric (OR/HR/RR/beta) e n, e o forest plot escreverá N com base no tamanho da amostra do modelo; --pred suporta rótulos 0/1 ou "Sim/Não", e predição constante/única categoria pulará ROC/PR/calibração com explicação. term_labels pode mapear nomes de itens de modelo como lv3 para chinês. Gráfico de halteres de proporção dupla requer duas colunas 0/1 especificadas com dumbbell no config. Se houver colunas de tempo de acompanhamento e evento, use --survival-time, --survival-event (pode adicionar --survival-group) para gerar curvas Kaplan–Meier.

Padrão: cobre 7 grupos, normalmente cerca de 40–55 gráficos: binário: cerca de 44, com entrada de modelo: cerca de 51; contínuo: cerca de 42, multicategórico: cerca de 41. O número pode variar com base no tipo de coluna, valores ausentes e itens ignorados; o número real está em chart_manifest.csv.

  • A Qualidade dos dados: taxa de valores ausentes, distribuição de amostra por classe/ano/região, taxa de incidência de variáveis binárias.
  • B Univariado: distribuição do resultado (binário/contínuo/multicategórico tratados separadamente, resultado contínuo com Q-Q), composição do tratamento (barras + anel), distribuição numérica, composição categórica.
  • C Bivariado: categoria × resultado, estágio × resultado, mapa de calor/empilhado de categoria × estágio, diferenças por região/nível de julgamento, mapa de calor de correlação, scatter com ajuste, gráfico de bolhas; resultado contínuo com média+IC95%, resultado multicategórico com gráfico de empilhamento de composição intra-grupo.
  • D Multivariado: violino/caixa, matriz de scatter, gráfico de halteres, PCA scree/biplot/mapa de calor de loadings, dendrograma de cluster Ward, MDS clássico.
  • E Tempo: tendência de taxa/média de resultado, gráfico de controle 3σ, tamanho da amostra, barras/área empilhadas de composição por estágio; resultado multicategórico adiciona tendência de composição por categoria de resultado.
  • F Diagnóstico do modelo: forest plot, ROC, calibração, distribuição de preditos, matriz de confusão, curva PR, Lift por decis (requer --coef/--pred); Kaplan–Meier (requer colunas de acompanhamento).
  • G Apêndice: análise de correspondência, Pareto.

Estratégia de criação de gráficos:

  • Cada descoberta principal: pelo menos 2 gráficos: gráfico de resultado principal + gráfico de robustez/diagnóstico/heterogeneidade.
  • Texto principal: 7–10 gráficos, apêndice: 20–50 gráficos; sem limite máximo para o número de gráficos.
  • Cada gráfico: primeiro escreva "que pergunta responde"; se não houver pergunta, não desenhe.
  • Use references/07-chart-atlas.md para seleção de tipo, cobrindo gráficos avançados comuns do SPSS: barras agrupadas/empilhadas/100% empilhadas, linha/área, histograma, caixa/violino, barras de erro, scatter/bolhas, matriz de scatter, Pareto, ROC, calibração, Kaplan-Meier (com dados de sobrevivência), scree, loadings fatoriais, dendrograma de cluster, análise de correspondência, MDS, gráfico de controle, etc.
  • Cada gráfico: registre em chart_manifest.csv: número do gráfico, pergunta, tipo, variáveis, N, legenda, caminho do arquivo.
  • Semântica de cores: unificada em todo o manuscrito; mesmo estágio/mesma categoria usa a mesma cor em todos os gráficos.
  • Legenda: escreva N, fonte dos dados, configuração do modelo, categoria de referência; gráficos exploratórios (PCA/CA/cluster) indique "exploratório" na legenda.

Use scripts/pubfig.py para estilo unificado:

from pubfig import set_style, save_fig, wilson_ci, forest_plot
set_style()  # 15 cm de largura, Song/Times New Roman, 600 dpi

Pontos de estilo:

  • Largura física 15 cm (A4 texto principal 15.4 cm), tamanho da fonte 7.2–8.5 pt.
  • Fonte chinesa Song, fonte ocidental Times New Roman; PDF incorpora fontes (Type 42).
  • Gráfico sem título; título e legenda do gráfico vão no Word.
  • Saída simultânea PNG 600 dpi, PDF vetorial, TIFF LZW (--tiff).
  • Barras de erro: IC 95%; forest plot: ponto sólido = significativo, ponto vazio = não significativo.
  • Variáveis contínuas assimétricas: use log10 ou truncamento no P99, e indique no rótulo do eixo/legenda.

Portão: Cada gráfico em chart_manifest.csv tem pergunta, N, legenda, arquivo; gráfico principal do texto e gráfico do apêndice não se repetem; largura da imagem embutida no PDF ≥ 3000 px (cerca de 600 dpi para 15 cm de largura); legenda, gráfico e referência no texto completos.

Consulte references/04-figures-publication.md e references/07-chart-atlas.md.


Estágio 6: Montagem do manuscrito

Requisitos de formatação do Word:

  • Figura, título da figura e legenda da figura: configurados como "manter com o próximo parágrafo" para evitar quebra de página entre eles.
  • Linhas de tabela: proibido quebrar entre páginas; repetir cabeçalho em páginas seguintes.
  • Legenda da tabela: abaixo da figura/tabela; primeiro o N, depois a regra de significância.
  • Primeira referência a figura/tabela no texto: número consistente com o arquivo (Figura 1, Tabela 1, Figura Suplementar 1).
  • N e percentuais do resumo, texto, tabela, gráfico, apêndice: todos da mesma fonte; o N de chart_manifest.csv é reescrito na legenda do gráfico.

Ao exportar Word para PDF, o Word comprime imagens de 600 dpi para cerca de 200 dpi. Use scripts/export_pdf_hires.py para exportar e reembutir as imagens originais:

python scripts/export_pdf_hires.py --docx "manuscript.docx" --out-pdf "manuscript.pdf" --figure-map "figure_map.json"

Portão: Número de páginas do PDF, número de figuras, número de títulos de figuras: consistentes; largura embutida de cada figura ≥ 3000 px; tabelas sem quebra de linha/cabeçalho.

Consulte references/05-manuscript-assembly.md.


Estágio 7: Verificação final

Execute:

python scripts/qa_outputs.py --docx "manuscript.docx" --pdf "manuscript.pdf" --figures "figures" --data "data/analysis.csv" --audit "output/audit/corpus_audit.csv" --manifest "output/chart_pack/chart_manifest.csv" --strict

Em seguida, percorra manualmente de acordo com references/06-qa-checklist.md. O foco não é o formato, mas:

  • Cada número no fluxo da amostra deve corresponder.
  • Cópias duplicadas foram removidas da amostra de análise, ou o impacto foi explicitamente relatado.
  • Cada N no texto corresponde à tabela/gráfico/modelo correspondente.
  • Gráfico e texto falam na mesma direção, nenhum "gráfico sobe, texto desce".
  • A numeração das legendas no PDF deve reconhecer formatos como "Figura 1:", "Fig. 1.", "Table 1:"; a verificação de baixa resolução analisa apenas imagens grandes o suficiente; CSV vazio gera erro diretamente.
  • Variáveis de codificação teórica: fonte explicada na seção de métodos, não escritas como medidas diretamente do material original.
  • Conclusão: use "associação/correspondência", não linguagem causal.

Lista de scripts

Os comandos abaixo assumem que o diretório atual é a raiz do skill; se executar a partir do diretório do projeto, substitua scripts/ pelo caminho absoluto do skill.

ScriptFunção
scripts/audit_corpus.pyEscaneia qualquer diretório de materiais: status do arquivo, texto/páginas, MD5, duplicatas, distribuição de formatos, dica de ano
scripts/dedupe_corpus.pyGera plano de deduplicação baseado nos resultados da auditoria; --apply move para _duplicates/
scripts/make_coding_sheet.pyExtrai texto completo e sentenças-chave de evidência de PDF/Word/PPT/HTML/texto; --profile legal extrai campos de tribunal/número do caso
scripts/text_extract.pyExtração de texto genérica e verificação de arquivos (PDF/DOCX/ODT/PPTX/XLSX/HTML/texto/imagem/áudio/vídeo)
scripts/analysis_utils.pyFunções compartilhadas internas: seleção de amostra, identificação de tipo de resultado, codificação de rótulos binários; importadas por scripts de estatística automática e geração de gráficos
scripts/csv_to_spss_syntax.pyGera sintaxe SPSS GET DATA a partir do cabeçalho CSV; limpa nomes de variáveis inválidos/duplicados e escreve rótulos de variável
scripts/auto_stats.pyEstatística descritiva automática, testes entre grupos, correlações, modelos univariados (dummies para variáveis independentes multicategóricas), verificação de separação completa
scripts/auto_chart_pack.pyGera automaticamente cerca de 40–55 gráficos de qualidade de dados/distribuição/bivariados/cluster/tempo/diagnóstico de modelo/sobrevivência com base nas funções das colunas, mais manifest
scripts/pubfig.pyEstilo unificado de figuras para publicação, Wilson CI, forest plot, mapa de calor, violino, ROC/PR, PCA, MDS, cluster, KM, gráfico de controle, mais de 30 tipos de gráfico
scripts/export_pdf_hires.pyWord→PDF e reembutir imagens originais de 600 dpi
scripts/qa_outputs.pyVerifica resolução de imagens no PDF, número de figuras/tabelas no docx, dados vazios, chaves duplicadas, N/legenda/caminho no manifest

Documentos de referência

ArquivoQuando ler
references/01-corpus-audit.mdAo iniciar a auditoria, encontrar duplicatas/arquivos corrompidos/scans/formatos variados
references/02-coding-protocol.mdAo projetar variáveis, escrever o codebook, fazer teste de confiabilidade
references/03-analysis-spss.mdAo definir modelos, escrever sintaxe SPSS, interpretar OR
references/04-figures-publication.mdAo desenhar gráficos, escolher cores, exportar arquivos para submissão
references/05-manuscript-assembly.mdAo formatar Word, exportar PDF, lidar com legendas
references/06-qa-checklist.mdAntes da submissão/entrega, verificar item por item
references/07-chart-atlas.mdAo selecionar tipos de gráfico, corresponder a gráficos avançados do SPSS, determinar o número de gráficos
references/08-analysis-expansion.mdAo considerar quais análises adicionais executar além do modelo principal, como registrar o que foi feito/não feito

Modelos

  • assets/scope-template.md: Escopo da pesquisa, critérios de inclusão/exclusão, esqueleto do fluxo da amostra.
  • assets/codebook-template.md: Esqueleto do manual de codificação de variáveis.
  • assets/figure-spec-template.md: Tabela de especificações de legendas e desenho de gráficos.
  • assets/figure_map.example.json: Exemplo de mapeamento para reembutir imagens do Word para PDF.
  • assets/delivery-checklist.md: Lista de verificação de entrega.
  • assets/coding-keywords.json: Dicionário de palavras-chave substituível (exemplo de placeholder genérico).
  • assets/chart_config.example.json: Exemplo de funções de coluna, rótulos, filtro de amostra de análise (filter_query).
  • assets/analysis-manifest-template.md: Lista de análise principal/análise de extensão/itens ignorados.

Os pontos de falha mais comuns

  1. Tratar o número de arquivos em uma pasta como o tamanho da amostra. Primeiro subtraia metadados, corrompidos, duplicatas, formato não suportado, fora do escopo.
  2. Deduplicar apenas por nome de arquivo. O mesmo conteúdo frequentemente tem múltiplas versões "com identificador/sem identificador", "- cópia", "(2)".
  3. Misturar N da estatística descritiva com N do modelo. O modelo tem valores ausentes e condições de filtragem, então N é sempre menor.
  4. Tratar "material menciona uma situação" como "a situação realmente ocorreu". Isso é associação textual, não efeito causal.
  5. O PDF exportado do Word parece normal, mas as imagens têm apenas 200 dpi. Deve-se reembutir e verificar a largura da imagem embutida.
  6. Desenhar apenas um gráfico de resultado principal. Gráficos de distribuição, heterogeneidade, robustez e diagnóstico não são desenhados, forçando o usuário a perguntar repetidamente.
  7. Tratar conteúdo de citações/anexos como material principal. O tipo de documento, tipo de relatório, navegação da página web, etc., devem ser julgados pela estrutura do título/corpo do texto, não apenas por palavras-chave no texto completo.
  8. Resultado é texto "Sim/Não" e é tratado como variável contínua diretamente. Use outcome_map para especificar a classe positiva explicitamente, ou codifique como 0/1 no CSV; o script não adivinha a direção positiva/negativa.
  9. Auditar apenas um formato específico, omitindo outros arquivos silenciosamente. Todos os arquivos devem ter status; total_files deve ser reconciliável com o explorador de arquivos.
  10. Enfiar dados tabulares na codificação de texto. CSV/Excel vão diretamente pelo fluxo auto_stats/SPSS; codificação de texto é para documentos, entrevistas, páginas web, etc., materiais não estruturados.

Habilidades Relacionadas