Skip to content
Agentmart
Submit a tool

developing-for-github

Use when building software that integrates with GitHub — GitHub Apps, OAuth apps, webhook consumers, bots, CI checks, and automation built on the GitHub API.

Skill by joeblackwaslike

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/joeblackwaslike-developing-for-github

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when building software that integrates with GitHub — GitHub Apps, OAuth apps, webhook consumers, bots, CI checks, and automation built on the GitHub API. Covers the GitHub App auth model (private key → JWT → installation access token), choosing GitHub App vs OAuth app vs PAT, app permissions and rate limits, webhook delivery and HMAC signature verification, and the Octokit JS/TS SDK family (octokit, @octokit/rest, @octokit/graphql, @octokit/webhooks, @octokit/auth-app, paginate/throttling/retry plugins). Invoke when designing or coding a GitHub integration, debugging app authentication or webhook signatures, or picking an auth strategy. For raw REST/GraphQL usage and tokens from the consumer side, use working-with-github; for CI workflows, use working-with-github-actions.

Use cases: backend, devops, security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/developing-for-github

What's inside

Skill name
developing-for-github
Description
Use when building software that integrates with GitHub — GitHub Apps, OAuth apps, webhook consumers, bots, CI checks, and automation built on the GitHub API. Covers the GitHub App auth model (private key → JWT → installation access token), choosing GitHub App vs OAuth app vs PAT, app permissions and rate limits, webhook delivery and HMAC signature verification, and the Octokit JS/TS SDK family (octokit, @octokit/rest, @octokit/graphql, @octokit/webhooks, @octokit/auth-app, paginate/throttling/retry plugins). Invoke when designing or coding a GitHub integration, debugging app authentication or webhook signatures, or picking an auth strategy. For raw REST/GraphQL usage and tokens from the consumer side, use working-with-github; for CI workflows, use working-with-github-actions.
License
MIT
Metadata
last_updated: 2026-06-15
Instructions
43 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (48)

  • SKILL.md
  • VERSIONS.md · references/
  • app-about-creating.md · references/
  • app-auth-about.md · references/
  • app-auth-as-app.md · references/
  • app-auth-installation.md · references/
  • app-best-practices.md · references/
  • app-ci-checks.md · references/
  • app-deciding.md · references/
  • app-installation-token.md · references/
  • app-jwt.md · references/
  • app-login-button.md · references/
  • app-on-behalf-of-user.md · references/
  • app-permissions.md · references/
  • app-private-keys.md · references/
  • app-rate-limits.md · references/
  • app-refreshing-user-tokens.md · references/
  • app-registering.md · references/
  • app-respond-to-webhooks.md · references/
  • app-user-token.md · references/
  • app-using-webhooks.md · references/
  • app-vs-oauth.md · references/
  • app-writing-code.md · references/
  • auth-strategies.md · references/howto/
  • building-a-github-app.md · references/howto/
  • llm-pr-reviewer.md · references/howto/
  • octokit-bot-example.md · references/howto/
  • webhooks.md · references/howto/
  • oauth-authorizing.md · references/
  • oauth-best-practices.md · references/
  • oauth-creating.md · references/
  • oauth-scopes.md · references/
  • octokit-auth-app.md · references/octokit/
  • octokit-core.md · references/octokit/
  • octokit-graphql.md · references/octokit/
  • octokit-js.md · references/octokit/
  • octokit-plugin-paginate-rest.md · references/octokit/
  • octokit-plugin-retry.md · references/octokit/
  • octokit-plugin-throttling.md · references/octokit/
  • octokit-rest.md · references/octokit/
  • octokit-webhooks.md · references/octokit/
  • webhooks-about.md · references/
  • webhooks-creating.md · references/
  • webhooks-events-and-payloads.md · references/
  • webhooks-failed-deliveries.md · references/
  • webhooks-handling.md · references/
  • webhooks-validating.md · references/
  • update_docs.js · scripts/

SKILL.md (first lines)

# Developing for GitHub

Reference for **building on** GitHub — Apps, OAuth apps, webhooks, and the Octokit JS/TS SDKs. Official guides in [`references/`](references/) are fetched from the `github/docs` repo; SDK READMEs in [`references/octokit/`](references/octokit/) are snapshots of each `octokit/*` repo (versions in [`references/VERSIONS.md`](references/VERSIONS.md)); opinionated how-to guides are in [`references/howto/`](references/howto/). Fetched files carry `source`/`fetched_at`/`sha256` frontmatter.

## Scope / where to go instead

- **Consuming the API** (gh CLI, raw REST/GraphQL, rate limits, PAT setup) → `working-with-github`
- **CI/CD workflows, OIDC** → `working-with-github-actions`
- **This skill** = building Apps / OAuth apps / webhooks / Octokit integrations.

## Quick reference

| Task | Read |
|---|---|
| App vs OAuth app vs PAT — which to build | `references/howto/auth-strategies.md`, `references/app-deciding.md`, `references/app-vs-oauth.md` |
| Build a GitHub App end-to-end (auth flow) | `references/howto/building-a-github-app.md`, `references/app-auth-*.md` |
| JWT → installation token mechanics | `references/app-jwt.md`, `references/app-installation-token.md` |
| Minimal Octokit TS bot | `references/howto/octokit-bot-example.md`, `references/octokit/octokit-js.md` |
| **Build an LLM-powered PR review bot** (Vercel AI SDK, Claude/OpenAI swappable) | `references/howto/llm-pr-reviewer.md` |
| Handle webhooks + verify signatures | `references/howto/webhooks.md`, `references/webhooks-validating.md`, `references/webhooks-handling.md` |
| App permissions & rate limits | `references/app-permissions.md`, `references/app-rate-limits.md` |
| Octokit REST / GraphQL / pagination / throttling | `references/octokit/octokit-rest.md`, `octokit-graphql.md`, `octokit-plugin-paginate-rest.md`, `octokit-plugin-throttling.md` |
| OAuth app flow & scopes | `references/oauth-*.md` |

## How to use this skill

1. **Designing an integration** — start with `references/howto/auth-strategies.md` to pick App vs OAuth vs PAT, then `references/howto/building-a-github-app.md` for the wiring.
2. **Implementing auth** — the App flow is private key → signed JWT → installation access token. Read `references/app-jwt.md` then `references/app-installation-token.md`; `@octokit/auth-app` (`references/octokit/octokit-auth-app.md`) does it for you.
3. **Webhooks** — `references/howto/webhooks.md` for the verification pattern; always validate the `X-Hub-Signature-256` HMAC before trusting a payload.
4. **SDK specifics** — grep `references/octokit/`.

## Behavioral guidance

- **Default to a GitHub App, not a PAT,** for anything that outlives a single user or needs scoped, revocable, higher-rate-limit access. PATs are for personal scripts.
- **Never skip webhook signature verification.** Compute HMAC-SHA256 over the raw body with your secret and constant-time compare against `X-Hub-Signature-256`.
- **Installation tokens expire after 1 hour** — mint on demand and cache short-term; `@octokit/auth-app` handles refresh.
- **Octokit is the paved path** (Joe's TS-first default). Reach for `@octokit/plugin-throttling` + `@octokit/plugin-retry` in production to respect rate limits automatically.

## Keeping this current

Regenerated by [`scripts/update_docs.js`](scripts/update_docs.js): fetches the curated Apps/OAuth/webhook guides from `github/docs` and the Octokit READMEs, and stamps npm versions. Refresh locally with `make update-developing-for-github`.

From joeblackwaslike/agent-skills, MIT.

More from joeblackwaslike/agent-skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 19, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from joeblackwaslike

Cite this page

developing-for-github skill. Agent Mart. https://agentmart.dev/skills/joeblackwaslike-developing-for-github (last updated 2026-10-24)