Marketplace fetching-library-docs
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/asmayaseen/fetching-library-docs" ~/.claude/skills/aiskillstore-marketplace-fetching-library-docs && rm -rf "$T"
skills/asmayaseen/fetching-library-docs/SKILL.mdContext7 Efficient Documentation Fetcher
Fetch library documentation with automatic 77% token reduction via shell pipeline.
Quick Start
Always use the token-efficient shell pipeline:
# Automatic library resolution + filtering bash scripts/fetch-docs.sh --library <library-name> --topic <topic> # Examples: bash scripts/fetch-docs.sh --library react --topic useState bash scripts/fetch-docs.sh --library nextjs --topic routing bash scripts/fetch-docs.sh --library prisma --topic queries
Result: Returns ~205 tokens instead of ~934 tokens (77% savings).
Standard Workflow
For any documentation request, follow this workflow:
1. Identify Library and Topic
Extract from user query:
- Library: React, Next.js, Prisma, Express, etc.
- Topic: Specific feature (hooks, routing, queries, etc.)
2. Fetch with Shell Pipeline
bash scripts/fetch-docs.sh --library <library> --topic <topic> --verbose
The
--verbose flag shows token savings statistics.
3. Use Filtered Output
The script automatically:
- Fetches full documentation (934 tokens, stays in subprocess)
- Filters to code examples + API signatures + key notes
- Returns only essential content (205 tokens to Claude)
Parameters
Basic Usage
bash scripts/fetch-docs.sh [OPTIONS]
Required (pick one):
- Library name (e.g., "react", "nextjs")--library <name>
- Direct Context7 ID (faster, skips resolution)--library-id <id>
Optional:
- Specific feature to focus on--topic <topic>
- code for examples (default), info for concepts--mode <code|info>
- Pagination for more results--page <1-10>
- Show token savings statistics--verbose
Mode Selection
Code Mode (default): Returns code examples + API signatures
--mode code
Info Mode: Returns conceptual explanations + fewer examples
--mode info
Common Library IDs
Use
--library-id for faster lookup (skips resolution):
React: /reactjs/react.dev Next.js: /vercel/next.js Express: /expressjs/express Prisma: /prisma/docs MongoDB: /mongodb/docs Fastify: /fastify/fastify NestJS: /nestjs/docs Vue.js: /vuejs/docs Svelte: /sveltejs/site
Workflow Patterns
Pattern 1: Quick Code Examples
User asks: "Show me React useState examples"
bash scripts/fetch-docs.sh --library react --topic useState --verbose
Returns: 5 code examples + API signatures + notes (~205 tokens)
Pattern 2: Learning New Library
User asks: "How do I get started with Prisma?"
# Step 1: Get overview bash scripts/fetch-docs.sh --library prisma --topic "getting started" --mode info # Step 2: Get code examples bash scripts/fetch-docs.sh --library prisma --topic queries --mode code
Pattern 3: Specific Feature Lookup
User asks: "How does Next.js routing work?"
bash scripts/fetch-docs.sh --library-id /vercel/next.js --topic routing
Using
--library-id is faster when you know the exact ID.
Pattern 4: Deep Exploration
User needs comprehensive information:
# Page 1: Basic examples bash scripts/fetch-docs.sh --library react --topic hooks --page 1 # Page 2: Advanced patterns bash scripts/fetch-docs.sh --library react --topic hooks --page 2
Token Efficiency
How it works:
callsfetch-docs.sh
(which usesfetch-raw.sh
)mcp-client.py- Full response (934 tokens) stays in subprocess memory
- Shell filters (awk/grep/sed) extract essentials (0 LLM tokens used)
- Returns filtered output (205 tokens) to Claude
Savings:
- Direct MCP: 934 tokens per query
- This approach: 205 tokens per query
- 77% reduction
Do NOT use
directly - it bypasses filtering and wastes tokens.mcp-client.py
Advanced: Library Resolution
If library name fails, try variations:
# Try different formats --library "next.js" # with dot --library "nextjs" # without dot --library "next" # short form # Or search manually bash scripts/fetch-docs.sh --library "your-library" --verbose # Check output for suggested library IDs
Verification
Run:
python3 scripts/verify.py
Expected:
✓ fetch-docs.sh ready
If Verification Fails
- Run diagnostic:
ls -la scripts/fetch-docs.sh - Check: Script exists and is executable
- Fix:
chmod +x scripts/fetch-docs.sh - Stop and report if still failing - do not proceed with downstream steps
Troubleshooting
| Issue | Solution |
|---|---|
| Library not found | Try name variations or use broader search term |
| No results | Use or broader topic |
| Need more examples | Increase page: |
| Want full context | Use for explanations |
| Permission denied | Run: |
References
For detailed Context7 MCP tool documentation, see:
- references/context7-tools.md - Complete tool reference
Implementation Notes
Components (for reference only, use fetch-docs.sh):
- Universal MCP client (foundation)mcp-client.py
- MCP wrapperfetch-raw.sh
- Code example filter (awk)extract-code-blocks.sh
- API signature filter (awk)extract-signatures.sh
- Important notes filter (grep)extract-notes.sh
- Main orchestrator (ALWAYS USE THIS)fetch-docs.sh
Architecture: Shell pipeline processes documentation in subprocess, keeping full response out of Claude's context. Only filtered essentials enter the LLM context, achieving 77% token savings with 100% functionality preserved.