| 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.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add thedixitjain/the-mega-skill-library --skill webhook-transforms --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Webhook Transforms?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-webhook-transforms)More formats (shields.io, HTML) on the badges page.
---
name: webhook-transforms
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."
allowed-tools: "put_page add_timeline_entry search"
category: backend-and-data
source_repo: garrytan/gbrain
source_path: "skills/webhook-transforms/SKILL.md"
source_url: https://github.com/garrytan/gbrain/blob/HEAD/skills/webhook-transforms/SKILL.md
---
# 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
---
**Source:** [`garrytan/gbrain`](https://github.com/garrytan/gbrain) → `skills/webhook-transforms/SKILL.md`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!