CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

54

Quality

61%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./skills/webhook-transforms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a lean, well-organized instruction document with a clear phase sequence and explicit error handling, but it stops short of executable guidance — the transform definition and examples remain abstract sketches, and there is no output validation step for this mutating, event-driven workflow. It reads as a solid design outline more than an operational skill.

Suggestions

Show one concrete transform example (e.g. the SMS payload mapped to an actual markdown brain page with slug, type, and citations) instead of the abstract 'Input:/Output:' sketches.

Add a validation checkpoint after the brain write (e.g. verify the page exists via `gbrain search` or re-read the slug before reporting success) to satisfy the batch/mutating workflow requirement.

Deduplicate the error-handling and sanitization statements across the Contract, Phases, and Anti-Patterns sections to tighten token usage.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence with no concept explanations, but the Contract section redundantly repeats Phase 4 error handling ('transform failure logs raw payload, retries once') and the Anti-Patterns repeat the sanitization requirement ('strip HTML tags' vs 'Passing raw HTML/script to brain pages') — minor trimming possible, matching anchor 4 rather than the every-token-earns-its-place anchor 5.

4 / 5

Actionability

There are a few concrete commands ('Write brain page via `gbrain put`', 'Sync: `gbrain sync`') but the Example Transforms are abstract input→output sketches rather than executable code, and the critical 'Define transform' phase never shows what a transform function looks like — matching anchor 3 (pseudocode instead of executable code, missing key details).

3 / 5

Workflow Clarity

Phases 1–4 are clearly sequenced with error checkpoints (dead-letter queue, retry once), but there is no validation step verifying the written brain page or sync result. This is a batch/event-driven mutating workflow (frontmatter 'mutating: true'), so the missing-validation cap for batch operations applies and workflow clarity cannot exceed 3.

3 / 5

Progressive Disclosure

The single-file body is well organized into Contract, Phases, Example Transforms, Output Format, and Anti-Patterns with no bundle files to reference; it slightly exceeds the <50-line threshold where organization alone earns a 5, and the three example transforms are content that could be split out — matching anchor 4 (good structure, minor organization gaps).

4 / 5

Total

14

/

20

Passed

Description

61%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description states a clear, reasonably specific 'what' with natural domain keywords, but lacks an explicit 'Use when...' trigger clause and leans on the vague 'processed through the brain pipeline' phrase for its core capability. It is distinguishable from most skills yet not a fully distinct, self-contained trigger description.

Suggestions

Append an explicit trigger clause to the description, e.g. 'Use when the user asks to set up a webhook, process webhook events, or convert incoming SMS/meeting/social events into brain pages.'

Replace the vague 'incoming events get processed through the brain pipeline' with the concrete pipeline steps (sanitize, transform, write brain page, extract entities, sync).

Name the key capabilities (sanitization of raw HTML, entity extraction, dead-letter queue on failure) so the 'what' is comprehensive rather than implied by the body.

DimensionReasoningScore

Specificity

Names the domain ('converting external events (SMS, meetings, social mentions) into brain-ingestible signals') and two concrete actions ('Define a transform function, register a webhook URL'), but 'incoming events get processed through the brain pipeline' is generic and capabilities like sanitization, entity extraction, and error handling are omitted — matching the anchor for 1-2 concrete actions without comprehensive coverage.

3 / 5

Completeness

The 'what' is clear ('converting external events into brain-ingestible signals'), but the description contains no 'Use when...' clause or equivalent explicit trigger guidance — only a separate frontmatter triggers field — so completeness is capped at 3 per the guidelines.

3 / 5

Trigger Term Quality

Natural keywords include 'webhook URL', 'SMS', 'meetings', 'social mentions', and 'external events', giving good coverage; a few natural variations (e.g. 'set up a webhook', 'incoming event') are missing, so it sits between good (4) and comprehensive (5) coverage.

4 / 5

Distinctiveness Conflict Risk

The niche (webhook event transforms feeding a 'brain pipeline') is mostly distinct with domain-specific vocabulary like 'brain-ingestible signals'; minor overlap risk remains with generic webhook-setup or event-ingestion skills, and 'Generic framework' plus delegation to a meeting-ingestion skill keeps it below the clear-niche anchor.

4 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
garrytan/gbrain
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.