Research
Skill clairem0/technically-curious-skills/productivity/research
Conduct structured research with multi-source synthesis. Use for product comparisons, technical deep-dives, market analysis, or knowledge synthesis. Key workflow is plan sources first, execute in parallel, save as you go, red-team before finalizing.From its SKILL.md
npx -y skills add clairem0/technically-curious-skills --skill researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
10.5 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it
Research
Structured research with multi-source synthesis. The key insight: planning your sources before executing dramatically improves output quality.
This skill scales from "quick answer with built-in web search" to "deep multi-tool investigation with browser automation, dedicated search APIs, and AI-assisted analysis" — depending on what tools you have connected.
Connectors
The research skill works at every level — more tools unlocked = deeper research capability.
| Connector | Required | What it unlocks |
|---|---|---|
| None (built-in) | — | WebSearch, WebFetch, sub-agents — enough for most research |
| Web scraper | Optional | Scrape specific pages for structured data (pricing tables, feature lists, changelogs) |
| Exa search | Optional | Semantic search — finds conceptually related content, not just keyword matches |
| Browser automation | Optional | Drive NotebookLM, access paywalled content via logged-in sessions, interact with web apps |
Start with built-in tools. Add connectors as you hit walls — "I can't access this page" or "I need deeper analysis on this PDF."
Configuration
Load
env.mdfor the research output path. No skill-specific config needed.
Research outputs are saved to the path defined in your env.md under Research output. Default: ~/research/
File naming: YYYY-MM-DD-[subject-slug]-[type].md
Tool Reference
Built-in (always available)
| Tool | Best for | Notes |
|---|---|---|
| WebSearch | General queries, recent news, product info | Good breadth, limited depth per result |
| WebFetch | Reading a specific URL | Converts HTML to markdown, summarizes long pages |
| Sub-agents | Parallel research tasks | Launch multiple agents to research different facets simultaneously |
With Web Scraper (Firecrawl)
| Tool | Best for | Notes |
|---|---|---|
| Firecrawl scrape | Extracting structured data from JS-heavy pages | Great for pricing tables, feature matrices, changelogs |
| Firecrawl extract | Pulling specific fields from a page via schema | Define a JSON schema → get structured data back |
| Firecrawl search | Searching a specific site or domain | More targeted than general web search |
With Exa Search
| Tool | Best for | Notes |
|---|---|---|
| Exa web search | Finding conceptually related content | Semantic search — finds content by meaning, not just keywords |
| Exa get code context | Finding code examples and technical implementations | Better than general search for "how does X implement Y" |
With Browser Automation (Chrome MCP)
| Tool | Best for | Notes |
|---|---|---|
| NotebookLM | Deep analysis of long documents, PDFs, research papers | Navigate to notebooklm.google.com, upload sources, use "Deep Research" mode |
| Logged-in content | Paywalled articles, internal dashboards, authenticated APIs | Uses your active Chrome session |
| Interactive research | Filling search forms, navigating multi-page results, downloading reports | Full browser control for pages that don't expose clean APIs |
Workflow
Step 1: Define Scope
Use AskUserQuestion — one question at a time:
Q1: "What are we researching? Give me the subject and the central question you want answered."
Wait. Then:
Q2: "What type of research is this — product comparison, technical deep-dive, or knowledge synthesis? And where will the output go (doc, Slack, email)?"
The output channel matters — a Slack message needs a different format than a research doc.
Step 2: Plan Sources (Most Important Step)
Specify exactly which sources you'll use. This is the step that separates good research from noise.
Work with the user to build a research plan:
Source Checklist:
- Official sources (documentation, help centers, announcements)
- User sentiment (X, Reddit, G2 reviews, HackerNews)
- Technical details (DevRel content, API docs, GitHub repos/issues)
- Market/competitive (analyst reports, industry press, BuiltWith)
- Expert analysis (conference talks, interviews, newsletters)
Recency Requirements:
- Most recent only (software features change fast)
- Historical trends (market analysis)
- Recency not critical (general research)
Tool Selection — match tools to sources:
| Source type | Built-in | With scraper | With Exa | With browser |
|---|---|---|---|---|
| Official docs | WebFetch | Firecrawl (JS pages) | — | — |
| User sentiment | WebSearch | — | Exa (semantic) | Chrome → X/Reddit |
| Pricing/features | WebFetch | Firecrawl extract | — | Chrome (dynamic pricing) |
| Technical deep-dive | WebSearch + WebFetch | Firecrawl (GitHub) | Exa code context | — |
| Long documents/PDFs | WebFetch (limited) | — | — | Chrome → NotebookLM |
| Paywalled content | — | — | — | Chrome (logged-in) |
| Real-time discussion | WebSearch | — | Exa | Chrome → X/Grok |
Save the plan before executing.
See references/source-mapping.md for source selection guidance by research type.
Step 3: Execute (Parallel, Save As You Go)
Run everything you can in parallel. The key is to start slow tasks first.
Execution order:
Minute 0: Start NotebookLM Deep Research (if using — takes 3-5 min)
Minute 0: Launch sub-agents for independent research threads
Minute 0-2: Run web searches (WebSearch, Exa)
Minute 2-5: Scrape specific pages (Firecrawl, WebFetch)
Minute 5: Pull NotebookLM results via Chrome
Minute 5+: Compile and cross-reference
Using NotebookLM (if browser automation available):
- Navigate to
notebooklm.google.comvia Chrome MCP - Create a new notebook
- Upload source materials (URLs, PDFs, documents)
- Use "Deep Research" mode with a specific question
- Wait for results (3-5 minutes), then pull the findings
Using Exa (if available):
Exa web search: "[conceptual query]" — finds semantically similar content
Exa get code context: "[how does X implement Y]" — finds technical implementations
Using Firecrawl (if available):
{
"url": "https://example.com/pricing",
"formats": ["json"],
"jsonOptions": {
"prompt": "Extract all pricing tiers with features and prices",
"schema": { ... }
}
}
Save findings from each source in a structured format:
# [Source Name] Research: [Subject]
## Date: [Date]
## Tool used: [WebSearch / Firecrawl / Exa / NotebookLM / etc.]
## Key Findings
- Finding 1 (Source: [citation with URL])
- Finding 2 (Source: [citation with URL])
## Raw Data
[Summary of what the source returned]
## Confidence Level
[HIGH — official source / MEDIUM — credible analysis / LOW — anecdotal]
## Questions for Follow-up
- [What couldn't this source answer?]
Step 4: Synthesize
- Read all saved findings
- Select template based on research type AND output channel (see references/output-templates.md)
- Ask for personal examples — "Do you have a personal use case that would make this concrete?"
- Create "At a Glance" table — 3-5 key dimensions as analysis spine (skip for quick takes)
- Draft synthesis answering the key question
- Iterate with the user — first draft is never the final version
| Research Type | Output Channel | Template |
|---|---|---|
| Any | Slack/email | Quick Take (short, scannable) |
| Product comparison | Doc | Comparison (recommendation + At a Glance table) |
| Technical deep-dive | Doc | Deep-dive (architecture, tradeoffs) |
| Knowledge synthesis | Doc | Synthesis (themes, conflicting views, gaps) |
Step 5: Red-Team (Required)
Before finalizing, challenge the analysis:
- Asymmetric treatment — Did you cite negatives for one side but not the other?
- Weak sample sizes — Is "39 posts" enough to generalize? Note sample sizes.
- Claims that don't hold — What scenarios break your recommendation?
- Missing perspectives — What would a skeptic say?
- Stale data — Is any source older than 6 months? Flag it.
Feed findings back. Expect 2-3 rounds of iteration.
Verification Checklist:
- Is this fact in one of our saved reports?
- Is the source credible? (Official docs > blog posts > tweets)
- Is the data recent? (Flag anything >6 months old)
- Do multiple sources agree? (Note conflicts explicitly)
- Are sample sizes noted for sentiment data?
- Are confidence levels assigned? (HIGH/MEDIUM/LOW per finding)
Error Handling
| Scenario | Response |
|---|---|
| Source returns no results | Note the gap, try alternative query or different tool, move on |
| Conflicting sources | Document both views with confidence levels — don't silently pick one |
| Page requires login | If Chrome MCP available, try logged-in session. Otherwise, note as inaccessible. |
| Firecrawl/scraper times out | Retry with longer wait, fall back to WebFetch, note if data is missing |
| User wants quick answer | Use "Quick Take" template — skip Steps 2-3, go straight to synthesis |
| Too many sources, losing focus | Return to the key question from Step 1. Cut sources that don't directly answer it. |
Customization Notes
How to adapt this skill to your own setup.
- Source mapping — Edit
references/source-mapping.mdto match your research domains. A marketing team might add "Social listening tools" and "Ad library analysis." - Output templates — Edit
references/output-templates.mdto add templates for your common formats (Notion, Confluence, Google Docs, etc.) - Tool selection — The tool reference table above shows what each connector unlocks. You don't need all of them — add tools as you find limits with the built-in ones.
- NotebookLM workflow — If you use NotebookLM regularly, consider creating a separate NotebookLM-specific reference doc with your preferred prompts and source upload patterns.
- Save location — Research outputs go where you set in
env.md. Consider version-controlling them if your research builds on itself over time.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.