CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-rust-typesafe

Use when writing Rust code with `axllm` for Typesafe Jev boolean/class signatures, value descriptions, configurable Noul conversion, native Noul/Choice/Score, structured criteria and hybrid generation.

52

Quality

65%

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

Fix and improve this skill with Tessl

tessl review fix ./website/static/rust/.well-known/agent-skills/ax-rust-typesafe/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 a dense, package-specific reference with a concrete core code example and useful guardrails, but it is weakened by cross-language naming noise, the absence of any ordered workflow, and references to bundle files (API.md, axir-api.json, examples/) that are not actually present. The inlined API symbol list should live in the referenced documentation.

Suggestions

Ship the referenced files (API.md, axir-api.json, examples/ with the generation examples) in the skill bundle, or remove the references — currently the body points to paths that do not resolve.

Move the 25+ symbol "Relevant API Surface" list into the API reference file and keep only the handful of symbols needed for the core pattern inline.

Trim cross-language naming variants (describeValues, SystemOne, the C++ valueDescriptions aside) to the Rust names only, since this skill explicitly targets Rust.

Add a short ordered workflow (pick Jev vs native → copy the closest example → run against no-key transport to verify) with a verification checkpoint.

DimensionReasoningScore

Conciseness

Every fact is package-specific with no generic concept explanations, but the body could be tightened: recurring tri-language naming variants ("describe_values / describeValues / DescribeValues", "system_one / systemOne / SystemOne"), a C++ aside ("C++ uses valueDescriptions on its existing field descriptors"), and TypeScript compile-inference details are noise in a Rust-specific skill. Not 4 because this cross-language noise recurs across several paragraphs rather than being a minor instance.

3 / 5

Actionability

The Core Pattern gives a concrete, executable-shaped Rust snippet showing the exact call shape, and the guardrails are directive ("Start from package examples for exact native syntax before inventing a new call shape"). Not 5 because imports/setup are omitted, native usage is described but never shown, and the pointed-to examples/ directory is absent from the bundle.

4 / 5

Workflow Clarity

"When To Use" provides decision rules (Jev for typed decisions, native for probabilities/scoring) but there is no ordered sequence and no validation checkpoint — the workflow (choose approach → consult examples → write code) is implicit. Not 4 because no explicit sequence or checkpoints are stated anywhere.

3 / 5

Progressive Disclosure

Sections are well-organized (When To Use, Package Facts, Core Pattern, API Surface, Guardrails) and detail is delegated to named files, but the referenced `API.md`, `axir-api.json`, and `examples/` paths do not exist in the bundle, so navigation does not resolve. The 25+ symbol flat list in "Relevant API Surface" is inline content that belongs in the referenced API doc. Not 4 because broken references and the inlined symbol dump are more than minor organization gaps.

3 / 5

Total

13

/

20

Passed

Description

57%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 has an explicit and appropriately niche "when" clause anchored on Rust and axllm, but it never states what the skill does, and much of its vocabulary (Jev, Noul) is internal jargon rather than terms a user would naturally say. It is distinct and non-conflicting, yet incomplete and only moderately specific.

Suggestions

Lead with an explicit third-person action statement of what the skill does, e.g. "Guides API usage of the generated Rust package `axllm` for typed boolean/class outputs...", before the "Use when" clause.

Add natural trigger synonyms users would actually say — "typed outputs", "structured outputs", "schema-constrained generation" — alongside the internal terms (Jev, Noul).

Trim the opaque feature list ("value descriptions, configurable Noul conversion, native Noul/Choice/Score") to the two or three capabilities that carry the most user-facing meaning.

DimensionReasoningScore

Specificity

Names the domain ("writing Rust code with `axllm`") and enumerates specific areas ("boolean/class signatures", "value descriptions", "native Noul/Choice/Score", "hybrid generation"), but these are feature nouns rather than actions — no verb states what the skill actually does. Not 4 because it reads as a jargon inventory rather than a list of concrete capabilities.

3 / 5

Completeness

The "when" is explicit ("Use when writing Rust code with `axllm` for..."), but the "what" is never stated — the skill's actual function (API usage guidance) is only implied by the feature list. It sits above anchor 2 ("only 'when' present without 'what'") because the feature enumeration partially conveys the what, but below anchor 4 because that what is never explicitly asserted.

3 / 5

Trigger Term Quality

"writing Rust code" and "axllm" are natural user triggers, but "Typesafe Jev", "Noul conversion", and "Noul/Choice/Score" are internal jargon users would rarely say, and common synonyms like "typed outputs" or "structured outputs" are missing. Not 2 because the Rust/axllm pair covers the genuine natural entry point for the target user.

3 / 5

Distinctiveness Conflict Risk

"axllm", "Typesafe Jev", and "Noul" form a highly niche, unmistakable trigger set with minimal overlap risk against any other skill. Matches anchor 5 ("clear niche with distinct triggers; minimal conflict risk").

5 / 5

Total

14

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

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.