# Source Research

> Use when the user wants research, source gathering, current-information lookups, cross-source synthesis, or extraction from URLs/PDFs/videos using web search, page inspection, local tools, and sub-agents.

- Skill: `hoanganhduc/source-research` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add hoanganhduc/source-research`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hoanganhduc/source-research/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: hoanganhduc (https://skillmd.com/u/hoanganhduc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hoanganhduc/source-research

---


# Source Research

Use this as the default source-gathering research router.

## Supporting files

Open these only when relevant:

- `references/specialist-subagents.md` for focused single-specialist delegation briefs imported from the local Claude setup

## Legacy tool mapping

- legacy `web_search` -> Codex `web.search_query`
- legacy `web_fetch` -> Codex `web.open`
- legacy task/session spawning -> Codex `spawn_agent`
- legacy `exec` -> Codex `functions.exec_command`

## Live workspace routing

- Generic paper, article, preprint, DOI, ISBN, and book retrieval or sharing requests route to `zotero` first.
- Explicit Calibre-library ebook operations route to `calibre`.
- External paper or book retrieval routes to `getscipapers-requester` only
  after the relevant local-library workflow does not satisfy the request, or
  after the user explicitly says not to check/use the library. The word
  "download" alone is not an outside-library opt-out.
- Multi-agent discussion/review/research routes to `agent-group-discuss` by default and `prose` for more structured workflows.
- Annotated paper review routes to `annotated-review` only when the user explicitly asks for both annotation and review.
- Review-only paper tasks route to `paper-review`.
- Topic/news digests route to `research-digest-wrapper` or `rss-news-digest`.
- Digest-to-paper extraction routes to `digest-bridge`.
- Explicit phased deep research with structured source handoff routes to `deep-research-workflow`.
- Load-bearing lemmas that may need formalization: **mention/tag** as formal candidates and hand off to `lean-formalization-intake` / informal-to-lean runbook; do **not** run OpenGauss from discovery. Use `opengauss` only after intake `proceed` and (for live work) a manual Gauss install.
- Writing, report, review, digest, or final-answer workflows must load
  `writing-style-settings.md`; math or LaTeX writing must also load
  `math-manuscript-style.md`.
- Explicit TikZ drawing, refactoring, extraction, compile, or diagram-review requests route to `tikz-draw`.
- Small graph-theoretic verification routes to `graph-verifier`.
- Mathematical research tasks that need heavy graph-theoretic, combinatorial, algebraic, or spectral computation route to `sagemath`.
Formal candidates that pass intake also run `lean-research-library search` before any new formalization is attempted.

## Default workflow

1. If the request is current, says "latest", "today", "verify", or otherwise depends on recent facts, browse first.
2. Start with focused search queries, not long prompts.
3. Open the best primary sources, not just search snippets.
4. Extract only the parts needed for the answer.
5. Synthesize after evidence collection, not before.
6. Cite concrete sources and dates whenever the answer depends on live or specific facts.
7. For writing-producing outputs, record or surface `style_profile_ref`,
   `policy_hash`, `active_overlays`, `active_requirement_ids`, and
   `style_applied`; do not treat a bare `style_applied: true` assertion as
   sufficient evidence.
8. For report-only research requests, stop after the requested answer or
   findings. Do not create durable artifacts, patch reports, retrieve
   nonessential follow-up files, or begin remediation unless the user explicitly
   asks for those actions.

## Research heuristics

- Prefer primary sources: official docs, vendor pages, papers, standards, government sites.
- Use domain filters when the source class is obvious.
- For PDFs, use `web.open` and `web.screenshot` when needed.
- For local files, use `functions.exec_command` instead of browsing.
- Separate sourced facts from your own inference.
- Prefer `deep-research-workflow` over this skill when the user explicitly wants phased search -> analysis -> writing with source preservation across stages.
- Prefer `tikz-draw` for explicit TikZ or structural-diagram requests, including research-derived figures that already have a narrowed brief.
- If a research task needs a diagram, keep the research in `deep-research-workflow` first and hand off to `tikz-draw` only after analysis identifies a concrete figure worth generating.
- For literature retrieval requests, check the relevant local library workflow before browsing or external download.
- For review tasks that need a paper/book, use the lookup order `zotero` -> `calibre` -> online fallback.
- For digest follow-up, use `digest-bridge` to extract identifiers before bulk paper retrieval.
- For explicit Calibre ebook-library workflows, prefer `calibre` over improvised filesystem search.
- For mathematical verification, prefer local Python for small checks and route to `sagemath` when the computation needs SageMath-native capabilities.
- Never use `curl`, `wget`, ad hoc browser fetches, or direct publisher-site HTTP requests as a substitute for the library tools on paper/book retrieval tasks.
- When a lookup returns multiple plausible paper/book matches, show a numbered
  list with title, authors, and year when available, then wait for the user's
  chosen index before `--best`, `--index`, add, attach, send, review, or external
  retrieval.

## Parallelism

If the task has distinct independent threads, spawn sub-agents in parallel.

Good candidates:
- source discovery vs synthesis plan
- product A vs product B
- multiple independent subtopics

Do not spawn agents for the immediate blocking step if local work is faster.
Ask for explicit confirmation before spawning subagents unless the user already
requested multi-agent work, approved a workflow that includes subagents, or gave
an explicit budget/depth instruction that makes parallel delegation expected.

## Focused specialist delegation

When the task needs one narrow specialist rather than a full panel, reuse the
briefs in `references/specialist-subagents.md`.

Good matches:

- literature survey or citation hunting -> `literature-scout`
- small-case exploration or counterexample search -> `math-explorer`
- single-reviewer manuscript critique -> `paper-reviewer`
- adversarial checking of one proof/lemma -> `proof-checker`

## Route to narrower skills

- Use `zotero` for generic paper, DOI, ISBN, book, and paper-library retrieval or sharing requests, including "find/get/send/share this paper or book".
- Use `docling` for local parsing, conversion, chunking, and structure-aware analysis of PDFs, office documents, HTML, and image-backed documents.
- Use `get-available-resources` before heavy local parsing or compute when resource constraints may materially affect the approach.
- Use `database-lookup` for structured public scientific, regulatory, and economic database queries.
- Use `paper-lookup` for external literature metadata/discovery after the library-first workflow and before external retrieval.
- Use `deep-research-workflow` for single-agent phased deep research that needs explicit source handoff across search, analysis, and final writing.
- Use `tikz-draw` for explicit TikZ figure generation, refactoring, extraction, compile, or review work, especially when the output should follow a structure-first brief -> spec -> render flow.
- Use `calibre` for explicit Calibre library operations: ebook search/get by ID, sending Calibre-managed books, add/update, tags, shelves, sync, remove, convert, export, doctor, and clean.
- Use `getscipapers-requester` only for external retrieval or DOI/ISBN
  resolution after Zotero does not satisfy the request, or when the user
  explicitly says not to check/use the library and wants outside retrieval. For
  review tasks that need a document, check `calibre` after `zotero` and before
  this fallback.
- If an externally retrieved book file should be added to the ebook library, hand off to `calibre` for the final add/update step.
- Use `annotated-review` only for annotate+review paper flows.
- Use `paper-review` for single-agent review-only paper flows such as review, critique, hard review, or issue-finding requests.
- Use `agent-group-discuss` for conversational multi-agent discussion, review, or research panels.
- Use `prose` when the user wants explicit multi-agent research-and-synthesis orchestration.
- Use `research-digest-wrapper` and `rss-news-digest` for tracked-topic and RSS-based research updates.
- Use `graph-verifier` for lightweight graph sanity checks before escalating to SageMath.
- Use `digest-bridge` to turn digest results into identifiers and manifests for retrieval.
- Use `sagemath` for graph invariants, algebraic checks, spectral computations, exhaustive counterexample search, and other math tasks beyond lightweight local tooling.

