CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

code-quality

MUST be used whenever reviewing a Flows app for code quality, maintainability, or clean code issues — before a PR review, after a feature is complete, or when the user asks for a code review. Do NOT skip linting steps. Triggers: code quality, code review, clean code, refactor, maintainability, technical debt, any type, naming, dead code, duplication, DRY, single responsibility, component size, lint, linting, TypeScript strict, dependency injection, file structure.

61

Quality

77%

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/code-quality/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

A highly actionable, well-sequenced review procedure with concrete commands and clear gates throughout. Its weaknesses are the reverse of its strengths: everything is inlined in one long SKILL.md with no reference files, several sections re-teach patterns Claude already knows, and one script block is in the wrong shell.

Suggestions

Move the pattern catalogues (Steps 2b-2d, 6a-6d) into one-level-deep reference files (e.g. references/patterns.md, references/testing-patterns.md) and keep SKILL.md as the ordered checklist with the grep commands, cutting the body by more than half.

Replace the PowerShell block in Step 8 with the bash/node equivalent used everywhere else in the skill so every command is runnable in the target environment.

Add an explicit feedback loop to Step 1: after fixing lint/tsc errors, re-run both commands to confirm zero errors before proceeding to Step 2.

DimensionReasoningScore

Conciseness

The body is dense with commands and rules, but ~400 lines all inline includes unnecessary teaching of concepts Claude already knows — branded types, discriminated unions over flag bags, dependency injection via context, factory functions with Partial<Deps> — each with explanatory prose ("Fewer reachable states = easier code to read and change", "This enables testing without module-level mocks"). It fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the level-4 anchor, whose over-explanation would be minor only.

3 / 5

Actionability

Guidance is highly concrete — copy-paste grep commands, a node one-liner for line counts, substitution tables, a good/bad DI example, and an exact report format. It falls short of fully executable because Step 8's commented-code detector is a PowerShell block in an otherwise bash/pnpm-based skill (non-executable on the implied linux/pnpm environment), and the unused-file bash loop is fragile. This is 'mostly executable guidance with minor gaps', not the level-5 copy-paste-ready anchor.

4 / 5

Workflow Clarity

Steps 1-10 are clearly ordered with an explicit "Work through every step below in order", hard gates ("Fix all errors before proceeding — lint errors are not negotiable", "must be removed before approval"), and a no-silent-skips reporting rule — matching 'clear sequence with most checkpoints present'. It is not a 5 because there is no explicit fix-then-re-run feedback loop (e.g. re-run lint/tsc after fixes to confirm the gate is satisfied).

4 / 5

Progressive Disclosure

Internal structure is good (numbered steps, sub-sections, tables), but the skill ships no references/, scripts/, or assets/ and never points to a separate file — all ~400 lines are inlined in SKILL.md. The TypeScript pattern reference (Step 2) and the patterns/testability catalogue (Step 6) clearly belong in one-level-deep reference files. This matches 'some structure but content that should be separate is inline' rather than level 4, which requires most content appropriately split across files.

3 / 5

Total

14

/

20

Passed

Description

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

A strong, explicit description with excellent trigger coverage and a clear what/when structure. Its main weakness is trigger-term overreach: generic terms like "code review" and "lint" create conflict risk with non-Flows-specific skills, and the capability list stays at the summary level rather than naming the skill's concrete checks.

Suggestions

Scope the trigger terms to the Flows domain (e.g. "Flows code review", "Flows app refactor") so generic "code review" or "lint" requests do not ambiguously match this skill over a general code-review skill.

Enumerate 3-4 concrete actions in the opening sentence (e.g. "run lint/tsc baselines, eliminate any types, audit component size and duplication, check naming and dead code") to raise specificity.

Drop low-signal trigger terms like "file structure" and "any type" that fire on unrelated queries and dilute distinctiveness.

DimensionReasoningScore

Specificity

The description names the domain ("reviewing a Flows app for code quality, maintainability, or clean code issues") and one concrete action (review/lint), but does not enumerate the specific actions the skill performs (any-type elimination, component size checks, DRY audits, naming conventions, dead code removal). It fits 'names domain and 1-2 concrete actions, but not comprehensive' rather than the level-4 anchor listing several specific actions.

3 / 5

Completeness

It explicitly answers both what ("reviewing a Flows app for code quality, maintainability, or clean code issues") and when ("before a PR review, after a feature is complete, or when the user asks for a code review", plus an explicit Triggers list), matching the level-5 anchor with concrete trigger phrases.

5 / 5

Trigger Term Quality

The trigger list is comprehensive and natural — "code quality, code review, clean code, refactor, maintainability, technical debt, any type, naming, dead code, duplication, DRY, single responsibility, component size, lint, linting, TypeScript strict, dependency injection, file structure" — covering synonyms and the phrasings a user would actually say. Not the level-4 anchor because very few natural terms are missing.

5 / 5

Distinctiveness Conflict Risk

"Flows app" gives it a niche, but the trigger list is dominated by generic terms — "code review", "refactor", "lint", "maintainability", "file structure" — that overlap heavily with general code-review and linting skills and would compete with them for the same invocations. It is somewhat specific but still overlaps with similar skills, rather than the level-4 'mostly distinct' anchor.

3 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

cognitedata/builder-skills

Path

skills/code-quality/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.