🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

GitHub Knowledge Base

by @jameschan21

Manage a local GitHub knowledge base and provide GitHub search capabilities via gh CLI. Use when users ask about repos, PRs, issues, request to clone GitHub repositories, explore codebases, or need information about GitHub projects. Supports searching GitHub via gh CLI and managing local KB with GITHUB_KB.md catalog. Configure via GITHUB_TOKEN and GITHUB_KB_PATH environment variables.

Versionv1.0.1
Downloads3,739
Stars⭐ 2
TERMINAL
clawhub install github-kb

πŸ“– About This Skill


name: github-kb description: Manage a local GitHub knowledge base and provide GitHub search capabilities via gh CLI. Use when users ask about repos, PRs, issues, request to clone GitHub repositories, explore codebases, or need information about GitHub projects. Supports searching GitHub via gh CLI and managing local KB with GITHUB_KB.md catalog. Configure via GITHUB_TOKEN and GITHUB_KB_PATH environment variables.

GitHub Knowledge Base

Manage a local GitHub knowledge base and provide GitHub search capabilities via gh CLI. Key file: GITHUB_KB.md at the root of the KB directory catalogs all projects with brief descriptions.

Configuration

Set environment variables before use:

  • GITHUB_TOKEN - GitHub Personal Access Token (optional, for private repos)
  • GITHUB_KB_PATH - Path to local KB directory (default: /home/node/clawd/github-kb)
  • Example:

    export GITHUB_TOKEN="ghp_xxxx..."
    export GITHUB_KB_PATH="/your/path/github-kb"
    

    Token Privacy: Never hardcode tokens. Inject via environment variables or container secrets.

    GitHub CLI (gh)

    Requirement: GitHub CLI must be installed and authenticated.

    Installation:

  • macOS: brew install gh
  • Linux: apt install gh or see official install guide
  • Windows: winget install GitHub.cli
  • Authentication:

    # Interactive login
    gh auth login

    Or use token from GITHUB_TOKEN env var

    gh auth login --with-token <(echo "$GITHUB_TOKEN")

    Verify: gh auth status

    If gh is not installed or not authenticated, skip search operations and use only local KB features.

    Searching Repos

    # Search repos by keyword
    gh search repos  [--limit ]

    Examples:

    gh search repos "typescript cli" --limit 10 gh search repos "language:python stars:>1000" --limit 20 gh search repos "topic:mcp" --limit 15

    Search qualifiers:

  • language: - Filter by programming language
  • stars: or stars:> - Filter by star count
  • topic: - Filter by topic
  • user: - Search within a user's repos
  • org: - Search within an organization
  • Searching Issues

    gh search issues "react hooks bug" --limit 20
    gh search issues "repo:facebook/react state:open" --limit 30
    gh search issues "language:typescript label:bug" --limit 15
    

    Search qualifiers:

  • repo: - Search in specific repository
  • state:open|closed - Filter by issue state
  • author: - Filter by author
  • label: - Filter by label
  • language: - Filter by repo language
  • comments: or comments:> - Filter by comment count
  • Searching Pull Requests

    # Search PRs
    gh search prs  [--limit ]

    Examples:

    gh search prs "repo:vercel/next.js state:open" --limit 30 gh search prs "language:go is:merged" --limit 15

    Search qualifiers:

  • repo: - Search in specific repository
  • state:open|closed|merged - Filter by PR state
  • author: - Filter by author
  • label: - Filter by label
  • language: - Filter by repo language
  • is:merged|unmerged - Filter by merge status
  • Viewing PR/Issue Details

    # View issue/PR details
    gh issue view  --repo 
    gh pr view  --repo 

    View with comments

    gh issue view --repo --comments gh pr view --repo --comments

    Local Knowledge Base Workflow

    Querying About a Repo in KB

    1. Read GITHUB_KB.md to understand what projects exist 2. Locate the project directory under ${GITHUB_KB_PATH:-/home/node/clawd/github-kb}/

    Cloning a New Repo to KB

    1. Search GitHub if the full repo name is not known 2. Clone to KB directory:

       git clone https://github.com//.git ${GITHUB_KB_PATH:-/home/node/clawd/github-kb}/
       
    3. Generate project description: Read README or key files to understand the project 4. Update GITHUB_KB.md: Add entry for the new repo following the existing format:
       ### 
       Brief one-line description of what the project does. Additional context if useful (key features, tech stack, etc.).
       
    5. Confirm completion: Tell user the repo was cloned and where to find it

    Default Clone Location

    If user says "clone X" without specifying a directory, default to ${GITHUB_KB_PATH:-/home/node/clawd/github-kb}/.

    GITHUB_KB.md Format

    The catalog file follows this structure:

    # GitHub Knowledge Base

    This directory contains X GitHub projects covering various domains.


    Category Name

    project-name

    Brief description of the project.

    Maintain categorization and consistent formatting when updating.

    βš™οΈ Configuration

    Set environment variables before use:

  • GITHUB_TOKEN - GitHub Personal Access Token (optional, for private repos)
  • GITHUB_KB_PATH - Path to local KB directory (default: /home/node/clawd/github-kb)
  • Example:

    export GITHUB_TOKEN="ghp_xxxx..."
    export GITHUB_KB_PATH="/your/path/github-kb"
    

    Token Privacy: Never hardcode tokens. Inject via environment variables or container secrets.