Skip to content
Data
Skill

/webhook-transforms

Generic framework for converting external events (SMS, meetings, social mentions) into brain-ingestible signals. Define a transform function, register a webhook URL, and incoming events get processed through the brain pipeline.

From plugin
gbrain
28k57 skills
Install
$ npx -y skills add garrytan/gbrain --skill webhook-transforms --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/webhook-transforms

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generic framework for converting external events (SMS, meetings, social mentions) into brain-ingestible signals. Define a transform function, register a webhook URL, and incoming events get processed through the brain pipeline.

SKILL.md

webhook-transforms.SKILL.md
name: webhook-transforms
version: 1.0.0
description: |
  Generic framework for converting external events (SMS, meetings, social mentions)
  into brain-ingestible signals. Define a transform function, register a webhook URL,
  and incoming events get processed through the brain pipeline.
triggers:
  - "set up webhook"
  - "process webhook event"
  - "transform this event"
tools:
  - put_page
  - add_timeline_entry
  - search
mutating: true

Webhook Transforms

Contract

This skill guarantees:

  • External events are transformed into brain pages with proper citations
  • Raw payloads are preserved (dead-letter queue if transform fails)
  • Entity extraction runs on every transformed event
  • Input sanitization: no raw HTML/script passes to brain pages
  • Error handling: transform failure logs raw payload, retries once

Phases

1. **Define transform.** Map event schema to brain page format:

  • Input: raw webhook payload (JSON)
  • Output: brain page content (markdown) + metadata (slug, type, citations)
  • Must sanitize: strip HTML tags, escape script content

2. **Register webhook URL.** Provide the external service with the webhook endpoint.

3. **On event received:**

  • Parse payload
  • Run transform function
  • Write brain page via `gbrain put`
  • Extract entities, run enrichment
  • Add timeline entries to mentioned entities
  • Sync: `gbrain sync`

4. **Error handling:**

  • If transform throws: log raw payload to `_dead-letter/{timestamp}.md`
  • Surface error type to agent
  • Retry once
  • Don't lose events

Example Transforms

SMS Received

Input: {from: "+1555...", body: "Meeting moved to 3pm", timestamp: "..."}
Output: Timeline entry on sender's brain page + task update if action item detected

Meeting Completed

Input: {title: "Weekly sync", attendees: [...], transcript: "...", summary: "..."}
Output: Delegate to meeting-ingestion skill

Social Mention

Input: {platform: "twitter", author: "@handle", text: "...", url: "..."}
Output: Brain page in media/ + entity extraction + backlinks

Output Format

Event transformed and written to brain. Report: "Webhook: {event_type} from {source} → {brain_page_path}"

Anti-Patterns

  • Passing raw HTML/script to brain pages (XSS risk)
  • Silently dropping events when transform fails (use dead-letter queue)
  • Processing webhooks without entity extraction
  • Not sanitizing external input before brain writes
Read more
Ships withgbrain

Search gives you raw pages. GBrain gives you the answer. It's the brain layer your AI agent has been missing — the only one that does synthesis, graph traversal, and gap analysis in one box.

Get the whole plugin

Other skills on gbrain.