본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

systematic-literature-review

연구 주제에 맞는 여러 논문을 arXiv에서 찾아 방법, 결과, 한계를 비교합니다. 공통 주제와 연구 공백을 정리하고 인용 형식을 통일한 문헌 고찰을 작성합니다.

원문원문 설명 보기

Use this skill when the user wants a systematic literature review, survey, or synthesis across multiple academic papers on a topic. Also covers annotated bibliographies and cross-paper comparisons. Searches arXiv and outputs reports in APA, IEEE, or BibTeX format. Not for single-paper tasks — use academic-paper-review for reviewing one paper.

AI 평가90점/ 100설치 방법 보기

이럴 때 유용합니다

  • 연구 주제의 동향을 알아볼 때
  • 여러 논문의 방법과 결과 비교
  • 주석이 있는 참고 문헌 목록 작성
  • 인용 형식을 통일한 문헌 고찰 작성

한국어 소개

할 수 있는 일

연구 주제와 관련된 여러 논문을 arXiv에서 찾아 연구 결과를 종합한 문헌 고찰을 작성합니다. 각 논문의 초록에서 연구 질문, 방법, 주요 결과, 한계를 추출하고 공통 방향, 결론의 일치와 차이, 미해결 과제를 정리합니다. 논문별 해설과 참고 문헌이 포함된 Markdown 보고서를 저장하며, 대화에는 요약과 주제 목록을 제시합니다.

이럴 때 유용합니다

새로운 연구 분야의 전체 모습을 파악하거나 여러 연구의 차이를 정리할 때 적합합니다. 주석이 있는 참고 문헌 목록을 만들거나 기간과 분야를 좁혀 연구 동향을 확인할 때도 사용할 수 있습니다.

사용 예시

  • “transformer attention 논문 20편을 조사해 APA 형식으로 고찰해 주세요.”
  • “diffusion models 논문 10편을 비교하고 BibTeX 참고 문헌을 붙여 주세요.”

주의 사항

검색 대상은 arXiv이며 기본 논문 수는 20편, 최대 50편입니다. 포함된 Python 검색 스크립트와 네트워크 연결을 사용하고, 추출 작업에는 task 도구와 subagent_enabled=true가 필요합니다. 단일 논문의 상세 심사는 대상이 아니며 해당 작업에는 academic-paper-review를 사용하는 방식입니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호여러 논문의 종합이 대상이며 단일 논문 심사는 academic-paper-review로 연결한다고 명시합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호검색 명령, 출력 JSON 항목, 약 다섯 편씩 처리하는 추출 단위가 제시되어 있습니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호검색 전에 범위와 저장 위치를 확인하고 검색 실패 시 중단하도록 명시합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족Python 스크립트와 task 도구가 필요하지만 실행 환경 구축 절차는 없습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 21일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(7)

  • SKILL.md16.9 KB
  • evals/evals.json4.4 KB
  • evals/trigger_eval_set.json3.5 KB
  • scripts/arxiv_search.py10.3 KB
  • templates/apa.md6.0 KB
  • templates/bibtex.md7.2 KB
  • templates/ieee.md5.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Systematic Literature Review Skill

Overview

This skill produces a structured systematic literature review (SLR) across multiple academic papers on a research topic. Given a topic query, it searches arXiv, extracts structured metadata (research question, methodology, key findings, limitations) from each paper in parallel, synthesizes themes across the full set, and emits a final report with consistent citations.

Distinct from academic-paper-review: that skill does deep peer review of a single paper. This skill does breadth-first synthesis across many papers. If the user hands you one paper URL and asks "review this paper", route to academic-paper-review instead.

When to Use This Skill

Use this skill when the user wants any of the following:

  • A literature survey on a topic ("survey transformer attention variants", "review the literature on diffusion models")
  • A synthesis across multiple papers ("what do recent papers say about X", "compare methodologies across papers on Y")
  • A systematic review with consistent citation format ("do an SLR on Z in APA format")
  • An annotated bibliography on a topic
  • An overview of research trends in a field over a time window

