plankton-code-quality

Enforces write-time code quality via hooks that auto-format, lint, and fix violations on every file edit.

2|Updated Mar 29, 2015
One-click install
npx skills add https://github.com/ovisan/dotfiles --skill plankton-code-quality-ovisan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: plankton-code-quality
Source: https://github.com/ovisan/dotfiles/tree/main/.agents/skills/plankton-code-quality
Command: npx skills add https://github.com/ovisan/dotfiles --skill plankton-code-quality-ovisan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code quality issues are often caught too late—at commit time or in CI—forcing costly rework. This Skill enforces formatting and linting on every file edit through Claude Code hooks, automatically fixing violations before they accumulate and preventing agents from gaming linter configs. ## Core Features & Use Cases - Three-Phase Enforcement: Auto-formats silently, collects remaining violations as structured JSON, then delegates fixes to Claude subprocesses routed by complexity (Haiku for style, Sonnet for logic, Opus for type errors). - Config Protection: Blocks edits to linter configs like .ruff.toml and biome.json via PreToolUse hooks, and detects tampering at session end with a Stop hook. - Multi-Language Support: Covers Python, TypeScript, Shell, YAML, JSON, TOML, Markdown, and Dockerfile with tools like ruff, biome, shellcheck, and hadolint. - Use Case: While an agent edits a Python file, the hook runs ruff format, collects unresolved violations, spawns a Sonnet subprocess to fix a complexity warning, and only reports back if violations remain. ## Quick Start Set up Plankton hooks in my project so every file edit is automatically formatted and linted with violations fixed by model-tiered subprocesses.

Frequently Asked Questions about plankton-code-quality

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up automatic linting on every file edit in Claude Code?

Install the hook dependencies (ruff, biome, shellcheck, etc.), copy the .claude/hooks directory and settings.json hook configuration into your project, then start Claude Code. The PostToolUse hooks activate automatically and run formatters and linters on every file edit.

How does Plankton route lint fixes to different Claude models?

Violations are routed by complexity: Haiku handles formatting and style codes with a 120s timeout, Sonnet handles complexity and refactoring codes with 300s, and Opus handles type system issues with 600s. A volume threshold auto-escalates large violation batches to a higher tier.

Can Plankton prevent agents from modifying linter config files?

Yes. A PreToolUse hook blocks edits to protected configs like .ruff.toml, biome.json, and .shellcheckrc before they happen, and a Stop hook uses git diff at session end to detect any config changes that slipped through.

Which languages and linters does Plankton support?

It supports Python (ruff, optional ty, vulture, bandit), TypeScript/JavaScript (biome, optional oxlint, semgrep, knip), Shell (shellcheck, shfmt), YAML (yamllint), Markdown (markdownlint-cli2), Dockerfile (hadolint), TOML (taplo), and JSON (jaq).

Will Plankton hooks conflict with other formatting hooks like Prettier?

Yes, Plankton's biome formatter can conflict with a Prettier PostToolUse hook on JS/TS files. The recommended resolution is to disable the Prettier hook when using Plankton, since biome coverage is more comprehensive; both can coexist on different file types.