Skip to content

feat: add discord-webhooks skill#41

Merged
leggetter merged 3 commits into
mainfrom
feat/discord-webhooks
May 11, 2026
Merged

feat: add discord-webhooks skill#41
leggetter merged 3 commits into
mainfrom
feat/discord-webhooks

Conversation

@leggetter
Copy link
Copy Markdown
Collaborator

Summary

Adds a complete discord-webhooks provider skill: Ed25519 signature verification for Discord outgoing webhook events (the same scheme used by Discord Interactions endpoints).

What's included

  • skills/discord-webhooks/SKILL.md — entry point with frontmatter
  • skills/discord-webhooks/references/ — overview, setup (Discord Developer Portal), and verification (Ed25519 specifics)
  • skills/discord-webhooks/examples/ — runnable handlers for Express, Next.js App Router, and FastAPI
  • Test suites that generate real Ed25519 keypairs (no mocked signatures)

Notes

  • Covers outgoing webhook events (Discord → your server), not incoming webhook URLs (which are unsigned). Same Ed25519 scheme as Interactions endpoints.
  • Required headers: X-Signature-Ed25519 (hex), X-Signature-Timestamp
  • Signed content: timestamp + raw_body (concatenation, no separator)
  • Public key from the Discord Developer Portal (hex-encoded)
  • PING (type 0) endpoint validation handling included

Test plan

  • cd skills/discord-webhooks/examples/express && npm test
  • cd skills/discord-webhooks/examples/nextjs && npm test
  • cd skills/discord-webhooks/examples/fastapi && pytest test_webhook.py -v
  • Verify Ed25519 against the public key from the live Developer Portal

Generation details

https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB


Generated by Claude Code

Adds a complete provider skill for receiving Discord outgoing webhook
events with Ed25519 signature verification. Covers the PING (type 0)
endpoint validation flow plus event handlers (APPLICATION_AUTHORIZED,
ENTITLEMENT_*, LOBBY_MESSAGE_*, GAME_DIRECT_MESSAGE_*, etc.) for
Express, Next.js App Router, and FastAPI, with test suites that
generate real Ed25519 keypairs.
Adds the Discord row to the Provider Skills table in README.md and a
providers.yaml entry (docs URLs, notes, testScenario) so the
"Validate New Provider" CI workflow finds the integration files. The
integrations were previously only on the prep branch (PR #40); moving them
onto each feat PR makes the 12 generated PRs independently mergeable in
any order.

https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
leggetter pushed a commit that referenced this pull request May 11, 2026
…t PRs

PRs #41#52 each carry their own README row and providers.yaml entry
now, so this prep branch only needs to ship the AGENTS.md note about
running the generator under root with IS_SANDBOX=1.

https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
…rce arg

Applies the new project convention from PR #40: use
`npx hookdeck-cli listen <port> <source> --path /webhooks/<source>`
everywhere instead of `hookdeck listen <port> --path /webhooks/<source>`.
Skips the global-install prereq (webhook-skills is provider-neutral) and
passes the required `[source]` positional so the command is copy-paste-
runnable without falling into an interactive prompt.

https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
@leggetter leggetter marked this pull request as ready for review May 11, 2026 21:40
@leggetter leggetter merged commit b34a967 into main May 11, 2026
6 checks passed
@leggetter leggetter deleted the feat/discord-webhooks branch May 11, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants