Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)280 mil · #256

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

https://github.com/affaan-m/ECC/blob/main/skills/plankton-code-quality/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/affaan-m/ECC/blob/main/skills/plankton-code-quality/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-quality

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/plankton-code-quality/SKILL.md -o SKILL.md
Conteú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:

  1. Hook PreToolUse — protect_linter_configs.sh bloqueia edições em todas as configurações de linter antes que aconteçam
  2. Hook Stop — stop_config_guardian.sh detecta mudanças de configuração via git diff no final da sessão
  3. 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 (use uv)
  • npm, yarn, pnpm → Bloqueado (use bun)
  • 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:

  1. Copie o diretório .claude/hooks/ para o seu projeto
  2. Copie a configuração do hook .claude/settings.json
  3. Copie os arquivos de configuração do linter (.ruff.toml, biome.json, etc.)
  4. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas