CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

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

Quality

Content

67%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.

A lean, well-structured skill body with a clear phase sequence and genuinely strong error-handling guidance. The main weakness is actionability: the transform examples describe inputs and outputs rather than showing an executable transform function or complete commands.

Suggestions

Show one complete, executable example transform (e.g., the SMS case) with actual payload-to-brain-page mapping code or a concrete gbrain put invocation with arguments, instead of abstract Input/Output pairs.

Add an explicit validation checkpoint in Phase 3 (e.g., verify the transformed page is sanitized and well-formed before the brain write) to close the workflow's only validation gap.

De-duplicate sanitization and dead-letter guidance between the Contract and Anti-Patterns/Phase 4 sections to reclaim tokens.

DimensionReasoningScore

Conciseness

The body is lean and operational with no concept explanations Claude already knows, but there is minor redundancy: sanitization appears in both the Contract ('no raw HTML/script passes to brain pages') and twice in Anti-Patterns, and dead-letter handling is stated in both the Contract and Phase 4.

4 / 5

Actionability

Concrete specifics exist ('gbrain put', 'gbrain sync', '_dead-letter/{timestamp}.md'), but the example 'transforms' are abstract Input/Output pairs rather than executable transform functions, and no complete gbrain command with arguments is shown, leaving key execution details missing.

3 / 5

Workflow Clarity

Phases 1-4 are clearly sequenced with an explicit error-handling phase (log to dead-letter, retry once, 'Don't lose events') and a 'When it fails' section with concrete recovery guidance (poll write_pending, reject malformed payloads). It falls short of 5 because there is no validation checkpoint on the transform output before the brain write.

4 / 5

Progressive Disclosure

Sections are well-organized, no content is inlined that clearly belongs in a separate file, and there is exactly one clearly signaled one-level reference. It does not reach 5 because that sole reference ('../conventions/agent-operator-protocol.md') does not resolve within the skill bundle, and the body slightly exceeds the compact-skill threshold.

4 / 5

Total

15

/

20

Passed

Description

58%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 communicates a clear, fairly specific capability but omits any 'when to use' guidance, which is its most significant weakness. Keyword coverage is adequate but leans on internal jargon ('brain-ingestible signals', 'brain pipeline') rather than natural user language.

Suggestions

Add an explicit 'Use when...' clause naming natural trigger situations, e.g., 'Use when an external service (SMS gateway, calendar, social monitor) needs to push events into the brain, or when the user asks to set up a webhook or integrate an external event source.'

Replace internal jargon ('brain-ingestible signals', 'brain pipeline') with user-facing language and include common synonyms (integration, incoming events, notifications, connectors).

Surface one or two of the body's distinguishing guarantees (e.g., dead-letter queue so events are never lost, automatic entity extraction) to sharpen distinctiveness against adjacent ingestion skills.

DimensionReasoningScore

Specificity

The description lists several concrete actions ('Define a transform function, register a webhook URL') with named event types ('SMS, meetings, social mentions'), but omits key capabilities documented in the body (entity extraction, dead-letter queue, sanitization), so coverage has minor gaps rather than being comprehensive.

4 / 5

Completeness

The 'what' is clear (convert external events into brain signals via transform functions and webhook registration), but the 'when' is entirely absent — there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Relevant keywords like 'webhook', 'transform', and the event types are present, but natural user phrasings and synonyms (e.g., 'integration', 'incoming event', 'notification') are missing, and jargon like 'brain-ingestible signals' is not a term users would say.

3 / 5

Distinctiveness Conflict Risk

Webhook-event-to-brain-page transformation is a distinct niche, though the 'Generic framework' phrasing and overlap with closely related ingestion skills (the body delegates meeting events to a meeting-ingestion skill) create minor conflict risk.

4 / 5

Total

14

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 1 suspicious

Warning

Total

14

/

16

Passed

Repository

garrytan/gbrain

Path

skills/webhook-transforms/SKILL.md

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.