CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ax-gen

This skill helps an LLM generate correct AxGen code using @ax-llm/ax. Use when the user asks about ax(), AxGen, generators, forward(), streamingForward(), validation, assertions, streaming assertions, field processors, step hooks, self-tuning, or structured outputs. For MCP clients, transports, prompts, resources, tasks, subscriptions, or authentication use ax-mcp alongside this skill.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

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.

A highly actionable, information-dense codegen rulebook: executable examples cover every major feature and feedback/retry semantics are documented precisely. The main weakness is structure — nearly all reference-grade detail lives inline in a 650-line SKILL.md while the one bundled reference file is under-used and linked inconsistently.

Suggestions

Move the detailed Structured Outputs rule list and Chat Log/usage type definitions into a bundled reference file (or the existing references/ax-typesafe.md), keeping only a few key inline examples in SKILL.md.

Replace the GitHub URL for the ax-typesafe document in the Structured Outputs section with a link to the local references/ax-typesafe.md so the bundled file is the single consistent navigation target.

Consider bundling the remotely-linked example files (streaming.ts, best-of-n.ts, etc.) into a local examples/ directory so example navigation does not depend on external URLs.

DimensionReasoningScore

Conciseness

The body is lean and rule-dense ("Prefer short, modern, copyable patterns. Do not write tutorial prose unless the user explicitly asks") with virtually no explanation of concepts Claude already knows — everything is library-specific @ax-llm/ax behavior. It is not a 5 because exhaustive enumerations (the forward-option precedence lists in Caching, the generated-language status notes) and niche sections (Novel F1 evaluation, Event Targets) could be trimmed or delegated to references.

4 / 5

Actionability

The Canonical Pattern and per-feature sections provide fully executable, copy-paste-ready TypeScript covering the common cases: forward, streamingForward, schema validation with zod, addAssert/addStreamingAssert, field processors, tool definitions via fn(), caching, step hooks, self-tuning, and error handling with named error classes. Remaining placeholders (bestIndex, { ... }) only mark user-supplied values, which is standard practice.

5 / 5

Workflow Clarity

"Use These Defaults" followed by the "Canonical Pattern" makes the single action (generate correct AxGen code) unambiguous, and validation/retry feedback loops (schema retries, assertion correction retries, error handling rules) are documented throughout. It is not a 5 because there is no explicit guidance sequencing when to choose among addAssert, addStreamingAssert, field processors, bestOfN, and refine — the reader must infer the selection.

4 / 5

Progressive Disclosure

Section headers are clear and one real bundle reference exists (references/ax-typesafe.md with a valid anchor), but it is linked only once and inconsistently — the Structured Outputs section points to the remote GitHub copy of the same document instead of the local file. Meanwhile ~600 lines of reference-grade material (18 Structured Outputs rules, Chat Log type definitions, Event Targets, session internals) are inlined in SKILL.md rather than split out, matching the "content that should be separate is inline" anchor.

3 / 5

Total

16

/

20

Passed

Description

87%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 description: third-person, concise, with an explicit Use-when clause full of concrete API trigger terms and explicit boundary routing to the ax-mcp skill. The only gap is a few natural trigger terms (function calling, tools, caching) omitted from the trigger list.

DimensionReasoningScore

Specificity

"generate correct AxGen code using @ax-llm/ax" names the domain and the trigger list enumerates many concrete capabilities ("validation, assertions, streaming assertions, field processors, step hooks, self-tuning, or structured outputs"), but these are feature topics supporting a single generate action rather than multiple distinct actions, so it falls between the several-actions (4) and comprehensive-actions (5) anchors.

4 / 5

Completeness

It explicitly answers both what ("helps an LLM generate correct AxGen code using @ax-llm/ax") and when ("Use when the user asks about ax(), AxGen, generators, forward(), streamingForward(), …") with concrete trigger phrases, matching the top anchor exactly; the 4 anchor's "when could be more specific" does not apply.

5 / 5

Trigger Term Quality

"ax(), AxGen, generators, forward(), streamingForward()" are exactly the natural terms a user of this library would say, giving good keyword coverage. It is not a 5 because common natural phrasings the body covers — "function calling", "tools", "caching", "streaming" — are missing from the trigger list.

4 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (AxGen codegen for one specific library, @ax-llm/ax) and includes explicit deconfliction guidance ("For MCP clients, transports, prompts, resources, tasks, subscriptions, or authentication use ax-mcp alongside this skill"), so conflict risk with neighboring skills is minimal.

5 / 5

Total

18

/

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 (652 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

ax-llm/ax

Path

website/static/typescript/.well-known/agent-skills/ax-gen/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.