deep-research
Skill0 starsChanged 2 months agoMITView on GitHub
Autonomously research a subject (company, person, product, topic) using browser-harness and web search across multiple parallel sub-agents, then render an opinionated, scannable PDF brief — not prose, not slop. Use when the user says "research X", "find everything about X", "deep dive on X", "what do we know about X", "company research", "background check", or names a subject and asks for a brief, dossier, or one-pager. Triggers on phrases like "deep research", "research brief", "do a brief on", "find out everything", "background on".
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 repository4 other files it gives its agents.
- design-documentSkill
- focusSkill
- geminiSkill
- walkthroughSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 177 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Do not use this skill for: code questions, single-fact lookups, debugging, or anything where one search would suffice.
- Distinctive: line 27
Parallelize: Always fan out research across multiple sub-agents in a single message.
- Distinctive: line 29
Anti-slop language: No emoji. No "Let's explore…".
- Distinctive: line 41
search → Google/DuckDuckGo top results, news, mentions
- Distinctive: line 98
Write the "What we couldn't confirm" insight last, only if the gaps list is non-trivial.
“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
Produce a research brief that a busy human can act on in two minutes. The format is opinionated; the inputs are not. This skill orchestrates parallel sub-agents, enforces a strict source-everything contract, and renders a Typst PDF that does not look like an LLM made it.
When to use
Trigger on any request to investigate a named subject — a company, a person, a product, an organization, a topic — where the user wants the result summarized for action, not a chat transcript. Examples:
- "research Almdudler"
- "find everything about Bregenzer Festspiele"
- "background on Stefan Pierer"
- "deep dive on the company SeerAI"
- "do a brief on the Vienna mobility startup scene"
Do not use this skill for: code questions, single-fact lookups, debugging, or anything where one search would suffice.
The rules (in priority order)
- No claim without a source. Every fact in the brief must trace to a numbered entry in the Sources section. If an agent cannot cite it, it does not appear. No "industry estimates suggest", no inferred figures, no smoothed-over guesses. If the user asked something you genuinely couldn't verify, list it under a "What we couldn't confirm" insight rather than fabricating.
- Structure over prose. The brief is tables, cards, and dated bullets. The only paragraphs are the one-line subject descriptor and the body of each numbered insight (≤ 2 sentences each). No essays. No "in conclusion". No mission-statement filler.
- Specificity beats coverage. A short brief with five concrete, dated, named facts beats a long brief padded with categories. If you have nothing for a section after honest research, omit the section — do not pad it with platitudes.
- Parallelize. Always fan out research across multiple sub-agents in a single message. Sequential research is the difference between a 90-second result and a 12-minute one.
- Render the PDF; do not reply with the brief inline. The deliverable is the PDF (and optionally an HTML mirror). Reply with: where the file is, what's in it, and what was thin.
- Anti-slop language. No emoji. No "Let's explore…". No "in today's fast-paced world". No bullet lists of synonyms. No marketing copy lifted whole from the subject's own About page — paraphrase tightly, cite, and pick the non-obvious thing on the page.
Workflow
$SKILL_DIR below means ~/.claude/skills/deep-research/.
1. Classify the subject (one sentence, no agent)
What is it? company, person, product, topic, org. The classification picks which research vectors to fan out.
For company (the default, and what this skill is tuned for):
- web → official site, what they actually do, products, locations
- search → Google/DuckDuckGo top results, news, mentions
- socials → LinkedIn (company), Instagram, Facebook, X, TikTok where applicable
- people → leadership, board, plausible local contacts, impressum
- financials → registry data (Firmenbuch for AT, Companies House for UK, OpenCorporates, Crunchbase)
- news → last 12 months, dated
For person: identity, current role, employer, public talks/papers/posts, prior roles, network, anything written by them in the last 24 months. Stay strictly on professional/public material — no doxxing.
For product: what it is, who makes it, pricing, alternatives, reviews (G2/Trustpilot/Reddit), recent changelog or release notes.
For topic: landscape map — key players, recent inflection points, primary sources, the 5-7 things a smart generalist needs to grasp it.
2. Fan out parallel sub-agents (single message, multiple Agent calls)
For each vector, launch a sub-agent with subagent_type: general-purpose (use Explore for purely read-only filesystem questions, but research is not that). Each sub-agent must return a single fenced JSON block matching the contract below — nothing else in the response is consumed by the synthesizer.
Sub-agent prompt template (adapt the vector + targets):
You are one of several parallel researchers investigating
<SUBJECT>. Your vector is<VECTOR>. Usebrowser-harness(read theSKILL.mdin its clone first if you haven't — find it withdirname "$(readlink -f "$(command -v browser-harness)")") for any DOM interaction or screenshot, andWebSearch/WebFetchfor static lookups. Specifically checkdomain-skills/under browser-harness for any matching site (linkedin, facebook, sec-edgar, etc.) before improvising.Hard constraints:
- Every fact you return must include a
source_urlit was actually observed at.- If you cannot verify something, omit it. Do not infer, smooth, or estimate.
- Stop after 6–8 minutes of work. Returning fewer high-quality facts beats more low-quality ones.
- Do not contact the subject (no form fills, no DMs, no emails).
Return exactly one fenced ```json block with this shape:
{ "vector": "<VECTOR>", "facts": [ {"key": "founded", "value": "1957", "source_url": "https://example.com/about", "source_title": "About — Example", "note": "stated on About page"} ], "people": [ {"name": "...", "role": "...", "location": "...", "link": "https://...", "why": "...", "source_url": "..."} ], "socials": [ {"platform": "LinkedIn", "handle": "@...", "url": "https://...", "audience": "...", "last": "YYYY-MM-DD", "source_url": "..."} ], "events": [ {"date": "YYYY-MM", "text": "...", "source_url": "..."} ], "sources": [ {"title": "...", "url": "...", "note": "what was extracted here"} ], "gaps": ["thing you tried to find and could not verify"] }Nothing outside the JSON block is consumed.
3. Synthesize (you, the orchestrator)
- Merge sub-agent JSON blocks. De-duplicate sources by URL. Renumber sources
[1],[2], … in the order they first appear in the brief. - Pick 3 TL;DR sentences, 3–7 "Things to know" insights, and 5–10 timeline events. Cut ruthlessly. If the same fact came from two agents, pick the better-sourced one.
- For each insight, the lede is one bold sentence stating the non-obvious thing. The body is one supporting sentence with the specific number, date, or quote. Anything else gets cut.
- Pick at most 5 people for the people table. Bias toward decision-makers and plausible direct contacts in the user's region if known. Skip people you cannot find both a role and a credible link for.
- Pick at most 6 social/digital channels. Skip ones with no recent activity unless their absence is itself the story.
- Write the "What we couldn't confirm" insight last, only if the gaps list is non-trivial.
4. Allocate an ostack ID and render
python3 ~/.claude/skills/design-document/helpers/track_document.py allocate
# returns e.g. D0042 — record thisCopy templates and fill:
SUBJECT_SLUG=almdudler # kebab-case of the subject
mkdir -p briefs && cd briefs
cp ~/.claude/skills/deep-research/templates/brief.typ ./
cp ~/.claude/skills/deep-research/templates/brief-skeleton.typ ./${SUBJECT_SLUG}.typ
# edit ${SUBJECT_SLUG}.typ — replace DXXXX with the allocated ID, replace
# subject/one-liner/prepared, fill all sections from the merged JSON.Render:
typst compile ${SUBJECT_SLUG}.typTrack:
python3 ~/.claude/skills/design-document/helpers/track_document.py record \
--id D0042 \
--path "briefs/${SUBJECT_SLUG}.pdf" \
--keywords "<subject>, research-brief, <sector>, <country>" \
--summary "Research brief on <SUBJECT>: one sentence on what it covers." \
--source "deep-research skill, multi-agent web research"5. Verify
Open the PDF and screenshot the first page via browser-harness (or open on macOS). Look for: orphan headings, runaway tables, broken links, untouched DXXXX placeholders, unfilled — cells in the fact grid (those should be removed, not left as em-dashes). If anything is wrong, fix the .typ and recompile.
6. Reply
Tell the user:
- the path to the PDF,
- a 2-line "what's in it" (e.g. "8 sourced facts, 4 named people, 6 timeline events, 14 sources"),
- what was thin or unverifiable (the gaps), so they know what to chase next.
That's it. No restatement of the brief, no offer to "expand any section".
Anti-patterns (do not do these)
- Spawning sub-agents sequentially "to save tokens". Parallelize.
- Letting a sub-agent write prose back. Enforce the JSON contract.
- Including the subject's own marketing taglines verbatim as if they were facts. Paraphrase + cite, or cut.
- Emoji bullets, gradient backgrounds, sans body text, "modern" sans-serif headings, neon accent colors. The template does not allow it; do not patch it to allow it.
- A brief that's >4 pages. If yours is, you padded it. Cut.
- Replying with a copy of the brief inline. The PDF is the deliverable.
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.

