debug-buttercup
Faz seu agente resolver problemas em sistemas que usam Kubernetes. Ajuda quando partes do sistema param de funcionar ou ficam lentas.
O que ela faz
Esta ferramenta ajuda a resolver problemas quando os programas (chamados 'pods') em um sistema chamado 'crs' não estão funcionando corretamente. Ela guia você para verificar os logs e o status desses programas para encontrar a causa do problema.
Quando usar
- ✓Quando programas travam ou reiniciam sem parar.
- ✓Quando vários programas param de funcionar ao mesmo tempo.
- ✓Quando um programa chamado Redis não responde ou mostra avisos.
Exemplo do que pedir para a IA
“Me ajude a descobrir por que meus programas no sistema 'crs' estão travando.”
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
A ferramenta verifica o status dos programas, seus eventos e logs para identificar erros. Ela também ajuda a ver se há problemas de recursos no sistema ou com o programa Redis.
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 sickn33/agentic-awesome-skills --skill debug-buttercupOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/debug-buttercup/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.
Disponibilidade de Material de Apoio
Esta cópia do catálogo contém as orientações embutidas abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos incluídos:
<support-root>/references/failure-patterns.md
Solicite o material de suporte original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças e pré-requisitos de execução aplicáveis. Não execute um comando nem afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não crie os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.
Debug Buttercup
Quando Usar
- Pods no namespace
crsestão em CrashLoopBackOff, OOMKilled ou reiniciando - Vários serviços reiniciam simultaneamente (falha em cascata)
- Redis está sem resposta ou mostrando avisos de AOF
- Filas estão crescendo, mas tarefas não estão progredindo
- Nós mostram DiskPressure, MemoryPressure ou PID pressure
- Build-bot não consegue alcançar o daemon Docker (falhas DinD)
- Scheduler está travado e não avançando o estado da tarefa
- Sondas de verificação de integridade estão falhando inesperadamente
- Valores de Helm implantados não correspondem à configuração real do pod
Quando NÃO Usar
- Implantando ou atualizando Buttercup (use guias de Helm e de implantação)
- Depurando problemas fora do namespace Kubernetes
crs - Ajuste de desempenho que não envolve um sintoma de falha
Namespace e Serviços
Todos os pods rodam no namespace crs. Serviços principais:
| Camada | Serviços |
|---|---|
| Infra | redis, dind, litellm, registry-cache |
| Orquestração | scheduler, task-server, task-downloader, scratch-cleaner |
| Fuzzing | build-bot, fuzzer-bot, coverage-bot, tracer-bot, merger-bot |
| Análise | patcher, seed-gen, program-model, pov-reproducer |
| Interface | competition-api, ui |
Fluxo de Trabalho de Triagem
Sempre comece com a triagem. Execute estes três comandos primeiro:
# 1. Pod status - look for restarts, CrashLoopBackOff, OOMKilled
kubectl get pods -n crs -o wide
# 2. Events - the timeline of what went wrong
kubectl get events -n crs --sort-by='.lastTimestamp'
# 3. Warnings only - filter the noise
kubectl get events -n crs --field-selector type=Warning --sort-by='.lastTimestamp'
Em seguida, restrinja:
# Why did a specific pod restart? Check Last State Reason (OOMKilled, Error, Completed)
kubectl describe pod -n crs <pod-name> | grep -A8 'Last State:'
# Check actual resource limits vs intended
kubectl get pod -n crs <pod-name> -o jsonpath='{.spec.containers[0].resources}'
# Crashed container's logs (--previous = the container that died)
kubectl logs -n crs <pod-name> --previous --tail=200
# Current logs
kubectl logs -n crs <pod-name> --tail=200
Problemas Históricos vs. Atuais
Altas contagens de reinicialização não significam necessariamente que um problema está em andamento -- reinicializações se acumulam ao longo da vida útil de um pod. Sempre distinga:
--tailmostra o final do buffer de log, que pode conter mensagens antigas. Use--since=300spara confirmar que os problemas estão acontecendo ativamente agora.--timestampsna saída do log ajuda a correlacionar eventos entre serviços.- Verifique os carimbos de data/hora de
Last Stateemdescribe podpara ver quando o crash mais recente realmente ocorreu.
Detecção de Cascata
Quando muitos pods reiniciam aproximadamente ao mesmo tempo, verifique uma falha de dependência compartilhada antes de investigar pods individuais. A cascata mais comum: Redis cai -> todo serviço recebe ConnectionError/ConnectionRefusedError -> reinicializações em massa. Procure o mesmo erro em vários logs de --previous -- se todos disserem redis.exceptions.ConnectionError, depure o Redis, não os serviços individuais.
Análise de Logs
# All replicas of a service at once
kubectl logs -n crs -l app=fuzzer-bot --tail=100 --prefix
# Stream live
kubectl logs -n crs -l app.kubernetes.io/name=redis -f
# Collect all logs to disk (existing script)
bash deployment/collect-logs.sh
Pressão de Recursos
# CPU/memória por pod
kubectl top pods -n crs
# Nível do nó
kubectl top nodes
# Condições do nó (pressão de disco, pressão de memória, pressão de PID)
kubectl describe node <node> | grep -A5 Conditions
# Uso de disco dentro de um pod
kubectl exec -n crs <pod> -- df -h
# O que está consumindo disco
…
Perguntas frequentes
O que são 'pods'?
'Pods' são como pequenos contêineres onde os programas rodam em um sistema de computação. Se um 'pod' não funciona, o programa dentro dele para.
O que é o 'crs'?
'crs' é o nome de um grupo específico de programas ou um ambiente onde eles estão rodando. Esta ferramenta é focada em resolver problemas dentro desse grupo.
O que é 'CrashLoopBackOff' ou 'OOMKilled'?
São mensagens de erro que indicam que um programa travou ('CrashLoopBackOff') ou que ficou sem memória e foi encerrado ('OOMKilled').
Detalhes
Descrição original do autor
All pods run in namespace crs. Use when pods in the crs namespace are in CrashLoopBackOff, OOMKilled, or restarting, multiple services restart simultaneously (cascade failure), or redis is unresponsive or showing AOF warnings.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2737
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC