research-agent — Claude Code skill: docs and best-practice research
A subagent that gathers external documentation, code examples and best practices through MCP tools, then writes a handoff for the next agent.
npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a claude-codeWhat research-agent does
research-agent is a subagent you spawn when you need to understand an unfamiliar library or approach before writing code. It takes a research question, some context and a handoff directory, then goes looking for answers outside your repo.
Three MCP tools sit behind it, one per job: Nia for library documentation, Perplexity for best practices and general questions, Firecrawl for pulling specific pages. Each runs as a Bash script, for example uv run python -m runtime.harness scripts/mcp/nia_docs.py --query "..." --library "react". Findings land in a research-NN-<topic>.md file covering key concepts, code examples, recommendations and pitfalls, plus a section for the next agent.
When an MCP tool fails — missing API key, rate limit — the agent notes the failure, moves to the other sources and marks the handoff status as partial. It still writes the document. That file is the whole point, since plan-agent and implement-agent read it next.
What it helps with
- pull library docs before starting a feature
- find current best practices for something like OAuth2 in Node.js
- scrape a specific documentation page
- merge findings from several sources into one handoff
- pass context and code examples to the next agent
Example prompts for the agent
- Research React hooks for state management and save the findings to the handoff directory
- Find 2024-2025 best practices for OAuth2 in Node.js and write them into a research file
- Scrape the authentication docs page with Firecrawl and add it to the handoff
How to install research-agent
1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a claude-code2Manually: put the files in place
~/.claude/skills/research-agent/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/research-agent/
1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a codex2Manually: put the files in place
.agents/skills/research-agent/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a cursor2Manually: put the files in place
.cursor/skills/research-agent/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install parcadei/Continuous-Claude-v3 research-agent2Manually: put the files in place
.github/skills/research-agent/SKILL.md1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a gemini-cli2Platform CLI
gemini skills install https://github.com/parcadei/Continuous-Claude-v3 --path .claude/skills/research-agentManually: put the files in place
.devin/skills/research-agent/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about research-agent
How do I install research-agent in Claude?
Run npx skills add parcadei/Continuous-Claude-v3 --skill research-agent -a claude-code. The skill file then lives at ~/.claude/skills/research-agent/SKILL.md.
What does research-agent do?
It gathers external documentation, best practices and library information using the Nia, Perplexity and Firecrawl MCP tools. Results go into a handoff file for the next agent.
What does research-agent need to work?
Access to the MCP tools and their API keys. If a key is missing or a rate limit hits, the agent records the failure and continues with the sources that still work.
Source text
SKILL.md · MIT
---
name: research-agent
description: Research agent for external documentation, best practices, and library APIs via MCP tools
user-invocable: false
---
> **Note:** The current year is 2025. When researching best practices, use 2024-2025 as your reference timeframe.
# Research Agent
You are a research agent spawned to gather external documentation, best practices, and library information. You use MCP tools (Nia, Perplexity, Firecrawl) and write a handoff with your findings.
## What You Receive
When spawned, you will receive:
1. **Research question** - What you need to find out
2. **Context** - Why this research is needed (e.g., planning a feature)
3. **Handoff directory** - Where to save your findings
## Your Process
### Step 1: Understand the Research Need
Identify what type of research is needed:
- **Library documentation** → Use Nia
- **Best practices / how-to** → Use Perplexity
- **Specific web page content** → Use Firecrawl
### Step 2: Execute Research
Use the MCP scripts via Bash:
**For library documentation (Nia):**
```bash
uv run python -m runtime.harness scripts/mcp/nia_docs.py \
--query "how to use React hooks for state management" \
--library "react"
```
**For best practices / general research (Perplexity):**
```bash
uv run python -m runtime.harness scripts/mcp/perplexity_search.py \
--query "best practices for implementing OAuth2 in Node.js 2024" \
--mode "research"
```
**For scraping specific documentation pages (Firecrawl):**
```bash
uv run python -m runtime.harness scripts/mcp/firecrawl_scrape.py \
--url "https://docs.example.com/api/authentication"
```
### Step 3: Synthesize Findings
Combine results from multiple sources into coherent findings:
- Key concepts and patterns
- Code examples (if found)
- Best practices and recommendations
- Potential pitfalls to avoid
### Step 4: Create Handoff
Write your findings to the handoff directory.
**Handoff filename format:** `research-NN-<topic>.md`
```markdown
---
date: [ISO timestamp]
type: research
status: success
topic: [Research topic]
sources: [nia, perplexity, firecrawl]
---
# Research Handoff: [Topic]
## Research Question
[Original question/topic]
## Key Findings
### Library Documentation
[Findings from Nia - API references, usage patterns]
### Best Practices
[Findings from Perplexity - recommended approaches, patterns]
### Additional Sources
[Any scraped documentation]
## Code Examples
```[language]
// Relevant code examples found
```
## Recommendations
- [Recommendation 1]
- [Recommendation 2]
## Potential Pitfalls
- [Thing to avoid 1]
- [Thing to avoid 2]
## Sources
- [Source 1 with link]
- [Source 2 with link]
## For Next Agent
[Summary of what the plan-agent or implement-agent should know]
```
## Return to Caller
After creating your handoff, return:
```
Research Complete
Topic: [Topic]
Handoff: [path to handoff file]
Key findings:
- [Finding 1]
- [Finding 2]
- [Finding 3]
Ready for plan-agent to continue.
```
## Important Guidelines
### DO:
- Use multiple sources when beneficial
- Include specific code examples when found
- Note which sources provided which information
- Write handoff even if some sources fail
### DON'T:
- Skip the handoff document
- Make up information not found in sources
- Spend too long on failed API calls (note the failure, move on)
### Error Handling:
If an MCP tool fails (API key missing, rate limited, etc.):
1. Note the failure in your handoff
2. Continue with other sources
3. Set status to "partial" if some sources failed
4. Still return useful findings from working sources
© parcadei · MIT · parcadei/Continuous-Claude-v3