lint-fix

A procedure for checking and automatically fixing code style across a CodeHub project.

In plain words
What is it for?
Use it with Biome for TypeScript, JavaScript, CSS, and JSON, and with rustfmt and Clippy for Rust code; it also provides separate lint, formatting, and type-check commands.
Why use it?
It finds formatting, lint, import-order, and type-related problems that can fail checks or make code inconsistent.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mpolatcan/codehub/lint-fix
Any agent
npx skills add mpolatcan/codehub --skill lint-fix
Clone the repo
git clone --depth 1 https://github.com/mpolatcan/codehub

Made for: Claude Code, Codex.

Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 985 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00054 $0.00985
Opus 5 $0.00027 $0.00492
Sonnet 5 $0.00011 $0.00197
Haiku 4.5 $0.00005 $0.00098

Measured 2d ago against content hash 6b641fbf7f7b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lint-fix scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/lint-fix/SKILL.md · 102 lines

How it starts

The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Lint + fix

CodeHub uses Biome for the frontend (TypeScript, JavaScript, CSS, JSON, import organisation) and the standard rustfmt + clippy pair for the Rust backend. Both are configured at repo root.

Frontend — Biome

Biome is one binary, one config (biome.json), no plugins.

Check (no writes)

npm run check          # Format + lint + import organize, report only
npm run lint           # Lint only

Auto-fix

npm run check:fix      # Format + safe lint fixes + import organize, in place
npm run lint:fix       # Lint auto-fixes only
npm run format         # Formatter only

Biome's --write is conservative — it only applies fixes flagged as safe. Unsafe rules surface as remaining diagnostics; resolve those by hand.

Type check (separate from lint)

npm run typecheck      # tsc --noEmit, catches type errors Biome can't see

Backend — Rust

Format

cd src-tauri
cargo fmt --all          # write
cargo fmt --all -- --check   # report only (use in CI)

rustfmt.toml lives in src-tauri/ and pins edition, line width, and import reordering.

Clippy

cd src-tauri
cargo clippy --all-targets --all-features -- -D warnings

-D warnings upgrades every clippy lint to a hard error — matches the strictness we want for releases. During iteration you can drop -D warnings to keep going while you sweep.

Clippy auto-fix for the lints that support it:

cargo clippy --all-targets --all-features --fix --allow-dirty --allow-staged

--allow-dirty lets clippy modify uncommitted files. --allow-staged lets it modify files that are staged but not committed.

One-shot full sweep

The Makefile wraps both pipelines:

make check     # Biome + tsc + rustfmt --check + clippy -D warnings (no writes)
make fix       # Apply all safe auto-fixes, then re-run make check

make fix does Biome safe fixes → cargo fmtcargo clippy --fix (allow-dirty / allow-staged) → re-run make check to confirm the sweep is idempotent. If the final check fails, the remaining issues need manual judgement.

Read the full file on GitHub · 102 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 102 lines · 54 tokens per session scan A 6b641fbf7f7b

Subscribe to this mod's changes

lint-fix is a skill published in the GitHub repository mpolatcan/codehub (5 stars, last pushed 1mo ago), licensed MIT. It adds 54 tokens to every session and 985 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

debugging-output-and-previewing-html-using-ray

Use when user says "send to Ray," "show in Ray," "debug in Ray," "log to Ray," "display in Ray," or wants to visualize data, debug output, or show diagrams in the Ray desktop application.

coollabsio/coolify · 58 tokens

fortify-development

ACTIVATE when the user works on authentication in Laravel. This includes login, registration, password reset, email verification, two-factor authentication (2FA/TOTP/QR codes/recovery codes), passkeys, profile updates, password confirmation, or any auth-related routes and controllers. Activate when the user mentions…

coollabsio/coolify · 199 tokens

timeboxed-iterating

Use when the user specifies a task and a duration, and the work should be done iteratively by subagents over that time period.

av/harbor · 32 tokens

project-snmp-profiles-authoring

Use when editing Netdata SNMP profile YAMLs, topology SNMP profiles, ddsnmp profile parsing, or profile-format documentation. Requires checking source MIB field accessibility, especially MAX-ACCESS not-accessible INDEX objects, before adding or changing profile symbols.

netdata/netdata · 60 tokens

learn-pr-preview

Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge. Do not trigger for ordinary docs edits unless the user asks for a local Learn preview.

netdata/netdata · 56 tokens

add-custom-domain

Add a custom domain to a Temps project and provision an automatic SSL/TLS certificate via Let's Encrypt, driven entirely from the @temps-sdk/cli CLI. Handles subdomains, apex domains, HTTP-01 and DNS-01 challenges, and wildcard domains. Use when the user wants to: (1) Add a custom domain to their Temps app, (2) Set up…

gotempsh/temps · 153 tokens