agentsclimarketplace

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

Install
npx -y skills add clairem0/technically-curious-skills --skill research

Assembled 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.

ConnectorRequiredWhat it unlocks
None (built-in)WebSearch, WebFetch, sub-agents — enough for most research
Web scraperOptionalScrape specific pages for structured data (pricing tables, feature lists, changelogs)
Exa searchOptionalSemantic search — finds conceptually related content, not just keyword matches
Browser automationOptionalDrive 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.md for 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)

ToolBest forNotes
WebSearchGeneral queries, recent news, product infoGood breadth, limited depth per result
WebFetchReading a specific URLConverts HTML to markdown, summarizes long pages
Sub-agentsParallel research tasksLaunch multiple agents to research different facets simultaneously

With Web Scraper (Firecrawl)

ToolBest forNotes
Firecrawl scrapeExtracting structured data from JS-heavy pagesGreat for pricing tables, feature matrices, changelogs
Firecrawl extractPulling specific fields from a page via schemaDefine a JSON schema → get structured data back
Firecrawl searchSearching a specific site or domainMore targeted than general web search

With Exa Search

ToolBest forNotes
Exa web searchFinding conceptually related contentSemantic search — finds content by meaning, not just keywords
Exa get code contextFinding code examples and technical implementationsBetter than general search for "how does X implement Y"

With Browser Automation (Chrome MCP)

ToolBest forNotes
NotebookLMDeep analysis of long documents, PDFs, research papersNavigate to notebooklm.google.com, upload sources, use "Deep Research" mode
Logged-in contentPaywalled articles, internal dashboards, authenticated APIsUses your active Chrome session
Interactive researchFilling search forms, navigating multi-page results, downloading reportsFull 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 typeBuilt-inWith scraperWith ExaWith browser
Official docsWebFetchFirecrawl (JS pages)
User sentimentWebSearchExa (semantic)Chrome → X/Reddit
Pricing/featuresWebFetchFirecrawl extractChrome (dynamic pricing)
Technical deep-diveWebSearch + WebFetchFirecrawl (GitHub)Exa code context
Long documents/PDFsWebFetch (limited)Chrome → NotebookLM
Paywalled contentChrome (logged-in)
Real-time discussionWebSearchExaChrome → 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):

  1. Navigate to notebooklm.google.com via Chrome MCP
  2. Create a new notebook
  3. Upload source materials (URLs, PDFs, documents)
  4. Use "Deep Research" mode with a specific question
  5. 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

  1. Read all saved findings
  2. Select template based on research type AND output channel (see references/output-templates.md)
  3. Ask for personal examples — "Do you have a personal use case that would make this concrete?"
  4. Create "At a Glance" table — 3-5 key dimensions as analysis spine (skip for quick takes)
  5. Draft synthesis answering the key question
  6. Iterate with the user — first draft is never the final version
Research TypeOutput ChannelTemplate
AnySlack/emailQuick Take (short, scannable)
Product comparisonDocComparison (recommendation + At a Glance table)
Technical deep-diveDocDeep-dive (architecture, tradeoffs)
Knowledge synthesisDocSynthesis (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

ScenarioResponse
Source returns no resultsNote the gap, try alternative query or different tool, move on
Conflicting sourcesDocument both views with confidence levels — don't silently pick one
Page requires loginIf Chrome MCP available, try logged-in session. Otherwise, note as inaccessible.
Firecrawl/scraper times outRetry with longer wait, fall back to WebFetch, note if data is missing
User wants quick answerUse "Quick Take" template — skip Steps 2-3, go straight to synthesis
Too many sources, losing focusReturn 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.md to match your research domains. A marketing team might add "Social listening tools" and "Ad library analysis."
  • Output templates — Edit references/output-templates.md to 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.

Keep looking

Skills are one crate of 326,679. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.