본문으로 건너뛰기
cccskills
무료GitHub에 공개

doc-fetcher

Fetch library and framework documentation via context7-mcp and fetch-mcp for comprehensive documentation research with version-specific content.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(3)

  • SKILL.md13.0 KB
  • doc-sources.md9.5 KB
  • fetching-strategies.md16.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Purpose

The doc-fetcher skill provides comprehensive capabilities for fetching library and framework documentation from multiple sources using MCP integrations. This skill helps the Documentation Researcher agent retrieve up-to-date, version-specific documentation that enables informed implementation decisions and adherence to library best practices.

This skill emphasizes:

  • Latest Documentation: Always fetch current, version-specific documentation
  • Multiple Sources: Leverage both context7-mcp (deep context) and fetch-mcp (web content)
  • Comprehensive Coverage: Retrieve API references, examples, guides, and best practices
  • Version Awareness: Track version compatibility and breaking changes
  • Efficient Retrieval: Optimize MCP usage for token efficiency and accuracy

The doc-fetcher skill ensures that implementation guidance is based on authoritative, current documentation from official sources.

When to Use

This skill auto-activates when the agent describes:

  • "Fetch documentation for..."
  • "Retrieve API reference for..."
  • "Get library documentation..."
  • "Access documentation for..."
  • "Find documentation about..."
  • "Retrieve latest docs for..."
  • "Look up documentation..."
  • "Fetch API docs from..."

Provided Capabilities

1. Context7-MCP Documentation Retrieval

What it provides:

  • Deep documentation retrieval with semantic search
  • Version-specific API references
  • Code examples from documentation
  • Library-specific patterns and conventions
  • Integration guidance

Context7 Workflow:

# Step 1: Resolve library name to context7 ID
library_id = invoke_mcp(
    "context7-mcp",
    tool="resolve-library-id",
    params={
        "libraryName": "fastapi"  # or "react", "django", etc.
    }
)

# Step 2: Fetch comprehensive documentation
docs = invoke_mcp(
    "context7-mcp",
    tool="get-library-docs",
    params={
        "context7CompatibleLibraryID": library_id["library_id"],  # e.g., "/tiangolo/fastapi"
        "topic": "API routing and dependency injection",  # Focus area
        "tokens": 3000  # Amount of documentation to retrieve
    }
)

# Result contains:
# - documentation: Markdown-formatted docs
# - version: Library version
# - examples: Code examples
# - metadata: Additional context

Context7 Best Practices:

  • Use specific topics to focus documentation retrieval
  • Start with 2000-3000 tokens for comprehensive coverage
  • Adjust token count based on complexity
  • Combine multiple focused queries for complex features

2. Fetch-MCP Web Content Retrieval

What it provides:

  • Official documentation page fetching
  • GitHub README and Wiki retrieval
  • Community resource access
  • Tutorial and guide retrieval
  • Changelog and migration guide access

Fetch-MCP Workflow:

# Fetch official documentation page
official_docs = invoke_mcp(
    "fetch-mcp",
    tool="fetch",
    params={
        "url": "https://fastapi.tiangolo.com/tutorial/first-steps/",
        "prompt": "Extract quick start guide, installation steps, and first API example"
    }
)

# Fetch GitHub README
github_readme = invoke_mcp(
    "fetch-mcp",
    tool="fetch",
    params={
        "url": "https://github.com/tiangolo/fastapi/blob/master/README.md",
        "prompt": "Extract key features, installation, and basic usage examples"
    }
)

# Result contains:
# - Extracted content focused on the prompt
# - Markdown-formatted for easy parsing
# - Cleaned and processed for relevance

Fetch-MCP Best Practices:

  • Use specific prompts to extract relevant content
  • Prefer official documentation URLs over third-party
  • Fetch READMEs for overview and quick start
  • Retrieve changelogs for version migration info

3. Multi-Source Documentation Strategy

What it provides:

  • Combined documentation from multiple sources
  • Cross-reference validation
  • Comprehensive coverage
  • Authoritative source prioritization

Multi-Source Workflow:

documentation_sources = {
    "primary": {
        # Context7: Deep, comprehensive docs
        "context7": fetch_via_context7(library_name, topic),

        # Official docs: Quick start and guides
        "official": fetch_via_fetch_mcp(official_docs_url),
    },
    "supplementary": {
        # GitHub: Latest examples and README
        "github": fetch_via_fetch_mcp(github_url),

        # Migration guides (if version upgrade)
        "migration": fetch_via_fetch_mcp(migration_guide_url) if needs_migration else None,
    }
}

# Synthesize documentation from multiple sources
synthesized_docs = synthesize_documentation(documentation_sources)

