Skip to main content
skill CX Codex

research · jwynia — Claude Code skill: what it does, how to install

Guides structured web research and systematic query expansion via a bundled Tavily CLI script calibrated to decision stakes.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jwynia/agent-skills --skill research -a claude-code
Open on GitHub

What research does

The skill breaks inquiry down into progressive phases: scoping risk, discovering expert terminology, gathering authoritative facts, checking counter-arguments, and synthesizing notes. Instead of broad searches, it instructs the agent to surface technical vocabulary first. This avoids entry-level explainer articles and reveals specific technical sources.

Searches run through an included scripts/tavily-cli.ts helper that queries the Tavily API. The command accepts arguments for AI summaries via --answer, deep scans using --depth advanced, recent news queries, and explicit domain exclusions like Reddit or Wikipedia.

Without Deno in your environment, the search runner cannot execute. Calibrating query depth to decision stakes prevents wasted tokens on low-risk choices while reserving ten-result scans for irreversible technical decisions.

What it helps with

  • extract domain-specific terminology before starting deep searches
  • scale search depth and source counts based on decision stakes
  • gather opposing perspectives and counter-evidence on disputed topics
  • exclude generic sites like Reddit or Wikipedia from automated queries

Example prompts for the agent

  • Plan an investigation into distributed consensus algorithms and extract expert terminology first.
  • Run an advanced Tavily search on database migration trade-offs with summaries enabled.
  • Gather counter-arguments against microfrontends while excluding reddit.com.

How to install research

1Skills CLI (Vercel)

npx skills add jwynia/agent-skills --skill research -a claude-code

2Manually: put the files in place

~/.claude/skills/research/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/research/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about research

How to install research in Claude Code?

Run npx skills add jwynia/agent-skills --skill research -a claude-code. The tool writes configuration to ~/.claude/skills/research/SKILL.md.

What dependencies does the research skill require?

You need the Deno runtime installed locally and an active Tavily API key assigned to TAVILY_API_KEY. Web queries execute via scripts/tavily-cli.ts.

Why does Phase 1 focus on vocabulary discovery?

Everyday phrasing returns superficial overviews. Finding specialized terms and academic synonyms lets Tavily uncover authoritative papers and technical documentation.

Source text

SKILL.md · MIT
---
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:
  author: jwynia
  version: "2.0"
  domain: research
  cluster: methodology
  type: diagnostic
  mode: assistive
---

# 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

1. **Deno** - Install from https://deno.land
2. **Tavily API Key** - Get one at https://tavily.com (free tier available)

### Configuration

Set your API key:
```bash
export TAVILY_API_KEY="your-key-here"
```

Create an alias for convenience (add to your shell profile):
```bash
# 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:
```bash
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

```bash
# 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

```markdown
# 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

1. Run initial terminology search:
   ```bash
   tavily "[topic] terminology" --answer --results 5
   ```

2. From results, note:
   - Expert terms (technical vocabulary)
   - Outsider terms (popular/introductory language)
   - Cross-domain equivalents

3. Update vocabulary map (template below)

4. Re-run searches with expert terms:
   ```bash
   tavily "[expert-term]" --answer
   ```

5. Compare result quality - expert terms should surface deeper content

### Vocabulary Map Template

```markdown
## 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

1. Start with expert terminology from Phase 1

2. Run foundational queries:
   ```bash
   # Definition/overview
   tavily "[expert-term] comprehensive overview" --answer --depth advanced

   # Key perspectives
   tavily "[expert-term] major approaches" --answer --results 7
   ```

3. For each major perspective found, get 2-3 authoritative sources:
   ```bash
   tavily "[perspective-name] [expert-term]" --answer --results 5
   ```

4. Track 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

1. Identify your current understanding/lean

2. Search for strongest counterargument:
   ```bash
   tavily "[topic] strongest argument against" --answer --depth advanced
   ```

3. Exclude sources you've already seen:
   ```bash
   tavily "[topic]" --exclude [domains-already-searched]
   ```

4. Search for failure modes:
   ```bash
   tavily "[topic] when fails problems limitations" --answer
   ```

5. Document 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

```markdown
## 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

```bash
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

1. Can you explain the topic in expert terminology? → If no, Phase 1
2. Have you found opposing viewpoints? → If no, Phase 3
3. Can you state your confidence level with justification? → If no, Phase 4
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:**

1. Check for `context/output-config.md` in the project
2. If found, look for this skill's entry
3. 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
4. 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:

1. Am I searching to learn or to confirm?
2. What's the strongest argument against my current view?
3. Have I looked outside my familiar domains?
4. Am I using expert or outsider vocabulary?
5. Is my depth proportional to the stakes?
6. Have I stored what I've learned for future use?

---

## Source Framework

Derived from: `references/research-framework.md`

© jwynia · MIT · jwynia/agent-skills

Similar skills

All skills for Science and research →

research by other authors comes first.

research Matt Pocock Researches a question through primary sources and saves the findings as a Markdown file in the repository. Use it for API facts, documentation checks, and delegated reading. 711,295installs research Weizhena This skill does preliminary research on a topic and drafts an outline: a list of items to study plus the fields to capture for each. Useful before an academic review or a tech comparison. CX Codex +1 742installs research Alireza Rezvani Classifies a research request and hands it to the right specialist skill, or runs its own search workflow. Useful when you want a sourced briefing fast. 348installs research boshu2 Answers bounded questions about code, Git history, and technical claims by citing exact lines, commits, and implementation evidence. CX Codex +1 1,500installs research JuliusBrussee Gathers verified facts from docs and RFCs into a durable §R research log with sources, preventing agents from hallucinating external APIs. CX Codex +1 786installs anysearch anysearch-ai This skill gives an agent web search, domain-specific queries, parallel batch search, and page extraction. Use it when a task needs current information or a claim needs checking. CX Codex +1 38,500installs academic-paper Imbad0202 This skill runs a 12-agent academic pipeline across 11 modes. It guides projects from literature searches and outlines to citation audits and rebuttal reviews. CX Codex +1 10,800installs nature-figure Yuan1z0825 A skill that builds, revises and audits scientific figures for manuscripts in Python or R. Useful when plots go to submission, not to a report. CX Codex +1 18,800installs academic-paper-reviewer Imbad0202 This skill reviews an academic paper through five role-based perspectives. Use it for peer review, revision checks, or a focused methodology assessment. CX Codex +1 9,800installs nature-polishing Yuan1z0825 A skill that polishes, translates and tightens existing academic prose. Facts, terminology and evidence boundaries stay intact. CX Codex +1 17,500installs nature-citation Yuan1z skill, refactored into static/dynamic layers Finds Nature and CNS-family papers for manuscript claims, maps claims to sources, and prepares a reference-manager export. Use it when the journal scope matters. CX Codex +1 15,600installs

From the same set113

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor