Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
joelhooks avatar

Github Bot

  • 35 installs
  • 61 repo stars
  • Updated August 4, 2026
  • joelhooks/joelclaw

Interact with the GitHub API as the joelclawgithub[bot] app to create PRs, push commits, manage issues, and check CI across all repos.

About

Authenticates as a GitHub App installation to perform GitHub API operations under a bot identity. A developer uses it for programmatic PRs, commits, issues, and CI checks that should appear as the bot, not a user.

  • Generate a 1-hour installation token via the bundled github-token.sh
  • Secrets stay in agent-secrets; log all write operations with slog

Github Bot by the numbers

  • 35 all-time installs (skills.sh)
  • Ranked #340 of 733 Git & Pull Requests skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/joelhooks/joelclaw --skill github-bot

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs35
repo stars61
Last updatedAugust 4, 2026
Repositoryjoelhooks/joelclaw

What it does

Interact with the GitHub API as the joelclawgithub[bot] app to create PRs, push commits, manage issues, and check CI across all repos.

Files

SKILL.mdMarkdownGitHub ↗

GitHub Bot

Interact with GitHub API via the joelclawgithub[bot] GitHub App. Acts as a bot identity with access to all 280+ repos across @joelhooks personal and org accounts.

Authentication

Generate a 1-hour installation token:

TOKEN=$(SKILL_DIR/scripts/github-token.sh)

Use in API calls:

curl -H "Authorization: token $TOKEN" -H "Accept: application/vnd.github+json" \
  https://api.github.com/repos/OWNER/REPO/...

Token expires in 1 hour. Generate a new one if a request returns 401.

Secrets

Stored in agent-secrets (do not hardcode):

SecretContent
github_app_idApp ID (2867136)
github_app_client_idClient ID
github_app_installation_idInstallation ID
github_app_pemRSA private key

Bot Identity

  • Commits: joelclawgithub[bot] <2867136+joelclawgithub[bot]@users.noreply.github.com>
  • All API actions (comments, reviews, PRs) show as joelclawgithub[bot]
  • Has read/write access to: contents, issues, PRs, actions, deployments, environments, secrets, packages, workflows, checks, statuses, hooks, projects

Logging

Log all GitHub write operations with slog:

slog write --action "ACTION" --tool "github-bot" --detail "what was done" --reason "why"

Actions: create-pr, push-commit, create-issue, merge-pr, create-release, update-workflow, etc.

Pagination

GitHub API paginates at 100 items. For full listing:

PAGE=1
while true; do
  RESULT=$(curl -s -H "Authorization: token $TOKEN" \
    "https://api.github.com/endpoint?per_page=100&page=$PAGE")
  # process $RESULT
  [ "$(echo "$RESULT" | python3 -c 'import json,sys; print(len(json.load(sys.stdin)))')" -lt 100 ] && break
  PAGE=$((PAGE+1))
done

Related skills

Git & Pull Requestsgitintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.