This handles GitHub webhook verification and event parsing so you don't have to dig through docs every time you wire up a new handler. The core is the signature verification code (HMAC SHA-256 with timing-safe comparison) in Node and Python, plus a reference table of common events like push, pull_request, and issues. It's from Hookdeck, so they obviously want you using their tunnel for local dev, but the verification snippets are solid and you can drop them anywhere. Worth pairing with their webhook-handler-patterns skill if you need idempotency or retry logic, otherwise just grab the crypto code and move on.

skills.sh installs
507
GitHub stars
100
last updated
Aug 21, 2026

Install

$ npx -y skills add hookdeck/webhook-skills --skill github-webhooks --agent claude-code

Installs into .claude/skills of the current project.

Files

GitHub Webhooks

When to Use This Skill

  • Setting up GitHub webhook handlers
  • Debugging signature verification failures
  • Understanding GitHub event types and payloads
  • Handling push, pull request, or issue events

Verification (core)

GitHub signs the raw body with HMAC-SHA256 keyed on your webhook secret and sends the digest in X-Hub-Signature-256 formatted as sha256=<hex>. Use X-Hub-Signature-256 (not the legacy SHA-1 X-Hub-Signature), pass the raw body, and compare timing-safe.

Node:

const crypto = require('crypto');

function verify(rawBody, signatureHeader, secret) {
  const [algo, sig] = (signatureHeader || '').split('=');
  if (algo !== 'sha256' || !sig) return false;
  const expected = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  try {
    return crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected));
  } catch {
    return false;
  }
}

Python:

import hmac, hashlib

Sponsors

Details

Repository
github.com/hookdeck/webhook-skills
Categories
Git & Pull Requests, Release Management, Debugging
First seen
Jun 3, 2026

More from hookdeck/webhook-skills

All 7
1aj-geddes avatarchangelog-maintenanceaj-geddes/useful-ai-promptsMaintain comprehensive changelogs and release notes following Keep a Changelog format. Use when documenting version history, release notes, or tracking changes 500skills.sh installs
2motion-team avatarreview-auditmotion-team/creative-strategy-skillsAnalyzes positive customer reviews to surface deep customer insights for ad copy. Use this whenever a user provides customer reviews and wants to understand the497skills.sh installs
3webmaxru avatargithub-agentic-workflowswebmaxru/ai-native-devAuthors, reviews, installs, and debugs GitHub Agentic Workflows in repositories, including workflow markdown, frontmatter, gh aw compile and run flows, safe out486skills.sh installs
4lyndonkl avatarscientific-manuscript-reviewlyndonkl/claudeGuides systematic multi-pass review and editing of scientific manuscripts (research articles, reviews, perspectives) to improve clarity, structure, scientific r484skills.sh installs
5webmaxru avatargithub-agentic-workflowswebmaxru/enonic-agent-skillsAuthors, reviews, installs, and debugs GitHub Agentic Workflows in repositories, including workflow markdown, frontmatter, gh aw compile and run flows, safe out478skills.sh installs
6aj-geddes avatarapi-changelog-versioningaj-geddes/useful-ai-promptsDocument API changes, breaking changes, migration guides, and version history for APIs. Use when documenting API versioning, breaking changes, or creating API m477skills.sh installs