CtrlK
BlogDocsLog inGet started
Tessl Logo

lint-and-validate

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

41

Quality

41%

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 ./skills/lint-and-validate/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 solid, mostly actionable skill that provides concrete commands for linting and validation across Node.js/TypeScript and Python ecosystems. Its main weaknesses are an inconsistent Quality Loop that only covers Node.js, referenced scripts with no supporting bundle files, and minor filler content (repeated description, vague 'When to Use' section). The mandatory validation-before-completion rule is well-enforced throughout.

Suggestions

Make the Quality Loop ecosystem-agnostic or provide parallel loops for Python (e.g., ruff check && mypy) alongside the Node.js version.

Either provide the referenced scripts (scripts/lint_runner.py, scripts/type_coverage.py) as bundle files or remove the Scripts table to avoid dead references.

Remove the 'When to Use' section — it adds no actionable information and wastes tokens.

DimensionReasoningScore

Conciseness

Mostly efficient with minimal over-explanation. The blockquote repeating the description and the 'When to Use' section at the end are unnecessary filler, but overall the content is lean and assumes Claude's competence with tooling.

4 / 5

Actionability

Provides concrete, executable commands for each ecosystem (npm run lint, ruff check, npx tsc --noEmit, etc.). Minor gaps: the Quality Loop section hardcodes Node.js commands rather than being ecosystem-agnostic, and the referenced scripts (lint_runner.py, type_coverage.py) are listed but no bundle files are provided to verify they exist or work.

4 / 5

Workflow Clarity

The Quality Loop provides a clear sequence with an explicit feedback loop (Fix & Repeat) and a strict rule against submitting failing code. The error handling section adds recovery guidance. However, the validation loop is only spelled out for Node.js/TypeScript (npm run lint && npx tsc), not for Python, creating a gap in the multi-ecosystem workflow.

4 / 5

Progressive Disclosure

The content is reasonably structured with clear sections, but references two scripts (lint_runner.py, type_coverage.py) that have no bundle files provided, making those references unverifiable. The skill is short enough that no external files are strictly needed, but the script references create an expectation of supporting files that aren't present.

3 / 5

Total

15

/

20

Passed

Description

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

This description functions as a behavioral directive rather than a skill description. It tells Claude what to do ('run validation tools after every code change') but fails to describe what the skill provides, what specific tools or languages are involved, or when to select this skill over others. It is essentially unusable for skill selection in a multi-skill environment.

Suggestions

Rewrite as a proper skill description: specify what validation tools are covered (e.g., 'Runs ESLint, TypeScript type-checking, and Jest tests') and for what languages or frameworks.

Add an explicit 'Use when...' clause with concrete trigger conditions, e.g., 'Use when the user asks to validate code, run linters, check for errors, or verify code quality.'

Use third-person descriptive voice ('Validates code changes using linting and testing tools') instead of imperative instructions ('Run appropriate validation tools').

DimensionReasoningScore

Specificity

Names a general action ('run validation tools') but is extremely vague about what domain, language, or type of validation. No concrete actions like 'lint', 'type-check', 'run tests' are mentioned.

2 / 5

Completeness

This reads as a behavioral instruction ('do this after every change') rather than a skill description. It does not answer 'what does this skill do' in any meaningful way, and the 'when' is framed as a blanket mandate rather than a trigger condition for skill selection.

1 / 5

Trigger Term Quality

Contains generic terms like 'validation tools', 'code change', and 'error-free', but lacks natural user-facing keywords. Users would say things like 'lint', 'test', 'check types', 'CI', or specific tool names — none of which appear.

2 / 5

Distinctiveness Conflict Risk

The description is so generic ('every code change') that it would conflict with virtually any coding-related skill. It provides no domain, language, or tooling specificity to distinguish it.

1 / 5

Total

6

/

20

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.