Przejdź do treści
Biblioteka skilli
Programowanie · Integracja z narzędziem

developing-for-github

/developing-for-github

Pomaga budować oprogramowanie zintegrowane z GitHub: GitHub Apps, aplikacje OAuth, odbiorców webhooków, boty i automatyzacje na API GitHub, z modelem uwierzytelniania, uprawnieniami, limitami, weryfikacją podpisu HMAC i SDK Octokit.

Repozytorium
agent-skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
48
Skrypty
1
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • 1 skrypt w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: scripts/update_docs.js

Co robi i kiedy

Pomaga budować oprogramowanie zintegrowane z GitHub: GitHub Apps, aplikacje OAuth, odbiorców webhooków, boty i automatyzacje na API GitHub, z modelem uwierzytelniania, uprawnieniami, limitami, weryfikacją podpisu HMAC i SDK Octokit.

Oryginalny opis (EN)

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

Jak działa

  1. Scope / where to go instead
  2. Quick reference
  3. How to use this skill
  4. Behavioral guidance
  5. Keeping this current
Sekcje z nagłówków SKILL.md, w oryginale · 43 linii, 401 słów
Podgląd SKILL.md
---
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."
metadata:
  last_updated: "2026-06-15"
---

# 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`.
Pliki w paczce (48)
  • SKILL.md 4 KB
  • references/VERSIONS.md 1 KB
  • references/app-about-creating.md 9 KB
  • references/app-auth-about.md 3 KB
  • references/app-auth-as-app.md 4 KB
  • references/app-auth-installation.md 10 KB
  • references/app-best-practices.md 14 KB
  • references/app-ci-checks.md 93 KB
  • references/app-deciding.md 11 KB
  • references/app-installation-token.md 1 KB
  • references/app-jwt.md 8 KB
  • references/app-login-button.md 22 KB
  • references/app-on-behalf-of-user.md 3 KB
  • references/app-permissions.md 9 KB
  • references/app-private-keys.md 6 KB
  • references/app-rate-limits.md 2 KB
  • references/app-refreshing-user-tokens.md 5 KB
  • references/app-registering.md 10 KB
  • references/app-respond-to-webhooks.md 23 KB
  • references/app-user-token.md 20 KB
  • references/app-using-webhooks.md 7 KB
  • references/app-vs-oauth.md 15 KB
  • references/app-writing-code.md 6 KB
  • references/oauth-authorizing.md 27 KB
  • references/oauth-best-practices.md 9 KB
  • references/oauth-creating.md 3 KB
  • references/oauth-scopes.md 11 KB
  • references/webhooks-about.md 5 KB
  • references/webhooks-creating.md 11 KB
  • references/webhooks-events-and-payloads.md 5 KB
  • references/webhooks-failed-deliveries.md 3 KB
  • references/webhooks-handling.md 19 KB
  • references/webhooks-validating.md 8 KB
  • references/howto/auth-strategies.md 7 KB
  • references/howto/building-a-github-app.md 8 KB
  • references/howto/llm-pr-reviewer.md 25 KB
  • references/howto/octokit-bot-example.md 6 KB
  • references/howto/webhooks.md 7 KB
  • references/octokit/octokit-auth-app.md 36 KB
  • references/octokit/octokit-core.md 13 KB
  • references/octokit/octokit-graphql.md 9 KB
  • references/octokit/octokit-js.md 35 KB
  • references/octokit/octokit-plugin-paginate-rest.md 9 KB
  • references/octokit/octokit-plugin-retry.md 3 KB
  • references/octokit/octokit-plugin-throttling.md 7 KB
  • references/octokit/octokit-rest.md 3 KB
  • references/octokit/octokit-webhooks.md 58 KB
  • scripts/update_docs.js 11 KB

Wersje

W bazie nie ma innych skilli o nazwie developing-for-github.

Migawka bazy z 13.11.2026 · wersja paczki a97d32d7b331 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100api-integrator
    Projektuje integracje API: specyfikacje OpenAPI 3.0, uwierzytelnianie OAuth 2.0 i JWT, webhooki z ponawianiem i weryfikacją HMAC oraz automatyzacje n8n i Zapier.
  • 95github
    Emuluje lokalnie API REST GitHuba do testowania integracji: repozytoria, zgłoszenia, PR-y, przepływy OAuth, aplikacje GitHub, webhooki i akcje bez łączenia z prawdziwym GitHubem.
  • 100github-oauth-nango-integration
    Wdraża GitHub OAuth i uwierzytelnianie GitHub App przez Nango, z dwoma połączeniami (logowanie użytkownika i dostęp do repozytoriów) oraz obsługą webhooków.
  • 100webhook-integration-testing
    Testuje integracje webhooków lokalnie: zapisuje prawdziwe zdarzenia jako fixtures, sprawdza podpisy HMAC i ponawia je w handlerze.
  • 100webhooks-and-events
    Projektuje systemy webhooków: podpis HMAC-SHA256, ponawianie z backoffem, nazewnictwo zdarzeń, kolejność i deduplikację.
  • 100opnform-webhooks
    Odbiera i weryfikuje webhooki OpnForm, w tym podpis HMAC X-Webhook-Signature i dane zgłoszeń formularza.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.