Skip to main content

github-bot

Interact with the GitHub API as the joelclawgithub[bot] app. Use when creating PRs, pushing commits, managing issues, checking CI status, listing repos, or any GitHub API operation. Triggers on "create a PR", "push to GitHub", "open an issue", "check CI", "list repos", "merge PR", "GitHub API", or any task requiring programmatic GitHub access. All actions appear as joelclawgithub[bot], not as @joelhooks.

Source facts

Repository
joelhooks/joelclaw
Last source activity
September 5, 2026 at 14:53
Detected SKILL.md language
English
Stars
64
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
github-bot
description
Interact with the GitHub API as the joelclawgithub[bot] app. Use when creating PRs, pushing commits, managing issues, checking CI status, listing repos, or any GitHub API operation. Triggers on "create a PR", "push to GitHub", "open an issue", "check CI", "list repos", "merge PR", "GitHub API", or any task requiring programmatic GitHub access. All actions appear as joelclawgithub[bot], not as @joelhooks.
# GitHub Bot For ShitRat-authored work, use the installed `shitrat` tooling and `shitratgit[bot]` identity. The legacy app described below is for integrations that explicitly own it, not a default actor for Joel’s agent-authored commits, PRs, or comments. Discover actual app access; old repository counts are not authority. 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: ```bash TOKEN=$(SKILL_DIR/scripts/github-token.sh) ``` Use in API calls: ```bash 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): | Secret | Content | |---|---| | `github_app_id` | App ID (2867136) | | `github_app_client_id` | Client ID | | `github_app_installation_id` | Installation ID | | `github_app_pem` | RSA 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 ## Receipts Use the verified GitHub URL, identifier, commit SHA, or API response as the write receipt. Emit canonical OTel when the calling workflow supports it, and capture durable decisions in Brain `.svx`. The former `slog` journal is retired; do not recreate it. Relevant actions include `create-pr`, `push-commit`, `create-issue`, `merge-pr`, `create-release`, and `update-workflow`. ## Pagination GitHub API paginates at 100 items. For full listing: ```bash 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 ```
View on GitHub