diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 5c3d22b..7faa18e 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -4,12 +4,12 @@ "name": "Hookdeck", "email": "phil@hookdeck.com" }, - "description": "Hookdeck plugin marketplace: skills for Hookdeck Event Gateway and Hookdeck Outpost.", + "description": "Hookdeck plugin marketplace: skills for Hookdeck Event Gateway, Hookdeck Outpost and Hookdeck Inspect.", "plugins": [ { "name": "hookdeck", "source": "./", - "description": "Skills for working with Hookdeck Event Gateway (receive, queue, route, and deliver webhooks) and Hookdeck Outpost (send webhooks and events to user-preferred destinations). Includes a router skill that delegates to event-gateway or outpost based on the task." + "description": "Skills for working with Hookdeck Event Gateway (receive, queue, route, and deliver webhooks), Hookdeck Outpost (send webhooks and events to user-preferred destinations) and Hookdeck Inspect (free webhook test URLs: create one, wait for webhooks, and read what they sent). Includes a router skill that delegates to event-gateway, outpost or inspect based on the task." } ] } diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 213da15..ef9f790 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "hookdeck", "version": "0.1.0", - "description": "Skills for working with Hookdeck Event Gateway (receive, queue, route, and deliver webhooks) and Hookdeck Outpost (send webhooks and events to user-preferred destinations). Includes a router skill that delegates to event-gateway or outpost based on the task.", + "description": "Skills for working with Hookdeck Event Gateway (receive, queue, route, and deliver webhooks), Hookdeck Outpost (send webhooks and events to user-preferred destinations) and Hookdeck Inspect (free webhook test URLs: create one, wait for webhooks, and read what they sent). Includes a router skill that delegates to event-gateway, outpost or inspect based on the task.", "author": { "name": "Hookdeck", "email": "phil@hookdeck.com" diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index de88325..3303b56 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "hookdeck", "displayName": "Hookdeck", - "description": "Receive, queue, route, and deliver webhooks and events with Hookdeck Event Gateway. Send webhooks to customers with Outpost. Set up webhook endpoints, test locally with the Hookdeck CLI, configure event routing and filtering, manage connections via the API, and troubleshoot delivery issues.", + "description": "Receive, queue, route, and deliver webhooks and events with Hookdeck Event Gateway. Send webhooks to customers with Outpost. Get free webhook test URLs with Inspect. Set up webhook endpoints, test locally with the Hookdeck CLI, configure event routing and filtering, manage connections via the API, and troubleshoot delivery issues.", "version": "0.2.0", "author": { "name": "Hookdeck", @@ -26,6 +26,8 @@ "async-messaging", "webhook-infrastructure", "webhook-testing", + "webhook-test-url", + "webhook-inspector", "webhook-retry", "event-routing", "webhook-verification", diff --git a/.github/workflows/trigger-website-deploy.yml b/.github/workflows/trigger-website-deploy.yml index 3280a46..9c99e19 100644 --- a/.github/workflows/trigger-website-deploy.yml +++ b/.github/workflows/trigger-website-deploy.yml @@ -20,6 +20,7 @@ on: paths: - "skills/event-gateway/**" - "skills/hookdeck/**" + - "skills/inspect/**" - "skills/outpost/**" jobs: diff --git a/AGENTS.md b/AGENTS.md index 487b2eb..83d089b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,7 @@ Read this file before creating, modifying, or reviewing any skill in this repo. ## hookdeck.com discovery index -Product skills under **`skills/event-gateway/`**, **`skills/hookdeck/`**, and **`skills/outpost/`** are packaged at build time by the **[`hookdeck/website`](https://github.com/hookdeck/website)** repo and served from `https://hookdeck.com/.well-known/agent-skills/` (RFC v0.2.0 discovery index + `.tar.gz` archives). When those paths change on **`main`**, [`.github/workflows/trigger-website-deploy.yml`](.github/workflows/trigger-website-deploy.yml) notifies Hookdeck, which triggers a Vercel production deploy of the site (same Hookdeck source as Outpost docs; both configured as Actions secrets: `HOOKDECK_WEBSITE_DEPLOY_SOURCE_URL`, `VERCEL_WEBSITE_DEPLOY_HOOK_SOURCE_API_KEY`). See [website `scripts/agent-skills-discovery.md`](https://github.com/hookdeck/website/blob/main/scripts/agent-skills-discovery.md) for packaging details. +Product skills under **`skills/event-gateway/`**, **`skills/hookdeck/`**, **`skills/inspect/`**, and **`skills/outpost/`** are packaged at build time by the **[`hookdeck/website`](https://github.com/hookdeck/website)** repo and served from `https://hookdeck.com/.well-known/agent-skills/` (RFC v0.2.0 discovery index + `.tar.gz` archives). When those paths change on **`main`**, [`.github/workflows/trigger-website-deploy.yml`](.github/workflows/trigger-website-deploy.yml) notifies Hookdeck, which triggers a Vercel production deploy of the site (same Hookdeck source as Outpost docs; both configured as Actions secrets: `HOOKDECK_WEBSITE_DEPLOY_SOURCE_URL`, `VERCEL_WEBSITE_DEPLOY_HOOK_SOURCE_API_KEY`). See [website `scripts/agent-skills-discovery.md`](https://github.com/hookdeck/website/blob/main/scripts/agent-skills-discovery.md) for packaging details. ## Specification @@ -39,8 +39,9 @@ All skills MUST conform to the [Agent Skills specification](https://agentskills. - **Hookdeck** = the company brand, carried by the repo name (`hookdeck/agent-skills`) - **Event Gateway** ("Hookdeck Event Gateway") = the inbound product. Receives, routes, processes, and delivers webhooks/events. [Docs](https://hookdeck.com/docs/). - **Outpost** ("Hookdeck Outpost") = the outbound product. Open-source infrastructure for sending webhooks and events to user-preferred destinations (HTTP, SQS, RabbitMQ, Pub/Sub, and more—see docs for the current matrix). [Docs](https://hookdeck.com/docs/outpost). [GitHub](https://github.com/hookdeck/outpost). +- **Inspect** ("Hookdeck Inspect") = free webhook test URLs, with no account. Create a URL, send webhooks to it, and read what it received in a browser or as JSON. [Site](https://inspect.hookdeck.com). [llms.txt](https://inspect.hookdeck.com/llms.txt). -Skills are prefixed by product name: `event-gateway` or `outpost`. The company brand is not repeated in skill names because it's carried by the repo. +Skills are prefixed by product name: `event-gateway`, `outpost` or `inspect`. The company brand is not repeated in skill names because it's carried by the repo. --- @@ -106,6 +107,13 @@ hookdeck/agent-skills/ examples/ nextjs-saas/ fastapi-saas/ + inspect/ # Inspect skill: free webhook test URLs (curl only, no examples) + SKILL.md # Terms, two URLs per Source, create → wait → report with example replies, gotchas + references/ + reading-requests.md # Every reply's fields, cursors, body size limits, errors + send-test-webhooks.md # Plain test requests and samples.hookdeck.com payloads + verify-signatures.md # Exact body, SDK check (webhook-skills), platforms that need a secret + forwarding.md # npx hookdeck-cli listen to localhost, HTTP destinations AGENTS.md # This file CLAUDE.md CONTRIBUTING.md @@ -117,7 +125,7 @@ hookdeck/agent-skills/ ### Naming convention - Skill directory name must exactly match the `name` field in its SKILL.md frontmatter -- Product prefix: `event-gateway` or `outpost` +- Product prefix: `event-gateway`, `outpost` or `inspect` - Install command: `npx skills add hookdeck/agent-skills --skill event-gateway` --- @@ -235,7 +243,7 @@ Before merging a new or updated skill, verify: - [ ] No general webhook/API education that agents already know - [ ] No time-sensitive information (dates, version predictions) - [ ] Consistent terminology throughout all files in the skill -- [ ] Skill name has product prefix (`event-gateway` or `outpost`, or `hookdeck` for the skill router) +- [ ] Skill name has product prefix (`event-gateway`, `outpost` or `inspect`, or `hookdeck` for the skill router) ### Quality diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c0421f..c980e13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Added + +- `inspect` skill for Hookdeck Inspect's free webhook test URLs: create a URL, wait for requests, read exact bodies, send realistic test webhooks, check signatures and forward to localhost +- The `hookdeck` router skill sends webhook-testing tasks to `inspect` + ## [0.2.0] - 2025-02-21 ### Added diff --git a/README.md b/README.md index 43c2b8b..a2d00b7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Hookdeck Agent Skills -Equip your AI coding agent with webhook and event-driven architecture expertise. Receive, queue, route, and deliver webhooks with [Hookdeck Event Gateway](https://hookdeck.com), test webhooks locally with the Hookdeck CLI, and build outbound webhook delivery with [Hookdeck Outpost](https://hookdeck.com/docs/outpost). +Equip your AI coding agent with webhook and event-driven architecture expertise. Receive, queue, route, and deliver webhooks with [Hookdeck Event Gateway](https://hookdeck.com), test webhooks locally with the Hookdeck CLI, build outbound webhook delivery with [Hookdeck Outpost](https://hookdeck.com/docs/outpost), and get free webhook test URLs with [Hookdeck Inspect](https://inspect.hookdeck.com).