source-triage

Encuentra fuentes sobre un tema y clasifica cada una antes de leerlas: acceso legal, ruta de lectura del agente de IA, integridad y calidad. Escribe un libro de contabilidad que utilizan otras habilidades de investigación.

¿Qué es source-triage?

La habilidad `source-triage` es un componente fundamental en flujos de investigación asistida por agentes de IA. Su objetivo es localizar fuentes potenciales relacionadas con un tema y evaluarlas en cuatro dimensiones clave *antes* de cualquier análisis: acceso legal (gratuito o de pago), capacidad de lectura del agente (qué ruta permite obtener el texto completo), integridad (existencia, retracciones y revisión por pares) y una calificación de calidad. El resultado es un libro de contabilidad (`ledger.md`) que otras habilidades, como `research-plan` y `evidence-check`, utilizan para planificar la investigación y auditar las afirmaciones. La habilidad prioriza la precisión y la transparencia: evita nombrar fuentes de memoria, aplica un estricto control de acceso, verifica la existencia mediante DOI y Crossref, y no utiliza bibliotecas ilegales. Soporta múltiples bases de datos (PubMed, OpenAlex, arXiv, Europe PMC, Semantic Scholar, etc.) y tipos de fuente (artículos, preprints, libros, documentos oficiales). Su diseño modular y su énfasis en la verificabilidad la hacen útil para cualquier campo, desde ciencias biomédicas hasta ciencias de la computación.

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

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Triage de fuentes

Encuentra fuentes candidatas, luego responde cuatro preguntas sobre cada una antes de cualquier análisis:

  1. ¿Es legalmente gratuita? (acceso)
  2. ¿Puedo yo, un agente de IA, leerla realmente, y por qué ruta? (alcance)
  3. ¿Es real, actual y no retractada? (integridad)
  4. ¿Qué tan buena y central es? (calificación, rol, ⭐ selección de contexto)

La salida es un libro de contabilidad. research-plan se basa en él, evidence-check audita contra él, y el usuario puede usarlo por sí solo ("¿cuáles de estos puedes leer, cuáles debo descargar?"). Funciona para cualquier campo y para fuentes que no sean artículos.

Verdades fundamentales (aprendidas a las malas; no las reaprendas)

  • El acceso es por ruta, no por artículo. Un artículo de acceso abierto puede estar bloqueado en el sitio del editor y ser legible a través de una API, y viceversa. Registra la ruta que funcionó.
  • HTTP 200 miente. Las páginas CAPTCHA, muros de inicio de sesión, shells JS, XML con cuerpo vacío y herramientas que informan "éxito" con texto vacío parecen exitosas. Comprueba lo que obtuviste.
  • WebFetch devuelve la extracción de un modelo, no la página. Es bueno para leer y para metadatos; nunca es una fuente de citas textuales. El texto textual proviene solo de rutas brutas: XML/JSON de API obtenido con el shell (curl), un PDF descargado o un archivo proporcionado por el usuario.
  • Bloqueado ≠ inexistente. Una página que te bloquea deja una fuente no verificada, nunca no_encontrada. Una API que está caída significa omitir la señal, nunca registrar falso.
  • Bronce ≠ legible. Pruébalo.
  • Nunca eludir. Sin bibliotecas ocultas, mirrors, cachés, scraping que evite robots/CAPTCHA ni cosecha masiva.
  • Nunca nombrar una fuente de memoria. En las pruebas, los primeros borradores de referencias de ambos modelos tenían títulos incorrectos, años incorrectos, un DOI incorrecto y un artículo que no existe. Cada fuente se busca antes de aparecer en cualquier lugar.

Escribir a medida que avanzas (punto de control)

Crea research/<slug>/ledger.md al inicio. Después de cada búsqueda, añade la línea de consulta al registro de búsqueda. Después de clasificar una fuente, añade su fila inmediatamente. Las ejecuciones largas pierden contexto; el libro de contabilidad en disco es la memoria.

Paso 0 — Marco (un mensaje, luego continúa)

Indica en una línea: pregunta · campo(s) · rango de años (predeterminado: últimos 10–15 años + trabajos antiguos importantes; "reciente" = 5 años) · tipos de fuente dentro del alcance · restricciones estrictas de la solicitud (p. ej., "la rúbrica necesita 2 capítulos de libro") · profundidad:

  • rápida: mantén de 8 a 15 fuentes. La técnica de bola de nieve es opcional (una bola de nieve hacia adelante desde la revisión principal). Los registros que superan el límite se registran como no llevados adelante (límite): se cuentan, pero no se necesita razón de exclusión.
  • profunda: mantén 25+, bola de nieve hacia atrás y hacia adelante desde las 3–5 obras más centrales.

Continúa a menos que te corrijan. Si el usuario dijo "consúltame" / "paso a paso", detente en cada ◆. De lo contrario, ejecuta directamente y enumera tus elecciones al final.

Paso 1 — Biblioteca primero

Verifica lo que el usuario ya posee: una carpeta conectada de PDFs, libros de contabilidad anteriores de research/*/, un archivo .bib o exportación Zotero/CSL. Las fuentes propias son tenidas: biblioteca. Pasa sus DOIs a la búsqueda como "ya tengo".

Paso 2 — Descubrir

Conjunto de términos por concepto, combinados con OR: sinónimos, acrónimos, nombres antiguos, ortografías británica/estadounidense, nombres de métodos. Para ciencias de la vida, añade MeSH + términos de entrada, símbolos genéticos, nombres de enzimas + números EC, nombres latinos + comunes de organismos. Consulta el método, no el autor. Usa 2–3 grupos de conceptos por consulta; más ANDs devuelven 0 resultados.

NecesidadPrincipalTambién
Biomédica / ciencias de la vidaPubMed (MeSH)Europe PMC REST (SRC:"PPR" encuentra preprints de bioRxiv/medRxiv; HAS_FT:y = texto completo disponible), OpenAlex
Cualquier campo, amplioOpenAlex (los filtros de tema/concepto superan a la búsqueda bruta)Semantic Scholar, Crossref
CC / ML / física / cuant-bioarXiv (ordenar por relevancia)Semantic Scholar, alphaXiv / Scholar Feed
PreprintsEurope PMC SRC:"PPR" o OpenAlex type:preprintel conector de bioRxiv no tiene búsqueda por palabras clave: úsalo solo para los detalles de un DOI conocido y la versión publicada
Capítulos de libroOpenAlex type:book-chapter, catálogo del editor, WebSearchverifica el contenedor (ver Paso 4)
Afirmaciones / revisiones rápidoConsensus, Elicit (si están conectados)verifica cada resultado por DOI
No artículoprimero los documentos oficiales/especificación/código del propietarioWebSearch para el resto
  • Verificación de sensibilidad: si se conocen artículos clave, confirma que tus consultas los encuentren.
  • Conteos de resultados: decenas de miles de resultados significa demasiado amplio; 0–1 significa demasiado restringido, reformula. Reformular una consulta con cero resultados es parte de la misma ronda.
  • Registrar: título, autores, año, sede, tipo, DOI · PMID · PMCID · arXiv · URL, encontrado_via.
  • Deduplicar: DOI → otros IDs → título normalizado + año. Fusionar preprint + versión publicada.
  • Límites: preguntar antes de ~1,000 registros o ~50 llamadas.

◆ Punto de control: términos, consultas, conteos de resultados.

Paso 3 — Triage de acceso (antes de leer nada)

3a. Acceso legal (por lotes)

Para cada fuente mantenida, llama a OpenAlex get_work (los resultados de búsqueda omiten la licencia). Copia su valor oa_status exactamente: gold · diamond · hybrid · green · bronze · closed. También registra license y oa_url/pdf_url. Los campos license de Europe PMC y get_copyright_status de PubMed son respaldos. Unpaywall (version, host_type) necesita un correo electrónico real: usa solo uno que el usuario haya aprobado para esto; de lo contrario, saltarlo.

  • Sin datos → desconocido. Nunca inventes oa, sufijos ? o nombres de editores como valores de acceso.
  • Fuente que no es artículo → web.
  • Licencia desconocida → tratar como solo-local para redistribución.

3b. Alcance del agente: la escalera de rutas (detente en el primer éxito)

  1. Tenida: en la biblioteca del usuario o en una ejecución anterior.
  2. Europe PMC REST, bruto, vía shell curl donde el shell pueda alcanzarlo:
    • búsqueda: …/rest/search?query=DOI:"a" OR DOI:"b"&format=json, ≤8 DOIs por llamada, ≥1 s de separación;
    • texto completo: …/rest/{PMCID}/fullTextXML. Esta es la mejor ruta textual. Usa WebFetch solo si el shell no puede alcanzarlo; WebFetch rechaza URLs largas y tiene límite de velocidad.
    • 429 → espera, reintenta una vez. 5xx → bloqueado:http-5xx, pasa a la siguiente ruta.
  3. PubMed get_full_text_article: válido solo si full_text no está vacío. Vacío → bloqueado:cuerpo-vacío.
  4. Servidores de preprints: páginas .full de arXiv, bioRxiv/medRxiv.
  5. Ubicaciones de acceso abierto: oa_url/pdf_url de OpenAlex (una URL de PDF directa puede funcionar cuando la página del artículo falla), openAccessPdf de Semantic Scholar, CORE, enlaces TDM de Crossref.
  6. Página del editor: un intento por host. Seguir la redirección del DOI es ese intento. Nunca seguir a un host prohibido por robots (ScienceDirect / Elsevier linkinghub).
  7. Repositorio del autor o institucional vía WebSearch "<título exacto>" pdf. Respeta los avisos de "prohibido minería de texto y datos / uso de IA".
  8. No funcionó nada: registra la razón y dirige la fuente al usuario.

Observado en 2026-10 (reprobar; estos cambian):

  • Bruto OK: Europe PMC REST vía curl.
  • Extraído OK: Nature OA, Frontiers, MDPI, bioRxiv .full, arXiv, URLs PDF de Springer desde OpenAlex.
  • Bloqueado: ScienceDirect (robots), Wiley incl. OA (error de obtención), páginas de artículo de Springer, endpoint PDF de BMC, sitio web de PMC (CAPTCHA), Annual Reviews, Science.
  • No fiable: herramienta de texto completo de PubMed (a menudo vacía), fullTextXML de Europe PMC (HTTP 500 para algunos PMCIDs), Europe PMC vía WebFetch (limitado por velocidad).

Validar antes de llamar a algo legible:

  • cuerpo de texto más allá del resumen;
  • no es una página CAPTCHA / de inicio de sesión / de denegación de acceso;
  • no es XML vacío o solo de metadatos.
  • Un archivo descargado cuenta solo si comienza con %PDF-, no es HTML y tiene más de ~10 KB.
alcancesignificado
legible:<ruta>texto completo obtenido: legible:europepmc-xml (bruto) · legible:pdf (bruto) · legible:webfetch (extraído, no capaz de texto textual)
solo-resumensolo se pudo obtener el resumen (muro de pago típico)
bloqueado:<razón>muro-de-pago (ni siquiera un resumen) · robots · captcha · inicio-sesión · http-4xx · http-5xx · error-obtención · limitado-velocidad · cuerpo-vacío · shell-js
no-verificadono intentado (presupuesto / límite). Nunca escribas "no probado".

Regla de etiqueta: la palabra controlada va primero, exactamente como en estas tablas. Las notas pueden ir entre paréntesis, p. ej., verificado (DOI de Crossref).

Busca una copia verde antes de etiquetar una fuente como bloqueada o solo-resumen. Una fuente que es legalmente gold/hybrid/green/bronze pero bloqueada para ti va en la sección "gratuita pero bloqueada para IA".

Paso 4 — Integridad (por lotes; antes de nombrar nada)

Ejecuta esto inmediatamente después del descubrimiento para cada fuente que vayas a nombrar: en el plan, como ⭐ o como recomendación. No es un paso final.

  • Existencia: veredictos verificado · parcial · discrepancia · no_encontrado · no_verificado. Usa check_references de Reference Checker + resolve_references de OpenAlex. Cuando las herramientas no coinciden, una coincidencia exacta de DOI en Crossref o OpenAlex supera a un no_encontrado por búsqueda de título; registra ambos.
  • Capítulos de libro: verifica el contenedor, no solo el DOI: título del libro, editores, páginas y editor del registro de Crossref (api.crossref.org/works/<doi> → container-title, page). En las pruebas, un DOI era correcto pero el título del libro estaba equivocado.
  • Retractación: check_retractions. Claro significa solo "no se encontró aviso".
  • Revisión por pares: etiqueta los preprints (revisión: preprint en el libro de contabilidad; `preprint` en la entrada del archivo de fuentes); cita la versión publicada si existe.
  • Contaminación: un preprint de 2024+ que no coincide en ≥2 índices es un riesgo de fabricación. Vuelve a verificarlo o elimínalo.
  • Indicaciones de sede depredadora; literatura gris: URL + fecha de acceso + enlace de Wayback.

Paso 5 — Calificación, rol, ⭐

Calificación A–F: mediana de idoneidad para su propio campo, metodología, revisión por pares, actualidad, datos, conflictos. Un fallo de integridad limita la calificación a D. Una fuente no leída o solo de resumen obtiene una calificación provisional (B?). Rol: evidencia · antecedentes · método · herramienta/datos · contra. Niveles para no artículo: T1 documentos/especificación/código/estatuto del propietario · T2 institucional · T3 periodismo experto · T4 comunitario · T5 marketing del proveedor.

⭐ Paquete de contexto (5–10 selecciones): las fuentes que más mejorarían lo que se está construyendo, si se almacenan localmente. El acceso es irrelevante. Cada selección necesita:

  • por qué es importante;
  • cómo obtenerlo (enlace OA / inicio de sesión de biblioteca VIT / préstamo interbibliotecario / correo electrónico al autor);
  • un nombre para Guardar como <primerautor>-<año>-<palabraclave>.pdf;
  • redistribuir: ok (CC-BY / CC0 / dominio público) o solo-local (todo lo demás, incluyendo licencia desconocida).

Verificación de sesgo: ≥70% de valores conocidos en una dimensión → dilo con el recuento.

Paso 6 — El libro de contabilidad

research/<slug>/ledger.md: la primera tabla, una fila por fuente, columnas en este orden: # · Cita corta · Tipo · Rol · Calificación · acceso · licencia · versión · alcance · tenida · leída · integridad · retractación · revisión · ⭐ · Guardar como · Enlace · encontrado_via

  • leída comienza como no-leída; research-plan completa con completa · secciones:<cuáles> · resumen · metadatos.
  • ⭐ = ok o solo-local para selecciones, - en caso contrario.
  • Las filas excluidas usan ids E1….

Debajo de la tabla:

  • Registro de búsqueda: base de datos · fecha · consulta · resultados · qué término encontró qué.
  • Conteos: identificados → después de deduplicación → no llevados adelante (límite) → mantenidos → excluidos (con razones). total en cualquier línea de Conteos = cada fila del libro de contabilidad, incluyendo las excluidas.

Ejecuta el verificador incluido, python3 <carpeta de esta habilidad>/scripts/research_checks.py ledger research/<slug>/ledger.md (Python de biblioteca estándar, se ejecuta en tu propio entorno aislado), y corrige errores antes de entregarlo. Cuando se usa solo, presenta el libro de contabilidad como el archivo de fuentes descrito en research-plan.

Privacidad

Busca solo con palabras del tema, nunca oraciones del trabajo no publicado del usuario. El correo electrónico del usuario va solo a Unpaywall, y solo con su aprobación.

Individual skills in this repo

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

Skills relacionados