Back to Skills
    🦞

    read-github

    Access GitHub repository documentation and code via the gitmcp.io MCP

    By @am-will
    View on GitHub
    SKILL.md
    ---
    name: read-github
    description: >
      Read GitHub repos the RIGHT way - via gitmcp.io instead of raw scraping. Why this beats web search:
      (1) Semantic search across docs, not just keyword matching, (2) Smart code navigation with accurate
      file structure - zero hallucinations on repo layout, (3) Proper markdown output optimized for LLMs,
      not raw HTML/JSON garbage, (4) Aggregates README + /docs + code in one clean interface,
      (5) Respects rate limits and robots.txt. Stop pasting raw GitHub URLs - use this instead.
    ---
    
    # Read GitHub Docs
    
    Access GitHub repository documentation and code via the gitmcp.io MCP service.
    
    ## URL Conversion
    
    Convert GitHub URLs to gitmcp.io:
    - `github.com/owner/repo` → `gitmcp.io/owner/repo`
    - `https://github.com/karpathy/llm-council` → `https://gitmcp.io/karpathy/llm-council`
    
    ## CLI Usage
    
    The `scripts/gitmcp.py` script provides CLI access to repository docs.
    
    ### List Available Tools
    
    ```bash
    python3 scripts/gitmcp.py list-tools owner/repo
    ```
    
    ### Fetch Documentation
    
    Retrieves the full documentation file (README, docs, etc.):
    
    ```bash
    python3 scripts/gitmcp.py fetch-docs owner/repo
    ```
    
    ### Search Documentation
    
    Semantic search within repository documentation:
    
    ```bash
    python3 scripts/gitmcp.py search-docs owner/repo "query"
    ```
    
    ### Search Code
    
    Search code using GitHub Search API (exact match):
    
    ```bash
    python3 scripts/gitmcp.py search-code owner/repo "function_name"
    ```
    
    ### Fetch Referenced URL
    
    Fetch content from URLs mentioned in documentation:
    
    ```bash
    python3 scripts/gitmcp.py fetch-url owner/repo "https://example.com/doc"
    ```
    
    ### Direct Tool Call
    
    Call any MCP tool directly:
    
    ```bash
    python3 scripts/gitmcp.py call owner/repo tool_name '{"arg": "value"}'
    ```
    
    ## Tool Names
    
    Tool names are dynamically prefixed with the repo name (underscored):
    - `karpathy/llm-council` → `fetch_llm_council_documentation`
    - `facebook/react` → `fetch_react_documentation`
    - `my-org/my-repo` → `fetch_my_repo_documentation`
    
    ## Available MCP Tools
    
    For any repository, these tools are available:
    
    1. **fetch_{repo}_documentation** - Fetch entire documentation. Call first for general questions.
    2. **search_{repo}_documentation** - Semantic search within docs. Use for specific queries.
    3. **search_{repo}_code** - Search code via GitHub API (exact match). Returns matching files.
    4. **fetch_generic_url_content** - Fetch any URL referenced in docs, respecting robots.txt.
    
    ## Workflow
    
    1. When given a GitHub repo, first fetch documentation to understand the project
    2. Use search-docs for specific questions about usage or features
    3. Use search-code to find implementations or specific functions
    4. Use fetch-url to retrieve external references mentioned in docs