Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
implement-webhooks
alizharb/agent-skills
claude-code
webhooks
signatures
idempotency
queues
validation
retries
routes

Use when implementing inbound or outbound webhooks with validation, signatures, retries, idempotency, and tests.

Install
php artisan boost:add-skill alizharb/agent-skills

Save this content to: .claude/skills/implement-webhooks/SKILL.md

# Implement Webhooks

## Workflow

1. Identify provider, event types, signature mechanism, retry behavior, and idempotency key.
2. Create a dedicated route, controller, request validation, and processing action/job.
3. Verify signatures before parsing trusted data.
4. Store processed event IDs to prevent duplicate effects.
5. Dispatch slow work to queues after validation.
6. Add tests for valid, invalid signature, duplicate, unknown event, and retry-safe behavior.

## Verification

- Webhook tests pass.
- Signature failure never mutates state.

## Common Mistakes

- Processing unsigned payloads.
- Performing non-idempotent writes on retries.

Implement Webhooks

Workflow

  1. Identify provider, event types, signature mechanism, retry behavior, and idempotency key.
  2. Create a dedicated route, controller, request validation, and processing action/job.
  3. Verify signatures before parsing trusted data.
  4. Store processed event IDs to prevent duplicate effects.
  5. Dispatch slow work to queues after validation.
  6. Add tests for valid, invalid signature, duplicate, unknown event, and retry-safe behavior.

Verification

  • Webhook tests pass.
  • Signature failure never mutates state.

Common Mistakes

  • Processing unsigned payloads.
  • Performing non-idempotent writes on retries.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager