jimezsa/opencolab/projects/SKILLS/deep-research/SKILL.md
deep-research
Deep scientific investigation with papercli. Iterative search, broad PDF corpus download and reading, equation-level analysis, and exhaustive referenced markdown findings.
- Source repository stars
- 11
- Declared platforms
- 0
- Static risk flags
- 3
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
Use this skill for comprehensive scientific research tasks such as state-of-the-art reviews, deep comparisons, research strategy, and evidence-heavy decision support.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/jimezsa/opencolab --skill "projects/SKILLS/deep-research"Inspect the Agent Skill "deep-research" from https://github.com/jimezsa/opencolab/blob/f647b8e4c37a18b4bd3443bd4a8f5470ea1b9d09/projects/SKILLS/deep-research/SKILL.md at commit f647b8e4c37a18b4bd3443bd4a8f5470ea1b9d09. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
End-to-End Workflow
Before retrieval, add or update the row for $RUNROOT in research/INDEX.md with status in-progress, and create or update $RUNROOT/RUN.md.
Research question(s).Inclusion/exclusion criteria.Comparison axes (data, methods, metrics, assumptions, compute, robustness). - 02
Update This Skill
Only do this if the user explicitly asks to update this skill from the GitHub repo.
Only do this if the user explicitly asks to update this skill from the GitHub repo.To refresh this skill directly from the GitHub repo: - 03
Mission
Deliver an institutional-grade findings.md by:
Running iterative papercli retrieval across multiple query waves.Downloading and reading a broad, diverse paper corpus.Extracting core ideas, concepts, results, assumptions, and key mathematics. - 04
Prerequisites
papercli is installed and available in PATH.
papercli is installed and available in PATH.- papercli is installed and available in PATH. - 05
Non-Negotiable Rules
Use papercli as the retrieval backbone.
Use papercli as the retrieval backbone.Read paper content from downloaded PDFs whenever possible.Never present uncited factual claims.
Permission review
Static risk signals and limitations
Writes files
The documentation asks the agent to create, modify, or delete local files.
Only do this if the user explicitly asks to update this skill from the GitHub repo.Network access
The documentation includes network, browsing, or remote request actions.
curl -fsSL https://raw.githubusercontent.com/jimezsa/papercli/main/SKILLS/deep-research/SKILL.md \Runs scripts
The documentation asks the agent to run terminal commands or scripts.
python3 SKILLS/paper-summary/scripts/gemini_parallel_summary.py \Runs scripts
The documentation asks the agent to run terminal commands or scripts.
python3 SKILLS/paper-summary/scripts/gemini_parallel_summary.py \Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 11 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- jimezsa/opencolab
- Skill path
- projects/SKILLS/deep-research/SKILL.md
- Commit
- f647b8e4c37a18b4bd3443bd4a8f5470ea1b9d09
- License
- MIT
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
Deep Research Skill
Use this skill for comprehensive scientific research tasks such as state-of-the-art reviews, deep comparisons, research strategy, and evidence-heavy decision support.
If the user later asks an exact follow-up question about a downloaded paper or wants a bounded local verification pass, switch to pageindex-grounded for grounded retrieval over the existing PDF corpus.
Update This Skill
Only do this if the user explicitly asks to update this skill from the GitHub repo.
To refresh this skill directly from the GitHub repo:
curl -fsSL https://raw.githubusercontent.com/jimezsa/papercli/main/SKILLS/deep-research/SKILL.md \
-o SKILLS/deep-research/SKILL.md
Mission
Deliver an institutional-grade findings.md by:
- Running iterative
papercliretrieval across multiple query waves. - Downloading and reading a broad, diverse paper corpus.
- Extracting core ideas, concepts, results, assumptions, and key mathematics.
- Producing a detailed markdown report inside a topic-scoped research run folder, where all claims are grounded by references.
- Producing a companion literature-map block diagram that shows how the main papers or paper families connect.
Prerequisites
papercliis installed and available inPATH.
Non-Negotiable Rules
- Use
paperclias the retrieval backbone. - Read paper content from downloaded PDFs whenever possible.
- Never present uncited factual claims.
- Surface conflicts and uncertainty explicitly.
- Final output must be a detailed markdown file named
findings.mdinside the active research run folder. - Each distinct topic must live in its own dated, topic-slugged folder under
research/. - Maintain
research/INDEX.mdand the run-localRUN.mdmetadata file so later agents can recognize what each research folder contains. - After synthesis, produce a companion literature-map diagram through the shared
block-diagramskill. - The literature map must only show evidence-backed relations such as method lineage, direct comparison, shared benchmark or dataset, critique, or common problem framing.
- Do not invent paper-to-paper influence or citation edges that are not supported by the corpus.
- OpenColab normally provides
OPENCOLAB_PROGRESS_FILEduring provider runs. When it is set, emit bounded JSON progress updates for long-running stages instead of remaining silent until the end.
OpenColab Progress Helper
OpenColab exposes this progress channel by default during provider runs. When OPENCOLAB_PROGRESS_FILE is available, use this helper:
emit_progress() {
if [ -z "${OPENCOLAB_PROGRESS_FILE:-}" ]; then
return 0
fi
printf '%s\n' "$1" >> "$OPENCOLAB_PROGRESS_FILE"
}
Write one-line JSON events. Allowed kind values are started, progress, milestone, warning, needs_input, and completed.
Example:
emit_progress '{"kind":"progress","stage":"download","slot":"search","current":8,"total":12,"message":"Downloaded 8 of 12 PDFs."}'
Let the agent decide what is worth sending. Use progress for countable ongoing work, milestone for stage changes, warning for degraded runs, needs_input for blockers, and completed when an explicit completion event helps. Do not narrate every minor command.
Topic-Scoped Research Workspace
Every run must use an active run root:
- New topic:
research/<YYYY-MM-DD>-<topic-slug>/. - Topic slug: lowercase ASCII, hyphenated, 3-8 meaningful words, and specific enough to distinguish the topic from nearby research.
- Collision rule: if the folder exists for different work, append
-2,-3, or another short disambiguator. - Continuation rule: reuse an existing folder only when the user asks to continue the same topic or the folder clearly matches the current request.
- Root catalog: update
research/INDEX.mdwhen the run starts and again when it finishes, is blocked, or is left partial. - Run metadata: create and update
<RUN_ROOT>/RUN.mdwith topic, question, skill, status, created/updated timestamps, corpus counts, generated artifact paths, and follow-up notes.
Recommended research/INDEX.md columns:
| Folder | Skill | Topic | Status | Created | Updated | Corpus | Deliverables | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
Recommended <RUN_ROOT>/RUN.md headings:
# Research Run: <topic>
## Metadata
- Skill: deep-research
- Status: in-progress
- Created:
- Updated:
- Topic slug:
- Question:
## Corpus
- Candidate:
- Deep-read:
- Downloaded:
- Summarized:
- Failure events:
## Artifacts
- Findings:
- Literature map:
- Search files:
- Metadata:
- PDFs and summaries:
- Tables:
## Notes
Recommended Corpus Size
- Candidate set: 50-100 papers.
- Deep-read set: 40-60 papers.
- If access constraints reduce coverage, document the shortfall in the report.
End-to-End Workflow
1. Scope and evaluation design
Define:
- Research question(s).
- Inclusion/exclusion criteria.
- Comparison axes (data, methods, metrics, assumptions, compute, robustness).
- Time split (foundational vs. recent papers).
2. Multi-wave retrieval with papercli
Create workspace:
TOPIC_SLUG="<topic-slug>"
RUN_ROOT="research/$(date +%F)-${TOPIC_SLUG}"
mkdir -p "$RUN_ROOT"/{search,meta,pdf,tables,diagrams}
printf "stage\tid\treason\n" > "$RUN_ROOT/meta/failures.tsv"
: > "$RUN_ROOT/meta/downloaded_ids.txt"
: > "$RUN_ROOT/meta/summarized_ids.txt"
Before retrieval, add or update the row for $RUN_ROOT in research/INDEX.md with status in-progress, and create or update $RUN_ROOT/RUN.md.
Run at least 4 waves:
- Core terminology.
- Synonyms and adjacent terminology.
- Method families.
- Recent trend and benchmark-focused search.
papercli search "<core query>" --provider all --sort relevance --limit 30 --format json --out "$RUN_ROOT/search/w1_core.json"
papercli search "<adjacent query>" --provider all --sort relevance --limit 30 --format json --out "$RUN_ROOT/search/w2_adjacent.json"
papercli search "<method family query>" --provider all --sort relevance --limit 30 --format json --out "$RUN_ROOT/search/w3_methods.json"
papercli search "<benchmark/trend query>" --provider all --sort date --year-from <recent_year> --limit 30 --format json --out "$RUN_ROOT/search/w4_recent.json"
Optional citation-hub expansion through author trails:
papercli author "<influential author>" --provider all --sort relevance --limit 20 --format json --out "$RUN_ROOT/search/author_1.json"
papercli author "<contrasting author>" --provider all --sort relevance --limit 20 --format json --out "$RUN_ROOT/search/author_2.json"
3. Candidate consolidation and screening
jq -r '.[].id' "$RUN_ROOT"/search/*.json | awk 'NF && !seen[$0]++' > "$RUN_ROOT/meta/candidate_ids.txt"
Screen candidates for:
- Relevance to user question.
- Methodological diversity.
- Dataset/benchmark coverage.
- Publication-year balance.
Write selected IDs to $RUN_ROOT/meta/deep_read_ids.txt.
4. Metadata enrichment and bulk download
while read -r id; do
safe_id="$(echo "$id" | tr '/:' '__')"
if ! papercli info "$id" --provider all --format json --out "$RUN_ROOT/meta/${safe_id}.json"; then
printf "info\t%s\tmetadata lookup failed\n" "$id" >> "$RUN_ROOT/meta/failures.tsv"
fi
if papercli download "$id" --provider all --out "$RUN_ROOT/pdf/${safe_id}.pdf"; then
printf "%s\n" "$id" >> "$RUN_ROOT/meta/downloaded_ids.txt"
else
printf "download\t%s\tpdf download failed\n" "$id" >> "$RUN_ROOT/meta/failures.tsv"
fi
done < "$RUN_ROOT/meta/deep_read_ids.txt"
5. Create agent-ready paper summaries
Delegate the summary phase to the paper-summary skill so the deep workflow uses the same canonical schema and batch summarizer as the other research skills.
Run it after the deep-read PDFs and metadata are ready:
python3 SKILLS/paper-summary/scripts/gemini_parallel_summary.py \
--pdf-dir "$RUN_ROOT/pdf" \
--metadata-dir "$RUN_ROOT/meta" \
--summarized-ids "$RUN_ROOT/meta/summarized_ids.txt" \
--failures-tsv "$RUN_ROOT/meta/failures.tsv" \
--concurrency 20
Retry one paper with:
python3 SKILLS/paper-summary/scripts/gemini_parallel_summary.py \
--pdf "$RUN_ROOT/pdf/<safe_id>.pdf" \
--metadata-dir "$RUN_ROOT/meta" \
--summarized-ids "$RUN_ROOT/meta/summarized_ids.txt" \
--failures-tsv "$RUN_ROOT/meta/failures.tsv"
Summary requirements:
- Use the canonical schema in
SKILLS/paper-summary/references/summary_schema.md. - Write each summary to
$RUN_ROOT/pdf/<safe_id>.md. - Treat figures, captions, tables, appendix visuals, equations, and page anchors as first-class evidence.
- Mark metadata-only evidence explicitly when the PDF cannot be analyzed directly.
- Record summary failures in
$RUN_ROOT/meta/failures.tsvand keep the corpus moving.
6. Cross-paper synthesis
Build at least these comparative artifacts inside findings.md:
- Taxonomy table (approach families).
- Results table (metrics and conditions).
- Assumption table (where methods break).
- Equation registry (important formulas and interpretation).
Then analyze:
- Consensus patterns.
- Contradictions and likely causes.
- Gaps and open problems.
- Most defensible practical recommendations.
- Use the structured paper summaries in
$RUN_ROOT/pdf/as the canonical source for cross-paper comparison.
7. Produce literature-map block diagram
Delegate this step to the shared block-diagram skill. It owns the canonical D2 source, render, validation, and diagram-file delivery flow.
Diagram requirements:
- Base the diagram on the same corpus and
[R#]references used infindings.md. - Show how the main papers, method families, benchmark clusters, or critique branches connect through evidence-backed relations only.
- Prefer compact family clusters when a flat per-paper graph would be noisy.
- Use a topic-derived slug such as
<topic-slug>-literature-mapunder$RUN_ROOT/diagrams/. - Prefer
pngas the primary delivered literature-map artifact. - Keep
svgas the editable or fallback artifact when PNG rendering is unavailable.
Key Math Protocol
- Extract 5+ important equations across the corpus when available.
- Write equations in plain-text markdown, not LaTeX blocks.
- Prefer ASCII-friendly math so the output stays readable in raw markdown and easy to parse by tools.
- Use a consistent three-line pattern:
Equation: <name> = <plain-text formula> [R#]Where: <symbol> = <meaning>; ...Interpretation: <what the equation does, why it matters, and any assumptions> [R#]
- Explain each equation in domain terms, not only symbol definitions.
- Attach at least one citation per equation explanation.
Example:
Equation: ELBO = E_q_phi(z | x)[log p_theta(x | z)] - KL(q_phi(z | x) || p(z)) [R5]
Where: x = observed input; z = latent variable; q_phi = approximate posterior; p_theta = decoder; KL = Kullback-Leibler divergence.
Interpretation: This objective trades reconstruction fidelity against posterior regularization, which shapes representation quality and generative calibration [R5].
Output Contract (findings.md)
Use this exact top-level structure:
# Findings: <topic>
## Executive Answer
Direct answer to the user question with confidence-qualified claims [R#].
## Scope and Method
- Question framing
- Inclusion/exclusion criteria
- Corpus stats (candidate count, deep-read count, downloaded count, summarized count, failure-event count)
## Literature Map
| Ref | Paper | Year | Method family | Evidence depth |
| --- | ----- | ---- | ------------- | -------------- |
| R1 | ... | ... | ... | pdf-read |
## Core Ideas and Concepts
Deep synthesis paragraphs with inline refs [R#].
## Quantitative Evidence
| Ref | Dataset/Setting | Metric | Reported result | Notes |
| --- | --------------- | ------ | --------------- | ----- |
| R3 | ... | ... | ... | ... |
## Key Math and Mechanisms
Equation: <name> = <plain-text formula> [R#]
Where: <symbol> = <meaning>; ...
Interpretation and implications [R#].
## Agreements, Conflicts, and Uncertainty
- Agreement:
- Conflict:
- Sources of uncertainty:
## Recommendations and Research Gaps
- What is ready to use now.
- What needs further validation.
- High-value open research directions.
## References
| Ref | Title | Authors | Year | Provider ID | Local evidence |
| --- | ----- | ------- | ---- | ----------- | ----------------------------------------- |
| R1 | ... | ... | ... | ... | `meta/...json`, `pdf/...md`, `pdf/...pdf` |
Companion literature-map artifacts:
$RUN_ROOT/diagrams/<topic-slug>-literature-map.d2$RUN_ROOT/diagrams/<topic-slug>-literature-map.png- optional
$RUN_ROOT/diagrams/<topic-slug>-literature-map.svg
Final Chat Reply
After writing $RUN_ROOT/findings.md, return a short, friendly summary for the user-facing chat reply. Keep findings.md as the full canonical report and do not change its structure.
- Use an executive-summary tone that still reads well in chat.
- Light emoji use is allowed when it makes the message easier to scan.
- Include:
- one direct-answer line
- one coverage line with candidate, deep-read, downloaded, summarized, and failure counts
- one short literature-map line explaining how the main papers or paper families connect
- 3-5 cited takeaways covering the strongest findings and the main disagreements
- one short uncertainty or risk line when it materially affects the recommendation
- one closing line that points to
$RUN_ROOT/findings.mdfor the full evidence base
- Do not paste the full literature map, quantitative tables, or long report sections into chat.
- If the active channel supports returning files, return
findings.mdplus the PNG literature-map diagram after the summary. If PNG rendering is unavailable, return the SVG artifact instead.
Referencing Standard
- Use
[R1],[R2], ... inline everywhere factual. - Tables must include citations in relevant cells.
- For numerical claims, cite source paper(s) in the same sentence or cell.
- Do not add a claim if evidence is not present in metadata, the PDF, or the structured summary.
Quality Gate Before Finish
Before finalizing findings.md, verify:
- All major sections are present.
- Every analytical claim has citations.
- Math section uses plain-text equations plus interpretation.
- Conflicting evidence is surfaced, not hidden.
- References map to real downloaded/local files.
- Each deep-read paper has an agent-ready summary in
$RUN_ROOT/pdf/unless extraction failed. - Downloaded and summarized counts reconcile with
$RUN_ROOT/meta/downloaded_ids.txtand$RUN_ROOT/meta/summarized_ids.txt, and failure events reconcile with$RUN_ROOT/meta/failures.tsv. - A PNG literature-map artifact exists, or an SVG fallback is returned when PNG rendering is unavailable, and the diagram only shows evidence-backed cross-paper connections.
research/INDEX.mdand$RUN_ROOT/RUN.mdare updated with final status, corpus counts, artifact paths, and any limitations or next-step notes.
Alternatives
Compare before choosing
Imbad0202/academic-research-skills
deep-research
Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 8 modes: full research, quick brief, paper review, lit-review, fact-check, three-way literature scan, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report compi
daymade/claude-code-skills
deep-research
Use it for design and sales tasks; the detail page covers purpose, installation, and practical steps.
staruhub/ClaudeSkills
deep-research
Use this skill when the user wants an evidence-based research memo, literature review, market/policy/technical landscape, or a multi-source decision brief with citations, trade-offs, and a clear conclusion. Best for tasks that need synthesis across multiple external sources, iterative follow-up research, or a reusable written artifact. Do not use for quick factual lookups, single-source summaries, simple Q&A, summarizing one document the user already provided, plan-only requests where the user e
LazyAGI/LazyMind
deep-research
Use it for research tasks; the detail page covers purpose, installation, and practical steps.