CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-rust-ai

Use when writing Rust code with `axllm` for named deployment profiles, generic provider clients, model selection, OpenAI-compatible calls, Responses, Gemini, Anthropic, routers, and balancers.

55

Quality

69%

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 ./packages/rust/skills/ax-rust-ai/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.

The body is a dense, fact-rich reference manual: highly specific package rules with essentially no fluff, but no complete runnable example, no sequenced workflow with validation checkpoints, and a monolithic single-file structure whose referenced bundle files (API.md, examples/) do not exist. It reads as generated documentation compressed into SKILL.md rather than a navigable skill overview.

Suggestions

Split per-provider detail (sampling rules, Vertex/prompt caching, DeepSeek/Grok/Groq thinking defaults, session-adapter semantics) into one-level-deep reference files under references/ that actually ship with the bundle, keeping SKILL.md as a concise overview with well-signaled links.

Replace the incomplete `let llm = ai("openai", options)?;` snippet with one fully executable example (options constructed, error handling shown) and ensure the referenced examples/ directory exists in the bundle so 'start from package examples' is actionable.

Add a short sequenced workflow with validation checkpoints — e.g., pick profile → construct client → verify structured-output mode is supported for the model (fails before transport) → run a scripted no-key example to confirm the call shape — so the guardrails become an ordered, checkable procedure.

DimensionReasoningScore

Conciseness

The body avoids padding with concepts Claude already knows — nearly every line is package-specific fact — but it is overstuffed for a main SKILL.md: per-provider sampling minutiae, Vertex caching rules, and session-adapter behavior are compressed into run-on sentences (e.g., the ~180-word sampling paragraph) that could be tightened or moved out. It fits 'mostly efficient but could be tightened' more than anchor 2's padded/generic verbosity, but the density routinely sacrifices clarity for brevity.

3 / 5

Actionability

Guidance is frequently concrete (exact factory names, error strings like 'AxAIServiceTimeoutError (Request timed out after <N>ms)', defaults like '500, 408, 429, 502, 503, 504 and 529'), but the sole code snippet — `let llm = ai("openai", options)?;` — is incomplete (options never defined) and the referenced runnable examples under `examples/` and `src/examples/rust/generation/` do not exist in the bundle. This lands on anchor 3: concrete but incomplete, pseudocode-level rather than executable.

3 / 5

Workflow Clarity

There is an implicit reading order (When To Use → Package Facts → Core Pattern → per-topic rules → Guardrails) but no sequenced workflow and no validation checkpoints for risky operations — nothing tells the agent how to verify a call shape before committing to it beyond 'start from package examples', and those examples are not shipped. Anchor 3 ('sequence present but checkpoints missing or implicit') fits; not 4 because no explicit verify/fix loop exists anywhere.

3 / 5

Progressive Disclosure

The body is organized into clear labeled sections (matching anchor 3's 'some structure' example of inline reference content plus section headers), but everything — provider rules, sampling tables-in-prose, session semantics — is inlined in one 160-line file, and the files it points to (`API.md`, `axir-api.json`, `axir-capabilities.json`, `examples/`) are absent from the bundle, so the references dangle. Not 4 because content that clearly belongs in separate files is inlined and the promised navigation targets don't exist.

3 / 5

Total

12

/

20

Passed

Description

75%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: explicit trigger guidance, a clear Rust/axllm niche, and a broad list of concrete capability areas. Its main weaknesses are the implicit 'what' (the sentence is entirely when-shaped) and a few internal-jargon terms ('Responses', 'named deployment profiles') that a user would not naturally say.

DimensionReasoningScore

Specificity

The description enumerates many concrete capabilities — 'named deployment profiles, generic provider clients, model selection, OpenAI-compatible calls, Responses, Gemini, Anthropic, routers, and balancers' — with only minor gaps. It is not a 5 because these are feature nouns rather than explicit actions (no verbs like 'create', 'route', 'normalize'), and 'Responses' is ambiguous jargon without the OpenAI qualifier.

4 / 5

Completeness

It has an explicit 'Use when writing Rust code with `axllm` for...' trigger clause with concrete contexts, and the 'what' is conveyed through the enumerated capability list. Not a 5 because the 'what' is implicit — the description never states what the skill does (e.g., 'provides API guidance and examples for...') — it is entirely when-shaped; but the when clause is explicit and specific, keeping it above 3.

4 / 5

Trigger Term Quality

Natural trigger terms users would say are well covered: 'Rust', 'axllm', 'OpenAI', 'Gemini', 'Anthropic', plus task terms like 'provider clients', 'model selection', 'routers', 'balancers'. Not a 5 because common variations are missing (e.g., 'failover', 'LLM', 'crate', 'ax package') and 'Responses' alone is not a phrase a user would naturally say.

4 / 5

Distinctiveness Conflict Risk

The pairing of 'Rust code with `axllm`' creates a clear niche with minimal conflict risk against generic skills. Not a 5 because broad terms like 'model selection', 'routers', and 'balancers' plus multi-provider names (Gemini, Anthropic, OpenAI) could overlap with general LLM-client or provider skills in other languages.

4 / 5

Total

16

/

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.