CommunityPesquisa e Análise de Dadosgithub.com

seleção-de-fontes

Encontra fontes sobre um tópico e classifica cada uma antes de qualquer leitura: acesso legal, rota de leitura para um agente de IA, integridade e nota. Gera um registro usado por outras habilidades de pesquisa.

O que é seleção-de-fontes?

Esta habilidade, 'seleção-de-fontes', é uma ferramenta fundamental para pesquisas conduzidas por agentes de IA. Ela automatiza a triagem inicial de fontes, respondendo a quatro perguntas críticas sobre cada candidato antes de qualquer análise aprofundada: acesso legal (é gratuito?), alcance (o agente pode lê-lo e por qual rota?), integridade (é real, atual e não retratado?) e qualidade (qual a nota e o papel?). O resultado é um 'ledger' (registro) que serve como base para outras habilidades, como `research-plan` e `evidence-check`, e também pode ser usado de forma independente para informar o usuário sobre quais fontes são acessíveis. A habilidade funciona para qualquer campo acadêmico e fonte digital, seguindo regras rigorosas para evitar violações de direitos autorais e erros comuns, como confiar em HTTP 200 que esconde páginas de login ou CAPTCHA. A execução é passo a passo, começando pela verificação da biblioteca do usuário, descoberta em múltiplos bancos de dados (PubMed, OpenAlex, arXiv, etc.) e finalizando com a classificação e registro no arquivo `ledger.md`, com um verificador automático incluso.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Pushkar1-GitHub/D2D_Meta_Skills/tree/HEAD/skills/source-triage

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

Triagem de fontes

Encontra fontes candidatas e, em seguida, responde a quatro perguntas sobre cada uma antes de qualquer análise:

  1. É legalmente gratuita? (acesso)
  2. Posso, como agente de IA, realmente lê-la e por qual rota? (alcance)
  3. É real, atual e não retratada? (integridade)
  4. Quão boa e central é? (nota, papel, ⭐ escolha de contexto)

A saída é um ledger (registro). O research-plan se baseia nele, o evidence-check audita contra ele, e o usuário pode usá-lo por conta própria ("quais destes você consegue ler, quais eu preciso baixar?"). Funciona para qualquer área e para fontes que não são artigos.

Verdades centrais (aprendidas da pior forma; não as reaprenda)

  • Acesso é por rota, não por artigo. Um artigo OA pode estar bloqueado no site da editora e legível através de uma API, e o inverso. Registre a rota que funcionou.
  • HTTP 200 mente. Páginas CAPTCHA, muros de login, shells JS, XML de corpo vazio e ferramentas que relatam "sucesso" com texto vazio parecem sucesso. Verifique o que você obteve.
  • WebFetch retorna uma extração do modelo, não a página. Bom para leitura e para metadados; nunca é uma fonte de citações literais. Texto literal vem apenas de rotas cruas: XML/JSON da API obtidos com o shell (curl), um PDF baixado ou um arquivo fornecido pelo usuário.
  • Bloqueado ≠ ausente. Uma página que o bloqueia deixa uma fonte como unchecked (não verificado), nunca not_found (não encontrada). Uma API que está fora do ar significa omitir o sinal, nunca registrar false.
  • Bronze ≠ legível. Teste-o.
  • Nunca contorne. Nada de bibliotecas sombra, espelhos, caches, raspagem em torno de robots/CAPTCHA ou coleta em massa.
  • Nunca nomeie uma fonte de memória. Em testes, as referências de primeiro rascunho de ambos os modelos tinham títulos errados, anos errados, um DOI errado e um artigo que não existe. Toda fonte é verificada antes de aparecer em qualquer lugar.

Escreva enquanto avança (ponto de verificação)

Crie research/<slug>/ledger.md no início. Após cada busca, anexe a linha de consulta ao registro de busca. Após classificar uma fonte, anexe sua linha imediatamente. Execuções longas perdem contexto; o ledger no disco é a memória.

Etapa 0 — Enquadramento (uma mensagem, depois vá)

Declare em uma linha: pergunta · campo(s) · intervalo de anos (padrão: últimos 10–15 anos + trabalhos antigos de referência; "recente" = 5 anos) · tipos de fonte no escopo · restrições rígidas da solicitação (ex.: "a rubrica precisa de 2 capítulos de livro") · profundidade:

  • quick (rápida): mantenha 8–15 fontes. O encadeamento é opcional (um encadeamento direto a partir da revisão principal). Registros além do limite são registrados como not carried forward (cap) (não levados adiante (limite)): contados, mas sem necessidade de motivo de exclusão.
  • deep (profunda): mantenha 25+, encadeie para trás e para frente a partir dos 3–5 trabalhos mais centrais.

Prosseguir a menos que corrigido. Se o usuário disse "verifique comigo" / "passo a passo", pare em cada ◆. Caso contrário, execute direto e liste suas escolhas no final.

Etapa 1 — Biblioteca primeiro

