
Plankton Code Quality
Automated code quality enforcement that runs formatters and linters on every file edit through PostToolUse hooks, then spawns Claude subprocesses to fix violations the main agent missed. It catches agents trying to game linter configs instead of fixing code with three layers of protection (PreToolUse blocks, Stop hooks, protected file lists). Routes fixes by complexity: Haiku for style issues, Sonnet for refactoring, Opus for type system problems. Supports Python, TypeScript, Shell, YAML and more. The main agent only sees violations that couldn't be auto-fixed, so most quality issues resolve transparently. Works alongside ECC but you'll want to disable ECC's Prettier hook to avoid formatter conflicts on JS/TS files.
- skills.sh installs
- 5.4K
- GitHub stars
- 300.3K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add affaan-m/ecc --skill plankton-code-quality --agent claude-codeInstalls into .claude/skills of the current project.
Files
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 multi_linter.sh PostToolUse hook runs:
Phase 1: Auto-Format (Silent)
├─ Runs formatters (ruff format, biome, shfmt, taplo, markdownlint)
├─ Fixes 40-50% of issues silently
└─ No output to main agent
Phase 2: Collect Violations (JSON)
├─ Runs linters and collects unfixable violations
├─ Returns structured JSON: {line, column, code, message, linter}
└─ Still no output to main agent
Sponsors
Details
- Repository
- github.com/affaan-m/ecc
- Categories
- Frontend Development, Code Review & Quality
- First seen
- Jul 14, 2026
More from affaan-m/ecc
All 263- Defi Amm Security5.4K
- Gan Style Harness5.4K
- Homelab Pihole Dns5.4K
- Returns Reverse Logistics5.4K
- Benchmark Optimization Loop5.4K
- Customer Billing Ops5.4K
- Openclaw Persona Forge5.4K
- Google Workspace Ops5.4K
- Hookify Rules5.4K
- Connections Optimizer5.4K
- Swift Protocol Di Testing5.4K
- Energy Procurement5.4K
- Swift Actor Persistence5.4K
- Quarkus Security5.4K
- Social Graph Ranker5.4K
- Network Bgp Diagnostics5.4K
- Visa Doc Translate5.4K
- Flox Environments5.4K
- Unified Notifications Ops5.4K
- Project Flow Ops5.4K
- Social Publisher5.4K
- Hermes Imports5.4K
- Evm Token Decimals5.4K
- Perl Patterns5.4K