webhook-transforms SKILL.md skillA
webhook-transforms from garrytan/gbrain is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add garrytan/gbrain/webhook-transforms@v1.0.0Pins v1.0.0 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- garrytan/gbrain
- Path
plugin/skills/webhook-transforms/SKILL.md- Versions recorded
- 4
- Latest version
- v1.0.0, committed Oct 7, 2026
- First version recorded
- Aug 16, 2026
- Size
- 3,182 bytes
- Repository stars
- 31,587
- License
- MIT
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.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# 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
```
…Read the whole file at its exact version.
How to install
mdr add garrytan/gbrain/webhook-transforms@sha256:0a2883f1cfaf9044The line at the top of this page pins the label v1.0.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_synjs3ahaxqso7hz)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Aug 16, 2026 and Oct 7, 2026, about one every 17 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v1.0.0 latest | 2026-10-07 | 590bb9a | 3,182 B | A | view · diff |
| v1.0.0 | 2026-10-05 | 6509f9b | 3,181 B | A | view · diff |
| v1.0.0 | 2026-10-04 | 739e5cc | 3,069 B | A | view · diff |
| v1.0.0 | 2026-08-16 | df4feda | 2,464 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (3182 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
garrytan/gbrain · 31,587 stars · license MIT · pushed 2026-11-06 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_synjs3ahaxqso7hz GET https://markdownregistry.com/api/v1/resolve?ref=garrytan/gbrain/webhook-transforms GET https://markdownregistry.com/api/v1/blob/0a2883f1cfaf904436a79e5e7bb4c15bf7013eb7cf424b839b64e01717b48369
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.