Community연구 & 데이터 분석github.com

소스-트리아지

주제에 대한 소스를 찾고, 읽기 전에 각각을 분류합니다: 법적 접근성, AI 에이전트가 실제로 읽을 수 있는 경로, 무결성, 등급. 다른 연구 스킬이 사용하는 원장(ledger)을 작성합니다.

소스-트리아지란 무엇인가요?

이 스킬은 연구 주제에 대한 후보 소스를 발견하고, 실제 분석 전에 네 가지 질문에 답변합니다: 1) 법적으로 자유로운가? (접근성), 2) AI 에이전트가 실제로 읽을 수 있는가, 어떤 경로로? (도달 가능성), 3) 실제이며, 최신이고, 철회되지 않았는가? (무결성), 4) 얼마나 좋고 핵심적인가? (등급, 역할, ⭐ 컨텍스트 선택). 출력은 원장(ledger)이며, `research-plan`이 이를 기반으로 구축되고, `evidence-check`가 이를 감사하며, 사용자가 단독으로 사용할 수 있습니다 ('이 중 어떤 것을 읽을 수 있나요, 어떤 것을 제가 다운로드해야 하나요?'). 모든 분야와 논문이 아닌 소스에 대해 작동합니다. 핵심 원칙으로는 경로별 접근성 기록, HTTP 200의 오해 가능성, 웹페치(WebFetch)가 원시 텍스트가 아닌 모델 추출 결과를 반환한다는 점, 차단과 부재의 구분, 기억에서 소스 이름을 절대 생성하지 않는 것 등이 포함됩니다. 작업 순서는 프레이밍 → 도서관 확인 → 발견(PubMed, OpenAlex, arXiv 등 사용) → 접근성 트리아지(법적, 에이전트 경로 사다리) → 무결성(존재 확인, 철회 확인) → 등급 및 역할 지정 → 원장 생성으로 구성됩니다. 스킬은 체크포인트(디스크에 원장 유지), 배치 처리, 민감도 확인, 중복 제거, 그리고 마지막으로 번들된 검사 스크립트 실행을 권장합니다.

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

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

소스 트리아지

후보 소스를 찾은 후, 분석 전에 각 소스에 대해 네 가지 질문에 답합니다:

  1. 법적으로 자유로운가? (접근성)
  2. AI 에이전트로서 실제로 읽을 수 있는가, 어떤 경로로? (도달 가능성)
  3. 실제이며, 최신이고, 철회되지 않았는가? (무결성)
  4. 얼마나 좋고 핵심적인가? (등급, 역할, ⭐ 컨텍스트 선택)

출력은 **원장(ledger)**입니다. research-plan이 이를 기반으로 구축되고, evidence-check가 이를 감사하며, 사용자가 단독으로 사용할 수 있습니다('이 중 어떤 것을 읽을 수 있나요, 어떤 것을 제가 다운로드해야 하나요?'). 모든 분야와 논문이 아닌 소스에 대해 작동합니다.

핵심 진실 (어렵게 얻은 교훈; 다시 배우지 마십시오)

  • 접근성은 논문별이 아니라 경로별입니다. OA 논문이 발행사 사이트에서는 차단되고 API를 통해 읽을 수 있으며, 그 반대의 경우도 있습니다. 작동한 경로를 기록하십시오.
  • HTTP 200은 거짓말합니다. CAPTCHA 페이지, 로그인 장벽, JS 셸, 빈 본문 XML, 그리고 성공을 보고하지만 빈 텍스트를 반환하는 도구는 모두 성공처럼 보입니다. 받은 것을 확인하십시오.
  • WebFetch는 모델의 추출 결과를 반환하며, 페이지 자체가 아닙니다. 읽기와 메타데이터에는 좋지만, 절대 축어적 인용의 출처가 될 수 없습니다. 축어적 텍스트는 원시 경로에서만 제공됩니다: 셸(curl)로 가져온 API XML/JSON, 다운로드한 PDF, 또는 사용자가 제공한 파일.
  • 차단됨 ≠ 없음. 사용자를 차단하는 페이지는 소스를 unchecked로 남기고, 절대 not_found로 남기지 않습니다. 다운된 API는 신호를 생략하고, 절대 false를 기록하지 않습니다.
  • 브론즈(bronze) ≠ 읽을 수 있음. 테스트하십시오.
  • 절대 우회하지 마십시오. 섀도 라이브러리, 미러, 캐시, 로봇/CAPTCHA 우회 스크래핑, 또는 대량 수집을 금지합니다.
  • 절대 기억에서 소스 이름을 짓지 마십시오. 시험에서 두 모델의 초안 참조 모두 잘못된 제목, 잘못된 연도, 잘못된 DOI, 그리고 존재하지 않는 논문 하나를 포함했습니다. 모든 소스는 나타나기 전에 조회됩니다.

