Agent skill
context7-auto-research
Automatically fetches up-to-date documentation from Context7 when users ask about libraries, frameworks, APIs, or need code examples. Triggers proactively without explicit user request.
Install this agent skill to your Project
npx add-skill https://github.com/BenedictKing/context7-auto-research/tree/main/.claude/skills/context7-auto-research
SKILL.md
Context7 Auto Research Skill
This skill automatically fetches current documentation from Context7 API when detecting library/framework-related queries, ensuring responses use up-to-date information instead of potentially outdated training data.
Automatic Activation Triggers
This skill should activate proactively when the user's message contains:
Implementation Queries (实现相关)
- "如何实现" / "怎么写" / "怎么做"
- "How do I..." / "How to..." / "How can I..."
- "Show me how to..." / "Write code for..."
Configuration & Setup (配置相关)
- "配置" / "设置" / "安装"
- "configure" / "setup" / "install"
- "初始化" / "initialize"
Documentation Requests (文档相关)
- "文档" / "参考" / "API"
- "documentation" / "docs" / "reference"
- "查看" / "look up"
Library/Framework Mentions (库/框架提及)
- React, Vue, Angular, Svelte, Solid
- Next.js, Nuxt, Remix, Astro
- Express, Fastify, Koa, Hono
- Prisma, Drizzle, TypeORM
- Supabase, Firebase, Clerk
- Tailwind, shadcn/ui, Radix
- Any npm package or GitHub repository
Code Generation Requests (代码生成)
- "生成代码" / "写一个" / "创建"
- "generate" / "create" / "build"
- "implement" / "add feature"
Research Process
When triggered, follow this workflow:
Step 1: Extract Library Information
Identify the library/framework from the user's query:
- Library name (e.g., "react", "next.js", "prisma")
- Version if specified (e.g., "React 19", "Next.js 15")
- Specific feature/API mentioned (e.g., "useEffect", "middleware", "relations")
Step 2: Search for Library
Use Task tool to call context7-fetcher sub-skill:
Task parameters:
- subagent_type: Bash
- description: "Search Context7 for library"
- prompt: node .claude/skills/context7-auto-research/context7-api.cjs search "<library-name>" "<user-query>"
Example:
Task: Search for Next.js
Prompt: node .claude/skills/context7-auto-research/context7-api.cjs search "next.js" "How to configure middleware in Next.js 15"
Response format:
{
"libraries": [
{
"id": "/vercel/next.js",
"name": "Next.js",
"description": "The React Framework",
"trustScore": 95,
"versions": ["v15.1.8", "v14.2.0", "v13.5.0"]
}
]
}
Why use Task tool?
- Uses
context: forkfrom context7-fetcher sub-skill - Avoids carrying conversation history to API calls
- Reduces Token consumption
Step 3: Select Best Match
From search results, choose the library based on:
- Exact name match to user's query
- Highest trust score (indicates quality/popularity)
- Version match if user specified (e.g., "Next.js 15" → prefer v15.x)
- Official packages over community forks
Step 4: Fetch Documentation
Use Task tool to call context7-fetcher sub-skill:
Task parameters:
- subagent_type: Bash
- description: "Fetch documentation from Context7"
- prompt: node .claude/skills/context7-auto-research/context7-api.cjs context "<library-id>" "<specific-query>"
Example:
Task: Fetch Next.js middleware docs
Prompt: node .claude/skills/context7-auto-research/context7-api.cjs context "/vercel/next.js" "middleware configuration"
Response format:
{
"results": [
{
"title": "Middleware",
"content": "Middleware allows you to run code before a request is completed...",
"source": "docs/app/building-your-application/routing/middleware.md",
"relevance": 0.95
}
]
}
Why use Task tool?
- Independent context for API calls
- No conversation history overhead
- Faster execution
Step 5: Integrate into Response
Use the fetched documentation to:
- Answer accurately with current information
- Include code examples from the docs
- Cite version when relevant
- Provide context about the feature/API
Helper Script Usage
The context7-api.cjs script provides two commands:
Search Library
node context7-api.cjs search <libraryName> <query>
- Returns matching libraries with metadata
- Use for initial library resolution
Get Context
node context7-api.cjs context <libraryId> <query>
- Returns relevant documentation snippets
- Use after selecting a library
Environment Setup
The script supports two ways to configure the API key:
Option 1: .env File (Recommended)
Create a .env file in the skill directory:
# In .claude/skills/context7-auto-research/.env
CONTEXT7_API_KEY=your_api_key_here
You can copy from the example:
cp .env.example .env
# Then edit .env with your actual API key
Option 2: Environment Variable
export CONTEXT7_API_KEY="your-api-key"
Priority: Environment variable > .env file
Get API Key: Visit context7.com/dashboard to register and obtain your API key.
If not set, the API will use public rate limits (lower quota).
Best Practices
Query Specificity
- Pass the full user question as the query parameter for better relevance
- Include specific feature names (e.g., "useEffect cleanup" vs just "useEffect")
Version Awareness
- When users mention versions, use version-specific library IDs
- Example:
/vercel/next.js/v15.1.8instead of/vercel/next.js
Error Handling
- If library search returns no results, inform user and suggest alternatives
- If API fails, fall back to training data but mention it may be outdated
- Handle rate limits gracefully (429 errors)
Response Quality
- Don't dump entire documentation - extract relevant parts
- Combine multiple doc snippets if needed for complete answer
- Always include practical code examples
Example Workflows
Example 1: React Hook Question
User: "How do I use useEffect to fetch data in React 19?"
Skill Actions:
- Detect trigger: "How do I use" + "useEffect" + "React 19"
- Search:
node context7-api.cjs search "react" "useEffect fetch data" - Select:
/facebook/react/v19.0.0(version match) - Fetch:
node context7-api.cjs context "/facebook/react/v19.0.0" "useEffect data fetching" - Respond with current React 19 patterns (e.g., using
use()hook if applicable)
Example 2: Next.js Configuration
User: "配置 Next.js 15 的中间件"
Skill Actions:
- Detect trigger: "配置" + "Next.js 15" + "中间件"
- Search:
node context7-api.cjs search "next.js" "middleware configuration" - Select:
/vercel/next.js/v15.1.8 - Fetch:
node context7-api.cjs context "/vercel/next.js/v15.1.8" "middleware" - Respond with Next.js 15 middleware setup
Example 3: Prisma Relations
User: "Show me how to define one-to-many relations in Prisma"
Skill Actions:
- Detect trigger: "Show me how" + "Prisma"
- Search:
node context7-api.cjs search "prisma" "one-to-many relations" - Select:
/prisma/prisma(highest trust score) - Fetch:
node context7-api.cjs context "/prisma/prisma" "one-to-many relations" - Respond with Prisma schema examples
Architecture: Context Separation
Why Split into Two Skills?
This skill adopts a two-phase architecture:
-
Main Skill (context7-auto-research) - Needs conversation context:
- Detect trigger keywords in user message
- Extract user query intent
- Select best matching library (version, name, trust score)
- Integrate documentation into response
-
Sub-Skill (context7-fetcher) - Independent context (
context: fork):- Execute API calls to Context7
- Pure HTTP requests, no conversation history needed
- Reduce Token consumption
Benefits
| Aspect | Main Skill | Sub-Skill |
|---|---|---|
| Context | Full conversation | Fork (independent) |
| Purpose | Intent analysis | API execution |
| Token usage | Higher | Lower |
| Execution | Sequential | Can be parallel |
Call Flow
User Query → Main Skill (detect + analyze)
↓
Task Tool → Sub-Skill (API search)
↓
Main Skill (select best match)
↓
Task Tool → Sub-Skill (API fetch docs)
↓
Main Skill (integrate + respond)
Integration with Existing Skills
This skill complements the existing documentation-lookup skill:
- auto-research: Proactive, automatic activation
- documentation-lookup: Manual, user-invoked via
/context7:docs
Both can coexist - use auto-research for seamless UX, documentation-lookup for explicit queries.
Performance Considerations
- Cache responses: Documentation changes infrequently
- Parallel requests: If user asks about multiple libraries, fetch in parallel using multiple Task calls
- Timeout handling: Set reasonable timeouts (5-10s) for API calls
- Fallback strategy: If API unavailable, use training data with disclaimer
- Context efficiency: Sub-skill uses fork context to minimize Token consumption
Limitations
- Requires internet connection for API access
- Subject to Context7 API rate limits
- May not have documentation for very new or obscure libraries
- Documentation quality depends on source repository structure
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
firecrawl-scraper
Web scraping skill using Firecrawl API for deep content extraction, format conversion, and page interaction. Use when you need to scrape web pages, extract structured data, take screenshots, parse PDFs, or crawl entire websites. Triggers: firecrawl, scrape, extract content, screenshot, parse pdf, crawl website, 抓取网页, 提取内容, 网页截图
codex-review
Professional code review skill for Claude Code. Automatically collects file changes and task status. Triggers when working directory has uncommitted changes, or reviews latest commit when clean. Triggers: code review, review, 代码审核, 代码审查, 检查代码
exa-search
Semantic search skill using Exa API for embeddings-based search, similar content discovery, and structured research. Use when you need semantic search, find similar pages, or category-specific searches. Triggers: exa, semantic search, find similar, research paper, github search, 语义搜索, 相似内容
tavily-web
Web research skill using Tavily API for search, extract, crawl, map, and structured research tasks. Use when you need latest information, extract content from URLs, or discover site structure. Triggers: tavily, web search, search web, latest info, extract, crawl, map, research, 搜索网页, 查资料, 最新
verl-rl-training
Provides guidance for training LLMs with reinforcement learning using verl (Volcano Engine RL). Use when implementing RLHF, GRPO, PPO, or other RL algorithms for LLM post-training at scale with flexible infrastructure backends.
openrlhf-training
High-performance RLHF framework with Ray+vLLM acceleration. Use for PPO, GRPO, RLOO, DPO training of large models (7B-70B+). Built on Ray, vLLM, ZeRO-3. 2× faster than DeepSpeedChat with distributed architecture and GPU resource sharing.
Didn't find tool you were looking for?