Source Prioritization:

  1. Official Documentation (highest priority)
  2. Context7 Documentation (comprehensive reference)
  3. GitHub Repository (latest examples)
  4. Community Resources (supplementary)

4. Version-Specific Retrieval

What it provides:

  • Version compatibility checking
  • Breaking change identification
  • Migration guidance
  • Deprecated feature detection

Version Handling:

# Specify version in context7 (if supported)
docs_v2 = invoke_mcp(
    "context7-mcp",
    tool="get-library-docs",
    params={
        "context7CompatibleLibraryID": "/tiangolo/fastapi/v0.100.0",  # Version-specific
        "topic": "API routing",
        "tokens": 2000
    }
)

# Fetch version-specific changelog
changelog = invoke_mcp(
    "fetch-mcp",
    tool="fetch",
    params={
        "url": "https://github.com/tiangolo/fastapi/blob/master/CHANGELOG.md",
        "prompt": "Extract changes between version 0.95.0 and 0.100.0, focusing on breaking changes"
    }
)

# Compare versions and identify migration needs
migration_notes = analyze_version_changes(changelog)

5. Code Example Extraction

What it provides:

  • Working code examples
  • Integration patterns
  • Configuration examples
  • Test examples

Example Extraction:

# Extract examples from context7 docs
examples = []
for code_block in docs["examples"]:
    examples.append({
        "code": code_block["code"],
        "language": code_block["language"],
        "description": code_block["description"],
        "category": categorize_example(code_block)
    })

# Extract examples from official docs
official_examples = extract_code_blocks(official_docs["content"], language="python")

# Combine and deduplicate
all_examples = deduplicate_examples(examples + official_examples)

6. Documentation Caching

What it provides:

  • Reduced MCP calls
  • Faster subsequent retrievals
  • Token usage optimization
  • Consistent documentation state

Caching Strategy:

# Check cache before fetching
cache_key = f"{library_name}:{version}:{topic_hash}"

if cache_key in documentation_cache:
    return documentation_cache[cache_key]

# Fetch and cache
docs = fetch_documentation(library_name, version, topic)
documentation_cache[cache_key] = docs
documentation_cache[cache_key]["cached_at"] = datetime.utcnow()

return docs

Cache Invalidation:

  • Expire after 24 hours
  • Clear on version change
  • Manual refresh option

Usage Guide

Step 1: Identify Documentation Needs

Analysis doc → Extract libraries → Identify topics → Prioritize sources

Step 2: Resolve Library IDs (context7)

Library name → context7 resolve-library-id → Library ID

Step 3: Fetch Context7 Documentation

Library ID + Topic → get-library-docs → Comprehensive docs

Step 4: Fetch Web Resources (fetch-mcp)

URLs + Prompts → fetch → Supplementary docs

Step 5: Extract Examples

Documentation → Code blocks → Categorized examples

Step 6: Synthesize Documentation

Multiple sources → Prioritize → Combine → Structured output

Best Practices

  1. Use Context7 for Depth

    • Primary source for API references
    • Comprehensive coverage of library features
    • Semantic search capabilities
    • Version-specific support
  2. Use Fetch-MCP for Breadth

    • Official quick start guides
    • GitHub examples and READMEs
    • Migration guides and changelogs
    • Community tutorials (verified sources)
  3. Focus Documentation Retrieval

    • Use specific topics in context7
    • Use targeted prompts in fetch-mcp
    • Avoid generic "get all documentation"
    • Retrieve only what's needed for feature
  4. Version Awareness

    • Always specify version requirements
    • Check for breaking changes
    • Document version compatibility
    • Provide migration notes if needed
  5. Token Optimization

    • Start with 2000-3000 tokens
    • Adjust based on complexity
    • Multiple focused queries > one large query
    • Cache frequently accessed docs
  6. Source Validation

    • Prefer official documentation
    • Verify URL authenticity
    • Check documentation date
    • Cross-reference when uncertain

Resources

doc-sources.md

Curated list of documentation sources:

  • Official documentation URLs by framework
  • GitHub repository locations
  • Community resource repositories
  • API reference locations
  • Tutorial and guide sources
  • Changelog and release note locations

fetching-strategies.md

Documentation fetching strategies:

  • When to use context7 vs fetch-mcp
  • Token optimization techniques
  • Version-specific retrieval
  • Caching strategies
  • Error handling patterns
  • Multi-source synthesis
  • Example extraction methods

Example Usage

Input (from Documentation Researcher agent):

"Fetch documentation for FastAPI framework focusing on API routing, dependency injection, and Pydantic integration."

Output (doc-fetcher skill provides):

