CtrlK
BlogDocsLog inGet started
Tessl Logo

commitlint

When setting up commit message validation for a project. When project has commitlint.config.js or .commitlintrc files. When configuring CI/CD to enforce commit format. When extracting commit rules for LLM prompt generation. When debugging commit message rejection errors.

46

Quality

48%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/commitlint/skills/commitlint/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

54%

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 excels at trigger terms and distinctiveness by naming specific files and scenarios related to commitlint, but critically fails to state what the skill actually does. It reads as a pure list of trigger conditions without any capability statement, which makes it incomplete despite having good 'when' coverage.

Suggestions

Add a clear capability statement at the beginning describing what the skill does, e.g., 'Parses commitlint configuration files, generates commit message format rules, and validates commit messages against project conventions.'

Restructure to separate 'what' from 'when': lead with concrete actions/capabilities, then follow with the existing 'Use when...' trigger clauses.

DimensionReasoningScore

Specificity

The description mentions some specific actions like 'configuring CI/CD to enforce commit format', 'extracting commit rules for LLM prompt generation', and 'debugging commit message rejection errors', but these are framed as trigger scenarios rather than concrete capabilities the skill performs. It never explicitly states what the skill does (e.g., 'parses commitlint config', 'generates commit format rules').

2 / 3

Completeness

The description only answers 'when' (it's entirely a list of 'When...' clauses) but never answers 'what does this skill do'. There is no statement of the skill's capabilities or actions, making the 'what' component entirely missing.

1 / 3

Trigger Term Quality

Includes strong natural trigger terms users would actually use: 'commit message validation', 'commitlint.config.js', '.commitlintrc', 'CI/CD', 'commit format', 'commit message rejection errors', 'commit rules'. These cover both file names and common user problem descriptions.

3 / 3

Distinctiveness Conflict Risk

The description is clearly focused on commitlint configuration and commit message validation, a narrow niche. References to specific files like 'commitlint.config.js' and '.commitlintrc' make it highly distinctive and unlikely to conflict with other skills.

3 / 3

Total

9

/

12

Passed

Implementation

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill is a comprehensive but overly verbose reference document that essentially replicates commitlint's official documentation. While it excels in actionability with executable code examples across multiple languages, it severely suffers from poor conciseness and lack of progressive disclosure — the rule reference tables alone consume a huge portion of the content and add little value for Claude. The skill would benefit greatly from being restructured into a concise overview with detailed references split into separate files.

Suggestions

Move the exhaustive rule reference tables (type, subject, scope, header, body, footer rules) into a separate RULES_REFERENCE.md file and link to it from the main skill.

Remove the config file detection priority list of 15+ filenames — Claude can infer these from cosmiconfig conventions. Replace with a one-liner like 'Uses cosmiconfig; common files: commitlint.config.js, .commitlintrc.json, or package.json commitlint field.'

Cut the case values list, exit codes table, and complete configuration schema into a separate CONFIG_REFERENCE.md, keeping only the most common patterns inline.

Add explicit validation checkpoints to the LLM integration workflow, e.g., 'Verify commitlint is installed: npx commitlint --version' and 'Verify config loads: npx commitlint --print-config' before attempting message validation.

DimensionReasoningScore

Conciseness

Extremely verbose at ~400+ lines. Exhaustive rule reference tables (type, subject, scope, header, body, footer rules) are documentation Claude can look up. The config file detection list of 15+ filenames, case values list, and complete configuration schema are all reference material that bloats the skill unnecessarily. Much of this is replicating commitlint's official docs.

1 / 3

Actionability

Provides fully executable code examples across JavaScript, TypeScript, JSON, YAML, Python, and bash. CLI commands are copy-paste ready, programmatic usage examples are complete with imports, and the validation loop pattern includes concrete subprocess calls.

3 / 3

Workflow Clarity

The LLM validation loop pattern describes steps but lacks explicit validation checkpoints and error recovery details. The 5-step validation loop is described as prose bullets rather than a clear workflow with explicit feedback loops. Installation and CLI usage are clear but the overall integration workflow (setup → configure → hook → validate) isn't sequenced with checkpoints.

2 / 3

Progressive Disclosure

Monolithic wall of text with no content split into separate files. The exhaustive rule reference tables, complete configuration schema, case values, and exit codes could all be in separate reference files. References to other skills (pre-commit, conventional-commits) exist but the core content itself is not progressively disclosed.

1 / 3

Total

7

/

12

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

skill_md_line_count

SKILL.md is long (522 lines); consider splitting into references/ and linking

Warning

Total

10

/

11

Passed

Repository
Jamie-BitFlight/claude_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.