Skills, agentes, status lines e plugins: o que é cada categoria do awesome-claude-code?

O awesome-claude-code é um repositório do GitHub que reúne, de forma curada, recursos da comunidade para o Claude Code: skills, agents, status lines, developer tooling e plugins, além de slash commands, hooks, arquivos CLAUDE.md, orquestradores de agentes e aplicações. Ele é mantido no perfil hesreallyhim junto da comunidade open source. Cada categoria resolve um problema diferente: Skill é pasta com SKILL.md que o Claude puxa sozinho, subagente roda em contexto isolado com ferramentas limitadas, status line mostra dados da sessão, plugin distribui pacote pronto e hook dispara em evento do ciclo de vida.
Fala aí, beleza? Skill, agente, plugin, comando, hook: no papel parece tudo a mesma coisa, até a hora em que você precisa escolher UM pra resolver o seu problema
E aí bate aquela dúvida: isso aqui vira uma Skill ou vira um subagente? Isso é hook ou slash command? 🤔
O awesome-claude-code junta todas essas categorias em um lugar só, e é justamente por isso que ele confunde: você abre a lista e vê um monte de tipo de recurso lado a lado, sem ninguém te explicar o que muda entre eles no dia a dia
Então bora fazer isso agora, categoria por categoria
O que é o awesome-claude-code e quem mantém a lista
É um repositório do GitHub, em github.com/hesreallyhim/awesome-claude-code, com uma coleção hand-picked de recursos para o Claude Code
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Quem mantém é o perfil hesreallyhim, junto da comunidade open source
A própria descrição do repositório nomeia as categorias que ele reúne: skills, agents, status lines, developer tooling e plugins
Mas a coleção vai além disso. No README também estão catalogados slash commands, hooks, arquivos CLAUDE.md, orquestradores de agentes e aplicações
Como o repositório se organiza:
Tem um detalhe divertido lá dentro: uma pasta README_ALTERNATIVES, com versões alternativas do README, como README_CLASSIC.md, README_AWESOME.md e README_EXTRA.md
Ou seja, mais de um jeito de ler a mesma lista, dependendo do seu gosto 😀
E as sugestões de recurso novo chegam como issue no repositório. Dá pra ver isso nas issues abertas com propostas, por exemplo a issue #636 (AgentStore) e a issue #482 (Marcel Bich Claude Marketplace)
Vale saber também que ele não está sozinho no nicho: existe o VoltAgent/awesome-claude-code-subagents, focado em subagentes especializados
Um é panorama do ecossistema, o outro cava fundo em uma categoria só
Skills: o que são e quando usar no Claude Code
Uma Skill no Claude Code é um diretório com um arquivo SKILL.md dentro
Esse arquivo carrega as instruções e a descrição, e a pasta pode ter arquivos de apoio opcionais junto
As Skills pessoais, que valem em todos os seus projetos, ficam em ~/.claude/skills/
~/.claude/skills/summarize-changes/SKILL.md
Por que ela não estoura o seu contexto:
Aqui está a sacada, e é MUITO massa: o carregamento acontece em dois tempos
Na inicialização da sessão, só o nome e o description do frontmatter YAML de cada Skill entram no system prompt
O conteúdo completo do SKILL.md e os arquivos extras só são lidos sob demanda, quando o Claude realmente precisa daquilo
Se você conhece a ideia de lazy loading, é exatamente isso: o índice fica sempre carregado, o capítulo inteiro só quando alguém abre
Outro ponto: Custom Skills no Claude Code são filesystem-based, sem upload via API
É pasta e arquivo na sua máquina, nada de subir coisa pra lugar nenhum
Quando a Skill é a resposta certa?
Quando você quer empacotar um procedimento repetível e deixar o Claude puxar sozinho, na hora em que o assunto aparece
Você não digita nada, não aciona nada. A description é o gatilho
Se você quiser aprofundar essa fronteira, tem um post do blog só sobre a diferença entre skills, comandos e subagentes
Subagentes: contexto isolado e ferramentas limitadas
Um subagente é um arquivo Markdown com frontmatter YAML
E o frontmatter é enxuto: só name e description são obrigatórios
O Claude Code procura essas definições em dois lugares:
.claude/agents/para o projeto atual~/.claude/agents/para o usuário, valendo em todos os projetos
Os dois são varridos recursivamente, então subpasta funciona. Dá pra organizar por tema sem medo
O que muda no dia a dia:
Quatro coisas, e cada uma resolve uma dor diferente:
- Contexto separado do agente principal. A tarefa especializada não polui a conversa principal
- Restrição de ferramentas por subagente. Você decide o que aquele agente pode ou não tocar
- Roteamento de modelo. Dá pra mandar a tarefa pra um modelo mais rápido e mais barato, como o Haiku
- Execução concorrente. Vários subagentes podem rodar ao mesmo tempo
Esse combo de contexto isolado + ferramentas limitadas é o que separa "agente que ajuda" de "agente que faz besteira no seu repo"
E vale o lembrete: nem todo modelo se comporta igual quando vira agente. O blog já olhou a confiabilidade de agentes na prática em uma sessão longa de chamadas de ferramenta
Quando o subagente é a resposta certa?
Quando a tarefa é especializada, gera MUITO texto intermediário e você não quer nada disso entulhando a conversa principal
Revisão de código, varredura de arquivo, investigação: tudo isso cabe aqui
Status lines: a barra de contexto da sua sessão
Essa é a categoria mais visual da lista, e a mais subestimada
A status line é configurada pelo campo statusLine no settings.json, apontando para um comando:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
O Claude Code manda dados em JSON para esse script via stdin, com informações como nome do modelo, diretório e percentual de contexto
O script recebe isso, formata do jeito que você quiser e imprime a linha
Não precisa escrever o script na mão:
Tem o atalho /statusline, passando a descrição do que você quer que apareça
E pra tirar, /statusline delete, clear ou remove resolvem
Tome cuidado com esta armadilha:
Como a status line executa um comando de shell, ela segue a mesma regra de workspace trust dos hooks
Se você não aceitar o diálogo de confiança da pasta, a linha simplesmente fica em branco
E o log de debug entrega o motivo, mostrando status line command skipped
Ou seja: se a sua status line "não funciona" e você jura que o script está certo, olhe a confiança da pasta antes de sair reescrevendo código 😛
Plugins e marketplaces: instalar recurso pronto sem copiar arquivo
Até aqui, tudo que vimos é você criando arquivo na sua máquina
Plugin é a camada de distribuição disso
O fluxo dentro da sessão é em dois passos:
- Adicionar o marketplace:
/plugin marketplace add anthropics/claude-plugins-official
- Instalar o plugin:
/plugin install
E aqui vem a parte boa: skills e commands que vêm dentro do plugin são descobertos automaticamente na instalação
Você não sai copiando pasta na mão, não precisa lembrar onde cada arquivo mora
E a autenticação em marketplace privado?
Os comandos de plugin usam os git credential helpers que já existem na sua máquina
Isso vale para /plugin marketplace add, /plugin install, /plugin update e /plugin marketplace update
Se o seu git já autentica, eles já autenticam
Fora da sessão interativa:
Também existe a versão de CLI, útil pra script e setup de máquina nova:
claude plugin install
claude plugin update
claude plugin uninstall <plugin> --prune
Quando o plugin é a resposta certa?
Quando o objetivo é distribuir ou receber pacote pronto, em vez de manter arquivo solto em cada máquina do time
Slash commands, hooks e CLAUDE.md: as categorias que sustentam o resto
Essas três aparecem menos nos títulos, mas são a base de quase todo setup sério
Slash commands personalizados:
São arquivos Markdown, e o escopo depende de onde você salva:
.claude/commands/vale só no projeto atual~/.claude/commands/vale em todos os projetos
A diferença pra Skill é de gatilho: aqui QUEM aciona é você, digitando o comando
Hooks:
Hooks são definidos nos arquivos de settings em JSON e disparam em pontos do ciclo de vida
A definição tem três níveis: evento, matcher e handlers
E os handlers não são só shell: podem ser comandos de shell, endpoints HTTP ou prompts de LLM
É a categoria de automação de verdade, aquela que roda mesmo quando você esquece de pedir
CLAUDE.md e o settings do time:
Os arquivos CLAUDE.md também são catalogados pela coleção, lado a lado com slash commands, hooks, orquestradores de agentes e aplicações
Ou seja: se você quer se inspirar no formato que outra galera usa, é lá que tem exemplo real reunido
E pra compartilhar configuração com o time, o caminho é commitar o .claude/settings.json: isso leva permissões, hooks, telemetria e plugins pra quem clona o repositório
Um clone, e a pessoa já cai no mesmo setup que você
Skill, agente, status line, plugin, comando e hook: a diferença em uma tabela
| Categoria | Formato do arquivo | Onde vive | O que dispara | Para que serve |
|---|---|---|---|---|
| Skill | Pasta com SKILL.md (+ arquivos de apoio opcionais) |
~/.claude/skills/ (pessoal, vale em todos os projetos) |
O Claude puxa sozinho pelo nome e description do frontmatter, carregados na inicialização |
Empacotar um procedimento repetível, lido sob demanda |
| Subagente | .md com frontmatter YAML (name e description obrigatórios) |
.claude/agents/ (projeto) e ~/.claude/agents/ (usuário), varridos recursivamente |
Delegação de tarefa especializada, com vários podendo rodar ao mesmo tempo | Contexto isolado, ferramentas restritas e roteamento pra modelo mais barato, como o Haiku |
| Status line | Script apontado por um comando | Campo statusLine no settings.json |
Executa como comando de shell e recebe JSON por stdin | Deixar modelo, diretório e percentual de contexto sempre à vista |
| Plugin | Pacote vindo de um marketplace | Adicionado com /plugin marketplace add e instalado com /plugin install |
Instalação feita por você | Distribuir skills e commands, descobertos automaticamente na instalação |
| Slash command | Arquivo Markdown | .claude/commands/ (projeto) ou ~/.claude/commands/ (pessoal) |
Você digita o comando | Ação acionada explicitamente |
| Hook | JSON nos arquivos de settings (evento, matcher e handlers) | Settings JSON do Claude Code | Evento do ciclo de vida | Rodar comando de shell, endpoint HTTP ou prompt de LLM automaticamente |
Como escolher a categoria certa para o que você quer resolver
Dá pra decidir isso em uma pergunta só: quem puxa o gatilho?
- Se é o Claude, sozinho, quando o assunto aparece, isso é Skill
- Se é você digitando, é slash command
- Se é um evento do ciclo de vida, é hook
Depois vem a segunda pergunta: isso precisa de isolamento?
- Tarefa especializada que gera muito ruído, merece ferramentas limitadas e talvez um modelo mais barato: subagente
- Informação que precisa estar sempre à vista, sem custar prompt: status line
- Coisa que o time inteiro precisa ter instalada igual: plugin
Repare que nenhuma dessas escolhas exclui a outra. Um setup completão usa quase todas ao mesmo tempo
E é aí que a coleção entra: em vez de inventar do zero, você abre o awesome-claude-code, acha a categoria que resolve o seu gargalo de hoje e olha exemplo real de gente que já montou aquilo
Vídeo: agentes trabalhando em paralelo na prática
A parte de subagentes e orquestradores fica bem mais fácil de entender vendo funcionando
Pra começar do zero com a ideia de vários agentes trabalhando ao mesmo tempo, este vídeo do canal mostra na tela como isso se organiza:
Conclusão
A confusão entre skill, agente, plugin e comando some quando você percebe uma coisa: elas não competem entre si
Cada uma ocupa uma camada diferente do mesmo setup
Skill é comportamento sob demanda, subagente é execução isolada, slash command é ação manual, hook é automação por evento, status line é informação à vista e plugin é distribuição
O awesome-claude-code é o atalho pra ver exemplo real de todas elas em um lugar só, com skills, agents, status lines, developer tooling e plugins catalogados lado a lado
Próximo passo bem concreto: abra github.com/hesreallyhim/awesome-claude-code, escolha a categoria que resolve o seu gargalo de HOJE e replique um exemplo dela no diretório correspondente da sua máquina
Um só, funcionando, vale mais que uma lista inteira salva nos favoritos 😀
até o próximo post!
Perguntas frequentes
Onde ficam as Skills pessoais que valem em qualquer projeto do Claude Code?
Elas ficam em ~/.claude/skills/, cada uma em sua própria pasta com um arquivo SKILL.md dentro. Esse arquivo carrega as instruções e a description, e pode vir acompanhado de arquivos de apoio opcionais. Um exemplo de caminho é ~/.claude/skills/summarize-changes/SKILL.md.
Qual a diferença de arquivo entre uma Skill e um subagente no Claude Code?
A Skill é um diretório com um SKILL.md dentro, enquanto o subagente é um único arquivo Markdown com frontmatter YAML. No subagente, só name e description são obrigatórios no frontmatter. O Claude Code procura esses arquivos de subagente em .claude/agents/ e ~/.claude/agents/, varrendo subpastas também.
Como configurar a status line sem escrever o script na mão?
Dá pra usar o comando /statusline, passando a descrição do que você quer que apareça na linha. Por trás, isso ainda mexe no campo statusLine do settings.json, do tipo command, apontando pra um script. Pra remover, os comandos /statusline delete, clear ou remove resolvem.
Por que a status line do Claude Code fica em branco mesmo com o script certo?
Porque a status line executa um comando de shell, e isso segue a mesma regra de workspace trust dos hooks. Sem aceitar o diálogo de confiança da pasta, a linha não aparece. O log de debug mostra o motivo com a mensagem status line command skipped.
Como instalar plugins de um marketplace no Claude Code?
Primeiro adiciona a fonte com /plugin marketplace add, como em /plugin marketplace add anthropics/claude-plugins-official. Depois é só rodar /plugin install para instalar o plugin desejado. Skills e slash commands incluídos nesse plugin são descobertos automaticamente na instalação.
Existe alguma lista alternativa ao awesome-claude-code focada só em subagentes?
Sim, o VoltAgent/awesome-claude-code-subagents é uma coleção concorrente ou complementar no mesmo nicho, focada especificamente em subagentes especializados. O awesome-claude-code, por outro lado, dá o panorama geral do ecossistema, cobrindo skills, agents, status lines, developer tooling e plugins.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Bateu o limite de uso do Claude Code? Como retomar a tarefa sem refazer tudo
Bateu o limite de uso do Claude Code? Veja como retomar a tarefa de onde parou com /usage, CLAUDE.md e --continue, sem refazer nada.
Como pagar o Claude Code no Brasil: cartão, dólar, IOF e quanto fica em reais
Claude Code preço Brasil na prática: câmbio, IOF de 3,5% e quanto fica na fatura. Planos Pro e Max convertidos em reais e como pagar com cartão.
Como instalar uma skill no Claude Code: passo a passo
Saiba como instalar skill no Claude Code: use a pasta pessoal para todas as sessões ou a pasta de projeto para versionar. Frontmatter YAML é obrigatório.
