CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-rust-gen

Use when writing Rust code with `axllm` for AxGen programs, forward calls, indexed multi-sampling, result pickers, streaming, tools, assertions, traces, usage, and output parsing.

53

Quality

67%

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

Quality

Content

42%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 rich in accurate, package-specific detail and clearly aimed at the right niche, but it is delivered as a monolithic specification dump: extremely dense prose, one tiny code snippet, no worked multi-step workflow, and no bundle files backing the referenced API docs or examples. Restructuring it into an overview plus real reference files would address every dimension at once.

Suggestions

Split the behavioral specification (Astra session semantics, retry budgets, date parsing, JSON serialization rules) into one or more reference files and keep SKILL.md to an overview with the core pattern, when-to-use, and clearly signaled links — this addresses both the conciseness and progressive-disclosure gaps.

Add 2-3 complete, executable Rust examples inline (a basic forward, a multi-sampled forward with a result picker, a streaming forward) so the common cases are copy-paste ready rather than inferred from prose.

Provide a short sequenced workflow (check capability manifest → copy the closest example → adapt signature/options → run with the no-key transport for local verification) with an explicit verification checkpoint, replacing some of the descriptive paragraphs.

Trim the repeated 'as in TypeScript' comparisons to a single up-front note that the Rust API mirrors the TypeScript API except where stated, cutting substantial token overhead.

DimensionReasoningScore

Conciseness

The body is ~25KB of wall-of-text prose: paragraphs of 300-500 words (the streaming section is a single ~400-word paragraph), sentences chaining 5+ clauses, and 'as in TypeScript' repeated dozens of times. Much of the behavioral specification (JSON key ordering, timezone abbreviation tables, per-language method spellings) reads as generated API documentation rather than instructions Claude needs inline, matching the 'noticeably verbose; several padded sections' anchor. It is not a 1 because nearly all of it conveys non-obvious package-specific facts rather than explaining concepts Claude already knows.

2 / 5

Actionability

There is one executable snippet (the two-line Core Pattern) and scattered real signatures (`streaming_forward(&mut client, values, options, on_delta)`, `add_field_processor(field, processor)`, `with_sample_count`), plus pointers to runnable examples. But the bulk is descriptive specification of runtime behavior (cancellation semantics, retry budgets, cache precedence) with no complete executable examples or worked call sequences, matching 'some concrete guidance but incomplete; missing key details' rather than the mostly-executable anchor at 4.

3 / 5

Workflow Clarity

The Core Pattern gives a minimal two-step sequence (build program, forward) and When To Use plus Guardrails bound the task, but the document is organized as a topic-by-topic reference, not a sequenced process. There are no explicit validation checkpoints or error-recovery loops (e.g., what to check after a forward fails, how to iterate from examples to a working program), which keeps it at 'sequence present but checkpoints missing or implicit' rather than 4.

3 / 5

Progressive Disclosure

The body references real artifact names clearly listed in Package Facts (API.md, axir-api.json, axir-capabilities.json, examples/), but none of those files exist in this bundle — only SKILL.md is present — and 60+ lines of dense behavioral spec that belong in a separate reference file are inlined. This matches 'some structure; references present but content that should be separate is inline'.

3 / 5

Total

11

/

20

Passed

Description

78%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, distinctive description that names the package, language, and a comprehensive list of capability areas with an explicit trigger clause. Its main weakness is fusing 'what' and 'when' into one sentence of bare noun phrases rather than stating the skill's actions separately.

Suggestions

Lead with a standalone what-clause in third-person verb form (e.g., 'Builds and runs AxGen structured-generation programs in Rust via `axllm`...') before the 'Use when' trigger sentence.

Add one or two natural synonyms users might say, such as 'structured generation' or 'LLM programs', to broaden trigger matching.

Convert a few noun-phrase items into actions (e.g., 'pick winning samples with result pickers') so the capability list reads as things the skill does.

DimensionReasoningScore

Specificity

The description enumerates many concrete capability areas ("forward calls, indexed multi-sampling, result pickers, streaming, tools, assertions, traces, usage, and output parsing") grounded in a named package (`axllm`), matching the 'several specific actions; minor gaps' anchor. It falls short of a 5 because the items are terse noun phrases without verbs describing what the skill actually does with them (e.g., 'build' vs. just naming 'AxGen programs').

4 / 5

Completeness

Both elements are present: an explicit 'Use when' trigger clause and a concrete capability list serving as the 'what'. It sits at the 'both present; when could be more explicit or specific' anchor rather than 5 because the what and when are fused into a single sentence — there is no standalone statement of what the skill does, and the when-clause carries the capability list.

4 / 5

Trigger Term Quality

"Use when writing Rust code with `axllm`" is a natural phrase a user of this package would say, and domain terms like 'streaming', 'tools', and 'result pickers' match how practitioners talk. A few natural variations are missing (e.g., 'structured generation', 'ax framework'), keeping it below comprehensive synonym/extension coverage at 5.

4 / 5

Distinctiveness Conflict Risk

Proper-noun triggers (`axllm`, 'AxGen', Rust-specific) carve out a clear niche with essentially no overlap risk against generic Rust, LLM, or document skills. This matches the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

17

/

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.