CtrlK
BlogDocsLog inGet started
Tessl Logo

dale

Any time a markdown file is edited in the docs/ directory, this skill should be run.

46

Quality

48%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

—

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/dale/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 content defines a concrete, executable linting procedure with a clear output format, and it is respectably lean. However, the batch rule loop lacks validation checkpoints, the two rules-engine sections are redundant and confusingly named, and references to the rule schema and rules directory are inconsistently pathed and do not resolve within the bundle.

Suggestions

Merge '# Dale rules engine' and '# Rules Engine' into one section and fix path notation so references resolve consistently (e.g. 'references/rule-schema.yml' and 'rules/*.yml'), verifying the referenced files actually exist in the bundle.

Add validation to the batch loop: check each rule file against the rule schema before evaluating, and specify what to do on a malformed rule (skip, report, or abort).

Trim the persona preamble and consolidate the narration instructions ('You say...') into the step list to reduce token overhead.

DimensionReasoningScore

Conciseness

Mostly efficient — a ~40-line body with concrete steps and an example table — but includes unnecessary padding: the persona framing ('You are not a skill or an agent. You are a piece of software—a linter, called Dale') and two overlapping sections ('# Dale rules engine' vs '# Rules Engine') that restate where rules live. Not anchor 2 since there is no concept-teaching filler; not anchor 4 because the duplicated sections and persona talk could be trimmed.

3 / 5

Actionability

The procedure is concrete: per-rule loop with Todo tracking, explicit narration lines, 3a/3b branching, and a copy-ready example output table with columns (Line, Rule, Message, Offending Text). Minor gaps keep it from anchor 5: rule interpretation details are delegated to a schema file with no example rule, and the table example covers only one row.

4 / 5

Workflow Clarity

The sequence is clearly listed (read reason -> check document -> record violation or move on -> print table), but this is a batch operation (looping over every rule in ./rules) with no validation checkpoints — no handling of malformed rule files, no confirmation against the rule schema, and ambiguous handling of rule files that fail to parse. Per the guideline capping batch workflows without validation at 3, this cannot score 4.

3 / 5

Progressive Disclosure

The body has section headers and stays lean, but its references are problematic: it cites '/references/rule-schema.yml' and '/rules' with inconsistent path notation ('./rules' vs 'the skill /references/...'), and no such bundle files exist in this skill, so navigation to the detailed material is unclear. This matches anchor 3 ('references present but not clearly signaled') rather than anchor 4's 'references mostly clear'.

3 / 5

Total

13

/

20

Passed

Description

40%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 gives a clear, explicit trigger condition but completely omits what the skill does. A user (or Claude) cannot determine from the description alone whether this is a linter, formatter, or reviewer, which limits its usefulness for skill selection.

Suggestions

State the 'what' explicitly, e.g. 'Lints markdown documents in docs/ against the rules in rules/*.yml and prints a table of violations with line numbers.'

Add natural trigger synonyms users would actually say: 'documentation', '.md files', 'docs pages', 'when docs markdown is updated or changed'.

Include the output the user gets (a violations table) so the skill's value is distinguishable from generic doc-editing skills.

DimensionReasoningScore

Specificity

The description names its domain ('a markdown file is edited in the docs/ directory') but states no action whatsoever — it never says what the skill does (lint, check rules, report violations). It sits above the entirely-vague anchor 1 ('pure abstract language') because it names a concrete target, but below anchor 3, which requires 1-2 concrete actions.

2 / 5

Completeness

Only the 'when' is present ('Any time a markdown file is edited in the docs/ directory') with no 'what' — the skill's actual function is never stated. This matches anchor 2 exactly ('only when is present without what'), and is not anchor 3, which requires a clear 'what'.

2 / 5

Trigger Term Quality

It includes some natural terms ('markdown file', 'edited', 'docs/ directory'), but misses common variations users would say — 'documentation', '.md', 'updated', 'changed', 'docs'. Not anchor 2 (only generic keywords like 'Works with files') because 'markdown' and 'docs/' are domain-specific; not anchor 4 because synonym coverage is thin.

3 / 5

Distinctiveness Conflict Risk

The trigger is scoped narrowly (markdown edits in docs/), making it mostly distinct with minor overlap risk against other docs-related skills. It does not fully reach anchor 5 because the unstated function leaves ambiguity about which doc-editing skill should fire.

4 / 5

Total

11

/

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
netwrix/docs
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.