CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-rust-agent

Use when writing Rust code with `axllm` for agents, child delegation, tools, MCP, citations, persistent playbook learning, stage instructions, runtime state, final typed responses, and direct-respond executor skipping.

52

Quality

66%

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

Quality

Content

50%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 dense, information-rich reference for an internal generated package: nearly every line is package-specific knowledge, with concrete API names and one runnable snippet. It is weakened by walls of inlined edge-case prose, a lack of complete executable examples, no stepwise workflow or validation checkpoints, and cited reference files that are not present in the skill bundle.

Suggestions

Move the Astra session, cancellation, and MCP host-policy behavioral detail into a reference file (e.g. references/sessions.md) and keep SKILL.md to the core pattern, runtime setup, and pointers.

Add one complete, copy-paste-ready Rust example per major feature (child agent registration, streaming with on_delta, tool module) instead of deferring all syntax to `examples/`.

Ensure the files cited in Package Facts (`API.md`, `axir-api.json`, `axir-capabilities.json`, `examples/`) actually ship in the skill bundle, or restate the paths relative to the package so navigation is resolvable.

DimensionReasoningScore

Conciseness

The body does not re-explain concepts Claude already knows — nearly all of it is package-specific behavior (AxIR, distiller/executor/responder stages, Astra sessions) Claude cannot know, and there is no filler. However, dense unbroken prose blocks (notably the ~28-line "Astra Session Work" section) interleave core usage with edge-case caveats (cancellation propagation, late-result discarding, session reopen semantics) that could be tightened or moved, matching the 3 anchor (mostly efficient, some tightening possible) rather than the lean 5.

3 / 5

Actionability

There is one executable snippet and concrete API surface (`agent(...)`, `with_child_agent`, `streaming_forward`, `with_runtime(Box::new(runtime))`, `with_tool_module("crm", tools)`, plus explicit option names like `flat_function_namespace` and `clarification_shape`), but the bulk of the body is behavioral description with no complete, copy-paste-ready example — it defers to `examples/` via the guardrail "Start from package examples for exact native syntax". This matches the 3 anchor (some concrete guidance but incomplete) better than 4, which expects mostly executable guidance.

3 / 5

Workflow Clarity

The content is organized by topic (core pattern → runtime → namespaces → streaming → API surface → guardrails) rather than as a task sequence, and there are no validation checkpoints or feedback loops for the fragile operations it describes (mode switching, schema validation, cancellation). The Guardrails section partially acts as a "verify against examples first" checkpoint, placing this at the 3 anchor — structure present, but checkpoints missing or implicit.

3 / 5

Progressive Disclosure

Section structure is clear and external references are plainly signaled in a dedicated "Package Facts" section (`API.md`, `axir-api.json`, `axir-capabilities.json`, `examples/`), which is better than the buried or absent references of the 2 anchor. But ~30 dense lines of session/cancellation/MCP behavioral detail are inlined in SKILL.md where a reference file belongs, and none of the cited files exist in the skill's bundle (no references/, scripts/, or assets/ directories), so navigation targets cannot be resolved — keeping it below the 4 anchor.

3 / 5

Total

12

/

20

Passed

Description

67%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 well-scoped, trigger-explicit description for a niche Rust package, with broad and mostly concrete capability coverage. Its main weaknesses are heavy internal jargon in the trigger terms and an implied rather than explicit statement of what the skill does.

Suggestions

Rewrite jargon-heavy trigger terms into phrases users would naturally type (e.g. "child agents", "add tools to an agent", "attach MCP clients") instead of "child delegation", "stage instructions", "direct-respond executor skipping".

State the what explicitly with action verbs before the "Use when" clause (e.g. "Build RLM agents in Rust with the `axllm` package: ...") so the feature list reads as capabilities rather than only triggers.

Add a couple of common synonyms (e.g. "ax", "AxAgent", "LLM agent framework") to widen natural trigger matching without losing the niche focus.

DimensionReasoningScore

Specificity

The description names many concrete capability areas — "agents, child delegation, tools, MCP, citations, persistent playbook learning, stage instructions, runtime state" — giving broad coverage. It falls short of the 5 anchor because the capabilities are listed as nouns rather than concrete actions, and terms like "direct-respond executor skipping" lean on internal jargon rather than plainly stated behavior.

4 / 5

Completeness

It has an explicit "Use when writing Rust code with `axllm` for..." trigger clause, satisfying the when; the what is only implied through the feature list rather than stated as actions the skill performs. That places it above the 3 anchor (which requires a missing or weak when) but below the 5 anchor, which demands both what and when explicitly and concretely.

4 / 5

Trigger Term Quality

Natural terms a user would say — "Rust", "agents", "tools", "MCP", "citations" — are present, but roughly half the list ("persistent playbook learning", "stage instructions", "final typed responses", "direct-respond executor skipping") is internal jargon users would not naturally say, and common synonyms (e.g. "ax", "LLM framework") are missing. This matches the 3 anchor (some relevant keywords, missing variations) better than 4, which expects consistently natural phrasing.

3 / 5

Distinctiveness Conflict Risk

"Rust code with `axllm`" carves out a clear niche with minimal conflict risk, but the broad trailing terms "agents, ... tools, MCP" could plausibly match generic Rust agent or MCP work unrelated to this package. This minor overlap with closely related skills matches the 4 anchor rather than the 5 anchor's minimal-conflict profile.

4 / 5

Total

15

/

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.