진행하면서 작성 (체크포인트)

시작 시 research/<slug>/ledger.md를 생성하십시오. 모든 검색 후 검색 로그에 쿼리 라인을 추가하십시오. 소스를 분류한 후 즉시 해당 행을 추가하십시오. 긴 실행은 컨텍스트를 잃습니다; 디스크의 원장이 기억입니다.

단계 0 — 프레이밍 (한 메시지로, 그런 다음 진행)

한 줄로 명시: 질문 · 분야 · 연도 범위(기본: 최근 10~15년 + 중요한 오래된 작업; "최근" = 5년) · 범위 내 소스 유형 · 요청의 하드 제약(예: "루브릭에 2개의 책 장(chapter) 필요") · 깊이:

  • 빠른(quick): 8~15개 소스 유지. 스노우볼링은 선택 사항입니다(최상위 리뷰에서 한 번의 정방향 스노우볼). 상한 초과 기록은 not carried forward (cap)으로 기록됩니다: 계산되지만, 제외 이유는 필요 없습니다.
  • 깊은(deep): 25개 이상 유지, 3~5개의 가장 핵심적인 작업으로부터 역방향 및 정방향 스노우볼.

수정되지 않으면 진행하십시오. 사용자가 "check with me" / "step by step"이라고 말한 경우 ◆에서 멈추십시오. 그렇지 않으면 끝까지 바로 실행하고 마지막에 선택 사항을 나열하십시오.

단계 1 — 먼저 도서관 확인

사용자가 이미 보유한 것을 확인하십시오: 연결된 PDF 폴더, 이전 research/*/ 원장, .bib 또는 Zotero/CSL 내보내기. 소유 소스는 held: library입니다. 해당 DOI를 검색에 "already have"로 전달하십시오.

단계 2 — 발견

용어 집합 개념별로, OR로 연결: 동의어, 약어, 구식 이름, 영국/미국 철자, 방법 이름. 생명 과학의 경우 MeSH + 항목 용어, 유전자 기호, 효소 이름 + EC 번호, 라틴어 + 일반 유기체 이름을 추가하십시오. 저자가 아니라 방법으로 쿼리하십시오. 쿼리당 2~3개의 개념 그룹을 사용하십시오; 더 많은 AND는 0건의 결과를 반환합니다.

필요기본또한
생물의학 / 생명 과학PubMed (MeSH)Europe PMC REST (SRC:"PPR"는 bioRxiv/medRxiv 프리프린트를 찾습니다; HAS_FT:y = 전문(full text) 이용 가능), OpenAlex
모든 분야, 광범위OpenAlex (주제/개념 필터가 원시 검색보다 나음)Semantic Scholar, Crossref
CS / ML / 물리 / 양자-생물arXiv (관련성 순 정렬)Semantic Scholar, alphaXiv / Scholar Feed
프리프린트Europe PMC SRC:"PPR" 또는 OpenAlex type:preprintbioRxiv 커넥터에는 키워드 검색이 없습니다: 알려진 DOI의 세부 정보와 게시된 버전에만 사용하십시오
책 장(chapter)OpenAlex type:book-chapter, 발행사 카탈로그, WebSearch컨테이너 확인(단계 4 참조)
주장 / 리뷰 빠르게Consensus, Elicit (연결된 경우)DOI로 모든 적중 확인
비-논문소유자의 공식 문서/사양/코드 우선나머지 WebSearch
  • 민감도 확인: 키 논문이 알려져 있다면, 쿼리가 해당 논문을 찾는지 확인하십시오.
  • 적중 수: 수만 건의 적중은 너무 광범위함을 의미합니다; 0~1건은 너무 제약적임을 의미하므로 다시 작성하십시오. 0건 적중 쿼리를 다시 작성하는 것은 동일한 라운드의 일부입니다.
  • 기록: 제목, 저자, 연도, 발행지, 유형, DOI · PMID · PMCID · arXiv · URL, found_via.
  • 중복 제거: DOI → 기타 ID → 정규화된 제목 + 연도. 프리프린트 + 게시된 버전 병합.
  • 제한: ~1,000개 레코드 또는 ~50회 호출 전에 문의하십시오.

◆ 체크포인트: 용어, 쿼리, 적중 수.

단계 3 — 접근성 트리아지 (읽기 전)

3a. 법적 접근성 (일괄 처리)

유지된 각 소스에 대해 OpenAlex get_work를 호출하십시오(검색 결과는 라이선스를 생략합니다). 해당 oa_status 값을 정확히 복사하십시오: gold · diamond · hybrid · green · bronze · closed. 또한 license 및 oa_url/pdf_url을 기록하십시오. Europe PMC license 필드와 PubMed get_copyright_status는 대체 수단입니다. Unpaywall(version, host_type)은 실제 이메일이 필요합니다: 사용자가 승인한 것만 사용하고, 그렇지 않으면 건너뛰십시오.

  • 데이터 없음 → unknown. 절대 oa, ? 접미사 또는 발행사 이름을 접근성 값으로 만들어내지 마십시오.
  • 비-논문 소스 → web.
  • 라이선스 알 수 없음 → 재배포에 대해 local-only로 취급하십시오.

3b. 에이전트 도달 가능성: 경로 사다리 (첫 번째 성공에서 중단)

  1. 보유(Held): 사용자의 라이브러리 또는 이전 실행.
  2. Europe PMC REST, 원시, 셸 curl을 통해 (셸이 접근 가능한 경우):
    • 검색: …/rest/search?query=DOI:"a" OR DOI:"b"&format=json, 호출당 ≤8개 DOI, ≥1초 간격;
    • 전문(full text): …/rest/{PMCID}/fullTextXML. 이것이 최상의 축어적 경로입니다. 셸이 접근할 수 없는 경우에만 WebFetch를 사용하십시오; WebFetch는 긴 URL을 거부하고 속도 제한이 있습니다.
    • 429 → 대기, 한 번 재시도. 5xx → blocked:http-5xx, 다음 경로로 이동.
  3. PubMed get_full_text_article: full_text가 비어 있지 않은 경우에만 유효합니다. 비어 있음 → blocked:empty-body.
  4. 프리프린트 서버: arXiv, bioRxiv/medRxiv .full 페이지.
  5. OA 위치: OpenAlex oa_url/pdf_url (직접 PDF URL은 기사 페이지가 실패할 때 작동할 수 있음), Semantic Scholar openAccessPdf, CORE, Crossref TDM 링크.
  6. 발행사 페이지: 호스트당 한 번 시도. DOI 리디렉션을 따르는 것이 해당 시도입니다. 로봇이 금지된 호스트(ScienceDirect / Elsevier linkinghub)로 절대 들어가지 마십시오.
  7. 저자 또는 기관 저장소 WebSearch "<정확한 제목>" pdf를 통해. "no text-and-data-mining / AI use" 알림을 존중하십시오.
  8. 아무것도 작동하지 않음: 이유를 기록하고 소스를 사용자에게 라우팅하십시오.

2026-10 관찰 (재테스트; 변경될 수 있음):

  • 원시 OK: curl을 통한 Europe PMC REST.
  • 추출 OK: Nature OA, Frontiers, MDPI, bioRxiv .full, arXiv, Springer OpenAlex의 PDF URL.
  • 차단됨: ScienceDirect (로봇), Wiley (OA 포함, 가져오기 오류), Springer 기사 페이지, BMC PDF 엔드포인트, PMC 웹사이트 (CAPTCHA), Annual Reviews, Science.
  • 신뢰할 수 없음: PubMed 전문 도구(종종 비어 있음), Europe PMC fullTextXML (일부 PMCID에 대해 HTTP 500), WebFetch를 통한 Europe PMC (속도 제한).

읽을 수 있다고 부르기 전에 검증하십시오:

  • 초록을 넘어선 본문 텍스트;
  • CAPTCHA / 로그인 / 접근 거부 페이지가 아님;
  • 비어 있거나 메타데이터 전용 XML이 아님.
  • 다운로드된 파일은 %PDF-로 시작하고, HTML이 아니며, 약 10KB를 초과하는 경우에만 유효합니다.
도달 가능성의미
readable:<route>전문 획득: readable:europepmc-xml (원시) · readable:pdf (원시) · readable:webfetch (추출, 축어적 불가)
abstract-only초록만 획득 가능 (일반적인 페이월)
blocked:<reason>paywall (초록조차 없음) · robots · captcha · login · http-4xx · http-5xx · fetch-error · rate-limited · empty-body · js-shell
unchecked시도되지 않음 (예산/상한). 절대 "not tested"라고 쓰지 마십시오.

레이블 규칙: 제어 단어가 먼저 오며, 정확히 이 테이블에 있는 대로입니다. 괄호 안에 메모가 따를 수 있습니다(예: verified (Crossref DOI)).

소스를 blocked 또는 abstract-only로 레이블하기 전에 녹색 사본을 찾으십시오. 법적으로 gold/hybrid/green/bronze이지만 사용자에게 blocked인 소스는 "free but blocked for AI" 섹션에 들어갑니다.

단계 4 — 무결성 (일괄 처리; 이름을 지정하기 전)

이름을 지정할 모든 소스(계획, ⭐, 또는 추천)에 대해 발견 직후 바로 실행하십시오. 최종 단계가 아닙니다.

  • 존재: 판정 verified · partial · mismatch · not_found · unchecked. Reference Checker check_references + OpenAlex resolve_references를 사용하십시오. 도구가 일치하지 않을 때, Crossref 또는 OpenAlex의 정확한 DOI 일치는 제목 검색 not_found보다 우선합니다. 둘 다 기록하십시오.
  • 책 장(chapter): 컨테이너를 확인하십시오. DOI뿐만 아니라: Crossref 기록(api.crossref.org/works/<doi> → container-title, page)에서 책 제목, 편집자, 페이지 및 발행사를 확인하십시오. 시험에서 DOI는 정확했지만 책 제목이 잘못된 경우가 있었습니다.
  • 철회(Retraction): check_retractions를 사용하십시오. Clear는 "notice not found"만 의미합니다.
  • 동료 검토(Peer review): 프리프린트에 레이블을 지정하십시오(원장에 peer: preprint; 소스 파일 항목에 `preprint`); 게시된 버전이 있으면 인용하십시오.
  • 오염(Contamination): 2개 이상의 인덱스에서 일치하지 않는 2024+ 프리프린트는 위조 위험이 있습니다. 재확인하거나 삭제하십시오.
  • 약탈적 발행지(Predatory venue) 플래그; 회색 문헌(Grey literature): URL + 접근 날짜 + Wayback 링크.

단계 5 — 등급, 역할, ⭐

등급 A–F: 자체 분야 적합성, 방법론, 동료 검토, 최신성, 데이터, 이해 충돌의 중앙값. 무결성 실패는 등급을 D로 제한합니다. 읽지 않았거나 초록 전용 소스는 잠정 등급(B?)을 받습니다. 역할: evidence · background · method · tool/data · counter. 비-논문 계층: T1 소유자 문서/사양/코드/법령 · T2 기관 · T3 전문 저널리즘 · T4 커뮤니티 · T5 벤더 마케팅.

⭐ 컨텍스트 팩 (5~10개 선택): 로컬에 저장한다면 구축 중인 것에 가장 큰 개선을 가져올 소스. 접근성은 관련 없음. 각 선택에는 다음이 필요합니다:

  • 중요한 이유;
  • 획득 방법 (OA 링크 / VIT 도서관 로그인 / 상호대차 / 저자에게 이메일);
  • 저장 이름 <firstauthor>-<year>-<keyword>.pdf;
  • 재배포: ok (CC-BY / CC0 / 퍼블릭 도메인) 또는 local-only (기타 모든 것, 알 수 없는 라이선스 포함).

편향 확인(Skew check): 한 차원에서 알려진 값의 ≥70% → 개수와 함께 언급하십시오.

단계 6 — 원장

research/<slug>/ledger.md: 첫 번째 표, 소스당 한 행, 열 순서는 다음과 같습니다: # · Short cite · Type · Role · Grade · access · licence · version · reach · held · read · integrity · retraction · peer · ⭐ · Save as · Link · found_via

  • read는 not-read로 시작합니다; research-plan이 full · sections:<which> · abstract · metadata를 채웁니다.
  • ⭐ = 선택의 경우 ok 또는 local-only, 그 외의 경우 -.
  • 제외된 행은 E1… ID를 사용합니다.

표 아래:

  • 검색 로그: 데이터베이스 · 날짜 · 쿼리 · 적중 수 · 어떤 용어가 무엇을 찾았는지.
  • 개수: 식별됨 → 중복 제거 후 → 전달되지 않음 (상한) → 유지됨 → 제외됨 (이유 포함). 개수 라인의 total = 제외된 행을 포함한 모든 원장 행.

번들된 검사기 python3 <이 스킬 폴더>/scripts/research_checks.py ledger research/<slug>/ledger.md를 실행하고(표준 라이브러리 Python, 자체 샌드박스에서 실행) 넘기기 전에 오류를 수정하십시오. 단독으로 사용되는 경우, research-plan에 설명된 대로 원장을 소스 파일로 렌더링하십시오.

개인정보 보호

사용자의 미발표 작업의 문장이 아닌 주제 단어로만 검색하십시오. 사용자의 이메일은 Unpaywall에만 전송되며, 사용자의 동의가 있을 때만 전송됩니다.

Individual skills in this repo

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

관련 스킬