add-webhook-source

Implement a SourceHandler and wire it into the contract-driven pipeline.

2|1|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/heyAyushh/hook --skill add-webhook-source
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-webhook-source
Source: https://github.com/heyAyushh/hook/tree/main/skills/add-webhook-source
Command: npx skills add https://github.com/heyAyushh/hook --skill add-webhook-source

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Add a new webhook source to hook serve. Covers implementing the SourceHandler trait, registering the handler, adding HMAC secret config, creating the Kafka topic, and writing tests. Use when integrating a new webhook provider (e.g. Stripe, PagerDuty, Bitbucket).

Core Features & Use Cases

  • Implement a SourceHandler for a new webhook provider and route events to webhooks.{source}.
  • Register the handler in the source dispatcher and make it accessible via the route path.
  • Update configuration with the required HMAC secret, create the Kafka topic, and ensure end-to-end test coverage.
  • Use cases include integrating providers like Stripe, PagerDuty, or Bitbucket.

Quick Start

Create a new webhook source under src/sources, implement the SourceHandler, wire it into the mod, and provide tests and configuration for deployment.

Frequently Asked Questions about add-webhook-source

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new webhook source to a Rust service?

To add a new webhook source, you implement the SourceHandler trait in Rust, wire it into the source dispatcher, and update configuration with the required HMAC secret for signature validation.

How do I validate webhook signatures for providers like Stripe or PagerDuty?

Webhook signature validation is handled by configuring an HMAC secret in your service, which the SourceHandler uses to verify incoming payloads from providers like Stripe, PagerDuty, or Bitbucket.

What's the best way to route webhook events to Kafka topics?

Routing webhook events to Kafka requires creating a specific Kafka topic for the source, updating relay topics, and directing the SourceHandler to route incoming events to the webhooks.source topic.

Do I need to write unit tests when integrating a new webhook provider?

Yes, writing unit tests is required when integrating a new webhook provider to ensure end-to-end test coverage across ingest, validation, signature verification, and topic creation.

What steps are involved in wiring a webhook source handler into a contract-driven pipeline?

Wiring a webhook source handler involves creating a new handler in the sources directory, registering it in the dispatcher, updating configuration, creating the Kafka topic, and updating relay topics.