CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

native-trigger

Guidance for adding native trigger services to Windmill. Use when implementing or modifying native trigger integrations across the backend and frontend.

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

Quality

Content

63%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 thorough, codebase-specific implementation guide with strong actionability and a well-sequenced 18-step workflow backed by a testing checklist. Its weaknesses are length and redundancy (the trait and create-lifecycle patterns are repeated multiple times) and the total absence of progressive disclosure — everything, including full code templates and reference-pattern deep-dives, is inlined in one very large SKILL.md.

Suggestions

Move the full external.rs template, the Google/Nextcloud reference-implementation sections, and the ServiceName method table into references/ files (e.g., references/external-trait-template.md, references/google-pattern.md, references/nextcloud-pattern.md), keeping SKILL.md as a concise overview with clearly signaled one-level-deep links.

Remove the duplicated trait sketch in 'Core Concepts' (it is restated in full in Step 3) and consolidate the four separate explanations of the update+get create lifecycle into a single section.

Add per-step validation checkpoints (e.g., run `cargo check` after Steps 3-6 and `npx svelte-check` after frontend steps, with fix-and-retry guidance) instead of deferring all verification to the end-of-document checklist.

DimensionReasoningScore

Conciseness

The ~800-line body is information-dense with codebase-specific knowledge Claude would not know, but it duplicates material: the External trait is sketched once in 'Core Concepts' and again in Step 3, the update+get pattern is explained in at least four places, and self-evident comments like '// <-- Add this' pad the code blocks. This matches 'mostly efficient but could be tightened' rather than the minor-trim level of 4.

3 / 5

Actionability

Guidance is largely executable: full SQL migration text, a near-complete external.rs implementation, exact file paths for all 18 steps, and concrete commands like `cargo check -p windmill-native-triggers --features native_trigger` and `npm run generate-backend-client`. Minor gaps — the abbreviated trait signatures in Core Concepts, the `todo!()` in list_all(), and terse steps like 'Add to NATIVE_TRIGGER_SERVICES' without a code example — keep it below fully copy-paste-ready.

4 / 5

Workflow Clarity

Eighteen explicitly numbered steps in a logical order (DB migration → common enums → backend → registry → frontend → OpenAPI/types), capped by a testing checklist with concrete verification commands. The sequence is clear, but validation is end-loaded in the checklist rather than checkpointed per step with fix-and-retry feedback loops, matching 'most checkpoints present; minor validation gaps' rather than the 5 anchor's explicit feedback loops.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so all ~800 lines live inline in SKILL.md with good section headers and tables but no offloading. Content that clearly belongs in separate files — the full external.rs template, the Google/Nextcloud pattern deep-dives, and the ServiceName method tables — is inlined, matching 'some structure but content that should be separate is inline'. Codebase pointers like 'See backend/windmill-native-triggers/src/google/' partially signal where detail lives, but there are no one-level-deep reference files.

3 / 5

Total

14

/

20

Passed

Description

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

A strong, third-person description that explicitly answers both what the skill does and when to use it, with a clearly distinct niche. Its main gap is that the 'when' clause mirrors the 'what' rather than offering varied concrete trigger phrases, and it lists no specific sub-capabilities.

DimensionReasoningScore

Specificity

"Guidance for adding native trigger services to Windmill" names the domain clearly and implies one concrete action (adding services), but does not enumerate several specific concrete actions (e.g., implementing the External trait, adding migrations, wiring frontend forms). It sits at the 'domain plus 1-2 concrete actions, not comprehensive' anchor, below 4 which requires several listed specific actions.

3 / 5

Completeness

Both parts are present: the what is "Guidance for adding native trigger services to Windmill" and the when is the explicit "Use when implementing or modifying native trigger integrations across the backend and frontend". The when clause restates the what rather than adding concrete trigger phrases, matching the 'both present but when could be more specific' anchor rather than the 5 anchor's concrete trigger phrases.

4 / 5

Trigger Term Quality

Terms like "native trigger", "Windmill", "trigger integrations", "implementing or modifying", and "backend and frontend" give good keyword coverage for what a contributor would say ("add a native trigger service", "modify trigger integrations"). A few natural variations are missing — e.g., webhooks, push notifications, or named services like Nextcloud/Google — keeping it below the comprehensive 5 anchor.

4 / 5

Distinctiveness Conflict Risk

"Windmill" and "native trigger services" carve out a clear niche with distinct trigger terms; no plausible competing skill would match this description, fitting the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

16

/

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

skill_md_line_count

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

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

windmill-labs/windmill

Path

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