feat: add twilio-webhooks skill#52
Merged
Merged
Conversation
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
Adds a complete provider skill covering Twilio's X-Twilio-Signature verification (HMAC-SHA1 + base64) for both form-encoded and JSON webhooks, with working examples for Express (SDK), Next.js App Router (manual), and FastAPI (SDK). Handles incoming SMS, voice calls, and message/call/recording status callbacks. https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
Adds the Twilio 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
…ce 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
4e95689 to
67c6333
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a complete
twilio-webhooksprovider skill —X-Twilio-SignatureHMAC-SHA1 (base64) verification for both form-encoded and JSON webhooks. Covers incoming SMS, voice calls, and status callbacks for messages/calls/recordings.What's included
skills/twilio-webhooks/SKILL.md— entry pointskills/twilio-webhooks/references/— overview, setup, verification (form-encoded + JSON paths)skills/twilio-webhooks/examples/— Express (Node SDK), Next.js App Router (manual), FastAPI (Python SDK)Notes
X-Twilio-Signature(HMAC-SHA1, base64)bodySHA256query param (SHA-256 of raw body) to the URL — sign the URL onlytwilio(client.validateRequest()/validateRequestWithBody()), Pythontwilio(RequestValidator)queued,sent,delivered,failed), recording statusTest plan
cd skills/twilio-webhooks/examples/express && npm testcd skills/twilio-webhooks/examples/nextjs && npm testcd skills/twilio-webhooks/examples/fastapi && pytest test_webhook.py -vbodySHA256) against an Event Streams JSON webhookGeneration details
./scripts/generate-skills.sh generatewith--config providers.yaml(entry added in PR docs: IS_SANDBOX=1 generator note + normative Hookdeck CLI invocation #40)claude-opus-4-7https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
Generated by Claude Code