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