Agent Skills
Install the open-source Webhook Relay Agent Skills so Claude and other agents can forward, transform, debug, tunnel and schedule webhooks with the CLI.
Overview
Agent Skills are small, self-contained instruction packs that teach Claude (and other skill-aware agents) how to perform a specific task. Webhook Relay publishes an open-source set of Skills that show agents how to drive the platform with the relay CLI and API — forwarding webhooks, transforming them, debugging incoming requests, exposing services over tunnels, scheduling recurring webhooks, and receiving, parsing and transforming inbound email.
The Skills are maintained on GitHub:
Use that repository to browse the source, open issues, or contribute new skills.
Zero-signup first step: capture a webhook
Before installing anything or creating an account, get a public webhook URL from the free Webhook Bin API — one call, no account, no key:
B=https://bin.webhookrelay.com
BIN=$(curl -s -X POST $B/v1/bins | jq -r .id) # create a bin — no account, no key
echo "$B/v1/webhooks/$BIN" # give this URL to any webhook sender
curl -s "$B/v1/bins/$BIN" | jq '.requests' # read back exactly what arrived
The bin records every request — method, headers, query string and body — and can mock responses and verify HMAC signatures. Bins are public and expire after about 48 hours, so never point one at secrets. This is the API the webhook-debug skill wraps, and the first move in agentic-webhook-testing.
When you need real delivery — forwarding those webhooks to localhost, a private network or Jenkins, with retries and transforms — create a free account (no credit card) and continue with the Quick start.
Quick start
Install every skill with the skills.sh CLI:
npx skills add webhookrelay/skills
That drops the skills into your agent's skills directory. From then on you can ask your agent in plain language — it picks the right skill and runs the relay commands for you:
| Ask your agent | Skill it uses |
|---|---|
| "Test this webhook through the real pipeline, wait for delivery and debug the transform logs" | agentic-webhook-testing |
| "Give me a webhook URL to test my Stripe integration" | webhook-debug |
| "Forward my GitHub webhooks to localhost:3000" | webhook-forwarding-internal |
| "Relay this webhook to Slack without running anything locally" | webhook-forwarding-public |
| "Reshape this payload into a Slack message before delivering it" | webhook-transformations |
| "Expose my local dev server on a public HTTPS URL" | relay-tunnels |
| "Send a health-check webhook every 5 minutes" | recurring-webhooks |
| "Give me a throwaway email address and read what it receives" | temporary-email |
| "Turn incoming emails into JSON and POST them to my API" | transform-email-to-api-call |
| "Send signed webhooks to our customers when an invoice is paid" | outbound-webhooks |
See all the ways to install — single skill, Claude Code plugin, ClawHub, or manual — below.
Skills vs. MCP
Skills and the MCP server solve related but different problems, and they work well together:
- Skills are instructions. They teach an agent how to use the
relayCLI/API correctly — the right commands, payload shapes, and workflows. They run wherever your agent has a shell. - MCP is a live connection. It gives an agent typed tools to manage buckets, inspect webhook logs, and work with transform functions directly against your account.
Install the Skills for guided, command-line workflows; connect MCP when you want the agent to call Webhook Relay tools directly.
Available skills
| Skill | What it does |
|---|---|
agentic-webhook-testing | Test and debug a webhook integration through the real pipeline with MCP: send a representative request, wait for delivery, inspect the forwarded request and destination response, follow function execution IDs into persisted console logs, fix and retest, and replay existing events only when authorized. |
webhook-debug | Capture and inspect webhooks with a free, no-signup bin at bin.webhookrelay.com — a public URL that records any HTTP request so you can see the exact method, headers, query and body a provider sends, stream requests live, mock the response, and verify HMAC signatures. No CLI or account required. |
webhook-forwarding-internal | Receive webhooks from providers (Stripe, GitHub, Shopify, CI, etc.) and forward them to a destination with no public IP — localhost, a private LAN host, or a Kubernetes service. The relay agent performs the final hop, so no inbound firewall ports are needed. Best for local development. |
webhook-forwarding-public | Forward webhooks server-side from a public Webhook Relay endpoint to another internet-reachable URL — no local agent required. Relay between cloud services, put a stable URL in front of an API, fan one webhook out to many destinations, or transform payloads in transit. |
webhook-transformations | Write, test, and attach JavaScript (or Lua) functions that modify webhooks in flight — reshape the JSON body, rename fields, add/remove headers, change the method or path, set the response, drop requests conditionally, or call other HTTP APIs. |
relay-tunnels | Expose a local or internal HTTP/TCP service on a stable public hostname (an ngrok-style reverse proxy) without opening firewall ports — share a dev server, demo a local app, expose an internal API, or tunnel TCP (SSH, databases). |
recurring-webhooks | Schedule cron-driven webhooks that fire automatically — send a recurring HTTP request (method, body, headers) to one or more destinations on an interval or at specific times. Use for health checks, heartbeats, scheduled reports, or triggering a function on a timer. |
temporary-email | Create a disposable / temporary inbound email address from the terminal and read the mail it receives as JSON — no mailbox, SMTP server, or per-address signup. Grab a throwaway inbox for a signup / OTP / confirmation link, receive one-off mail in a script, or watch an address for incoming messages. |
email-parsing-api | Turn inbound email into structured JSON — create an inbound address and every message is parsed into a stable payload (from, to/cc, subject, text, html, headers, spf/dkim/dmarc, attachments), delivered to your endpoint or pulled from the events API. An "email → JSON" API with no SMTP/IMAP server. |
outbound-webhooks | Send signed webhooks from your product to your customers with the Outbound Gateway: register event types, consumers and their HTTPS endpoints, publish each event once, and let Webhook Relay sign it with Standard Webhooks, retry failures for up to 48 hours, track endpoint health and keep 35 days of history for retry, recovery and replay. Also covers migrating from Svix, Hookdeck Outpost, Convoy or Hook0, importing customers' existing signing secrets where the format allows. Install on its own with npx skills add webhookrelay/skills --skill outbound-webhooks. |
transform-email-to-api-call | Turn inbound emails into calls to your own API — a bucket with an email address, a public output pointing at your API, and a JavaScript function that reshapes the parsed email into the exact request your endpoint expects. Email-driven automation, e.g. create a ticket/lead/record from an email. |
Outbound webhook playbooks
To send webhooks to your own customers, install the outbound-webhooks skill above. To move them to the Outbound Gateway from another provider, also point your agent at the hand-written migration playbook for that provider. Each one lists the exact API calls, the checks to run and what the agent must never do: it imports your customers' existing signing secrets where their format allows (Svix secrets always do), adds dual publishing, and stops for your approval before any customer traffic moves:
| Moving from | Playbook | Guide |
|---|---|---|
| Svix | outbound-migration/svix.md | Migrate from Svix |
| Hookdeck Outpost | outbound-migration/hookdeck-outpost.md | Migrate from Hookdeck Outpost |
| Convoy | outbound-migration/convoy.md | Migrate from Convoy |
| Hook0 | outbound-migration/hook0.md | Migrate from Hook0 |
| A homegrown queue or worker | outbound-migration/diy.md | Migrate a homegrown sender |
The playbook index helps an agent pick the right one, and outbound-webhooks.md is the agent-facing setup reference. Connect the MCP server so the agent can use the outbound tools directly. The Outbound Gateway is available on every plan, Free included.
Installation
The fastest way to install is with the skills.sh CLI:
npx skills add webhookrelay/skills
Add -g to install globally for all your agents:
npx skills add webhookrelay/skills -g
Install a single skill
Pass --skill <name> to install just one:
npx skills add webhookrelay/skills --skill webhook-debug
Claude Code plugin marketplace
The repository doubles as a Claude Code plugin marketplace. Add it, then install the plugin:
/plugin marketplace add webhookrelay/skills
/plugin install webhookrelay-skills
ClawHub
The skills are also published on ClawHub, the open registry for AI agent skills. Install the bundled Webhook Relay skill with the openclaw CLI:
openclaw skills install webhook-relay
See Webhook Relay on ClawHub for what the registry does and how the skill fits.
Manual install
You can also copy any skills/<name>/ folder from the repository into your agent's skills directory.
Prerequisites
The webhook-debug skill works against the public bin API with nothing but curl — no account or key needed. agentic-webhook-testing prefers a connected Webhook Relay MCP server so the agent can use the typed send, wait, delivery-log and function-log tools.
For CLI fallback and skills that operate a local runtime, install and authenticate the relay CLI:
- Install it — see CLI installation.
- Log in:
relay login(or set theRELAY_KEY/RELAY_SECRETenvironment variables). - Verify:
relay bucket ls.
Concepts at a glance
- Bucket — groups inputs and outputs.
- Input — a public HTTPS endpoint that receives webhooks.
- Output — a destination requests are relayed to;
internal(delivered by a running agent, e.g. localhost) orpublic(delivered server-side). - Function — server-side JavaScript/Lua that transforms requests/responses.
- Tunnel — a public hostname that proxies inbound HTTP/TCP to a local or internal service.
- Cron — a scheduled, recurring webhook.
See Getting Started for the full model.
Issues and contributions
The Skills are open source. To report a problem, request a new skill, or read the code, use the GitHub repository:
- github.com/webhookrelay/skills — browse the code and open an issue.
Links
- Webhook Relay Skills on GitHub
- skills.sh CLI — what it is and how to install with it
- Webhook Relay on ClawHub
- MCP server
- Functions reference
- CLI installation
- Dashboard
- LLM-friendly docs index — append
.mdto any docs URL for plain markdown, or see llms.txt
