사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/vincenzoimp/academic-research-skills --skill digest-paper시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
Digest Paper
Digest one paper end-to-end into sota/papers/<citekey>/. This is the atomic unit of SOTA work: it either completes fully or it does not happen. Never leave a partial digest.
Read First
sota/README.md— synthesis format and digestion rules (the scaffold owns the format)references/bibliography-rules.md— citekeys, version resolution, cross-validation
MCP Preflight (hard gate)
Before anything else, probe the scholarly MCP servers with one trivial query each (e.g., search a known title). The gate is by capability, never by API key — a missing key only throttles, it never blocks:
- Required:
arxiv(full text) must respond, AND at least one
bibliographic source — semantic-scholar, dblp, or openalex — must respond.
- If those required capabilities are unavailable: STOP, report which servers
failed, and ask the user to fix the MCP setup.
- If a reachable source is down but the gate is met, proceed and note the
reduced cross-check in the synthesis.
Never fall back to model memory, web search, or scraping. A citation exists only if an MCP lookup produced it.
Procedure
- Resolve identity: from the given title/DOI/arXiv/PDF, find the paper via
semantic-scholar (and dblp for CS work). Ask the user only if the match is genuinely ambiguous.
- Resolve the most authoritative version: published venue > latest arXiv
revision > other preprint, per references/bibliography-rules.md. Record both DOI and arXiv id when both exist.
- Choose the citekey (
<firstauthor><year><topicword>, lowercase) and
check it is unused: not in references.bib, no sota/papers/<citekey>/ folder.
- Create
sota/papers/<citekey>/and fetch the full-text PDF aspaper.pdf
through the fallback pipeline, most-authoritative/legal first: (1) arxiv MCP for arXiv papers; (2) otherwise paper-search, which falls back publisher/DOI open-access → Unpaywall → green-OA repositories (Europe PMC/PMC, CORE, OpenAIRE, Zenodo, HAL, SSRN, …) → Sci-Hub as the last resort. Record the resulting URL in metadata.yaml (pdf_source). The PDF is only the reading copy: the citation and the authoritative version always come from the scholarly MCPs (reconciled by DOI), never from where the PDF was fetched. If even the last resort yields nothing, stop, remove the folder, and record the candidate in sota/queue.md with decision unresolvable-via-mcp. Abstract-only digestion is forbidden.
- Read the full paper — the PDF, cover to cover, not the abstract.
- Write
synthesis.mdfollowing the exact section order in
sota/README.md. Verify every exact number and quotation against the PDF.
- Write the BibTeX entry into the SOTA section of
references.bib, built
from MCP-sourced fields cross-checked per references/bibliography-rules.md. Never write a field from memory.
- Fetch citations via semantic-scholar: outgoing references and incoming
citations. Select the relevant ones, not all. Write metadata.yaml with every field from the schema in sota/README.md, including the mandatory verified: block. Use citekeys for papers already in the SOTA, external ids otherwise.
- Append the row to
sota/index.mdwith statusdigested. - Add in-scope leads from
cites/cited_byand the synthesis "Citation
leads" section to sota/queue.md as pending, with provenance.
- Run
make checkfrom the project root and fix anything it reports.
Rules
- All-or-nothing: if any step cannot complete, revert the partial folder
and record the paper in queue.md instead.
- One paper = one folder = one bib entry = one index row (1:1:1).
- While digesting, the only edit allowed in other papers' folders is
upgrading an external id to a citekey in their cites/cited_by lists.
Done When
sota/papers/<citekey>/haspaper.pdf,synthesis.md,metadata.yamlreferences.bibandsota/index.mdeach gained exactly one entrymake checkpasses


