agentleFS
BenedictKingBenedictKing/benedictking-skills/skills/context7-auto-research/SKILL.md

context7-auto-research

Skill14 starsChanged 3 months agoMITView on GitHub

Use this skill when users need current documentation, setup steps, API references, or code examples for a named library, framework, SDK, or API. It fetches up-to-date Context7 docs.

  • Reads credentials

4 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 4

    1. figuretu/my-skills★ 16same name
    2. xfstudio/skills★ 9same name
    3. ai4brands-design/claude-skills★ 2same name
    4. jornalistainclusivo/jinc-skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository5 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 14 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 14

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When triggered, follow this workflow:

    line 57
  2. Very specific:

    Version match: if user specified (e.g., "Next.js 15" → prefer v15.x)

    line 113
  3. Distinctive:

    No conversation history overhead

    line 152
  4. Distinctive:

    Use the fetched documentation to:

    line 157
  5. Distinctive:

    Cite version: when relevant

    line 161
  6. Distinctive:

    Use for initial library resolution

    line 175
  7. Distinctive:

    Use after selecting a library

    line 184
  8. Very specific:

    Create a .env file in the skill directory:

    line 192
  9. Distinctive:

    If not set, the API will use public rate limits (lower quota).

    line 216
  10. Distinctive:

    When users mention versions, use version-specific library IDs

    line 227
  11. Distinctive:

    If library search returns no results, inform user and suggest alternatives

    line 232
  12. Distinctive:

    If API fails, fall back to training data but mention it may be outdated

    line 233
  13. Distinctive:

    Don't dump entire documentation - extract relevant parts

    line 238
  14. Distinctive:

    Always include practical code examples

    line 240
  15. Distinctive:

    Parallel requests: If user asks about multiple libraries, fetch in parallel using multiple Task calls

    line 333
  16. Distinctive:

    Fallback strategy: If API unavailable, use training data with disclaimer

    line 335

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
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 scripts/context7-api.cjs search "<library-name>" "<user-query>"

Example:

Task: Search for Next.js
Prompt: node scripts/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: fork from 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:

  1. Exact name match to user's query
  2. Highest trust score (indicates quality/popularity)
  3. Version match if user specified (e.g., "Next.js 15" → prefer v15.x)
  4. 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 scripts/context7-api.cjs context "<library-id>" "<specific-query>"

Example:

Task: Fetch Next.js middleware docs
Prompt: node scripts/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:

  1. Answer accurately with current information
  2. Include code examples from the docs
  3. Cite version when relevant
  4. Provide context about the feature/API

Helper Script Usage

The scripts/context7-api.cjs script provides two commands:

Search Library

node scripts/context7-api.cjs search <libraryName> <query>
  • Returns matching libraries with metadata
  • Use for initial library resolution

Get Context

node scripts/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 .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.8 instead 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:

  1. Detect trigger: "How do I use" + "useEffect" + "React 19"
  2. Search: node scripts/context7-api.cjs search "react" "useEffect fetch data"
  3. Select: /facebook/react/v19.0.0 (version match)
  4. Fetch: node scripts/context7-api.cjs context "/facebook/react/v19.0.0" "useEffect data fetching"
  5. Respond with current React 19 patterns (e.g., using use() hook if applicable)

Example 2: Next.js Configuration

User: "配置 Next.js 15 的中间件"

Skill Actions:

  1. Detect trigger: "配置" + "Next.js 15" + "中间件"
  2. Search: node scripts/context7-api.cjs search "next.js" "middleware configuration"
  3. Select: /vercel/next.js/v15.1.8
  4. Fetch: node scripts/context7-api.cjs context "/vercel/next.js/v15.1.8" "middleware"
  5. 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:

  1. Detect trigger: "Show me how" + "Prisma"
  2. Search: node scripts/context7-api.cjs search "prisma" "one-to-many relations"
  3. Select: /prisma/prisma (highest trust score)
  4. Fetch: node scripts/context7-api.cjs context "/prisma/prisma" "one-to-many relations"
  5. Respond with Prisma schema examples

Architecture: Context Separation

Why Split into Two Skills?

This skill adopts a two-phase architecture:

  1. 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
  2. Sub-Skill (context7-fetcher) - Independent context (context: fork):
    • Execute API calls to Context7
    • Pure HTTP requests, no conversation history needed
    • Reduce Token consumption

Benefits

AspectMain SkillSub-Skill
ContextFull conversationFork (independent)
PurposeIntent analysisAPI execution
Token usageHigherLower
ExecutionSequentialCan 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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.