Communityコーディング&開発github.com

系統的文献レビュー

このスキルは、ユーザーが複数の学術論文にわたる系統的文献レビュー、調査、または統合を希望する場合に使用します。注釈付き参考文献や論文間比較もカバーします。arXivを検索し、APA、IEEE、またはBibTeX形式でレポートを出力します。1つの論文のみのタスクには使用しません。その場合はacademic-paper-reviewを使用してください。

系統的文献レビュー とは?

このスキルは、AIエージェントが複数の学術論文にわたって系統的文献レビュー(SLR)を実行できるようにするものです。ユーザーが研究トピックを指定すると、arXivを検索し、各論文から研究課題、方法論、主要な発見、限界などの構造化メタデータを抽出します。その後、論文全体にわたるテーマを統合し、一貫した引用形式(APA、IEEE、BibTeX)で最終レポートを生成します。このスキルは、Claude Code、Cursor、Codexなどの主要なAIエージェントプラットフォームで使用できるように設計されており、特に複数論文の統合が必要な文献調査、注釈付き参考文献、研究トレンドの概要作成に役立ちます。ワークフローは計画、検索、メタデータ抽出(サブエージェント並列処理)、統合とフォーマット、保存と表示の5段階で構成され、大規模な論文セットを効率的に処理するためにサブエージェントを活用します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bytedance/deer-flow/tree/main/skills/public/systematic-literature-review

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

系統的文献レビュースキル

概要

このスキルは、研究トピックに関する複数の学術論文にわたる構造化された系統的文献レビュー(SLR) を作成します。トピッククエリを入力として、arXivを検索し、各論文から構造化メタデータ(研究課題、方法論、主要な発見、限界)を並行して抽出し、論文全体のテーマを統合し、一貫した引用を含む最終レポートを出力します。

academic-paper-review との違い: そのスキルは1つの論文の詳細なピアレビューを行います。このスキルは多くの論文にわたる幅優先の統合を行います。ユーザーが1つの論文URLを渡して「この論文をレビューして」と依頼した場合は、代わりに academic-paper-review にルーティングしてください。

このスキルを使用するタイミング

ユーザーが以下のいずれかを希望する場合にこのスキルを使用します:

  • トピックに関する文献調査(「トランスフォーマーアテンションの変種を調査して」、「拡散モデルの文献をレビューして」)
  • 複数の論文にわたる統合(「最近の論文はXについて何と言っているか」、「Yに関する論文の方法論を比較して」)
  • 一貫した引用形式による系統的レビュー(「ZについてAPA形式でSLRを実施して」)
  • トピックに関する注釈付き参考文献
  • 一定期間における分野の研究トレンドの概要

以下の場合にはこのスキルを使用しないでください:

  • ユーザーが1つの論文のみを提供し、そのレビューを依頼した場合(academic-paper-review を使用)
  • 複数の情報源を統合する必要のない事実質問をユーザーがした場合(直接回答)
  • ユーザーが学術的厳密性を必要としない一般的なWeb調査を希望する場合(標準のWeb検索を使用)

ワークフロー

ワークフローは5つのフェーズで構成されます。順番に従って実行してください。

フェーズ1: 計画

検索を実行する前に、以下の項目をユーザーと確認してください。不明な点がある場合は、不足している部分をカバーする1つの確認質問をしてください。質問は一度に1つずつ行わないでください。

  • トピック: 平易な英語での研究領域(例:「トランスフォーマーアテンションの変種」)
  • 範囲: 論文数(デフォルト20、上限50)、オプションの期間(例:「過去2年間」)、オプションのarXivカテゴリ(例:cs.CL、cs.CV)
  • 引用形式: APA、IEEE、またはBibTeX(ユーザーが指定せず、特定の会議誌に向けて執筆しているように見えない場合はデフォルトでAPA)
  • 出力場所: 最終レポートの保存先(デフォルトは /mnt/user-data/outputs/)

ユーザーが「50+論文」と言った場合は、丁寧に50に制限し、それを超えると統合の質が急速に低下することを説明してください。大規模な調査の場合はサブトピックに分割する必要があります。

フェーズ2: arXivの検索

バンドルされた検索スクリプトを呼び出してください。他の方法でarXivをスクレイピングしたり、独自のHTTPクライアントを作成したりしないでください。このスクリプトはURLエンコーディング、Atom XMLパース、ID正規化を正しく処理します。

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]

重要 — 検索前に2〜3のコアキーワードを抽出してください。 ユーザーの完全なトピック説明をクエリとして渡さないでください。スクリプトを呼び出す前に、トピックを最も重要な2〜3の用語に精神的に削減してください。「in computer vision」「for NLP」「variants」「recent」などの修飾語は削除してください。これらは --category または --start-date に属し、クエリ文字列には含めません。

クエリのフレージング — 短く保ってください。 スクリプトは複数単語のクエリを二重引用符で囲み、arXivでフレーズマッチングを行います。つまり:

  • "diffusion models" → 正確なフレーズを検索 → 良い、関連する論文を返す。
  • "diffusion models in computer vision" → その正確な5語のフレーズを検索 → 特定すぎて、おそらく0件の結果を返す。なぜなら、その正確な文字列を含む論文はほとんどないからです。

クエリとして2〜3のコアキーワードを使用し、 --category を使用してフィールドを絞り込みます。フィールド名をクエリに詰め込まないでください。例:

ユーザーの発言適切なクエリ不適切なクエリ
「コンピュータビジョンにおける拡散モデル」"diffusion models" --category cs.CV"diffusion models in computer vision"
「トランスフォーマーアテンションの変種」"transformer attention""transformer attention variants in NLP"
「分子のためのグラフニューラルネットワーク」"graph neural networks" --category cs.LG"graph neural networks for molecular property prediction"

スクリプトはJSON配列を標準出力に出力します。各論文には以下が含まれます: id、title、authors、abstract、published、updated、categories、pdf_url、abs_url。

ソート戦略:

  • 常に relevance ソートを使用 — arXivのBM25スタイルのスコアリングにより、結果がユーザーのトピックに実際に関連していることが保証されます。submittedDate ソートは、トピックの関連性に関係なく、カテゴリ内で最も最近提出された論文を返すため、ほとんどがトピック外の結果になります。
  • ユーザーが「最近の」論文や期間を指定した場合は、--sort-by relevance を --start-date と組み合わせて使用し、時間範囲を制限しながら結果をトピックに関連させてください。たとえば、「最近の拡散モデルの論文」→ --sort-by relevance --start-date 2024-01-01 であり、--sort-by submittedDate ではありません。
  • submittedDate ソートは、ユーザーが明示的に時系列順を要求した場合(例:「公開された順番に論文を表示して」)にのみ適切です。これはまれです。
  • lastUpdatedDate はめったに有用ではありません。ユーザーが要求しない限り無視してください。

検索は1回だけ実行してください。 結果が不完全に見えても、変更したクエリで再試行しないでください。arXivの関連性ランキングはそのままです。異なるクエリフレージングで再試行すると、ツール呼び出しが無駄になり、再帰制限に達するリスクがあります。結果が本当に空(0論文)の場合は、ユーザーに伝え、トピックを広げるかカテゴリフィルターを削除するよう提案してください。

スクリプトが要求よりも少ない論文を返した場合、それがクエリに対するarXivの実際の結果セットサイズです。リストを水増ししないでください。実際の数をユーザーに報告し、続行してください。

スクリプトが失敗した場合(ネットワークエラー、arXivからの200以外の応答)、どのエラーかをユーザーに伝えて停止してください。論文メタデータを作り出そうとしないでください。

検索結果をファイルに保存しないでください — JSONはフェーズ3のためにコンテキスト内に保持されます。ワークフロー全体で保存される唯一のファイルは、フェーズ5の最終レポートです。

フェーズ3: メタデータの並行抽出

task ツールを使用して、抽出をサブエージェントに委任する必要があります。自分でメタデータを抽出しないでください。 これは譲れません。具体的には、以下のことを行わないでください:

  • ❌ python -c "papers = [...]" またはその他のPython/bashスクリプトを作成して論文を処理する
  • ❌ 要約を1つずつ読んで、自分のコンテキスト内でメタデータをインライン抽出する
  • ❌ このフェーズで task 以外のツールを使用する

代わりに、task ツールを呼び出してサブエージェントを起動する必要があります。理由: 10〜50の論文を自分のコンテキストで抽出すると、トークンを大量に消費し、フェーズ4の統合の質が低下します。各サブエージェントは、自身のバッチの論文のみを使用して分離されたコンテキストで実行され、よりクリーンな抽出が生成されます。

論文を約5件のバッチに分割し、各バッチに対して subagent_type: "general-purpose" を指定して task ツールを呼び出します。各サブエージェントは論文の要約をテキストとして受け取り、構造化JSONを返します。

同時実行制限: 1ターンあたり最大3つのサブエージェント。 DeerFlowランタイムは MAX_CONCURRENT_SUBAGENTS = 3 を強制し、同じターンに追加でディスパッチされたものは静かにドロップされます。このことがLLMに通知されることはないため、以下のラウンド戦略を厳密に従ってください。

ラウンド戦略 — 以下の決定表を使用し、分割を自分で計算しないでください:

論文数約5件のバッチラウンド数ラウンドあたりのサブエージェント数
1–51 バッチ1 ラウンド1 サブエージェント
6–102 バッチ1 ラウンド2 サブエージェント
11–153 バッチ1 ラウンド3 サブエージェント
16–204 バッチ2 ラウンド3 + 1
21–255 バッチ2 ラウンド3 + 2
26–306 バッチ2 ラウンド3 + 3
31–357 バッチ3 ラウンド3 + 3 + 1
36–408 バッチ3 ラウンド3 + 3 + 2
41–459 バッチ3 ラウンド3 + 3 + 3
46–5010 バッチ4 ラウンド3 + 3 + 3 + 1

同じターンに3つ以上のサブエージェントを決してディスパッチしないでください。 行に「2ラウンド (3 + 1)」と書かれている場合、それは: 最初のターンで3つのサブエージェントを並行してディスパッチし、すべての3つが完了するのを待ち、次に2番目のターンで1つのサブエージェントをディスパッチすることを意味します。ラウンドはメインエージェントレベルで厳密に順次実行されます。

論文数が行の間にある場合(例:23論文)、次の行のレイアウトに切り上げますが、実際に必要な数のバッチのみをディスパッチします。決定表は形状を示すものであり、厳格な規定ではありません。

メインエージェントレベルでバッチ処理を行ってください: フェーズ2ですでにすべての論文の要約を取得しているため、各サブエージェントは純粋なテキスト入力を受け取ります。サブエージェントはネットワークやサンドボックスにアクセスする必要はありません。彼らの唯一の仕事はテキストを読み、JSONを返すことです。サブエージェントに arxiv_search.py を再実行させないでください。トークンの無駄遣いであり、レート制限のリスクがあります。

各サブエージェントが受け取るもの(構造化プロンプトとして):

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.

サブエージェント結果の解析: taskツールは Task Succeeded. Result: [...JSON...] のような固定プレフィックスを持つ文字列を返します。JSONを解析する前に、Task Succeeded. Result: プレフィックス(または Task failed. / Task timed out. プレフィックス)を削除してください。バッチが失敗した場合、または解析不可能なJSONを返した場合、それを記録し、影響を受けた論文をメモし、残りのバッチで続行してください。1つのバッチの不良で統合全体を失敗させないでください。

すべてのラウンドが完了したら、バッチごとの配列を1つの論文メタデータオブジェクトのリストに平坦化し、順序を保持してください。

フェーズ4: 統合とフォーマット

ここで最終的なSLRレポートを作成します。ここでは、論文間の統合(テーマ分析)と引用フォーマットの2つのことが行われます。

論文間の統合: レポートは単に論文をリストする以上のことを行う必要があります。最低限、以下を特定してください:

  • テーマ: セット全体にわたる3〜6の繰り返し発生する研究方向、アプローチ、または問題の枠組み。
  • 収束: 複数の論文が一致する発見。
  • 不一致: 論文が異なる結論に達している、または互換性のない方法論を使用している箇所。
  • ギャップ: 集合的な文献がまだ扱っていない点(多くの場合、「限界」フィールドに明示的に記載されています)。

論文セットが小さすぎる、またはテーマ統合をサポートするには異種すぎる場合(例:まったく異なるサブトピックに関する5論文)、レポートでその旨を明示的に述べてください。存在しないテーマを強制しないでください。

引用フォーマット: 正確な形式はユーザーの好みに依存します。ユーザーが要求した形式に一致するテンプレートファイルのみを読み、3つすべてを読まないでください:

  • templates/apa.md — APA第7版。社会科学およびほとんどのコンピュータサイエンスジャーナルのデフォルト。ユーザーがAPAを要求した場合、または形式を指定しなかった場合に使用します。
  • templates/ieee.md — IEEE数字引用。ユーザーがIEEE会議やジャーナルを対象としている場合、または明示的にIEEEを要求した場合に使用します。
  • templates/bibtex.md — BibTeXエントリ。ユーザーがBibTeX、LaTeX、または機械可読な参考文献を言及した場合に使用します。重要: arXiv論文は @article ではなく @misc として引用されます。BibTeXテンプレートはこれを明示的にカバーしています。

各テンプレートには、引用ルールと完全なレポート構造(エグゼクティブサマリー、テーマ、論文ごとの注釈、参考文献、方法論セクション)の両方が含まれています。レポート本文についてはテンプレートの構造をそのまま守り、フェーズ3のメタデータから内容を埋めてください。

フェーズ5: 保存と提示

完全なレポートを /mnt/user-data/outputs/slr-<topic-slug>-<YYYYMMDD>.md に保存します。ここで <topic-slug> は小文字のハイフン繋ぎにしたトピックです(例:transformer-attention)。次に、present_files ツールをそのパスで呼び出し、ユーザーがダウンロードできるようにします。

チャットメッセージでは、ユーザーがファイルを開かなくてもすぐに価値を確認できるように、短いプレビューを表示します:

  1. エグゼクティブサマリー — レポート冒頭の3〜5文の段落をそのまま。
  2. テーマリスト — フェーズ4の統合で特定したテーマの箇条書き(テーマ名と1行の説明のみ。完全なテーマセクションは含めません)。
  3. 論文数 + ファイルへのポインタ — 例:「20論文、論文ごとの注釈、およびフォーマットされた参考文献を含む完全なレポートを slr-transformer-attention-20260409.md に保存しました。」

完全な2000語以上のレポートをインラインでダンプしないでください。論文ごとの注釈、参考文献、方法論はファイルに含まれています。プレビューはユーザーがレポートを一目で評価し、開くかどうかを判断できるようにするためのものです。

例

例1: 典型的なSLRリクエスト

ユーザー: 「最近のトランスフォーマーアテンションの変種について、20論文、APA形式で系統的文献レビューを実施してください。」

フロー:

  1. フェーズ1: トピック(トランスフォーマーアテンションの変種)、範囲(20論文、デフォルトの期間)、形式(APA)を確認します。何か不足している場合にのみ1つの確認を行います(例:「特定の期間はありますか?それともデフォルトで過去3年にしますか?」)。
  2. フェーズ2: arxiv_search.py "transformer attention" --max-results 20 --sort-by relevance --start-date 2023-01-01。
  3. フェーズ3: 20論文 → ラウンド1 = 3サブエージェント × 5論文 = 15カバー、ラウンド2 = 1サブエージェント × 5論文 = 5カバー。
  4. フェーズ4: APAテンプレートを読み、テーマを統合し、レポートを作成します。
  5. フェーズ5: slr-transformer-attention-20260409.md に保存し、プレビューを表示します。

Individual skills in this repo

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

academic-paper-review

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

bootstrap

Generate a personalized SOUL.md through a warm, adaptive onboarding conversation. Trigger when the user wants to create, set up, or initialize their AI partner's identity — e.g., "create my SOUL.md", "bootstrap my agent", "set up my AI partner", "define who you are", "let's do onboarding", "personalize this AI", "make you mine", or when a SOUL.md is missing. Also trigger for updates: "update my SOUL.md", "change my AI's personality", "tweak the soul".

bytedance/academic-paper-review

Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".

bytedance/chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

bytedance/claude-to-deerflow

Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow, manage DeerFlow memory, upload files to DeerFlow threads, or delegate complex research tasks to DeerFlow. Also use when the user mentions deerflow, deer flow, or wants to run a deep research task that DeerFlow can handle.

bytedance/consulting-analysis

Use this skill when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial analysis, industry research, competitive intelligence, investment due diligence, or any consulting-grade analytical report. This skill operates in two phases — (1) generating a structured analysis framework with chapter skeleton, data query requirements, and analysis logic, and (2) after data collection by other skills, producing the final consulting-grade report with structured narratives, embedded charts, and strategic insights.

bytedance/data-analysis

Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to CSV/JSON/Markdown.

bytedance/deep-research

Use this skill instead of WebSearch for ANY question requiring web research. Trigger on queries like "what is X", "explain X", "compare X and Y", "research X", or before content generation tasks. Provides systematic multi-angle research methodology instead of single superficial searches. Use this proactively when the user's question needs online information.

bytedance/find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

bytedance/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

bytedance/github-deep-research

Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams. Triggers on Github repository URL or open source projects.

bytedance/image-generation

Use this skill when the user requests to generate, create, imagine, or visualize images including characters, scenes, products, or any visual content. Supports structured prompts and reference images for guided generation.

bytedance/podcast-generation

Use this skill when the user requests to generate, create, or produce podcasts from text content. Converts written content into a two-host conversational podcast audio format with natural dialogue.

bytedance/ppt-generation

Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.

bytedance/skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

bytedance/surprise-me

Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".

bytedance/vercel-deploy

Deploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.

bytedance/video-generation

Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.

bytedance/web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

関連スキル