linear-webhooks-events
Handles real-time Linear webhooks with HMAC signature verification for secure event processing.
Install
mkdir -p .claude/skills/linear-webhooks-events && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2391" && unzip -o skill.zip -d .claude/skills/linear-webhooks-events && rm skill.zipInstalls to .claude/skills/linear-webhooks-events
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Configure and handle Linear webhooks for real-time event processing.Key capabilities
- →Build webhook receivers with signature verification
- →Parse and verify webhook timestamps to guard against replay attacks
- →Route events to specific handlers based on type and action
- →Implement idempotent processing using delivery IDs
- →List, disable, and delete webhooks via SDK
- →Set up local development with ngrok
How it works
The skill sets up an Express.js server to receive Linear webhooks, verifies the HMAC-SHA256 signature and timestamp, then routes the parsed event payload to specific handlers for processing.
Inputs & outputs
When to use linear-webhooks-events
- →Sync Linear issues in real-time
- →Build custom project integrations
- →Process webhook event payloads
- →Verify Linear webhook signatures
About this skill
Linear Verified Webhook Processing
Overview
Build an ingress path that proves authenticity on raw bytes, acknowledges quickly, and makes downstream processing replay-safe.
Prerequisites
- The target repository, Linear workspace, environment, and accountable owner
- Current security, privacy, compliance, capacity, and change-control requirements
- An approved Linear credential only when a bounded live verification is necessary
Tool Discipline
Use Read, Glob, and Grep to inspect code, configuration, and evidence. Use WebFetch only for current first-party Linear documentation and package metadata. Use Write or Edit only for requested implementation with known target files. Never write credentials, customer content, unrestricted environment output, or unredacted GraphQL variables.
Current Contract
- The endpoint must be public HTTPS and return HTTP 200 within five seconds; failures retry after one minute, one hour, and six hours, up to three retries.
Linear-Signatureis the hex HMAC-SHA256 of the exact raw body;Linear-Deliveryis the unique delivery UUID andLinear-Timestampis epoch milliseconds.- Only workspace admins or OAuth applications with
adminscope can create or read webhooks. - The official SDK provides
LinearWebhookClient, including raw-body signature verification and framework handlers.
Authentication
Use a personal API key only for owner-controlled scripts, OAuth with PKCE for user-delegated applications, or an enabled client-credentials grant for approved automation. Personal keys use Authorization: <API_KEY>; OAuth tokens use Authorization: Bearer <ACCESS_TOKEN>. Store credentials server-side in an approved secret manager.
Treat app approval, team access, scope changes, credential creation, rotation, revocation, and production access as owner-approved actions.
Instructions
- Select explicit resource types and team/all-public-team scope, and identify the webhook/admin owner.
- Capture the exact raw request bytes before JSON middleware and verify HMAC-SHA256 with the configured signing secret.
- Reject invalid or stale/replayed requests, deduplicate by
Linear-Delivery, enqueue the verified envelope, and return 200 within five seconds. - Process events idempotently using
action,type, entity ID,updatedFrom, organization, and webhook ID as appropriate. - Bound retries and dead-letter handling; never assume Linear will retry beyond the documented schedule.
- Run periodic cursor-based reconciliation and test create/update/remove, duplicate, delayed, revoked-app, and secret-rotation cases.
Approval Boundaries
Do not create, reveal, rotate, or revoke credentials; authorize an OAuth app; change scopes or team access; create, mutate, archive, or delete workspace data; configure or re-enable webhooks; import or export data; change roles, SCIM, or audit streaming; transmit diagnostics; change paid entitlements; or perform another production mutation without explicit approval from the accountable owner. Keep diagnosis read-only unless implementation was requested.
Output
Return the workspace and team scope, auth mode without credential value, files and contracts inspected, exact operation names, evidence collected, validation result, sensitive fields redacted, remaining risk, accountable owner, approval state, and rollback or next action.
Error Handling
| Condition | Response |
|---|---|
| Signature mismatch | Return non-200, do not parse into business logic, and verify raw-body/secret selection. |
| Processing exceeds five seconds | Queue after verification and acknowledge before doing business work. |
| Duplicate delivery | Return 200 after recording the dedupe hit; do not repeat side effects. |
| Webhook disabled | Repair the endpoint, manually re-enable after approval, then reconcile the missed interval. |
Examples
Use a compact handoff that makes scope, mutation authority, and verification evidence reviewable.
Input:
scope=team; events=Issue,Comment; raw-body=true; queue=durable
Expected handoff:
signature=verified; ack<5s; dedupe=delivery-id; reconciliation=enabled
Resources
Prerequisites
Limitations
- →updatedFrom field only contains changed field keys
- →actor field can be null for system-triggered events
How it compares
This skill provides a secure and structured method for real-time processing of Linear events with signature verification and replay attack protection, unlike manual checks or less secure integrations.
Compared to similar skills
linear-webhooks-events side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| linear-webhooks-events (this skill) | 1 | 2mo | Caution | Intermediate |
| telegram-bot-builder | 106 | 8mo | Review | Intermediate |
| n8n-expression-syntax | 6 | 5mo | No flags | Beginner |
| reddit-api | 3 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.
n8n-expression-syntax
czlonkowski
Validate n8n expression syntax and fix common errors. Use when writing n8n expressions, using {{}} syntax, accessing $json/$node variables, troubleshooting expression errors, or working with webhook data in workflows.
reddit-api
alinaqi
Reddit API with PRAW (Python) and Snoowrap (Node.js)
mcporter
openclaw
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
calcom-api
calcom
Interact with the Cal.com API v2 to manage scheduling, bookings, event types, availability, and calendars. Use this skill when building integrations that need to create or manage bookings, check availability, configure event types, or sync calendars with Cal.com's scheduling infrastructure.
instantly-webhooks-events
jeremylongshore
Implement Instantly webhook signature validation and event handling. Use when setting up webhook endpoints, implementing signature verification, or handling Instantly event notifications securely. Trigger with phrases like "instantly webhook", "instantly events", "instantly webhook signature", "handle instantly events", "instantly notifications".