Do not use this skill when:

  • The user provides exactly one paper and asks to review it (use academic-paper-review)
  • The user asks a factual question that does not require synthesizing multiple sources (answer directly)
  • The user wants general web research without academic rigor (use standard web search)

Workflow

The workflow has five phases. Follow them in order.

Phase 1: Plan

Before doing any retrieval, confirm the following with the user. If any of these are unclear, ask one clarifying question that covers the missing pieces. Do not ask one question at a time.

  • Topic: the research area in plain English (e.g. "transformer attention variants").
  • Scope: how many papers (default 20, hard upper bound 50), optional time window (e.g. "last 2 years"), optional arXiv category (e.g. cs.CL, cs.CV).
  • Citation format: APA, IEEE, or BibTeX (default APA if the user does not specify and does not seem to be writing for a specific venue).
  • Output location: where to save the final report (default /mnt/user-data/outputs/).

If the user says "50+ papers", politely cap it at 50 and explain that synthesis quality degrades quickly past that — for larger surveys they should split by sub-topic.

Phase 2: Search arXiv

Call the bundled search script. Do not try to scrape arXiv by other means and do not write your own HTTP client — this script handles URL encoding, Atom XML parsing, and id normalization correctly.

python /mnt/skills/public/systematic-literature-review/scripts/arxiv_search.py \
  "<topic>" \
  --max-results <N> \
  [--category <cat>] \
  [--sort-by relevance] \
  [--start-date YYYY-MM-DD] \
  [--end-date YYYY-MM-DD]

IMPORTANT — extract 2-3 core keywords before searching. Do not pass the user's full topic description as the query. Before calling the script, mentally reduce the topic to its 2-3 most essential terms. Drop qualifiers like "in computer vision", "for NLP", "variants", "recent" — those belong in --category or --start-date, not in the query string.

Query phrasing — keep it short. The script wraps multi-word queries in double quotes for phrase matching on arXiv. This means:

  • "diffusion models" → searches for the exact phrase → good, returns relevant papers.
  • "diffusion models in computer vision" → searches for that exact 5-word phrase → too specific, likely returns 0 results because few papers contain that exact string.

Use 2-3 core keywords as the query, and use --category to narrow the field instead of stuffing field names into the query. Examples:

User saysGood queryBad query
"diffusion models in computer vision""diffusion models" --category cs.CV"diffusion models in computer vision"
"transformer attention variants""transformer attention""transformer attention variants in NLP"
"graph neural networks for molecules""graph neural networks" --category cs.LG"graph neural networks for molecular property prediction"

The script prints a JSON array to stdout. Each paper has: id, title, authors, abstract, published, updated, categories, pdf_url, abs_url.

Sort strategy:

  • Always use relevance sorting — arXiv's BM25-style scoring ensures results are actually about the user's topic. submittedDate sorting returns the most recently submitted papers in the category regardless of topic relevance, which produces mostly off-topic results.
  • When the user asks for "recent" papers or gives a time window, use --sort-by relevance combined with --start-date to constrain the time range while keeping results on-topic. For example, "recent diffusion model papers" → --sort-by relevance --start-date 2024-01-01, not --sort-by submittedDate.
  • submittedDate sorting is only appropriate when the user explicitly asks for chronological order (e.g. "show me papers in the order they were published"). This is rare.
  • lastUpdatedDate is rarely useful; ignore it unless the user asks.

Run the search exactly once. Do not retry with modified queries if the results seem imperfect — arXiv's relevance ranking is what it is. Retrying with different query phrasings wastes tool calls and risks hitting the recursion limit. If the results are genuinely empty (0 papers), tell the user and suggest they broaden their topic or remove the category filter.

If the script returns fewer papers than requested, that is the real size of the arXiv result set for the query. Do not pad the list — report the actual count to the user and proceed.

If the script fails (network error, non-200 from arXiv), tell the user which error and stop. Do not try to fabricate paper metadata.

Do not save the search results to a file — the JSON stays in your context for Phase 3. The only file saved during the entire workflow is the final report in Phase 5.

Phase 3: Extract metadata in parallel

You MUST delegate extraction to subagents via the task tool — do not extract metadata yourself. This is non-negotiable. Specifically, do NOT do any of the following:

  • ❌ Write python -c "papers = [...]" or any Python/bash script to process papers
  • ❌ Extract metadata inline in your own context by reading abstracts one by one
  • ❌ Use any tool other than task for this phase

Instead, you MUST call the task tool to spawn subagents. The reason: extracting 10-50 papers in your own context consumes too many tokens and degrades synthesis quality in Phase 4. Each subagent runs in an isolated context with only its batch of papers, producing cleaner extractions.

Split papers into batches of ~5, then for each batch, call the task tool with subagent_type: "general-purpose". Each subagent receives the paper abstracts as text and returns structured JSON.

Concurrency limit: at most 3 subagents per turn. The DeerFlow runtime enforces MAX_CONCURRENT_SUBAGENTS = 3 and will silently drop any extra dispatches in the same turn — the LLM will not be told this happened, so strictly follow the round strategy below.

Round strategy — use this decision table, do not compute the split yourself:

Paper countBatches of ~5 papersRoundsPer-round subagent count
1–51 batch1 round1 subagent
6–102 batches1 round2 subagents
11–153 batches1 round3 subagents
16–204 batches2 rounds3 + 1
21–255 batches2 rounds3 + 2
26–306 batches2 rounds3 + 3
31–357 batches3 rounds3 + 3 + 1
36–408 batches3 rounds3 + 3 + 2
41–459 batches3 rounds3 + 3 + 3
46–5010 batches4 rounds3 + 3 + 3 + 1

Never dispatch more than 3 subagents in the same turn. When a row says "2 rounds (3 + 1)", that means: first turn dispatches 3 subagents in parallel, wait for all 3 to complete, then second turn dispatches 1 subagent. Rounds are strictly sequential at the main-agent level.

If the paper count lands between rows (e.g. 23 papers), round up to the next row's layout but only dispatch as many batches as you actually need — the decision table gives you the shape, not a rigid prescription.

Do the batching at the main-agent level: you already have every paper's abstract from Phase 2, so each subagent receives pure text input. Subagents should not need to access the network or the sandbox — their only job is to read text and return JSON. Do not ask subagents to re-run arxiv_search.py; that would waste tokens and risk rate-limiting.

What each subagent receives, as a structured prompt:

Execute this task: extract structured metadata and key findings from the
following arXiv papers.

Papers:
[Paper 1]
arxiv_id: 1706.03762
title: Attention Is All You Need
authors: Ashish Vaswani, Noam Shazeer, ...
published: 2017-06-12
abstract: <full abstract text>

[Paper 2]
arxiv_id: ...
...

For each paper, return a JSON object with these fields:
- arxiv_id (string)
- title (string)
- authors (list of strings)
- published_date (string, YYYY-MM-DD)
- research_question (1 sentence, what problem the paper tackles)
- methodology (1-2 sentences, how they tackle it)
- key_findings (3-5 bullet points, what they actually found)
- limitations (1-2 sentences, what they acknowledge or what is obviously missing)

Return the result as a JSON array, one object per paper, in the same
order as the input. Do not include any text outside the JSON — no
preamble, no markdown fences, just the array.

Parsing subagent results: the task tool returns strings with a fixed prefix like Task Succeeded. Result: [...JSON...]. Strip the Task Succeeded. Result: prefix (or Task failed. / Task timed out. prefixes) before trying to parse JSON. If a batch fails or returns unparseable JSON, log it, note which papers were affected, and continue with the remaining batches — do not fail the whole synthesis on one bad batch.

After all rounds complete, flatten the per-batch arrays into a single list of paper metadata objects, preserving order.

Phase 4: Synthesize and format

Now produce the final SLR report. Two things happen here: cross-paper synthesis (thematic analysis) and citation formatting.

Cross-paper synthesis: the report must do more than list papers. At minimum, identify:

  • Themes: 3-6 recurring research directions, approaches, or problem framings across the set.
  • Convergences: findings that multiple papers agree on.
  • Disagreements: where papers reach different conclusions or use incompatible methodologies.
  • Gaps: what the collective literature does not yet address (often stated explicitly in the "limitations" fields).

If the paper set is too small or too heterogeneous to support thematic synthesis (e.g. 5 papers on wildly different sub-topics), say so explicitly in the report — do not force themes that are not there.

Citation formatting: the exact format depends on user preference. Read only the template file that matches the user's requested format, not all three:

  • templates/apa.md — APA 7th edition. Default for social sciences and most CS journals. Use when the user requests APA or does not specify a format.
  • templates/ieee.md — IEEE numeric citations. Use when the user targets an IEEE conference or journal, or explicitly asks for IEEE.
  • templates/bibtex.md — BibTeX entries. Use when the user mentions BibTeX, LaTeX, or wants machine-readable references. Important: arXiv papers are cited as @misc, not @article — the BibTeX template covers this explicitly.

Each template contains both the citation rules and a full report structure (executive summary, themes, per-paper annotations, references, methodology section). Follow the template's structure verbatim for the report body, then fill in content from your Phase 3 metadata.

Phase 5: Save and present

Save the full report to /mnt/user-data/outputs/slr-<topic-slug>-<YYYYMMDD>.md where <topic-slug> is a lowercased hyphenated version of the topic (e.g. transformer-attention). Then call the present_files tool with that path so the user can download it.

In the chat message, show a short preview so the user immediately sees value without opening the file:

  1. Executive summary — the 3–5 sentence paragraph from the top of the report, verbatim.
  2. Themes list — bullet list of the themes you identified in Phase 4 synthesis (just the theme names + one-line gloss, not the full theme sections).
  3. Paper count + a pointer to the file — e.g. "Full report with 20 papers, per-paper annotations, and formatted references saved to slr-transformer-attention-20260409.md."

Do not dump the full 2000+ word report inline — per-paper annotations, references, and methodology belong in the file. The preview is there to let the user judge the report at a glance and decide whether to open it.

Examples

Example 1: Typical SLR request

User: "Do a systematic literature review of recent transformer attention variants, 20 papers, APA format."

Your flow:

  1. Phase 1: confirm topic (transformer attention variants), scope (20 papers, default time window), format (APA). Ask one clarification only if something is missing (e.g. "Any particular time window, or should I default to the last 3 years?").
  2. Phase 2: arxiv_search.py "transformer attention" --max-results 20 --sort-by relevance --start-date 2023-01-01.
  3. Phase 3: 20 papers → round 1 = 3 subagents × 5 papers = 15 covered, round 2 = 1 subagent × 5 papers = 5 covered. Aggregate.
  4. Phase 4: read templates/apa.md, write the report using its structure, fill in themes + per-paper annotations from Phase 3 metadata.
  5. Phase 5: save to slr-transformer-attention-20260409.md, call present_files.

Example 2: Small-set request with ambiguity

User: "Survey a few papers on diffusion models for me."

Your flow:

  1. Phase 1: "a few" is ambiguous. Ask one question: "How many papers would you like — 10, 20, or 30? And any citation format preference (APA is the default)?"
  2. User responds "10, BibTeX".
  3. Phase 2: arxiv_search.py "diffusion models" --max-results 10 --category cs.CV.
  4. Phase 3: 10 papers → single round, 2 subagents × 5 papers.
  5. Phase 4: read templates/bibtex.md, format with @misc entries (not @article).
  6. Phase 5: save and present.

Example 3: Out-of-scope request

User: "Here's one paper (https://arxiv.org/abs/1706.03762). Can you review it?"

This is a single-paper peer review, not a literature survey. Do not use this skill. Route to academic-paper-review instead.