# Comprehensive documentation retrieval

# 1. Context7 Documentation
fastapi_docs = {
    "library_id": "/tiangolo/fastapi",
    "version": "0.100.0",
    "documentation": """
    # FastAPI API Routing

    FastAPI provides a powerful routing system based on Python type hints...

    ## Dependency Injection

    FastAPI's dependency injection system allows you to declare dependencies...

    ## Pydantic Integration

    FastAPI uses Pydantic models for request validation...
    """,
    "examples": [
        {
            "title": "Basic API with dependency injection",
            "code": """
from fastapi import FastAPI, Depends

app = FastAPI()

def get_query_param(q: str = None):
    return {"q": q}

@app.get("/items/")
async def read_items(commons: dict = Depends(get_query_param)):
    return commons
            """,
            "language": "python"
        }
    ]
}

# 2. Official Documentation (fetch-mcp)
official_docs = {
    "url": "https://fastapi.tiangolo.com/tutorial/",
    "content": """
    # First Steps

    Create a file `main.py` with:

    ```python
    from fastapi import FastAPI

    app = FastAPI()

    @app.get("/")
    async def root():
        return {"message": "Hello World"}
    ```

    Run the server with: `uvicorn main:app --reload`
    """
}

# 3. GitHub README (fetch-mcp)
github_readme = {
    "url": "https://github.com/tiangolo/fastapi",
    "content": """
    # FastAPI

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    ## Key features:
    - Fast: Very high performance, on par with NodeJS and Go
    - Fast to code: Increase the speed to develop features by about 200% to 300%
    - Fewer bugs: Reduce about 40% of human errors
    - Intuitive: Great editor support
    - Easy: Designed to be easy to use and learn
    - Short: Minimize code duplication
    - Robust: Get production-ready code
    - Standards-based: Based on OpenAPI and JSON Schema
    """
}

# 4. Synthesized Output
{
    "library": "fastapi",
    "version": "0.100.0",
    "sources": {
        "context7": "Primary documentation source",
        "official": "Quick start and tutorials",
        "github": "Overview and features"
    },
    "api_routing": {
        "overview": "FastAPI provides decorator-based routing...",
        "examples": [...],
        "best_practices": [...]
    },
    "dependency_injection": {
        "overview": "Dependency injection via Depends()...",
        "examples": [...],
        "best_practices": [...]
    },
    "pydantic_integration": {
        "overview": "Pydantic models for validation...",
        "examples": [...],
        "best_practices": [...]
    },
    "version_notes": "Compatible with Pydantic v2.x"
}

Integration

Used By:

  • @documentation-researcher (Primary) - Phase 2 sub-agent for documentation research

Integrates With:

  • doc-analyzer skill - Fetched documentation is analyzed for patterns and best practices
  • context7-mcp - Primary documentation retrieval mechanism
  • fetch-mcp - Supplementary web content retrieval

Workflow Position:

  1. Analysis Specialist identifies technical stack requirements
  2. Documentation Researcher receives analysis
  3. doc-fetcher skill retrieves documentation (Step 3-4)
  4. doc-analyzer skill analyzes documentation (Step 5-6)
  5. Results synthesized into documentation summary
  6. Design Orchestrator includes in PRP

Version: 2.0.0 Auto-Activation: Yes Phase: 2 - Design & Planning Created: 2025-10-29

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Validate WCAG 2.1 Level AA compliance and accessibility best practices. Use when performing accessibility audits and WCAG certification.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

matteocervelli/llms252026년 5월 22일 업데이트

analysis

무료

Analyze feature requirements, dependencies, and security considerations. Use when starting feature implementation from GitHub issues to understand scope, technical feasibility, and risks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

matteocervelli/llms252026년 5월 22일 업데이트

analytics

무료

Run SQL queries against psql, BigQuery, or MySQL from the terminal, including natural-language-to-SQL and schema exploration. Use when analyzing data, inspecting DB state, or debugging tables. Trigger on "query the database", "SQL", "show me data from", "explore table".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

matteocervelli/llms252026년 5월 22일 업데이트

Design REST APIs or function contracts with clear request/response specifications, error handling patterns, authentication strategies, and comprehensive documentation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

matteocervelli/llms252026년 5월 22일 업데이트

Generate comprehensive API endpoint tests for REST and GraphQL APIs. Creates tests for all HTTP methods, status codes, authentication, and validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

matteocervelli/llms252026년 5월 22일 업데이트

Design component architecture and module structure using established architectural patterns for clean, maintainable, and scalable systems.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

matteocervelli/llms252026년 5월 22일 업데이트

matteocervelli의 스킬 모두 보기

이 스킬의 문제 신고