CtrlK
BlogDocsLog inGet started
Tessl Logo

rust-backend

Rust coding guidelines for the Windmill backend. MUST use when writing or modifying Rust code in the backend directory.

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 ./.agents/skills/rust-backend/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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.

An exemplary lean, project-specific patterns skill: it teaches exactly what Windmill's codebase requires with executable code and correct/wrong contrasts, wasting no tokens. Its only real weakness is the absence of verification steps (cargo check/clippy/test) to close the loop on code changes, and a couple of code snippets with ellipsis placeholders.

Suggestions

Add a short verification step, e.g. "After changes, run `cargo check` (or rely on rust-analyzer diagnostics) and `cargo clippy` before finishing" — this closes the feedback loop for the batch/transaction patterns and lifts workflow clarity.

Make the batch-query and axum examples fully copy-paste ready by replacing the "SELECT ..." and `{ ... }` placeholders with concrete, complete code.

Clarify the `docs/feature-telemetry.md` pointer — either confirm the path is reachable from the skill's location or inline the two-line registration rule so the skill is self-contained.

DimensionReasoningScore

Conciseness

Every section carries only project-specific knowledge Claude cannot infer — "Never use SELECT * ... Critical for backwards compatibility when workers lag behind API version", "Prefer std::sync::Mutex ... Only use tokio::sync::Mutex when holding locks across .await points". No basic Rust or SQL concepts are re-explained, and every token earns its place.

5 / 5

Actionability

Most examples are complete, executable, and paired with correct/wrong contrasts (the SELECT * example, the Job struct). Minor gaps: `sqlx::query!("SELECT ... WHERE id = ANY($1)", &ids[..])` uses a "SELECT ..." placeholder and the axum handler ends with `{ ... }`, so not everything is copy-paste ready (anchor 5).

4 / 5

Workflow Clarity

The patterns are individually clear, but there is no validation or verification guidance (no cargo check/clippy/test step) despite covering batch DB operations and transactions. The rubric's cap for database/batch operations without feedback loops applies, so this cannot exceed 3 even though the per-pattern guidance is unambiguous.

3 / 5

Progressive Disclosure

A single well-organized file with clean section headers; all ~110 lines are appropriate inline for a patterns skill. The one external pointer ("See docs/feature-telemetry.md") is clearly signaled but lives outside the skill bundle with no bundle files present — good structure with a minor gap, matching anchor 4 rather than 5.

4 / 5

Total

16

/

20

Passed

Description

68%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.

The description has a clear, explicit trigger clause and a well-scoped niche, but it undersells the skill's substance. Enumerating the concrete pattern areas it covers would lift specificity and completeness to top marks.

Suggestions

Replace the generic "Rust coding guidelines" with 2-3 concrete capability areas, e.g. "Rust coding guidelines for the Windmill backend: error handling with windmill_common::error, SQLx query patterns, and async/concurrency rules."

Add natural trigger variations users would say, such as "use when writing, modifying, refactoring, or reviewing Rust code in the backend directory".

State what the guidelines govern (module structure, serde, axum handlers) so the 'what' is as explicit as the 'when'.

DimensionReasoningScore

Specificity

"Rust coding guidelines for the Windmill backend" names the domain but enumerates no concrete actions or topics (error handling, SQLx, async patterns are never mentioned). It sits below anchor 3 ("1-2 concrete actions") because no capability is listed.

2 / 5

Completeness

Both parts are present: "Rust coding guidelines for the Windmill backend" (what) and "MUST use when writing or modifying Rust code in the backend directory" (when). The 'what' is generic — it does not say what the guidelines cover — so it falls short of anchor 5's concrete, comprehensive statement.

4 / 5

Trigger Term Quality

"MUST use when writing or modifying Rust code in the backend directory" and "Windmill backend" are natural phrases users would say. Missing common variations such as "refactoring", "fixing", or "reviewing" Rust code, so not anchor 5.

4 / 5

Distinctiveness Conflict Risk

The description is tightly scoped to Rust code in the Windmill backend directory, a clear niche with distinct triggers ("writing or modifying Rust code in the backend directory"), giving minimal conflict risk with general Rust or frontend skills.

5 / 5

Total

15

/

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
windmill-labs/windmill
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.