github-kb

SKILL.md

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 <query> [--limit <n>]

# 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:<lang> - Filter by programming language
  • stars:<n> or stars:><n> - Filter by star count
  • topic:<name> - Filter by topic
  • user:<owner> - Search within a user's repos
  • org:<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:<owner/repo> - Search in specific repository
  • state:open|closed - Filter by issue state
  • author:<username> - Filter by author
  • label:<name> - Filter by label
  • language:<lang> - Filter by repo language
  • comments:<n> or comments:><n> - Filter by comment count

Searching Pull Requests

# Search PRs
gh search prs <query> [--limit <n>]

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

Search qualifiers:

  • repo:<owner/repo> - Search in specific repository
  • state:open|closed|merged - Filter by PR state
  • author:<username> - Filter by author
  • label:<name> - Filter by label
  • language:<lang> - Filter by repo language
  • is:merged|unmerged - Filter by merge status

Viewing PR/Issue Details

# View issue/PR details
gh issue view <number> --repo <owner/repo>
gh pr view <number> --repo <owner/repo>

# View with comments
gh issue view <number> --repo <owner/repo> --comments
gh pr view <number> --repo <owner/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/<owner>/<name>.git ${GITHUB_KB_PATH:-/home/node/clawd/github-kb}/<name>
    
  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:
    ### [<name>](/<name>)
    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](/project-name)
Brief description of the project.

Maintain categorization and consistent formatting when updating.

Weekly Installs
3
GitHub Stars
435
First Seen
8 days ago
Installed on
openclaw3
github-copilot3
codex3
kimi-cli3
gemini-cli3
cursor3