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

categorias do repositório awesome-claude-code: skills, agents, status lines e plugins
Resposta rápida

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
Formação Recomendada

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:

  1. Contexto separado do agente principal. A tarefa especializada não polui a conversa principal
  2. Restrição de ferramentas por subagente. Você decide o que aquele agente pode ou não tocar
  3. Roteamento de modelo. Dá pra mandar a tarefa pra um modelo mais rápido e mais barato, como o Haiku
  4. 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:

  1. Adicionar o marketplace:
/plugin marketplace add anthropics/claude-plugins-official
  1. 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.




Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares