deep-research
Skill4 starsChanged 6 months agoMITView on GitHub
Deep, multi-source, fact-checked research reports — entirely on the Claude subscription, no API keys. Plans a TOC + acceptance criteria, fans out parallel Task subagents that search the live web (native WebSearch/WebFetch), gap-fills weak sections, then synthesizes a long-form report with inline [n] citations and a Sources list whose every URL is DETERMINISTICALLY verified against URLs that actually appeared in search results (fabricated citations are dropped). A subscription-only port of NVIDIA AI-Q's deep-research core. Use when the user wants a thorough researched report, a literature/landscape/market scan, a cited comparison, or "deep research" / "research X for me". BEFORE invoking, if the question is underspecified (e.g. "what car should I buy" with no budget/use/region), ask 2-3 clarifying questions to narrow scope, then research the refined question.
196 other projects use a version of this.
Adopted by
Most recently taken up by
- ridelink0/ultimate-frontend-skillstheir own version, first seen Nov 8, 2026
- chrisblattman/claudeblattmantheir own version, first seen Nov 8, 2026
- genericService/claude-skillstheir own version, first seen Nov 8, 2026
- ourostack/ouroboros-skillstheir own version, first seen Nov 8, 2026
- mahsumaktas/agent-evolution-kittheir own version, first seen Nov 8, 2026
- insight68/Skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use community-led-growth, ph-community-outreach and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
nicepkgSkillcommunity-led-growth
Expert in community-led growth (CLG) - leveraging user communities to drive acquisition, retention, and expansion. Covers building developer communities, user groups, ambassador programs, and turning customers into advocates. Knows the difference between community as a feature vs community as a growth engine, and how to measure community ROI. Use when "community-led, CLG, ambassador program, champion program, user community, developer community, word of mouth, user group, " mentioned.
Also in 5 projects that use this
nicepkgSkillph-community-outreach
Engage Reddit, Indie Hackers, Hacker News and other communities for Product Hunt launches. Use this skill to identify relevant communities, craft appropriate posts, and drive cross-platform engagement without appearing spammy.
Also in 5 projects that use this
W-MoorerSkillacademic-paper-reviewer
Multi-perspective academic paper review with dynamic reviewer personas. Simulates 5 independent reviewers (EIC + 3 peer reviewers + Devil's Advocate) with field-specific expertise. Supports full review, re-review (verification), quick assessment, methodology focus, Socratic guided, and calibration modes. Triggers on: review paper, peer review, manuscript review, referee report, review my paper, critique paper, simulate review, editorial review, calibrate reviewer, reviewer calibration, measure reviewer accuracy.
Also in 11 projects that use this
W-MoorerSkillacademic-pipeline
Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory integrity verification, two-stage peer review, and reproducible quality gates. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end paper, research-to-publication, complete paper workflow.
Also in 10 projects that use this
xfstudioSkillmicro-saas-launcher
Expert in launching small, focused SaaS products fast - the indie hacker approach to building profitable software. Covers idea validation, MVP development, pricing, launch strategies, and growing to sustainable revenue. Ship in weeks, not months. Use when: micro saas, indie hacker, small saas, side project, saas mvp.
Also in 5 projects that use this
stophobiaSkillsurprise-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".
Also in 4 projects that use this
- +4 more from nicepkg
- +1 more from W-Moorer
Other versions196 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 196
- affaan-m/ECC★ 246ksame name
- bytedance/deer-flow★ 85ksame name
- Imbad0202/academic-research-skills★ 56ksame name
- THU-MAIC/OpenMAIC★ 43ksame name
- HKUSTDial/Supervisor-Skills★ 12ksame name
- genspark-ai/genoffice★ 12ksame name
- advaitpaliwal/feynman★ 10ksame name
- companion-inc/feynman★ 10ksame name
- getcompanion-ai/feynman★ 10ksame name
- jordan-gibbs/hyperresearch★ 4.4ksame name
186 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- buildSkill
- emailSkill
- setupSkill
- thinkSkill
- ultra-researchSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 177 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 83
If Codex was detected as present for the run, add --codex-present.
- Very specific: line 99
Write the draft to <run-dir>/report_draft.md.
- Very specific: line 122
read audit.json and tell the user which citations (if any) were dropped and why (citations_dropped, skipped_report_files, gate_failures).
- Distinctive: line 124
verify the report against each planner constraint.
- Distinctive: line 165
Never stop to ask permission mid-run, and never emit "I can't produce a report".
“Common” is measured: kept by at least 6 in 10 of the 177 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
deep-research
A subscription-only port of NVIDIA AI-Q's deep-research core (Apache-2.0 — see NOTICE). The
main agent is the orchestrator: it plans, fans out parallel Task researchers that use
native WebSearch/WebFetch, gap-fills, synthesizes a long-form cited report, and then runs a
deterministic citation verifier so every [n] maps to a real, captured source URL.
$SKILL_DIR below is this skill's directory; prompts live in prompts/, the verifier in
scripts/verify_citations.py. Read each prompts/*.md when you reach its step.
When to use
Researched reports, landscape/market/literature scans, cited comparisons, "deep research on …", "research X and tell me the alternatives". Skip it for trivial chit-chat or pure factual one-liners (the router will route those to a direct answer / shallow pass).
Flow
0. Route & disambiguate — read prompts/router.md. Classify meta vs research, then
shallow vs deep. For a plainly trivial question, answer directly. If the query is genuinely
ambiguous and you can't pause for the user, state ONE interpretation line at the top of the
report and proceed.
1. Set up a per-run working dir — create a fresh run directory:
<vault>/<topic>/runs/<run-id>/. Inside it create:
<run-dir>/notes/<run-dir>/yt-report/<run-dir>/report_draft.md<run-dir>/report_final.md<run-dir>/audit.json
Prior runs are never verifier input. The lane must not write to persistent shared notes/;
only the current run's <run-dir>/notes/ is scanned by the verifier.
2. Plan — read prompts/planner.md. Run 2-4 scoping WebSearch calls, then produce the
plan object: task analysis, report title, TOC (≤8 sections), constraints (acceptance
criteria), and 4-6 self-contained queries. Keep the plan in your context.
3. Research (parallel fan-out) — read prompts/researcher.md. Group the web queries into
2-3-per-bundle and launch up to 6 Task (general-purpose) subagents in a single
message so they run concurrently. Give each subagent: the researcher prompt, its bundled
questions, the relevant constraints, and an instruction to write its notes to
<run-dir>/notes/researcher_<k>.md (a dedicated notes subdir — keep researcher notes separate from the draft; the verifier only scans researcher_*.md files, so this naming is REQUIRED) and also return them. Each researcher uses only
WebSearch/WebFetch, ≤8 calls, broad→narrow, and lists ONLY real captured URLs.
3b. YouTube lane — if any planned queries are marked youtube_suited and gemini is
available, run one Bash -> gemini task using prompts/researcher_youtube.md. Pass the
tagged queries, <run-dir>, fan-out cap <=4, search/fetch cap <=8 per subagent, and
links-per-video cap <=5. Gemini writes raw notes to <run-dir>/yt-report/researcher_yt_<k>.md
and opened logs to <run-dir>/yt-report/opened_yt_<k>.json. If gemini is absent, skip the
YouTube lane, log the skip, and continue web-only.
3c. Codex trust check — detect codex before checking YouTube outputs. If absent,
continue to the deterministic gate with opened-log enforcement and emit the integrity warning
Codex trust-check skipped. If present, run Codex read-only over <run-dir>/yt-report/ using
prompts/codex_check.md; it may only write <run-dir>/yt-report/codex_annotations.json.
Codex must not edit Gemini files, add sources, write notes, or synthesize.
3d. Filter YouTube notes — before synthesis and verification, run the deterministic filter for each raw YouTube note:
python3 "$SKILL_DIR/scripts/filter_yt_notes.py" \
--run-dir <run-dir> \
--index <k>If Codex was detected as present for the run, add --codex-present. The filter writes
<run-dir>/notes/researcher_yt_<k>.md and <run-dir>/yt-report/filter_integrity_yt_<k>.json.
Opened-log exact-match enforcement always applies. Absent Codex emits
Codex trust-check skipped; present-but-failed Codex annotations exclude all YouTube notes.
drop URLs are removed mechanically at paragraph/list-item/sentence/marker scope. flag URLs
are kept and surfaced in integrity metadata. No semantic claim rewriting is promised beyond
those mechanics.
4. Gap-fill (bounded, merit) — read all researcher_*.md. Check each TOC
section/constraint for coverage. If a section came back empty or weak, dispatch ONE more
researcher to fill that specific gap, then proceed. Do not loop — "try once to fix, then
proceed".
5. Synthesize — read prompts/synthesis.md. Read EVERY note file, then write a
3000-5000+ word report that follows the TOC, with inline [n] citations and a ## Sources
section. Cite ONLY URLs present in the notes; never from memory; no bare URLs in the body.
Write the draft to <run-dir>/report_draft.md.
6. Verify (deterministic — the core merit) — read prompts/citations.md. Run:
python3 "$SKILL_DIR/scripts/verify_citations.py" \
--report <run-dir>/report_draft.md \
--notes <run-dir>/notes \
--out <run-dir>/report_final.md \
--audit <run-dir>/audit.jsonThe verifier rebuilds the source registry from the notes' real URLs and keeps a [n] only if
its URL resolves into that registry (repairing fuzzy-but-real URLs, dropping fabricated ones,
deduping, sanitizing, renumbering). URL matching is strict — exact / child-path / query-subset
only; a report URL that is merely a prefix of a captured one is rejected (truncated citations are
dropped, not guessed), and every URL in the final report must resolve into the registry. Then:
- exit 3 /
captured_sources: 0→ present under the⚠️ UNVERIFIED — model knowledge onlybanner (or re-run); never as a normal report. - exit 4 → sources were captured but the verified report has no surviving
[n](or no## Sources, or a bare/unresolved URL remained): the script emits an⚠️ UNVERIFIEDbanner and refuses to manufacture a citation. Do ONE targeted re-dispatch/rewrite citing only captured sources, then re-verify; never present exit-4 output as sourced. - read
audit.jsonand tell the user which citations (if any) were dropped and why (citations_dropped,skipped_report_files,gate_failures). - verify the report against each planner constraint; note any unmet.
- apply the done-gate (length, ≥2
##headers,## Sourcespresent, ≥1 verified citation, no giving-up phrasing). The script enforces the sources / ≥1-citation part (exit 4); the rest is on you. If it fails, ONE targeted re-dispatch, then re-verify.
7. Present report_final.md to the user, plus a one-line integrity note (sources captured,
citations verified, any dropped). Read every
<run-dir>/yt-report/filter_integrity_yt_<k>.json and aggregate its warnings,
flagged_urls, and video_skips into that note so flag/low-trust kept URLs and YouTube
degradation warnings are user-facing, including YouTube degradation warnings that would
otherwise be hidden in metadata.
Dependency/degradation
| Dependency | If missing or degraded |
gemini | Skip the YouTube lane, log the skip, and continue web-only. |
codex absent | Continue with opened-log enforcement and deterministic verification; emit Codex trust-check skipped. |
codex present-but-failed | Missing, empty, malformed, or unusable annotations fail closed: exclude all YouTube notes and log it. |
yt-dlp | Comments and comment-links degrade to empty; transcript plus description still runs and the degradation is logged. |
Hard rules (the AI-Q merits — do not weaken)
- Citation integrity is deterministic. Cite only URLs the researchers recorded from
WebSearch/WebFetch results; the script — not your judgment — is the gate (exit 3 = zero
sources, exit 4 = zero surviving citations ⇒ the loud UNVERIFIED banner, never a normal
report). The registry is built from the notes, so the script catches synthesis-time
fabrication; for stronger provenance you can pass
--registry sources.json. - Gap-fill once for weak sections before synthesizing.
- Constraint verification against the planner's acceptance criteria at the end.
- Disambiguate with a bias to proceed: state an interpretation rather than blocking.
- YouTube trust boundary is weaker. The YouTube lane trust model is
Gemini-fetched -> opened-log filtered -> optional Codex-checked -> deterministically gated. This is weaker than Claude WebSearch/WebFetch capture because Gemini's opened log is self-reported. Opened-log enforcement lives infilter_yt_notes.py; Codex is read-only and the verifier still receives only<run-dir>/notes/.
Knobs
≤6 researchers · ≤8 searches each · 2 loops (round 1 + one gap-fill) · 4-6 plan queries · 2-3
queries per dispatch · ≤8 TOC sections · 3000-5000+ words (deep). See references/aiq-mapping.md.
Always produce a report
Never stop to ask permission mid-run, and never emit "I can't produce a report". A partial report with honestly-acknowledged gaps beats stopping — except the zero-sources case, which must be labelled UNVERIFIED.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