Verifique o que o usuário já possui: uma pasta conectada de PDFs, ledgers research/*/ anteriores, um arquivo .bib ou exportação Zotero/CSL. Fontes próprias são held: library (possuídas: biblioteca). Passe seus DOIs para a busca como "já tenho".

Etapa 2 — Descobrir

Conjunto de termos por conceito, combinados com OR: sinônimos, acrônimos, nomes antigos, grafias UK/US, nomes de métodos. Para ciências da vida, adicione MeSH + termos de entrada, símbolos de genes, nomes de enzimas + números EC, nomes latinos + comuns de organismos. Consulte o método, não o autor. Use 2–3 grupos de conceitos por consulta; mais ANDs retornam 0 resultados.

NecessidadePrincipalTambém
Biomédica / ciências da vidaPubMed (MeSH)Europe PMC REST (SRC:"PPR" encontra preprints bioRxiv/medRxiv; HAS_FT:y = texto completo disponível), OpenAlex
Qualquer área, amplaOpenAlex (filtros de tópico/conceito superam busca bruta)Semantic Scholar, Crossref
CC / ML / física / quant-bioarXiv (ordenar por relevância)Semantic Scholar, alphaXiv / Scholar Feed
PreprintsEurope PMC SRC:"PPR" ou OpenAlex type:preprinto conector bioRxiv não tem busca por palavra-chave: use-o apenas para detalhes de um DOI conhecido e versão publicada
Capítulos de livroOpenAlex type:book-chapter, catálogo da editora, WebSearchverifique o container (veja Etapa 4)
Alegações / revisões rápidoConsensus, Elicit (se conectado)verifique cada resultado por DOI
Não artigodocumentos/especificação/código oficiais do proprietário primeiroWebSearch para o restante
  • Verificação de sensibilidade: se artigos-chave são conhecidos, confirme que suas consultas os encontram.
  • Contagens de resultados: dezenas de milhares de resultados significa muito amplo; 0–1 significa super restrito, então reformule. Reformular uma consulta com zero resultados faz parte da mesma rodada.
  • Registre: título, autores, ano, veículo, tipo, DOI · PMID · PMCID · arXiv · URL, found_via.
  • Deduplicação: DOI → outros IDs → título normalizado + ano. Mesclar preprint + versão publicada.
  • Limites: pergunte antes de ~1.000 registros ou ~50 chamadas.

◆ Ponto de verificação: termos, consultas, contagens de resultados.

Etapa 3 — Triagem de acesso (antes de ler qualquer coisa)

3a. Acesso legal (em lote)

Para cada fonte mantida, chame OpenAlex get_work (os resultados de busca omitem licença). Copie seu valor oa_status exatamente: gold · diamond · hybrid · green · bronze · closed. Também registre license e oa_url/pdf_url. Os campos license do Europe PMC e get_copyright_status do PubMed são fallbacks. Unpaywall (version, host_type) precisa de um e-mail real: use apenas um que o usuário aprovou para isso; caso contrário, ignore.

  • Sem dados → unknown. Nunca invente oa, sufixos ? ou nomes de editoras como valores de acesso.
  • Fonte não artigo → web.
  • Licença desconhecida → trate como local-only para redistribuição.

3b. Alcance do agente: a escada de rotas (pare no primeiro sucesso)

  1. Held: na biblioteca do usuário ou em uma execução anterior.
  2. Europe PMC REST, cru, via shell curl onde o shell pode alcançá-lo:
    • busca: …/rest/search?query=DOI:"a" OR DOI:"b"&format=json, ≤8 DOIs por chamada, ≥1 s de intervalo;
    • texto completo: …/rest/{PMCID}/fullTextXML. Esta é a melhor rota para texto literal. Use WebFetch apenas se o shell não puder alcançá-lo; WebFetch rejeita URLs longos e tem limite de taxa.
    • 429 → espere, tente uma vez. 5xx → blocked:http-5xx, vá para a próxima rota.
  3. PubMed get_full_text_article: válido apenas se full_text não estiver vazio. Vazio → blocked:empty-body.
  4. Servidores de preprint: páginas .full do arXiv, bioRxiv/medRxiv.
  5. Locais OA: oa_url/pdf_url do OpenAlex (uma URL de PDF direta pode funcionar onde a página do artigo falha), openAccessPdf do Semantic Scholar, CORE, links TDM do Crossref.
  6. Página da editora: uma tentativa por host. Seguir o redirecionamento do DOI é essa tentativa. Nunca siga para um host proibido por robots (ScienceDirect / Elsevier linkinghub).
  7. Repositório do autor ou institucional via WebSearch "<título exato>" pdf. Respeite avisos de "sem mineração de texto e dados / uso de IA".
  8. Nada funcionou: registre o motivo e encaminhe a fonte ao usuário.

Observado em 2026-10 (re-teste; estes mudam):

  • OK cru: Europe PMC REST via curl.
  • OK extraído: Nature OA, Frontiers, MDPI, bioRxiv .full, arXiv, URLs PDF Springer do OpenAlex.
  • Bloqueado: ScienceDirect (robots), Wiley incl. OA (erro de busca), páginas de artigo Springer, endpoint PDF BMC, site PMC (CAPTCHA), Annual Reviews, Science.
  • Não confiável: ferramenta de texto completo PubMed (frequentemente vazia), fullTextXML do Europe PMC (HTTP 500 para alguns PMCIDs), Europe PMC via WebFetch (limitado por taxa).

Valide antes de chamar qualquer coisa de legível:

  • texto do corpo além do resumo;
  • não é uma página CAPTCHA / login / acesso negado;
  • não está vazio ou é XML apenas com metadados.
  • Um arquivo baixado conta apenas se começar com %PDF-, não for HTML e tiver mais de ~10 KB.
alcancesignificado
readable:<rota>texto completo obtido: readable:europepmc-xml (cru) · readable:pdf (cru) · readable:webfetch (extraído, não capaz de texto literal)
abstract-onlyapenas resumo obtido (paywall típico)
blocked:<motivo>paywall (nem mesmo um resumo) · robots · captcha · login · http-4xx · http-5xx · fetch-error · rate-limited · empty-body · js-shell
uncheckednão tentado (orçamento / limite). Nunca escreva "não testado".

Regra de rótulo: a palavra controlada vem primeiro, exatamente como nestas tabelas. Notas podem seguir entre parênteses, ex.: verified (Crossref DOI).

Procure uma cópia verde antes de rotular uma fonte como blocked ou abstract-only. Uma fonte que é legalmente gold/hybrid/green/bronze mas blocked para você vai na seção "gratuita mas bloqueada para IA".

Etapa 4 — Integridade (em lote; antes de nomear qualquer coisa)

Execute isso logo após a descoberta para cada fonte que você nomeará: no plano, como ⭐, ou como recomendação. Não é uma etapa final.

  • Existência: vereditos verified · partial · mismatch · not_found · unchecked. Use check_references do Reference Checker + resolve_references do OpenAlex. Quando as ferramentas discordam, uma correspondência exata de DOI no Crossref ou OpenAlex supera um not_found de busca por título; registre ambos.
  • Capítulos de livro: verifique o container, não apenas o DOI: título do livro, editores, páginas e editora do registro Crossref (api.crossref.org/works/<doi> → container-title, page). Em testes, um DOI estava certo, mas o título do livro estava errado.
  • Retratação: check_retractions. Limpo significa apenas "nenhum aviso encontrado".
  • Revisão por pares: rotule preprints (peer: preprint no ledger; `preprint` na entrada do arquivo de fontes); cite a versão publicada se existir uma.
  • Contaminação: um preprint de 2024+ que não é encontrado em ≥2 índices é um risco de fabricação. Re-verifique-o ou descarte-o.
  • Sinalizadores de veículo predatório; literatura cinzenta: URL + data de acesso + link Wayback.

Etapa 5 — Nota, papel, ⭐

Nota A–F: mediana de adequação para seu próprio campo, metodologia, revisão por pares, atualidade, dados, conflitos. Uma falha de integridade limita a nota a D. Uma fonte não lida ou apenas com resumo obtém uma nota provisória (B?). Papel: evidence · background · method · tool/data · counter. Níveis para não artigo: T1 docs/especificação/código/estatuto oficiais do proprietário · T2 institucional · T3 jornalismo especializado · T4 comunidade · T5 marketing de fornecedor.

⭐ Pacote de contexto (5–10 escolhas): as fontes que mais melhorariam o que está sendo construído, se armazenadas localmente. Acesso é irrelevante. Cada escolha precisa:

  • por que é importante;
  • como obtê-la (link OA / login da biblioteca VIT / empréstimo entre bibliotecas / e-mail para o autor);
  • um nome para Salvar como <primeiroautor>-<ano>-<palavra-chave>.pdf;
  • redistribuir: ok (CC-BY / CC0 / domínio público) ou local-only (todo o resto, incluindo licença desconhecida).

Verificação de desvio: ≥70% dos valores conhecidos em uma dimensão → diga isso com a contagem.

Etapa 6 — O ledger

research/<slug>/ledger.md: a primeira tabela, uma linha por fonte, colunas nesta ordem: # · Citação curta · Tipo · Papel · Nota · acesso · licença · versão · alcance · held · read · integridade · retratação · peer · ⭐ · Salvar como · Link · found_via

  • read começa como not-read; research-plan preenche com full · sections:<quais> · abstract · metadata.
  • ⭐ = ok ou local-only para escolhas, - caso contrário.
  • Linhas excluídas usam ids E1….

Abaixo da tabela:

  • Registro de busca: banco de dados · data · consulta · resultados · qual termo encontrou o quê.
  • Contagens: identificados → após deduplicação → não levados adiante (limite) → mantidos → excluídos (com motivos). total em qualquer linha de Contagens = cada linha do ledger, incluindo excluídos.

Execute o verificador incluído, python3 <caminho desta habilidade>/scripts/research_checks.py ledger research/<slug>/ledger.md (Python da biblioteca padrão, executa em sua própria sandbox), e corrija erros antes de passar adiante. Usado por conta própria, renderize o ledger como o arquivo de fontes descrito em research-plan.

Privacidade

Pesquise apenas com palavras do tópico, nunca frases do trabalho não publicado do usuário. O e-mail do usuário vai apenas para o Unpaywall, e apenas com a autorização dele.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas