Agent skill · software engineering · affaan-m

plankton-code-quality

Write-time code quality enforcement using Plankton — auto-formatting, linting, and Claude-powered fixes on every file edit via hooks. Use when setting up write-time formatting, linting, or auto-fix hooks on file edits.

Why this skill is useful

Adds executable scripts for automated formatting and linting across multiple languages, enhancing code quality enforcement capabilities.

What it needs

Requires jaq, ruff, uv installed locally. About 8k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.

What this skill does

Plankton Code Quality Skill Integration reference for Plankton (credit: @alxfazio), a write-time code quality enforcement system for Claude Code. Plankton runs formatters and linters on every file edit via PostToolUse hooks, then spawns Claude subprocesses to fix violations the agent didn't catch. When to Use You want automatic formatting and linting on every file edit (not just at commit time) You need defense against agents modifying linter configs to pass instead of fixing code You want tiered model routing for fixes (Haiku for simple style, Sonnet for logic, Opus for types) You work with multiple languages (Python, TypeScript, Shell, YAML, JSON, TOML, Markdown, Dockerfile) How It Works Three-Phase Architecture Every time Claude Code edits or writes a file, Plankton's multilinter.sh PostToolUse hook runs: What the Main Agent Sees Scenario Agent sees Hook exit ---------- ----------- ----------- No violations Nothing 0 All fixed by subprocess Nothing 0 Violations remain after subprocess [hook] N violation(s) remain 2 Advisory (duplicates, old tooling) [hook:advisory] ... 0 The main agent only sees issues the subprocess couldn't fix. Most quality problems are resolved transparently. Config Protection (Defense Against Rule-Gaming) LLMs will modify .ruff.toml or biome.json to disable rules rather than fix code. Plankton blocks this with three layers: 1. PreToolUse hook — protectlinterconfigs.sh blocks edits to all linter configs before they happen 2. Stop hook — stopconfigguardian.sh detects config changes via git diff at session end 3. Protected files list — .ruff.toml, biome.json, .shellcheckrc, .yamllint, .hadolint.yaml, and more Package Manager Enforcement A PreToolUse hook on Bash blocks legacy package managers: pip, pip3, poetry, pipenv → Blocked (use uv) npm, yarn, pnpm → Blocked (use bun) Allowed exceptions: npm audit, npm view, npm publish Setup Quick Start Note: Plankton requires manual installation from its repository. Review the code before installing. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills affaan-m/plankton-code-quality--0501a3

View the source on GitHub

Browse the @skills marketplace