CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

eslint-plugin-custom-rule

USE THIS when asked to create a new eslint plugin rule for the eslint-plugin-cds package

Quality

68%

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 ./.claude/skills/eslint-plugin-custom-rule/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 delivers a concrete, well-sequenced workflow with specific file paths and sensible gating on user input. Its main weaknesses are mild redundancy in the step text and a missing verification step after tests are written.

Suggestions

Add a final verification step — e.g. '6. Run the rule's tests (e.g. via the package's test command) and fix the rule or tests until they pass' — to close the workflow with a feedback loop.

Tighten step 1 to remove the duplicated justification ('The script should be used every time... will ensure the same format') into a single clause, and merge the repeated ask-for-clarification guidance in steps 2 and 3.

Show how to invoke the scaffold script (command line) and a minimal valid/invalid test case example so the guidance is copy-paste ready.

DimensionReasoningScore

Conciseness

The body is mostly efficient, project-specific guidance, but contains avoidable padding: 'The script should be used every time a new rule is created. This script will ensure that the same format is used for all custom rules created' says the same thing twice, and the ask-for-clarification instruction is repeated across steps 2 and 3. This fits 'mostly efficient but could be tightened' rather than 'minor instances of over-explanation'.

3 / 5

Actionability

Guidance is concrete and executable for an instruction-only skill: exact script path (packages/eslint-plugin-cds/scripts/scaffold-new-rule.mjs), reference files to consult (custom-rule.ts, no-v7-imports.ts), and explicit directory placement. Minor gaps — the script invocation syntax is not shown and no snippet of a create() visitor or test case is included — keep it below 'fully copy-paste ready'.

4 / 5

Workflow Clarity

A clear numbered 5-step sequence with input-gating checkpoints ('Do not proceed until the user has provided at least one valid and one invalid example') is present. However, there is no final validation step — the tests written in step 5 are never run against the rule — a minor validation gap that fits 'clear sequence with most checkpoints present'.

4 / 5

Progressive Disclosure

The skill is under 50 lines with no need for external references (no references/, scripts/, or assets/ bundle files exist; the paths cited are repo files), and it is organized into two well-signaled sections ('Process', 'Directory placement'). Per the rubric's simple-skill exception, this earns the top progressive disclosure score.

5 / 5

Total

16

/

20

Passed

Description

48%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 is well-scoped and distinctive, but it is essentially a bare trigger clause: it says when to use the skill without saying what the skill does (scaffold, write, and test a rule following the package's format). Expanding it to enumerate the concrete actions would lift both specificity and completeness.

Suggestions

State what the skill does, not just when to use it — e.g. 'Scaffolds a new rule file and test file, then guides filling in the create() visitor logic and valid/invalid test cases. Use when asked to create a new eslint plugin rule for the eslint-plugin-cds package.'

Include natural trigger synonyms users would say, such as 'lint rule', 'custom rule', or 'add a rule' to improve trigger term coverage.

Mention the key artifacts the skill works with (rule file in src/rules, tests in tests/) to sharpen specificity without adding padding.

DimensionReasoningScore

Specificity

The description names the domain ('eslint plugin rule for the eslint-plugin-cds package') and a single concrete action ('create'), matching the anchor for 1-2 concrete actions without comprehensive coverage — it omits scaffolding, test-writing, and format enforcement that the skill actually performs.

3 / 5

Completeness

Only the 'when' is explicitly stated ('USE THIS when asked to create...'); the 'what' — scaffolding via script, writing tests, enforcing package format — is entirely unstated, matching the anchor where only 'when' is present without 'what'. It cannot score 3 because that anchor requires a clear 'what' with a missing 'when', which is the inverse of what is here.

2 / 5

Trigger Term Quality

It includes relevant keywords a user would say ('eslint plugin rule', 'create', 'eslint-plugin-cds') but misses common natural variations such as 'lint rule', 'custom rule', or 'add a rule', fitting the 'some relevant keywords but missing common variations' anchor.

3 / 5

Distinctiveness Conflict Risk

The trigger is tightly scoped to a specific named package ('eslint-plugin-cds'), giving it a clear niche with distinct triggers and minimal risk of firing for the wrong skill.

5 / 5

Total

13

/

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

coinbase/cds

Path

.claude/skills/eslint-plugin-custom-rule/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.