CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-event-runtime

Use AxEventRuntime to ingest events, explicitly wake or resume AxGen, AxAgent, and AxFlow, persist state and results, and route outputs safely.

61

Quality

77%

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 ./website/static/typescript/.well-known/agent-skills/ax-event-runtime/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 an exceptionally lean, high-signal rulebook with concrete code patterns and genuine validation checkpoints, and the testing section is a model of deterministic-guidance. Its main weakness is organization at scale: adapter-specific and generated-target material is inlined in a single file rather than split into well-signaled one-level references.

Suggestions

Move the MCP Adapter, UCP Adapter, and generated-runtime paragraphs into separate reference files (e.g. references/mcp.md, references/ucp.md, references/generated-runtimes.md) and keep only a one-line pointer plus the core routing rules in SKILL.md.

Make the referenced docs/MCP_SUBSCRIPTIONS.md actually present in the bundle (or drop the pointer) — as shipped, the only external reference in the skill is dangling.

Complete the minimal code example with its imports and definitions of triageAgent, saveResult, and eventPath so the first pattern is copy-paste executable.

DimensionReasoningScore

Conciseness

The body is dense, rule-style prose with zero padding and no explanation of concepts Claude already knows; every line carries non-obvious API constraints (e.g. "missing or invalid signature inputs dead-letter before model invocation", "Never recommend SQLite on a network filesystem"), matching the anchor-5 'every token earns its place' profile.

5 / 5

Actionability

Two concrete TypeScript examples and specific builder chains ("eventInput().project(...).field(...)", "AxMCPEventSource({ client, resourceSubscriptions, identity, trust })") give mostly executable guidance, but the minimal pattern omits imports and leaves saveResult, triageAgent, and llm undefined — the minor gaps of anchor 4.

4 / 5

Workflow Clarity

The mental-model pipeline, the explicit observe/invalidate/wake/resume decision rule, and real checkpoints (dead-lettering, outputs persisted before sink delivery, runAxEventStoreConformance, assert-based testing) give a clear sequence with most checkpoints present; the stepwise flow is implicit rather than enumerated, keeping it below anchor 5.

4 / 5

Progressive Disclosure

Structure exists via clear section headers, but the MCP adapter, UCP adapter, and generated-runtime details (multi-paragraph limits like "10,000 pending deliveries, 64 MiB queued data") are inlined content that clearly belongs in separate reference files — the skill even points to docs/MCP_SUBSCRIPTIONS.md, which is absent from the bundle — matching anchor 3 ('content that should be separate is inline').

3 / 5

Total

16

/

20

Passed

Description

63%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 concrete capabilities precisely and is cleanly distinct within the Ax ecosystem, but it entirely lacks a "Use when..." trigger clause and omits the natural vocabulary (webhooks, timers, queues, notifications) that would let a user's request match it. Adding an explicit trigger clause with those terms would move it to top-tier quality.

Suggestions

Append a trigger clause such as "Use when an Ax program must react to webhooks, notifications, timers, queues, or task completion" so the when-condition is explicit and completeness is not capped at 3.

Include the natural user vocabulary from the body (webhooks, timers, queues, notifications, event-driven) in the description so trigger_term_quality covers synonyms users actually say.

Drop the hedge word "safely" from "route outputs safely" — replace it with what safety means here (e.g. dead-letter unmatched events before invocation) to keep every phrase concrete.

DimensionReasoningScore

Specificity

"ingest events", "explicitly wake or resume AxGen, AxAgent, and AxFlow", "persist state and results", and "route outputs" are multiple concrete, comprehensive actions covering the runtime's surface; only "safely" is a mild hedge, which still fits the anchor-5 example of comprehensive concrete actions better than anchor 4's 'minor gaps'.

5 / 5

Completeness

The 'what' is clear and concrete, but there is no "Use when..." clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines; this exactly matches anchor 3 ('clear what, when missing').

3 / 5

Trigger Term Quality

The keywords are component jargon ("AxEventRuntime", "AxGen") plus the generic "events"; the natural phrases users would say — webhooks, timers, queues, notifications, event-driven — appear only in the body, never in the description, so common variations are missing as in anchor 3.

3 / 5

Distinctiveness Conflict Risk

Naming AxEventRuntime and the Ax components carves a mostly distinct niche with minimal conflict against unrelated skills, but the jargon-only triggers create minor overlap risk with closely related ax skills (e.g. an ax-mcp skill), fitting anchor 4 better than anchor 5.

4 / 5

Total

15

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
ax-llm/ax
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.