CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-trigger

Create webhook or polling triggers for a Sim integration

58

Quality

73%

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 ./.agents/skills/add-trigger/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%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 content is an exemplary, highly actionable domain skill: complete code templates, exact file paths, enforced verification commands, and a hard rule against guessing webhook payloads. Its weaknesses are structural — everything lives in one long SKILL.md with no progressive-disclosure bundle — plus minor duplication between the body and the closing checklist.

Suggestions

Split the polling-trigger track (directory structure, handler template, cron/helm setup) into a references/polling.md file and keep SKILL.md as the webhook overview, making the references one level deep.

Deduplicate the closing checklist against the body — each checklist item currently restates a rule already stated in its section (e.g., first-poll seeding, formatInput/outputs alignment).

Replace the elided secondary-trigger snippet ("Same as above but...") and the polling handler's placeholder comments with at least one complete worked example, or point to the reference implementation inline where the gap occurs.

DimensionReasoningScore

Conciseness

The body is dense with project-specific wiring (e.g., "createHmacVerifier passes requireSecret: true when the provider always signs", "no code touches route.ts, provider-subscriptions.ts, or deploy.ts") and never explains concepts Claude already knows. Minor over-explanation exists: the final checklist restates rules already given per-section, and the outputs schema is demonstrated twice (Step 1's build{Service}Outputs and the later 'Trigger Outputs Schema' section), keeping it just below level 5.

4 / 5

Actionability

Concrete executable TypeScript templates with exact paths ("apps/sim/lib/webhooks/providers/{service}.ts") and runnable checks ("bun run type-check", "bun run check:cron-parity") cover the common cases. It is not level 5 because the secondary trigger example is elided as "Same as above but: id: '{service}_event_b', no includeDropdown" and the polling handler contains placeholder pseudocode ("// Fetch changes since last poll, process with idempotency // ..."), though real reference implementations (rss, gmail, google-drive) are pointed to.

4 / 5

Workflow Clarity

A clear four-step task sequence is elaborated in ordered sections (Step 1 utils, Step 2 triggers, Step 3 register and wire), with explicit validation checkpoints ("bun run type-check passes", "Always verify by checking the output after running the script"), feedback loops (throw from createSubscription so "orchestration rolls back the DB webhook"), error-recovery guidance for unknown payloads, and a comprehensive final checklist. This matches the anchor for clear sequence with explicit validation, feedback loops, and a checklist.

5 / 5

Progressive Disclosure

No references/, scripts/, or assets/ bundle exists, so the entire ~550-line body — full webhook and polling tracks, complete handler templates, and checklists — is inlined in SKILL.md. Section headers are clear and pointers to real repo files ("apps/sim/lib/webhooks/polling/rss.ts", the add-block and add-selector skills) are well signaled, but content that clearly belongs in one-level-deep reference files (e.g., a dedicated polling reference) is inline, matching anchor 3 rather than 4.

3 / 5

Total

16

/

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 is concise, domain-specific, and distinct, naming two concrete capabilities. Its main weakness is the missing 'Use when...' guidance, which caps completeness, and its thin action coverage relative to everything the skill body actually does.

Suggestions

Append an explicit trigger clause, e.g., "Use when adding webhook or polling triggers to a Sim integration, or when wiring trigger events to a block."

Broaden natural trigger terms to include 'event', 'notification', and 'add trigger' phrasing users would say.

Mention the registration/wiring outcome (e.g., '...and register them with the block') to make the 'what' more comprehensive.

DimensionReasoningScore

Specificity

"Create webhook or polling triggers for a Sim integration" names the domain ("Sim integration") and two concrete actions ("webhook or polling triggers"), but coverage stops there — no mention of registration, provider handlers, or block wiring, matching the anchor for 1-2 concrete actions without comprehensiveness. It is not level 4 because 'several specific actions' would require enumerating more of the workflow it actually covers.

3 / 5

Completeness

The 'what' is clear ("Create webhook or polling triggers for a Sim integration") but there is no 'Use when...' clause or equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. It is not level 2 because the 'what' is specific rather than vague.

3 / 5

Trigger Term Quality

"webhook", "polling", "triggers", and "integration" are natural terms users would say when needing this skill (e.g., 'add a webhook trigger to the Linear integration'). It falls short of level 5 because common variations like "event", "notification", or "add trigger" phrasing are absent.

4 / 5

Distinctiveness Conflict Risk

The niche ("webhook or polling triggers for a Sim integration") is well delimited and unlikely to fire for unrelated skills; only minor overlap risk exists with closely related Sim integration skills like add-block or add-selector. Not level 5 because the description itself gives no distinguishing trigger phrases beyond the domain name.

4 / 5

Total

14

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (548 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

Passed

Repository

simstudioai/sim

Path

.agents/skills/add-trigger/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.