brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
linear-webhooks-eventsImplement Linear webhook verification, fast acknowledgement, deduplication, queued processing, and reconciliation. Use when receiving issue, project, cycle, customer, user, or OAuth-app events. Trigger with "handle Linear webhooks", "verify Linear signature", or "process Linear events".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: linear-webhooks-events description: >- Implement Linear webhook verification, fast acknowledgement, deduplication, queued processing, and reconciliation. Use when receiving issue, project, cycle, customer, user, or OAuth-app events. Trigger with "handle Linear webhooks", "verify Linear signature", or "process Linear events". argument-hint: "[repository-path] [framework] [event-types]" allowed-tools: Read, Glob, Grep, WebFetch, Write, Edit version: 1.13.0 author: Jeremy Longshore jeremy@intentsolutions.io license: MIT tags:
Build an ingress path that proves authenticity on raw bytes, acknowledges quickly, and makes downstream processing replay-safe.
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.
Linear-Signature is the hex HMAC-SHA256 of the exact raw body; Linear-Delivery is the unique delivery UUID and Linear-Timestamp is epoch milliseconds.admin scope can create or read webhooks.LinearWebhookClient, including raw-body signature verification and framework handlers.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.
Linear-Delivery, enqueue the verified envelope, and return 200 within five seconds.action, type, entity ID, updatedFrom, organization, and webhook ID as appropriate.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.
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.
| 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. |
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