| name | research |
| description | Diagnose research quality and guide systematic query expansion. Use when starting research on any topic, when stuck in research, or when unsure if research is complete. |
| license | MIT |
| metadata | [object Object] |
Research Skill
Tool-assisted research with Tavily integration. Transforms basic questions into comprehensive search strategies using AI-optimized web search.
Setup
This skill includes a bundled Tavily CLI script at scripts/tavily-cli.ts.
Requirements
- Deno - Install from https://deno.land
- Tavily API Key - Get one at https://tavily.com (free tier available)
Configuration
Set your API key:
export TAVILY_API_KEY="your-key-here"
Create an alias for convenience (add to your shell profile):
# Adjust path to where this skill is installed
alias tavily='deno run --allow-net --allow-env /path/to/skills/research/scripts/tavily-cli.ts'
Or run directly:
deno run --allow-net --allow-env ./scripts/tavily-cli.ts "your query"
Commands below use tavily assuming the alias is configured.
Quick Reference
Common Commands
# Basic search
tavily "your query"
# With AI answer summary
tavily "your query" --answer
# Deep search with more results
tavily "your query" --depth advanced --results 10 --answer
# News/recent content
tavily "your query" --topic news --time week
# Exclude familiar sources to find new perspectives
tavily "your query" --exclude wikipedia.org,reddit.com
Phase Summary
| Phase | Type | Purpose |
|---|---|---|
| 0 | Manual | Analyze topic, set scope |
| 1 | Tavily | Discover expert terminology |
| 2 | Tavily | Foundational search |
| 3 | Tavily | Counter-perspectives |
| 4 | Manual | Synthesize findings |
Scope → Tavily Depth
| Decision Stakes | Tavily Settings |
|---|---|
| Low, reversible | --depth basic --results 3 |
| Moderate | --depth basic --results 5 --answer |
| High, irreversible | --depth advanced --results 10 --answer |
Phase 0: Analysis
Goal: Structure topic before searching. Prevents unfocused searches and scope mismatch.
Scope Calibration
Before searching, assess stakes:
| Decision Type | Confidence Needed | Research Depth |
|---|---|---|
| Reversible, low-stakes | 60-70% | Quick scan (minutes) |
| Reversible, moderate | 75-85% | Working knowledge |
| Irreversible, moderate | 85-90% | Solid grounding |
| Irreversible, high | 90-95% | Deep expertise |
Analysis Template
# Research Analysis: [Topic]
## Core Concepts
- **Primary terms:** [Key terms requiring definition]
- **Terminology variants:** [Synonyms, jargon, historical terms]
- **Ambiguous terms:** [Terms with multiple meanings]
## Stakeholders
- **Primary actors:** [Who is directly involved?]
- **Affected groups:** [Who bears consequences?]
- **Opposing interests:** [Who benefits from different outcomes?]
## Temporal Scope
- **Historical origins:** [When did this begin?]
- **Key transitions:** [What changed and when?]
- **Current state:** [What's happening now?]
## Domains
- **Primary field:** [Main discipline]
- **Adjacent fields:** [Related disciplines]
## Controversies
- **Active debates:** [What's contested?]
- **Competing frameworks:** [Different ways of understanding]
Phase 0 Checklist
- Identified primary terms
- Listed potential stakeholders
- Assessed decision stakes
- Determined appropriate research depth
Phase 1: Vocabulary Discovery
Goal: Discover expert terminology to unlock deeper search results.
Why Vocabulary Matters
- Outsider terms → introductory material
- Expert terms → research, nuanced analysis
- Cross-domain terms → bridge bodies of work
Tavily Commands for Vocabulary Discovery
| Discovery Need | Command |
|---|---|
| Expert terminology | tavily "[topic] terminology experts" --answer |
| Academic terms | tavily "[topic] academic research terminology" --answer |
| Cross-domain synonyms | tavily "[topic] also known as called" --answer |
| Historical terms | tavily "[topic] history original term" --answer |
Vocabulary Discovery Process
Run initial terminology search:
tavily "[topic] terminology" --answer --results 5From results, note:
- Expert terms (technical vocabulary)
- Outsider terms (popular/introductory language)
- Cross-domain equivalents
Update vocabulary map (template below)
Re-run searches with expert terms:
tavily "[expert-term]" --answerCompare result quality - expert terms should surface deeper content
Vocabulary Map Template
## Core Terms
| Term | Domain | Depth Level |
|------|--------|-------------|
| [expert term] | [field] | Expert |
| [outsider term] | General | Introductory |
## Cross-Domain Synonyms
| Concept | Terms by Domain |
|---------|-----------------|
| [concept] | Field A: [term], Field B: [term] |
## Depth Indicators
| Level | Terms | What They Surface |
|-------|-------|-------------------|
| Introductory | [terms] | Overviews, explainers |
| Expert | [terms] | Research, nuanced analysis |
Phase 1 Checklist
- Ran terminology discovery search
- Identified expert vs. outsider terms
- Mapped cross-domain synonyms
- Created vocabulary map
Phase 2: Foundational Search
Goal: Build foundational understanding with authoritative sources.
Question Pattern → Tavily Command
| Question Pattern | Strategy | Command |
|---|---|---|
| "What is X?" | Consensus from authorities | tavily "[expert-term] definition" --answer --depth advanced |
| "Should I X?" | Pros/cons, alternatives | tavily "[expert-term] pros cons comparison" --answer |
| "Is X true?" | Evidence, counter-evidence | tavily "[claim] evidence research" --answer --depth advanced |
| "How do I X?" | Step-by-step, pitfalls | tavily "[expert-term] guide tutorial" --answer |
| Historical context | Origins and evolution | tavily "[topic] history origins development" --answer |
Source Type Selection
| Source Type | Best For | Tavily Approach |
|---|---|---|
| Academic/Research | Mechanism, causation | --depth advanced --results 10 |
| Practitioner content | How things work, edge cases | --topic general --answer |
| News/Current | Recent developments | --topic news --time week |
| Official docs | Technical specs, policy | --include [official-domain] |
Foundational Search Process
Start with expert terminology from Phase 1
Run foundational queries:
# Definition/overview tavily "[expert-term] comprehensive overview" --answer --depth advanced # Key perspectives tavily "[expert-term] major approaches" --answer --results 7For each major perspective found, get 2-3 authoritative sources:
tavily "[perspective-name] [expert-term]" --answer --results 5Track sources in research notes
Phase 2 Checklist
- Used expert terminology from Phase 1
- Searched for foundational overview
- Identified 2-3 major perspectives
- Found authoritative sources per perspective
- Tracked sources
Phase 3: Counter-Perspective Search
Goal: Explicitly find opposing viewpoints to avoid confirmation bias.
Why Counter-Perspectives Matter
Single-perspective research:
- All sources support one viewpoint
- Missing counterarguments
- Echo chamber risk
Tavily Commands for Counter-Perspectives
| Need | Command |
|---|---|
| General criticism | tavily "[topic] criticism problems" --answer |
| Opposing viewpoint | tavily "[topic] skeptics critique" --answer |
| Alternative approaches | tavily "[topic] alternatives instead of" --answer |
| Failure cases | tavily "[topic] failures when wrong" --answer |
| Avoid echo chamber | tavily "[topic] debate" --exclude [familiar-sources] |
Counter-Perspective Process
Identify your current understanding/lean
Search for strongest counterargument:
tavily "[topic] strongest argument against" --answer --depth advancedExclude sources you've already seen:
tavily "[topic]" --exclude [domains-already-searched]Search for failure modes:
tavily "[topic] when fails problems limitations" --answerDocument opposing perspectives in research notes
Phase 3 Checklist
- Identified current understanding/position
- Searched for strongest counterargument
- Used --exclude to find new sources
- Searched for limitations/failure cases
- Documented opposing perspectives
Phase 4: Synthesis
Goal: Synthesize findings with explicit confidence markers.
Completion Criteria
Minimum Viable (Quick Decisions)
- Can define core concepts in own words
- Know 2-3 major perspectives
- Found authoritative source per perspective
- Identified known unknowns
Working Knowledge (Most Decisions)
- Can explain historical context
- Understand stakeholder positions
- Encountered counterarguments
- Checked multiple domains
Deep Expertise (High-Stakes)
- Traced claims to primary sources
- Can evaluate competing evidence
- Understand knowledge limitations
Diminishing Returns Signals
Stop when:
- New sources cite same foundational works (circular)
- New searches return familiar content (repetitive)
- Each hour adds less than previous (marginal)
- Can make decision or take action (sufficient)
Confidence Markers
| Level | Phrases to Use |
|---|---|
| Established | "X is...", "X works by..." |
| Strong evidence | "Evidence strongly suggests..." |
| Moderate evidence | "Most sources report..." |
| Limited evidence | "One study found..." |
| Unknown | "No reliable information found..." |
Synthesis Template
## Summary
[Direct answer to question]
## Confidence Level
[High/Medium/Low] - [Justification]
## Key Findings
1. [Finding with source type]
## Perspectives
| Perspective | Key Argument | Source Quality |
|-------------|--------------|----------------|
| [view] | [argument] | [assessment] |
## Counter-Evidence
- [What argues against the main conclusion]
## Caveats
- [What wasn't consulted]
- [What assumptions were made]
## For Deeper Investigation
[What would increase confidence]
Phase 4 Checklist
- Met completion criteria for stakes level
- Checked diminishing returns signals
- Applied confidence markers
- Completed synthesis template
- Stored findings for future reference
Tavily Command Reference
Basic Usage
tavily "search query" [options]
Options
| Option | Description | Values |
|---|---|---|
--answer |
Include AI-generated answer summary | flag |
--depth |
Search depth | basic (default), advanced |
--results |
Number of results | 1-20 (default: 5) |
--topic |
Topic category | general (default), news, finance |
--time |
Time filter | day, week, month, year |
--include |
Only include domains | comma-separated |
--exclude |
Exclude domains | comma-separated |
--raw |
Include raw page content | flag |
--json |
Output as JSON | flag |
Scenario → Command Mapping
| Research Scenario | Command |
|---|---|
| Quick overview | tavily "query" --answer |
| Deep dive | tavily "query" --depth advanced --results 10 --answer |
| Recent news | tavily "query" --topic news --time week |
| Academic focus | tavily "query" --depth advanced --include scholar.google.com,arxiv.org |
| Avoid Wikipedia | tavily "query" --exclude wikipedia.org |
| Fresh perspectives | tavily "query" --exclude [already-seen-domains] |
| Financial data | tavily "query" --topic finance --answer |
| Raw content for analysis | tavily "query" --raw --json |
Diagnostic States
Use these to identify where research is stuck and which phase to revisit.
| State | Symptom | Phase to Revisit |
|---|---|---|
| R0: No Analysis | Searching without structuring topic | Phase 0 |
| R1: No Vocabulary | Using outsider terms, finding only surface content | Phase 1 |
| R2: Single-Perspective | All sources support one view | Phase 3 |
| R3: Domain Blindness | Searching only in familiar field | Phase 1 (cross-domain terms) |
| R4: Recency Bias | Only recent sources | Phase 2 (historical queries) |
| R5: Breadth Without Depth | Many tabs, no synthesis | Phase 4 |
| R6: Completion Uncertainty | Unsure when to stop | Phase 4 (completion criteria) |
| R7: Complete | Can explain, identify uncertainties, act | Done |
Quick Diagnostic
- Can you explain the topic in expert terminology? → If no, Phase 1
- Have you found opposing viewpoints? → If no, Phase 3
- Can you state your confidence level with justification? → If no, Phase 4
- Is your research depth proportional to stakes? → If no, Phase 0
Anti-Patterns
| Pattern | Symptom | Fix |
|---|---|---|
| Confirmation Trap | Searching to confirm, not learn | Phase 3: Search for strongest counterargument |
| Authority Fallacy | Accepting claims by source prestige | Evaluate evidence, not source |
| Recency Trap | Only recent sources | Phase 2: Historical context queries |
| Breadth Trap | 50 tabs, none read | Phase 4: 3-source rule, synthesize before continuing |
| Single-Source | One source as final answer | Require 3 independent sources |
| Jargon Blind Spot | Missing other fields' terminology | Phase 1: Cross-domain vocabulary |
| Infinite Rabbit Hole | Lost original purpose | Phase 0: Return to scope/stakes |
| Echo Chamber | Same sources repeatedly | Phase 3: Use --exclude flag |
Output Persistence
Output Discovery
Before doing any other work:
- Check for
context/output-config.mdin the project - If found, look for this skill's entry
- If not found or no entry for this skill, ask the user first:
- "Where should I save output from this research session?"
- Suggest:
explorations/research/or a sensible location for this project
- Store the user's preference
What to Store
| Layer | Contents |
|---|---|
| Vocabulary Map | Terms, domains, depth levels |
| Sources | URLs, relevance scores, quality notes |
| Synthesis | Summary, confidence, findings, caveats |
| Query Log | Tavily commands that worked/failed |
| Gaps | What remains unknown |
File Naming
Pattern: {topic}-research-{date}.md
Example: competency-frameworks-research-2025-01-15.md
Integration Points
| Skill | Connection |
|---|---|
| doppelganger | Research informs decisions; apply /truth-check to findings |
| context-networks | Store research findings in appropriate network node |
| boundary-critique | Apply to advice and recommendations encountered |
Health Check Questions
During research, ask:
- Am I searching to learn or to confirm?
- What's the strongest argument against my current view?
- Have I looked outside my familiar domains?
- Am I using expert or outsider vocabulary?
- Is my depth proportional to the stakes?
- Have I stored what I've learned for future use?
Source Framework
Derived from: frameworks/research/research-framework.md