CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-rust-agent-observability

Use when writing Rust code with `axllm` for agent tracing, centralized and multi-tenant usage accounting, action logs, runtime diagnostics, replay, and production debugging.

62

Quality

78%

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

Quality

Content

68%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 lean, largely actionable API-usage skill with concrete code patterns, named example files, and useful production guidance (bounded queues, no secrets in attributes, clear observer on teardown). Its main gaps are the absence of an explicitly sequenced workflow with validation checkpoints (e.g., no-key verification before real network calls) and a large inline identifier dump that belongs in a separate reference file.

Suggestions

Add a short numbered workflow with a validation checkpoint, e.g.: 1. find the closest example in `examples/`, 2. adapt it using the core pattern, 3. verify with a no-key scripted-transport example before running against a real provider.

Make the code snippets self-contained (show imports and how `llm` and `inputs` are constructed) so they are copy-paste executable rather than shape-only.

Move the ~70-identifier 'Relevant API Surface' list into a separate reference file (e.g., `references/api-surface.md`) and keep only the handful of symbols needed for the core pattern and usage observer in SKILL.md.

DimensionReasoningScore

Conciseness

The body is lean: short factual lists ('Package Facts'), two small code snippets, dense bullet guidance, and no explanations of concepts Claude already knows. The one verbosity cost is the 'Relevant API Surface' section — a single ~70-identifier dump ('AxAI: `ai`, `typesafe`, ... `ProviderRouter`') that is borderline padding inline — which keeps it below anchor 5 ('every token earns its place') but well above anchor 3.

4 / 5

Actionability

Concrete guidance dominates: a copy-able core pattern (`axllm::agent("question:string -> answer:string")?`), an observer registration snippet (`set_usage_observer(Some(Arc::new(move |event| { usage_queue.push(event); })))`), a named runnable example (`src/examples/rust/generation/usage_observer.rs`), and file-level pointers ('use no-key examples for deterministic local checks'). The snippets are not fully executable — `helper.forward(&llm, inputs, None)` references undeclared `llm`/`inputs` and no imports are shown — so it matches anchor 4 ('mostly executable; minor gaps') rather than anchor 5 (copy-paste ready).

4 / 5

Workflow Clarity

There is an implicit sequence (start from package examples → apply the core pattern → register the observer for accounting → follow guardrails) and the guardrails section gives ordering hints ('Start from package examples for exact native syntax'), but no explicitly sequenced workflow or validation checkpoints (e.g., verify with no-key scripted transport before making real network calls). This matches anchor 3 ('sequence present but checkpoints missing or implicit'); it is above anchor 2 because the sections do convey a coherent usage order.

3 / 5

Progressive Disclosure

The skill is well-sectioned with a scannable overview, and detail is appropriately delegated to named external artifacts ('API.md and axir-api.json', 'axir-capabilities.json', 'examples/', a specific example path). No bundle files exist alongside the skill, so structure rests on the body itself, which is reasonably organized. It sits below anchor 5 because the references are name-dropped without clear signaling of where they live relative to the skill, and the large inline API identifier dump is content that would fit better in a separate reference file.

4 / 5

Total

15

/

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, specific description with an explicit 'Use when' trigger, natural domain keywords, and minimal conflict risk thanks to the named package `axllm` and Rust language anchor. The only weakness is that the 'what' is a capability noun list embedded in the when-clause rather than a distinct action statement, and a few common synonyms (observability, telemetry, metrics) are absent.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — 'agent tracing, centralized and multi-tenant usage accounting, action logs, runtime diagnostics, replay, and production debugging' — anchored to a specific language and package ('Rust code with `axllm`'). These are noun-phrase capabilities rather than explicit action verbs (compare the anchor-5 example 'Extract text... fill forms... merge documents'), leaving minor gaps in coverage, so it sits between anchor 4 and 5, closer to 4.

4 / 5

Completeness

The 'when' is explicit and specific ('Use when writing Rust code with `axllm` for...'), satisfying the 'Use when...' requirement. The 'what' is present but embedded in the when-clause as a capability list rather than a distinct statement of what the skill does (no 'Writes/generates Rust code for...' verb), matching anchor 4 ('both present; one could be more explicit') rather than the anchor-5 pattern of a clearly separated what + when.

4 / 5

Trigger Term Quality

Natural trigger terms are present: 'Rust', 'agent tracing', 'usage accounting', 'action logs', 'debugging', 'replay' — phrases a user working in this domain would plausibly say. A few common synonyms are missing (e.g., 'observability', 'telemetry', 'metrics', 'monitoring'), which keeps it just below the comprehensive anchor 5; it is clearly above anchor 3 ('Works with PDF files'-level coverage) because it includes multiple domain-natural phrases, not just one generic keyword.

4 / 5

Distinctiveness Conflict Risk

The description names a clear niche — Rust code with the specific package `axllm` for agent observability — with distinct triggers ('agent tracing', 'multi-tenant usage accounting', 'runtime diagnostics') that are unlikely to fire for unrelated skills. This matches the anchor-5 'clear niche with distinct triggers; minimal conflict risk' example.

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.