CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

writing-hashql-diagnostics

HashQL diagnostic writing patterns using hashql-diagnostics crate. Use when creating error messages, warnings, Labels, Messages, Severity levels, Patches, Suggestions, or improving diagnostic quality in HashQL code.

68

Quality

86%

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

75%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 well-structured quick-reference body: concrete code templates, a severity table, and crisp good/bad message examples with a real, clearly-signaled guidelines reference. The main deductions are the duplicated style rules, an unresolved cross-skill link, and a `category` placeholder that keeps the primary code example from being fully executable.

Suggestions

Show how to construct or choose a `category` value (or point to where categories are defined) so the `Diagnostic::new(category, Severity::Error)` snippet is fully copy-paste ready.

Trim the duplication between the Core Principles DO/DON'T lists and the Message Style good/bad examples — state each style rule once and let the examples illustrate it.

Fix or qualify the `../testing-hashql/SKILL.md` link, which does not resolve in the bundle; consider also surfacing the review checklist from guidelines.md as a short end-of-body checklist to give the diagnostic-writing workflow an explicit validation step.

DimensionReasoningScore

Conciseness

The body is mostly lean — style rules, a severity table, and tight code examples with no explanations of concepts Claude already knows — but the lowercase-start, no-punctuation, and no-apologetic-language rules appear twice (once in the Core Principles DO/DON'T lists, again in the Message Style good/bad examples). That duplication is exactly the 'minor instances that could be trimmed' of anchor 4, short of the every-token-earns-its-place anchor 5.

4 / 5

Actionability

Concrete, near-executable Rust snippets cover creating a diagnostic, adding labels/help messages, and attaching patch suggestions, plus explicit good/bad message strings. It falls short of anchor 5 because the first snippet passes an undefined `category` value to `Diagnostic::new` with no example of constructing or choosing one, so the code is not fully copy-paste ready.

4 / 5

Workflow Clarity

The Quick Reference sections follow a logical build order (create diagnostic → severity choice → message style → suggestions) and guidance is unambiguous per step, but there is no explicit end-to-end sequence or review checkpoint for assembling a complete diagnostic — the review checklist is deferred to the reference file. This places it above anchor 3 (sequence present but checkpoints missing/implicit) and below anchor 5, which would require a fully laid-out construction sequence with validation.

4 / 5

Progressive Disclosure

The body is a concise overview with a clearly signaled, one-level-deep reference ([Comprehensive guidelines](references/guidelines.md)) that exists in the bundle and is annotated with its contents — matching anchor 5's structure. However, the second reference, "[HashQL testing skill](../testing-hashql/SKILL.md)", does not resolve in the actual bundle structure (no testing-hashql directory exists), a minor navigation gap that drops it to anchor 4.

4 / 5

Total

16

/

20

Passed

Description

92%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: it states exactly what the skill covers (HashQL diagnostic writing patterns via the hashql-diagnostics crate) and gives an explicit 'Use when' trigger clause enumerating the concrete artifact types. The only soft spot is keyword breadth — a few natural user phrasings (e.g. 'compiler error', 'error span') are absent.

DimensionReasoningScore

Specificity

"HashQL diagnostic writing patterns using hashql-diagnostics crate" names the domain, and the description enumerates the concrete artifacts the skill covers ("error messages, warnings, Labels, Messages, Severity levels, Patches, Suggestions"), which comprehensively spans the crate's surface alongside "improving diagnostic quality". This matches the anchor listing multiple specific concrete actions with comprehensive coverage, not the anchor with minor gaps.

5 / 5

Completeness

The 'what' is explicit ("HashQL diagnostic writing patterns using hashql-diagnostics crate") and the 'when' is an explicit "Use when" clause with concrete trigger phrases ("creating error messages, warnings, Labels, ... or improving diagnostic quality in HashQL code"). This clearly matches the anchor that answers both what AND when with concrete trigger phrases, and exceeds the anchor where 'when' could be more specific (4).

5 / 5

Trigger Term Quality

Natural terms a user would say are present ("error messages", "warnings", "diagnostic", "Severity", "Suggestions"), matching good keyword coverage, but common variations like "compiler errors", "spans", or "lint" are missing. It sits above 'some relevant keywords but missing common variations' (3) and below the anchor with synonym/extension-level comprehensiveness (5).

4 / 5

Distinctiveness Conflict Risk

The description is scoped to a clear niche (the hashql-diagnostics crate, with capitalized crate-specific types like Labels, Patches, Suggestions) and its triggers are qualified by "in HashQL code", giving minimal conflict risk with general error-handling or writing skills. It is more distinct than the 'mostly distinct; minor overlap risk' anchor (4), which would apply if the triggers could fire for non-HashQL error-message work.

5 / 5

Total

19

/

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

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository

hashintel/hash

Path

.agents/skills/writing-hashql-diagnostics/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.