plankton-code-quality
Ajuda seu agente a manter o código organizado e sem erros. Ele formata e corrige o código automaticamente enquanto você digita.
O que ela faz
Plankton é um sistema que verifica e corrige a qualidade do seu código automaticamente enquanto você escreve. Ele formata o código, encontra erros e usa a IA para consertá-los, garantindo que seu código esteja sempre limpo e funcionando bem.
Quando usar
- ✓Ao configurar a formatação automática de código.
- ✓Quando você quer que erros de código sejam corrigidos na hora.
- ✓Para garantir que a IA não desative regras de qualidade para 'consertar' o código.
Exemplo do que pedir para a IA
“Configure o Plankton para formatar e corrigir meu código Python e TypeScript automaticamente.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Quando você edita um arquivo, o Plankton primeiro tenta formatar o código sozinho. Se ainda houver problemas, ele identifica os erros e pede para a IA (Claude) corrigi-los, verificando se o conserto funcionou.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill plankton-code-qualityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/plankton-code-quality/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Habilidade de Qualidade de Código Plankton
Referência de integração para Plankton (crédito: @alxfazio), um sistema de aplicação de qualidade de código no momento da escrita para Claude Code. Plankton executa formatadores e linters em cada edição de arquivo via hooks PostToolUse, então gera subprocessos Claude para corrigir violações que o agente não capturou.
Quando Usar
- Você quer formatação e linting automáticos em cada edição de arquivo (não apenas no momento do commit)
- Você precisa de defesa contra agentes que modificam configurações de linter para passar em vez de corrigir o código
- Você quer roteamento de modelo em camadas para correções (Haiku para estilo simples, Sonnet para lógica, Opus para tipos)
- Você trabalha com múltiplos idiomas (Python, TypeScript, Shell, YAML, JSON, TOML, Markdown, Dockerfile)
Como Funciona
Arquitetura de Três Fases
Toda vez que Claude Code edita ou escreve um arquivo, o hook multi_linter.sh PostToolUse do Plankton é executado:
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
Phase 3: Delegate + Verify
├─ Spawns claude -p subprocess with violations JSON
├─ Routes to model tier based on violation complexity:
│ ├─ Haiku: formatting, imports, style (E/W/F codes) — 120s timeout
│ ├─ Sonnet: complexity, refactoring (C901, PLR codes, oxlint complexity) — 300s timeout
│ └─ Opus: type system, deep reasoning (unresolved-attribute) — 600s timeout
├─ Re-runs Phase 1+2 to verify fixes
└─ Exit 0 if clean, Exit 2 if violations remain (reported to main agent)
O Que o Agente Principal Vê
| Cenário | Agente vê | Saída do Hook |
|---|---|---|
| Sem violações | Nada | 0 |
| Tudo corrigido pelo subprocesso | Nada | 0 |
| Violações permanecem após o subprocesso | [hook] N violation(s) remain |
2 |
| Consultivo (duplicados, ferramentas antigas) | [hook:advisory] ... |
0 |
O agente principal só vê problemas que o subprocesso não conseguiu corrigir. A maioria dos problemas de qualidade é resolvida de forma transparente.
Proteção de Configuração (Defesa Contra Manipulação de Regras)
LLMs modificarão .ruff.toml ou biome.json para desabilitar regras em vez de corrigir o código. Plankton bloqueia isso com três camadas:
- Hook PreToolUse —
protect_linter_configs.shbloqueia edições em todas as configurações de linter antes que aconteçam - Hook Stop —
stop_config_guardian.shdetecta mudanças de configuração viagit diffno final da sessão - Lista de arquivos protegidos —
.ruff.toml,biome.json,.shellcheckrc,.yamllint,.hadolint.yaml, e mais
Aplicação do Gerenciador de Pacotes
Um hook PreToolUse no Bash bloqueia gerenciadores de pacotes legados:
pip,pip3,poetry,pipenv→ Bloqueado (useuv)npm,yarn,pnpm→ Bloqueado (usebun)- Exceções permitidas:
npm audit,npm view,npm publish
Configuração
Início Rápido
Nota: Plankton requer instalação manual do seu repositório. Revise o código antes de instalar.
# Install core dependencies
brew install jaq ruff uv
# Install Python linters
uv sync --all-extras
# Start Claude Code — hooks activate automatically
claude
Sem comando de instalação, sem configuração de plugin. Os hooks em .claude/settings.json são capturados automaticamente quando você executa Claude Code no diretório Plankton.
Integração Por Projeto
Para usar os hooks do Plankton em seu próprio projeto:
- Copie o diretório
.claude/hooks/para o seu projeto - Copie a configuração do hook
.claude/settings.json - Copie os arquivos de configuração do linter (
.ruff.toml,biome.json, etc.) - Instale os linters para seus idiomas
Dependências Específicas de Idioma
| Idioma | Necessário | Opcional |
|---|---|---|
| Python | ruff, uv |
ty (tipos), vulture (código morto), bandit (segurança) |
| TypeScript/JS | biome; oxlint (>= 1.37.0) ao usar complexity |
semgrep, knip (exportações mortas) |
| Shell | shellcheck, shfmt |
— |
| YAML | yamllint |
— |
| Markdown | markdownlint-cli2 |
— |
| Dockerfile | hadolint (>= 2.12.0) |
— |
| TOML | taplo |
— |
| JSON | jaq |
— |
Emparelhamento com ECC
Complementares, Não Sobrepostos
| Preocupação | ECC | Plankton |
|---|---|---|
| Aplicação de qualidade de código | Hooks PostToolUse (Prettier, tsc) | Hooks PostToolUse (20+ linters + correções de subprocesso) |
| Verificação de segurança | AgentShield, agente security-reviewer | Bandit (Python), Semgrep (TypeScript) |
…
Perguntas frequentes
O que são 'hooks'?
São pontos de conexão que permitem que um programa (como o Plankton) execute tarefas automaticamente em momentos específicos, como quando um arquivo é salvo.
Como o Plankton impede que a IA 'trapaceie' nas regras de qualidade?
Ele tem mecanismos que bloqueiam a IA de mudar as regras de verificação de código para que o código pareça correto sem realmente ser corrigido.
Preciso instalar algo para usar o Plankton?
Sim, o Plankton precisa ser instalado manualmente no seu computador. Depois disso, ele funciona automaticamente com o Claude Code.
Detalhes
Descrição original do autor
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.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #256
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
git-workflow-and-versioning
Organiza o trabalho de código usando o Git. Ajuda a salvar o progresso, gerenciar diferentes versões e evitar conflitos ao trabalhar em equipe.
addyosmani/agent-skills
observability-and-instrumentation
Adiciona ferramentas para monitorar o que o código faz em produção. Ajuda a entender se algo deu errado e por quê, facilitando a correção.
addyosmani/agent-skills
github-pr-workflow
Prepara pull requests no GitHub, garantindo a qualidade do código e a documentação.
paperclipai/paperclip