hookaido
Webhook infrastructure for receiving, queuing, and delivering webhooks. Operate Hookaido webhook ingress, durable webhook queue (SQLite/Postgres), webhook delivery (HTTP push, subprocess exec, pull API), webhook signature verification (HMAC, GitHub webhooks, Gitea webhooks), dead-letter queue, and webhook retry policies. Use when tasks involve webhook endpoint configuration (Hookaidofile), webhook queue backends (sqlite, memory, postgres), hookaido CLI (run, config fmt, config validate, mcp serve), webhook consumption (dequeue/ack/nack/extend) over HTTP or gRPC, subprocess webhook handlers (deliver exec), webhook provider HMAC (GitHub/Gitea/Stripe), Admin API webhook backlog/DLQ triage, or production webhook hardening.
Best use case
hookaido is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Webhook infrastructure for receiving, queuing, and delivering webhooks. Operate Hookaido webhook ingress, durable webhook queue (SQLite/Postgres), webhook delivery (HTTP push, subprocess exec, pull API), webhook signature verification (HMAC, GitHub webhooks, Gitea webhooks), dead-letter queue, and webhook retry policies. Use when tasks involve webhook endpoint configuration (Hookaidofile), webhook queue backends (sqlite, memory, postgres), hookaido CLI (run, config fmt, config validate, mcp serve), webhook consumption (dequeue/ack/nack/extend) over HTTP or gRPC, subprocess webhook handlers (deliver exec), webhook provider HMAC (GitHub/Gitea/Stripe), Admin API webhook backlog/DLQ triage, or production webhook hardening.
Teams using hookaido should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/hookaido/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How hookaido Compares
| Feature / Agent | hookaido | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Webhook infrastructure for receiving, queuing, and delivering webhooks. Operate Hookaido webhook ingress, durable webhook queue (SQLite/Postgres), webhook delivery (HTTP push, subprocess exec, pull API), webhook signature verification (HMAC, GitHub webhooks, Gitea webhooks), dead-letter queue, and webhook retry policies. Use when tasks involve webhook endpoint configuration (Hookaidofile), webhook queue backends (sqlite, memory, postgres), hookaido CLI (run, config fmt, config validate, mcp serve), webhook consumption (dequeue/ack/nack/extend) over HTTP or gRPC, subprocess webhook handlers (deliver exec), webhook provider HMAC (GitHub/Gitea/Stripe), Admin API webhook backlog/DLQ triage, or production webhook hardening.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# Hookaido
## Overview
Implement and troubleshoot Hookaido with a config-first workflow: edit `Hookaidofile`, validate, run, exercise ingress/pull/exec flows, then diagnose queue health and DLQ behavior.
Treat Hookaido v2.2.1's modular architecture as additive in this skill: keep the existing workflow intact by default, and opt into modules such as `postgres`, gRPC workers, subprocess delivery (`deliver exec`), or release verification only when they materially help the task.
Use conservative, reversible changes and validate before runtime operations.
## Workflow
1. Confirm target topology: inbound+pull (HTTP or gRPC), push outbound, subprocess exec, or internal queue, plus the queue backend (`sqlite`, `memory`, or `postgres`).
2. Choose runtime mode and ensure `hookaido` exists where tools execute.
- Host-binary mode: use the install action from `metadata.openclaw.install`.
- Host fallback: run `bash {baseDir}/scripts/install_hookaido.sh` (pinned `v2.2.1`, SHA256-verified).
- Public repo/source mode: use the public upstream repo `github.com/nuetzliches/hookaido` via `go install github.com/nuetzliches/hookaido/cmd/hookaido@v2.2.1` when a source-based install is preferred.
- Docker-sandbox mode: use a sandbox image that already includes `hookaido` (preferred), or install inside sandbox via `agents.defaults.sandbox.docker.setupCommand`.
- Keep host install actions available as fallback and to satisfy `metadata.openclaw.requires.bins`.
3. Inspect and update `Hookaidofile` minimally.
4. Run format and validation before starting or reloading:
- `hookaido config fmt --config ./Hookaidofile`
- `hookaido config validate --config ./Hookaidofile`
- `hookaido config validate --config ./Hookaidofile --strict-secrets` when secret refs or Vault-backed config are involved.
5. Start runtime and verify health:
- `hookaido run --config ./Hookaidofile --db ./.data/hookaido.db`
- `hookaido run --config ./Hookaidofile --postgres-dsn "$HOOKAIDO_POSTGRES_DSN"` when `queue postgres` is selected.
- `curl http://127.0.0.1:2019/healthz?details=1`
6. Validate end-to-end behavior:
- ingress request accepted and queued
- consumer `dequeue`/`ack`/`nack`/`extend` path works (HTTP pull, batch `ack`/`nack`, plus gRPC pull when enabled)
7. For incidents, inspect backlog and DLQ first, then mutate.
## Task Playbooks
### Configure Ingress and Pull Consumption
1. Define a route with explicit auth and pull path (HTTP pull, optional gRPC pull worker listener).
2. Keep secrets in env/file refs, never inline.
3. Verify route and global pull auth are consistent.
4. Test with a real webhook payload and a dequeue/ack cycle, using batch `ack`/`nack` when worker throughput matters.
Prefer this baseline:
```hcl
ingress {
listen :8080
}
pull_api {
listen :9443
grpc_listen :9943 # optional gRPC pull-worker listener
auth token env:HOOKAIDO_PULL_TOKEN
}
/webhooks/github {
auth hmac env:HOOKAIDO_INGRESS_SECRET
pull { path /pull/github }
}
```
### Configure Push Delivery
1. Use push delivery only when inbound connectivity to the service is acceptable.
2. Set timeout and retry policy explicitly.
3. Validate downstream idempotency since delivery is at-least-once.
```hcl
/webhooks/stripe {
auth hmac env:STRIPE_SIGNING_SECRET
deliver "https://billing.internal/stripe" {
retry exponential max 8 base 2s cap 2m jitter 0.2
timeout 10s
}
}
```
### Configure Subprocess Delivery (`deliver exec`)
1. Use exec delivery when the target is a local script or binary, not an HTTP service.
2. Payload is piped to stdin; metadata arrives as env vars (`HOOKAIDO_ROUTE`, `HOOKAIDO_EVENT_ID`, `HOOKAIDO_ATTEMPT`, etc.).
3. Exit code determines retry behavior: `0` = ack, `1-125` = retry, `126`/`127` = immediate DLQ.
4. `sign` directives are not supported with exec (compile error).
```hcl
/webhooks/github {
auth hmac {
provider github
secret env:GITHUB_WEBHOOK_SECRET
}
deliver exec "/opt/hooks/deploy.sh" {
timeout 30s
retry exponential max 3 base 1s cap 30s jitter 0.2
env DEPLOY_ENV production
env NOTIFY_URL {env.SLACK_WEBHOOK_URL}
}
}
```
### Configure Provider-Compatible HMAC
1. Use `provider github` or `provider gitea` for webhook providers that use their own signature format.
2. Provider mode disables timestamp/nonce replay protection (providers do not send those headers).
3. `signature_header`, `timestamp_header`, `nonce_header`, and `tolerance` are forbidden in provider mode (compile error).
```hcl
/webhooks/github {
auth hmac {
provider github
secret env:GITHUB_WEBHOOK_SECRET
}
pull { path /pull/github }
}
/webhooks/gitea {
auth hmac {
provider gitea
secret env:GITEA_WEBHOOK_SECRET
}
pull { path /pull/gitea }
}
```
### Configure Queue Backends
1. Default to `sqlite` unless the task explicitly needs ephemeral dev mode or shared Postgres storage.
2. Treat `memory` and `postgres` as additive v2 modules, not replacements for existing sqlite workflows.
3. When using `postgres`, document the DSN source and validate health plus backlog endpoints after startup.
Prefer these patterns:
```hcl
queue sqlite
queue memory
queue postgres
```
### Operate Queue and DLQ
1. Start with health details and backlog endpoints.
2. Inspect DLQ before requeue or delete.
3. If requeueing many items, explain expected impact and rollback path.
4. Require clear operator reason strings for mutating admin calls.
Use:
- `GET /healthz?details=1`
- `GET /backlog/trends`
- `GET /dlq`
- `POST /dlq/requeue`
- `POST /dlq/delete`
### Use MCP Mode for AI Operations
1. Default to `--role read` for diagnostics.
2. Enable mutations only with explicit operator intent:
- `--enable-mutations --role operate --principal <identity>`
3. Enable runtime control only for admin workflows:
- `--enable-runtime-control --role admin --pid-file <path>`
4. Include `reason` for mutation calls and keep it specific.
### Verify Public Releases
1. Prefer official release assets from the public Hookaido repo.
2. When supply-chain assurance matters, validate checksums, signature material, and provenance before rollout.
3. Keep verification optional by default so existing skill flows do not become heavier unless the task requires it.
Use:
- `hookaido verify-release --checksums ./hookaido_v2.2.1_checksums.txt --require-provenance`
## Validation Checklist
- `hookaido config validate` returns success before runtime start/reload.
- `hookaido config validate --strict-secrets` is used when secret refs, Vault, or public-release rollout validation matters.
- Health endpoint is reachable and reports expected queue/backend state.
- Pull consumer can `dequeue`, `ack`, `nack`, and `extend` with valid token (HTTP and optional gRPC transport), including batch `ack`/`nack` when enabled.
- For push mode, retry/timeout behavior is explicitly configured.
- For exec mode, handler script is executable, reads stdin, and uses exit codes correctly (0=ack, non-zero=retry, 126/127=DLQ).
- For `queue postgres`, runtime is started with `--postgres-dsn` or `HOOKAIDO_POSTGRES_DSN`.
- Any DLQ mutation is scoped, justified, and logged.
## Safety Rules
- Do not disable auth to "make tests pass."
- Do not suggest direct mutations before read-only diagnostics.
- Treat queue operations as at-least-once; require idempotent handlers.
- Keep secrets in `env:` or `file:` refs.
## References
- Read `references/operations.md` for command snippets and API payload templates.Related Skills
claw-skill-hookaido
Receive incoming webhooks from external services and trigger automations, integrations, and event-driven workflows. Operate Hookaido v2 inbound/outbound/internal webhook flows, queue triage, MCP workflows, release verification, and HTTP/gRPC pull workers. Use when tasks involve Hookaidofile authoring, queue backend selection (`sqlite`, `memory`, `postgres`), `hookaido` CLI commands (`run`, `config fmt`, `config validate`, `mcp serve`), pull operations (`dequeue`/`ack`/`nack`/`extend`) over HTTP or gRPC, Admin API backlog/DLQ handling, or production hardening for ingress and delivery.
---
name: article-factory-wechat
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
tavily-search
Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.
baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.
agent-autonomy-kit
Stop waiting for prompts. Keep working.
Meeting Prep
Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.
self-improvement
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.
botlearn-healthcheck
botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.
linkedin-cli
A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.
notebooklm
Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。