Notes

  • Prerequisite: subagent_enabled must be true. Phase 3 requires the task tool for parallel metadata extraction. This tool is only loaded when subagent_enabled is set to true in the runtime config (config.configurable.subagent_enabled). Without it, the task tool will not appear in the available tools and Phase 3 cannot execute as designed.
  • arXiv only, by design. This skill does not query Semantic Scholar, PubMed, or Google Scholar. arXiv covers the bulk of CS/ML/physics/math preprints, which is what DeerFlow users most often want to survey. Multi-source academic search belongs in a dedicated MCP server, not inside this skill.
  • Hard upper bound of 50 papers. This is tied to the Phase 3 concurrency strategy (max 3 subagents per round, ~5 papers each, at most ~3 rounds). Surveys larger than 50 papers degrade in synthesis quality and are better done by splitting into sub-topics.
  • Phase 3 requires subagents to be enabled. This skill's parallel extraction step hard-requires the task tool, which is only available when subagent_enabled=true at runtime. If subagents are unavailable, do not claim to execute the Phase 3 parallel plan; instead, tell the user that subagents must be enabled for the full workflow, or offer to narrow/split the request into a smaller manual review.
  • Subagent results are strings, not objects. Always strip the Task Succeeded. Result: / Task failed. / Task timed out. prefixes before parsing the JSON payload.
  • The id field is a bare arXiv id (e.g. 1706.03762), not a URL and not with a version suffix. abs_url / pdf_url hold the full URLs if you need them.
  • Synthesis, not listing. The final report must identify themes and compare findings across papers. A report that only lists papers one after another is a failure mode — if you cannot find themes, say so explicitly instead of faking them.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

academic-paper-review

무료요약 있음AI 평가 80점

학술 논문의 주장과 근거, 연구 방법, 독창성, 관련 연구와의 관계를 평가합니다. 장점과 약점을 구체적으로 짚고 개선안을 담은 검토문으로 정리합니다.

  • 논문의 성과와 한계 파악
  • 동료 심사 의견 초안 작성
  • 실험 설계와 재현성 확인
bytedance/deer-flow8.4만2026년 10월 23일 업데이트

blocking-io-guard

무료요약 있음AI 평가 90점

Python 비동기 처리를 멈출 수 있는 입출력 호출을 찾아 수정과 테스트 추가로 연결합니다. 문제를 재현하면 테스트가 실패하는지까지 확인해 재발을 감시합니다.

  • 비동기 Python 변경 사항 검사
  • 전체 코드의 입출력 차단 위험 점검
  • 정리 작업과 오류 분기 테스트 추가
bytedance/deer-flow8.4만2026년 10월 23일 업데이트

bootstrap

무료요약 있음AI 평가 90점

대화로 업무와 선호, AI에 맡길 판단 범위를 정리하고 AI 파트너의 행동을 정하는 SOUL.md를 생성하거나 수정합니다. 말투와 반대 의견을 전하는 방식도 구체화합니다.

  • AI의 성격과 역할을 처음 정할 때
  • 말투와 반대 의견 전달 방식 조정
  • AI가 스스로 판단할 범위 정리
bytedance/deer-flow8.4만2026년 10월 23일 업데이트

chart-visualization

무료요약 있음AI 평가 80점

데이터 특성에 맞춰 26가지 그래프와 도표 중 적절한 형식을 선택해 이미지를 생성합니다. 추세, 비교, 분포, 관계를 시각화하고 이미지 URL과 생성 설정을 반환합니다.

  • 시간에 따른 변화 시각화
  • 항목과 구성 비율 비교
  • 분포와 상관관계 표현
bytedance/deer-flow8.4만2026년 10월 23일 업데이트

claude-to-deerflow

무료요약 있음AI 평가 80점

실행 중인 DeerFlow에 조사와 분석을 요청하고 답변 조회, 대화 이어가기, 자료 업로드를 수행합니다. 모델과 스킬 목록 및 실행 상태도 확인합니다.

  • DeerFlow에 조사와 분석을 맡깁니다
  • 대화에 자료를 첨부합니다
  • 이전 대화를 이어갑니다
bytedance/deer-flow8.4만2026년 10월 23일 업데이트

code-documentation

무료요약 있음AI 평가 100점

실제 소스 코드를 읽고 프로젝트 규모에 맞춰 설치 절차와 사용 예시가 있는 README, API 문서, 구성도, 개발자 가이드와 변경 이력을 정리합니다.

  • 설치 절차와 사용 예시가 있는 README를 만듭니다
  • 공개 함수의 매개변수와 반환값을 문서화합니다
  • 신규 개발자용 구성도와 기여 안내를 만듭니다
bytedance/deer-flow8.4만2026년 10월 23일 업데이트

bytedance의 스킬 모두 보기

이 스킬의 문제 신고