CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

lint-and-validate

MANDATORY: Run appropriate validation tools after EVERY code change. Do not finish a task until the code is error-free.

Quality

62%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/lint-and-validate/SKILL.md

The canonical home for this skill is lint-and-validate in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

67%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 a compact, largely executable playbook with a genuine validate-fix-repeat loop and real supporting scripts. Its main weaknesses are a phantom 'FINAL AUDIT REPORT' reference, a Node-centric Quality Loop despite covering Python, and small amounts of filler (duplicated mandate, empty 'When to Use' section).

Suggestions

Define or remove the 'FINAL AUDIT REPORT' reference in the Quality Loop — as written, step 3 points to a section that does not exist anywhere in the skill.

Make the Quality Loop ecosystem-neutral (e.g. 'run the appropriate lint/type commands from the ecosystem sections above') instead of hardcoding 'npm run lint && npx tsc --noEmit'.

Delete the empty 'When to Use' filler section and the duplicated MANDATORY blockquote, and state when to use the bundled scripts versus direct tool commands.

DimensionReasoningScore

Conciseness

The command lists are lean and assume competence, but there is unnecessary padding: the MANDATORY blockquote duplicates the frontmatter description verbatim, "(Fast & Modern)" is editorial, and the 'When to Use' section is pure filler ('This skill is applicable to execute the workflow or actions described in the overview.'). This matches anchor 3 — mostly efficient but includes unnecessary material that could be tightened.

3 / 5

Actionability

Concrete, executable commands throughout ("npm run lint", "npx eslint \"path\" --fix", "npx tsc --noEmit", "npm audit --audit-level=high", "ruff check \"path\" --fix", "bandit -r \"path\" -ll", "mypy \"path\"") plus a scripts table pointing to real files with runnable commands. Anchor 5 is not reached because step 3 of the Quality Loop references a "FINAL AUDIT REPORT" section that is never defined, leaving that instruction ambiguous.

4 / 5

Workflow Clarity

The Quality Loop is a clear sequence with an explicit feedback loop (Write/Edit → Run Audit → Analyze → Fix & Repeat), per-tool error-handling branches, and a strict completion gate ('No code should be committed or reported as "done" without passing these checks'). Anchor 5 is not reached because the 'Analyze Report' checkpoint points to an undefined 'FINAL AUDIT REPORT' section and the loop's audit command is Node-only, ignoring the Python ecosystem the skill covers.

4 / 5

Progressive Disclosure

Well-organized sections under 50 lines, and the two referenced bundle files (scripts/lint_runner.py, scripts/type_coverage.py) exist and are presented in a clear table with purpose and command — one level deep, well signaled. Anchor 5 is not reached because the body never says when to prefer the bundled scripts over direct tool invocation, and the empty 'When to Use' section is an organization blemish.

4 / 5

Total

15

/

20

Passed

Description

41%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 communicates urgency and a broad mandate but is too vague to serve as an effective trigger. It names neither the concrete actions (linting, type checking, auditing) nor the natural terms users would say, and it would collide with many other coding-related skills.

Suggestions

Replace 'appropriate validation tools' with concrete actions: 'Run linters (ESLint, Ruff), type checks (tsc, mypy), and security audits (npm audit, bandit) after code changes'.

Add a 'Use when...' clause with natural trigger terms users actually say, e.g. 'Use when code has been edited, before committing, or when the user asks to lint, type-check, or verify code is error-free'.

Narrow the scope so it is distinguishable from testing/CI skills, e.g. by explicitly scoping to lint/type/security validation rather than 'every code change' universally.

DimensionReasoningScore

Specificity

"Run appropriate validation tools" names the validation domain but the action is entirely generic — no concrete tools or actions (lint, type-check, audit) are named, matching the 'Names the domain but actions are minimal or generic' anchor. Score 3 would require 1-2 concrete actions, which 'appropriate validation tools' does not provide.

2 / 5

Completeness

A 'what' is present ("Run appropriate validation tools") but it is vague, while a 'when' exists ("after EVERY code change"). Anchor 3 fits best: the what is not clear enough for anchor 4, and anchor 2 requires no when, which is not the case. No 'Use when...' clause exists, but 'after EVERY code change' serves as explicit trigger guidance so the cap is respected.

3 / 5

Trigger Term Quality

The description contains relevant keywords ("validation tools", "code change", "error-free") but misses the natural phrases users would say when needing this skill — "lint", "run the linter", "type check", "audit". This matches anchor 3 (some relevant keywords, missing common variations) rather than anchor 2, since the domain noun 'validation' is present and not purely generic.

3 / 5

Distinctiveness Conflict Risk

"Run appropriate validation tools after EVERY code change" would apply to virtually any coding task, creating high overlap risk with testing, code-review, and CI skills — matching anchor 2 ('Very broad; high overlap risk with many similar skills'). It is more generic than anchor 3, which requires some specificity.

2 / 5

Total

10

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/lint-and-validate/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.