CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

lint

Use when you need to lint the codebase and auto-fix issues - detects linter, runs it, and fixes what it can.

Quality

79%

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

/lint - Lint & Auto-Fix

Detect the project's linter, run it, auto-fix what's possible, and report remaining issues.

Target: $ARGUMENTS

When to Use

  • Before committing changes
  • After generating code with AI
  • When CI fails on lint
  • During code cleanup
  • NOT for: type checking (use tsc directly)

Workflow

Step 1: Detect Linter

Check for installed linters in order of priority:

CheckLinter
biome.json or biome.jsonc existsBiome
.eslintrc.* or eslint.config.* existsESLint
deno.json with lint configDeno lint
package.json has lint scriptnpm run lint
# Check for config files
ls biome.json biome.jsonc .eslintrc.* eslint.config.* 2>/dev/null
# Check package.json scripts
cat package.json | grep -A5 '"scripts"' | grep lint

Step 2: Detect Formatter

CheckFormatter
.prettierrc* or prettier.config.* existsPrettier
biome.json exists (has built-in formatter)Biome
deno.json with fmt configDeno fmt
package.json has format scriptnpm run format

Step 3: Run Lint

# Based on detected linter:
# Biome
npx biome check $TARGET --write 2>&1

# ESLint
npx eslint $TARGET --fix 2>&1

# npm script
npm run lint -- --fix 2>&1

# Deno
deno lint --fix $TARGET 2>&1

Step 4: Run Formatter (if separate from linter)

# Prettier
npx prettier --write $TARGET 2>&1

# npm script
npm run format 2>&1

Step 5: Report

Count fixed vs remaining issues.

Output

──── /lint ────
Linter: ESLint
Formatter: Prettier
Target: src/

Fixed automatically:
  - 12 formatting issues (Prettier)
  - 5 unused imports (ESLint --fix)
  - 3 missing semicolons (ESLint --fix)

Remaining (manual fix needed):
  - src/auth.ts:42 - no-explicit-any: Unexpected any
  - src/api.ts:18 - no-unused-vars: 'result' is defined but never used

Summary: 20 fixed, 2 remaining

Clean Output (no issues):

──── /lint ────
Linter: Biome
Target: src/

✓ No issues found

Anti-Rationalization

ExcuseReality
"It's just a style warning, not a real issue"Style inconsistency makes code harder to read for every future developer. Fix it.
"I'll fix lint errors when I have time"Lint errors accumulate. 5 today become 50 next week. Fix them now.
"Auto-fix might change behavior"Lint auto-fixes (formatting, imports) are safe. If unsure, review the diff.
"My code works, lint doesn't matter"Lint catches bugs too (unused vars, implicit any, unreachable code). It matters.

Rules

  1. Always auto-fix first - Run with --fix/--write before reporting
  2. Detect, don't assume - Check which linter is installed
  3. Format after lint - Linter first, formatter second (if separate)
  4. Report remaining - Only show issues that need manual intervention
  5. Never install linters - Use what's already in the project
Repository

fernandezbaptiste/specialist-agent

Path

skills/lint/SKILL.md

Last updated
First committed

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.