CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

rust-tracing-practices

HASH tracing and instrumentation practices for Rust. Use when adding spans, events, or #[tracing::instrument] to Rust code.

71

Quality

89%

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

SKILL.md
Quality
Evals
Security

Quality

Content

100%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 an exemplary short conventions skill: dense, prescriptive bullets with exact tracing syntax, two copy-paste-ready code examples, and the one piece of genuinely non-obvious library knowledge (error_stack Display vs Debug semantics) explained in two sentences. No padding, no re-teaching of basics, and no external references are needed at this size.

DimensionReasoningScore

Conciseness

The body is lean: every line is either a house convention ("Prefer lowercase log-message prose", "Keep public-response sanitization separate from diagnostic reporting") or non-obvious library behavior ("A report's plain Display stops after the first context and omits attachments"). Nothing re-explains Rust or basic tracing concepts Claude already knows, matching the 'every token earns its place' anchor.

5 / 5

Actionability

Guidance uses exact executable syntax — `%error` vs `?report` for Display vs Debug recording, `err` vs `err(Debug)`, `skip(password)`, `fields(user_id = user.id)` — and both code blocks are copy-paste-ready patterns covering the common event and instrumentation cases. This matches the 'fully executable, copy-paste ready, covers common cases' anchor.

5 / 5

Workflow Clarity

This is a simple, single-purpose conventions skill under 50 lines with no multi-step process, and the guidance within each section (Event Recording, Instrumentation) is unambiguous with clear decision rules for choosing between alternatives (e.g., ordinary error vs error_stack::Report). The simple-skill exception applies; there are no destructive or batch operations that would require validation checkpoints.

5 / 5

Progressive Disclosure

The skill is under 50 lines with no external files referenced or needed; the two well-organized section headers (Event Recording, Instrumentation) provide clear structure. Per the rubric's guideline for short skills needing no external references, well-organized sections alone merit the top score.

5 / 5

Total

20

/

20

Passed

Description

73%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 concise, third-person description with an explicit 'Use when...' trigger clause and strong domain scoping. Its main weakness is that the capability statement is a generic label ("practices") rather than a list of concrete capabilities, and it misses common trigger synonyms like "logging".

Suggestions

Replace the generic "tracing and instrumentation practices" with concrete capabilities, e.g. "Record errors with Display vs Debug formatting, choose log levels, instrument functions with skip/fields, and sanitize sensitive data in Rust tracing code."

Add "logging" or "log messages" to the trigger clause, since users often phrase tracing/instrumentation requests as adding logs to Rust code.

DimensionReasoningScore

Specificity

The description names the domain ("tracing and instrumentation practices for Rust") and concrete technical items appear only in the trigger clause ("adding spans, events, or #[tracing::instrument]"), but the capability statement itself offers no specific actions beyond the generic word "practices". It sits between anchor 3 (domain plus 1-2 concrete actions) and anchor 4 (several specific actions), closer to 3 because the 'what' is a label rather than an action list.

3 / 5

Completeness

Both parts are present: the what ("HASH tracing and instrumentation practices for Rust") and an explicit when with concrete triggers ("Use when adding spans, events, or #[tracing::instrument] to Rust code"). It does not reach anchor 5 because the what-clause is generic ("practices") rather than enumerating concrete capabilities like error recording or parameter redaction.

4 / 5

Trigger Term Quality

Terms like "tracing", "instrument", "spans", "events", and "#[tracing::instrument]" are exactly what a user would say when needing this skill, and "for Rust" scopes them. It falls short of anchor 5 because natural synonyms such as "logging" or "log messages" (a very common way users phrase this need) are missing.

4 / 5

Distinctiveness Conflict Risk

The pairing of "for Rust" with "#[tracing::instrument]" and the tracing-specific vocabulary carve out a clear niche with distinct triggers and minimal overlap risk against general logging or observability skills.

5 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

hashintel/hash

Path

.agents/skills/rust-tracing-practices/SKILL.md

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.