Skip to content

Plugins (Plugins): Empacotando Configurações Avulsas com um Clique

📚 Navegação da Série: O artigo anterior [23 Subagentes (Subagents)] ensinou você a criar um pequeno assistente especializado. Mas você notou uma coisa?—recursos fantásticos como subagents, comandos, skills e hooks são todos configurados individualmente como partes avulsas. Este artigo ensinará você a empacotá-los em um Plugin (plugin): instale com um clique, desative com um clique e obtenha pacotes completos prontos criados por terceiros diretamente do "mercado de plugins" (plugin marketplace).

Pessoal, hoje vamos conversar sobre como empacotar um conjunto de configurações avulsas com um único clique. Aliás, você já passou por isso? Você trabalhou duro para configurar uma suíte de "subagent + hook + MCP" para a sua equipe, e quando um novo colega de trabalho chega, você passa meia hora explicando—"coloque este arquivo em agents/, adicione aquele trecho de hook no settings.json, ah, e não se esqueça do .mcp.json"—e no fim descobre que ele esqueceu um detalhe e o ambiente dele roda diferente do seu. Isso não é culpa de ninguém, o gerenciamento de peças avulsas é assim mesmo: quanto mais dispersa a configuração, mais fácil de esquecer algo nas instruções verbais.

Olhe para os recursos que acumulamos nos artigos anteriores: no artigo 18 escrevemos o CLAUDE.md, no artigo 22 configuramos o servidor MCP, no artigo 23 criamos o subagent, além de termos visto skills e hooks pelo caminho. Cada um deles funciona muito bem sozinho, mas são todos elementos avulsos—o subagent fica em agents/, o hook vai no settings.json e o MCP no .mcp.json, espalhados por vários arquivos.

O problema é: se você configurou tudo com esforço no projeto A e deseja reutilizar no projeto B, precisa copiar arquivo por arquivo manualmente. Se um novo colega de equipe quiser essa mesma configuração, você precisará explicar toda a estrutura de diretórios verbalmente, o que facilita o esquecimento de detalhes. O gerenciamento avulso é cansativo e propício a erros.

Em termos simples, os plugins são a resposta oficial do Claude Code para esse problema: empacotar elementos avulsos como commands, subagents, skills, hooks e servidores MCP em um único pacote distribuível que pode ser ativado ou desativado com um clique. Este artigo explicará de ponta a ponta o que são os plugins, como obtê-los do mercado de plugins e como gerenciá-los.

Ao terminar este artigo, você obterá:

  • Uma tabela clara explicando o que exatamente é empacotado em um plugin e como escolher entre ele e as "configurações avulsas"
  • A lógica em dois passos do "mercado de plugins (marketplace)": primeiro adicione o mercado e depois instale o plugin, com comandos prontos para usar
  • Como instalar um plugin do mercado de demonstração oficial na prática e executar os comandos que ele traz, com saídas esperadas
  • A estrutura de diretórios de um plugin (plugin.json + pastas dos componentes), servindo de modelo para quando você quiser empacotar o seu
  • A importância da "validação de confiança" antes de instalar plugins de terceiros, pois eles não são softwares inofensivos

01 Primeiro entenda: O que realmente é um plugin

Conclusão direta: Um plugin é essencialmente uma "pasta autossuficiente" que agrupa as extensões vistas anteriormente (skills, subagents, hooks, comandos e servidores MCP), permitindo que sejam instaladas, desativadas e distribuídas como uma única unidade.

Por que precisamos dele? Porque as configurações avulsas apresentam três problemas inevitáveis: dificuldade de reutilização entre projetos, dependência de distribuição manual entre equipes e falta de rastreamento de atualizações. Um subagent e um hook configurados em um projeto precisam ser copiados e colados manualmente se você quiser usá-los em outro repositório; e para compartilhar com os colegas, você precisa explicar detalhadamente onde salvar cada arquivo. O plugin simplesmente coloca essa suíte "dentro de uma caixa" para que ela possa ser transportada e entregue a terceiros facilmente.

Analogia: Loja de extensões do navegador. Para adicionar bloqueador de anúncios, tradutor ou captura de tela ao Chrome—você não escreve código ou altera configurações manualmente, apenas acessa a Web Store, clica em "Instalar" e toda a funcionalidade é integrada; se não quiser mais, clica em "Remover" para desinstalar de forma limpa. Os plugins do Claude Code se aplicam a essa mesma premissa: navegue no marketplace e instale pacotes de recursos completos com um clique, sem precisar de configurações individuais manuais; ele transforma extensões espalhadas em arquivos diferentes em itens simples de instalar e desinstalar.

A documentação oficial explica claramente os critérios para escolher entre "plugins" e "configurações avulsas" (diretório .claude/):

AspectoConfiguração Avulsa (diretório .claude/)Plugin (plugin)
Mais adequado paraUso individual em um projeto único, fluxo pessoal, testes rápidosCompartilhamento com equipe/comunidade, reuso multi-projeto, publicação versionada
Como compartilharCópia manual de arquivosVia marketplace, com instalação por /plugin install
Nome de skillCurto (ex: /hello)Com namespace (ex: /my-plugin:hello)
VersionamentoNão; alterações não notificam os usuáriosSim; permite gerenciar versões para notificar atualizações

A regra de decisão é simples: para uso rápido pessoal em um único projeto, a configuração avulsa basta; se precisar compartilhar, reutilizar em vários projetos ou atualizar, empacote como um plugin. A documentação também sugere "desenvolver primeiro de forma avulsa no .claude/ para testes rápidos e migrar para um plugin quando estiver pronto para compartilhar"—evite criar plugins para configurações temporárias de uso único para não sofrer com sobrecarga de engenharia.

Um detalhe importante que costuma confundir iniciantes: os nomes de skills em plugins sempre contêm um "namespace". Se você definir uma skill chamada hello dentro de um plugin com o nome my-plugin, você não a chamará usando /hello, mas sim /my-plugin:hello.

💡 Resumo em uma frase: Um plugin empacota skills, subagents, hooks, comandos e servidores MCP em uma caixa instalável; use o formato avulso para fins pessoais e o plugin para compartilhar, reutilizar e versionar.


02 Por que empacotar é melhor do que manter arquivos avulsos

Apresentado o conceito no capítulo anterior, vamos detalhar as vantagens práticas—afinal, sabendo apenas a definição, você pode achar que copiar alguns arquivos manualmente não dá muito trabalho.

A diferença real manifesta-se em três cenários cotidianos:

Primeiro: reuso multi-projeto. Imagine que você use com frequência um "fluxo de commit do git"—uma skill para gerar mensagens de commit padronizadas e um hook para rodar o lint antes de commitar. Se essa configuração for avulsa, ao criar um novo projeto, você terá que copiar as pastas de skills/ e editar o settings.json. Se esquecer do hook, o novo repositório aceitará commits sem o lint, correndo o risco de conter erros de estilo. Com o plugin, basta rodar um único /plugin install no novo repositório para ter a configuração completa de forma segura.

Segundo: compartilhamento em equipe. Entregar configurações avulsas para os colegas exige explicações manuais ("copie esta pasta para .claude/agents/ e adicione aquele hook no seu settings")—o que costuma gerar erros de configuração do outro lado. Com o plugin é diferente: você o publica em um repositório (mesmo que em um repositório privado interno), e os colegas o instalam com um comando, garantindo um ambiente idêntico e eliminando o problema do "funciona na minha máquina".

Terceiro: atualizações e controle de versão. Esta é a maior fraqueza das configurações avulsas. Se você atualiza uma configuração avulsa, as pessoas que a utilizam não serão notificadas e você precisará avisá-las uma por uma. Os plugins usam números de versão: ao publicar uma versão nova, os usuários obtêm as atualizações ao atualizar; o Claude Code oferece suporte a "atualização automática"—habilitada por padrão no marketplace oficial e desabilitada nos de terceiros por motivos de segurança.

Analogia: Aplicativos de smartphone e a App Store. Quando um aplicativo é atualizado, a loja exibe uma notificação de atualização; basta um clique para atualizar, sem necessidade de baixar o instalador novamente. O plugin no marketplace funciona da mesma forma—instalação simples e atualizações entregues pelo canal de distribuição, eliminando a manipulação manual de arquivos.

Abaixo está o comparativo das diferenças práticas entre formatos avulsos e plugins:

Objetivo❌ Configuração Avulsa✅ Plugin
Migrar para novo projetoCópia manual de arquivos (risco de esquecimentos)Comando /plugin install rápido
Compartilhar com colegasInstruções passo a passo manuais de diretóriosPublicação no marketplace e instalação por comando
Enviar atualizaçõesDistribuição manual sem avisos automáticosVersionamento com suporte a atualizações manuais ou automáticas

Para ser franco, em projetos de desenvolvedor único, a utilidade dos plugins é pouco perceptível; mas à medida que o time e os repositórios crescem, o modelo avulso se torna ineficiente. Passei a usar plugins exclusivamente depois de gerenciar equipes—antes, explicar cada arquivo de ambiente a novos membros ("isto vai em agents/, adicione este hook no settings") consumia muito tempo e sempre restavam pontas soltas; após publicar as configurações como plugin em nosso repositório interno, bastou um comando para padronizar todos os ambientes de desenvolvimento.

💡 Resumo em uma frase: A força real do plugin reside na "escala"—reuso multi-projeto, colaboração e controle de versões são resolvidos com comandos simples em vez de etapas manuais; a economia de tempo escala com o número de projetos e colaboradores.


03 O mercado de plugins: Primeiro adicione a "loja", depois instale os "aplicativos"

Sabendo o que são plugins, a próxima dúvida é: onde obter plugins criados por terceiros? A resposta é o "mercado de plugins (marketplace)".

Um conceito de extrema importância que confunde muitos iniciantes: o uso de marketplaces exige "dois passos", não apenas um.

  • Passo 1: Adicionar o marketplace. Registre um marketplace no Claude Code para que ele possa indexar os plugins disponíveis. Atenção: nesta etapa nenhum plugin é instalado, você está apenas acessando o catálogo.
  • Passo 2: Instalar o plugin. Selecione e instale o plugin desejado a partir do catálogo disponível.

Analogia: Instalar uma loja de aplicativos alternativa no celular. Assim como você pode instalar lojas de terceiros além da nativa no seu celular—"instalar a loja" não instala os aplicativos contidos nela automaticamente. A loja oferece acesso e exibição de itens, mas a instalação de cada aplicativo ainda exige uma ação explícita de download. O marketplace de plugins funciona da mesma forma: adicioná-lo expande suas opções de busca, enquanto a instalação de plugins é feita separadamente.

Compreendido esse fluxo de dois passos, os comandos a seguir se tornam muito mais naturais. Para registrar um marketplace, você pode obtê-lo de várias fontes, sendo o GitHub a mais comum:

text
/plugin marketplace add owner/repo

Substitua owner/repo pelo caminho do repositório no GitHub (como o exemplo do repositório oficial anthropics/claude-code). Além do GitHub, é possível registrar fontes a partir de URLs do Git (GitLab, Bitbucket ou repositórios locais e privados), caminhos locais ou URLs HTTP. A documentação lista todas as opções, mas o formato do GitHub é o mais comum.

Após adicionar o marketplace, instale plugins com o comando:

text
/plugin install plugin-name@marketplace-name

O caractere @ separa o nome do plugin do nome do marketplace de origem. Por exemplo, para instalar a integração com o GitHub a partir do marketplace oficial:

text
/plugin install github@claude-plugins-official

Vale destacar o marketplace oficial nativo: claude-plugins-official. Ele não precisa ser adicionado manualmente—já vem ativo no Claude Code, contendo uma lista de integrações essenciais revisadas pela Anthropic (como GitHub, GitLab, Slack, Figma, Sentry, além de plugins de linguagem LSP e revisores de segurança). Assim, para obter um plugin oficial, basta usar o comando install diretamente, sem etapas prévias.

💡 Resumo em uma frase: O uso de repositórios externos exige dois passos—adicione o catálogo via /plugin marketplace add e depois instale via /plugin install xxx@marketplace-name; apenas o catálogo oficial claude-plugins-official vem pré-instalado e pronto para uso.


04 Os três marketplaces oficiais e seus propósitos

Com várias nomes de marketplaces surgindo, pode haver alguma confusão. Esta seção define os três diretórios mantidos pela equipe oficial para facilitar o reconhecimento.

Analogia: Três lojas comerciais com focos diferentes na mesma cidade. Uma é a loja própria da marca (com curadoria rigorosa de itens da fabricante), outra é uma feira livre autorizada (onde terceiros montam suas barracas sob inspeção de segurança) e a última é um showroom de demonstração (exibindo amostras apenas para referência). Os três marketplaces do Claude Code representam essas propostas:

MarketplaceComando de adiçãoFocoO que contém
claude-plugins-official (Oficial)Pré-instalado; não requer comandoCuradoria oficialIntegrações selecionadas pela Anthropic (mais seguras)
claude-community (Comunidade)/plugin marketplace add anthropics/claude-plugins-communityContribuições públicas revisadasPlugins criados pela comunidade que passam por triagem automatizada e fixados a commits específicos
claude-code-plugins (Demonstração)/plugin marketplace add anthropics/claude-codeExemplos oficiaisModelos de referência criados para exibir as capacidades do sistema de plugins

Pontos importantes de destaque:

O marketplace oficial é estável e restrito. A Anthropic gerencia o conteúdo disponível; todos os itens passam por revisões rígidas, minimizando erros. Recursos de uso geral—como integrações com GitHub, servidores LSP de linguagens ou revisores de segurança—são encontrados aqui.

O marketplace da comunidade é aberto sob requisitos. Plugins enviados por terceiros passam por validação automatizada e verificações de segurança. Eles são fixados em hashes de commit específicos—garantindo que você execute apenas a versão inspecionada, sem risco de alterações silenciosas posteriores feitas pelo autor. Ele precisa ser adicionado manualmente e o nome de referência para instalação é claude-community.

O marketplace de demonstração serve para fins de aprendizado. Ele contém referências conceituais projetadas para demonstrar as possibilidades da API de plugins; usaremos esse repositório na seção prática a seguir. Ele também deve ser adicionado manualmente.

Fluxo de uso sugerido: pesquise primeiro no catálogo oficial; se não encontrar, recorra ao da comunidade (avaliando os requisitos de permissões e repositório antes de instalar). Deixe os plugins do diretório de demonstração apenas para testes de desenvolvimento e aprendizado, pois eles funcionam como amostras de referência e não pacotes de produção.

💡 Resumo em uma frase: O catálogo oficial é nativo e estável, o da comunidade requer adição manual com revisão automatizada, e o de demonstração fornece referências de aprendizado; consulte o oficial por padrão, recorra à comunidade em seguida e use a demonstração para fins práticos.


05 O que realmente é instalado com um plugin

Ao executar /plugin install, o que exatamente é adicionado ao seu ambiente? Detalhamos os componentes a seguir para evitar surpresas após a conclusão do comando.

Um plugin pode integrar múltiplos tipos de componentes, e cada tipo se comporta de forma diferente ao ser chamado:

ComponenteComo utilizar após a instalação
Skills / CommandsExpostos no formato /nome-do-plugin:nome-da-skill; podem ser chamados manualmente ou acionados de forma autônoma pelo Claude
SubagentsExibidos na lista do menu /agents; chamados por delegação automática do Claude ou menção explícita
HooksAcionados silenciosamente sob eventos específicos (como modificação de arquivos)
Servidores MCPIniciados automaticamente; suas ferramentas são integradas ao console de chamadas do Claude
Servidores LSPAdicionam recursos de indexação ao Claude (navegação de definição, diagnósticos), dependendo da presença de binários específicos da linguagem no ambiente

Percebeu a distinção? Alguns itens exigem ação explícita (skills e comandos), enquanto outros operam em segundo plano (hooks, MCP e LSP). Ao instalar um plugin, avalie quais componentes ele traz para entender seu impacto.

Felizmente, as versões mais novas do Claude Code detalham esse impacto antes da instalação. Ao inspecionar os detalhes de um plugin no menu /plugin, a seção "Will install" listará comandos, agentes, skills, hooks, além de servidores MCP e LSP; o menu também exibirá a estimativa de "Context cost"—que aponta o volume aproximado de tokens consumidos pelo plugin a cada chamada.

Esta informação de "custo de contexto" é de suma relevância. Como visto no artigo 19 sobre otimização de janelas de contexto: cada instrução de ferramenta ou agente adicional adicionado por um plugin consome espaço útil na conversa. Ter muitos plugins ativos consome memória preciosa antes mesmo da primeira instrução do usuário. Sempre avalie essa estimativa; dezenas ou centenas de tokens são aceitáveis, mas evite instalar plugins que consumam milhares de tokens desnecessariamente. Configurar plugins sem necessidade é um erro de consumo comum entre iniciantes.

Um detalhe de execução: após instalar plugins, execute o comando /reload-plugins para ativá-los, eliminando a necessidade de reiniciar o terminal do Claude Code. Use esse comando para atualizar o estado sempre que alterar, desativar ou instalar extensões:

text
/reload-plugins

O console retornará a contagem atual de plugins, skills, agentes, hooks e servidores MCP/LSP ativos no momento.

💡 Resumo em uma frase: Componentes integrados dividem-se em uso explícito (comandos/skills) e invisíveis (hooks/MCP/LSP); avalie a lista "Will install" e o consumo de tokens na descrição antes de instalar, e execute /reload-plugins para ativá-los.

插件市场两步走与插件打包的五类组件

Esta imagem representa o papel do MCP como o "hub" intermediário: à esquerda estão as ferramentas locais integradas do Claude Code (leitura/escrita de arquivos, execução de comandos) e à direita está o mundo externo que ele normalmente não alcançaria (GitHub, Jira, PostgreSQL, Figma, Sentry)—a camada MCP no meio usa conexões stdio e HTTP para uni-los, fazendo com que as ferramentas de serviços externos fiquem acessíveis diretamente para o Claude.


06 Prática: Adicionando um marketplace, instalando e usando um plugin

Vamos testar a teoria na prática. O passo a passo a seguir demonstra como adicionar um marketplace externo, instalar um plugin e executar as ferramentas integradas por ele sem depender de ambientes complexos. Usaremos o plugin de exemplo commit-commands sugerido oficialmente—que gerencia commits e versionamento local.

Passo 1: Iniciar o Claude Code e registrar o marketplace de demonstração

Abra o terminal em qualquer diretório e inicialize o Claude Code:

bash
claude

Dentro do console do Claude, execute (o primeiro passo do nosso fluxo):

text
/plugin marketplace add anthropics/claude-code

Saída esperada: O Claude Code baixará as informações do diretório e retornará sucesso de registro. Suas opções de busca foram estendidas, mas nenhum plugin foi instalado ainda.

Passo 2: Inspecionar o menu do gerenciador de plugins

Execute o comando:

text
/plugin

Saída esperada: O menu de gerenciamento com abas (Discover / Installed / Marketplaces / Errors) será exibido. Navegue pelas opções com Tab ou Shift+Tab. Na aba Discover, você deve encontrar os plugins listados no repositório adicionado. A presença de commit-commands na lista confirma o sucesso do registro.

Passo 3: Instalar o plugin commit-commands

Você pode selecioná-lo e instalá-lo diretamente pela interface ou usar a linha de comando (executando o segundo passo do fluxo):

text
/plugin install commit-commands@claude-code-plugins

Observe que o termo após @ é claude-code-plugins—o identificador interno registrado para este catálogo (diferente da URL do repositório no GitHub). Durante a instalação, o console perguntará o escopo desejado:

  • User (Padrão): disponível globalmente para o seu usuário em qualquer projeto
  • Project: salvo no .claude/settings.json do projeto, disponível para todos os colaboradores do repositório
  • Local: ativo apenas neste repositório e privado para o seu usuário

Escolha a opção padrão "User".

Saída esperada: Confirmação de conclusão de instalação exibida no console, com eventuais dependências de ambiente detalhadas.

Passo 4: Recarregar plugins para indexar as novas funções

text
/reload-plugins

Saída esperada: O Claude Code recarregará suas extensões e exibirá a contagem de pacotes atualizada. O plugin disponibiliza comandos estruturados em seu namespace, como o /commit-commands:commit.

Passo 5: Testar o comando do plugin na prática

Crie uma pequena modificação local no repositório (por exemplo, criando um arquivo de texto vazio) e execute o comando:

text
/commit-commands:commit

Saída esperada: O comando executará automaticamente o fluxo de indexar as alterações (git add), gerar uma mensagem de commit e concluir a gravação (git commit). Ver esse fluxo rodar comprova que o pacote foi carregado e está operacional—demonstrando a conveniência de obter fluxos de trabalho prontos via plugins.

⚠️ Caso o console indique que /commit-commands:commit é um comando de namespace inexistente, valide se a etapa de /reload-plugins foi executada; se o erro persistir, verifique eventuais falhas de carregamento na aba Errors do menu /plugin.

Concluir estes cinco passos valida todo o fluxo de consumo de extensões: "adicionar catálogo → instalar plugin → recarregar → executar". Qualquer outro plugin seguirá esta mesma mecânica essencial.

💡 Resumo em uma frase: Adicione o catálogo (marketplace add), instale o pacote (install), ative (/reload-plugins) e execute o comando com namespace—testar esse fluxo com o commit-commands fixa o aprendizado muito melhor do que memorizar comandos.


07 Deseja criar o seu próprio plugin? Conheça a estrutura de diretórios

Vimos como utilizar extensões de terceiros, mas você provavelmente desejará empacotar suas próprias configurações futuramente. Esta seção foca em explicar o arranjo de arquivos e diretórios padrão para servir de referência conceitual.

A estrutura básica de um plugin é composta por dois elementos: um manifesto de identidade e as respectivas pastas dos componentes.

O manifesto reside no caminho .claude-plugin/plugin.json, descrevendo o nome, finalidade e versão do pacote:

json
{
  "name": "my-first-plugin",
  "description": "A greeting plugin to learn the basics",
  "version": "1.0.0"
}

O campo name é fundamental—ele define o namespace de prefixo das suas skills. Qualquer skill contida nesse plugin será chamada via /my-first-plugin:nome-da-skill. O campo version gerencia as versões; definir e incrementar esse número é necessário para notificar os usuários sobre atualizações.

As pastas de componentes ficam no diretório raiz do plugin e devem seguir as convenções de nomenclatura recomendadas:

ComponenteDiretório de destino
Skillsskills/<nome>/SKILL.md
Subagentsagents/
Hookshooks/hooks.json
Servidor MCP.mcp.json na raiz do plugin
Servidor LSP.lsp.json na raiz do plugin

A organização física dos arquivos se assemelha a esta árvore:

text
my-first-plugin/
├── .claude-plugin/
│   └── plugin.json        ← 身份证,只有它放这儿
├── skills/
│   └── hello/
│       └── SKILL.md
├── agents/
│   └── reviewer.md
└── hooks/
    └── hooks.json

Abaixo está um erro estrutural comum alertado oficialmente que você deve evitar:

Erro comum: Não coloque os diretórios commands/, agents/, skills/ ou hooks/ dentro de .claude-plugin/. Apenas o arquivo plugin.json deve ficar dentro de .claude-plugin/. Todos os outros diretórios devem residir no nível raiz do plugin.

Ou seja: a pasta .claude-plugin/ é exclusiva do arquivo plugin.json; as pastas de agentes, hooks e skills devem ficar na pasta raiz, como irmãs de .claude-plugin/. Esse é um erro comum de empacotamento—se você salvar skills/ dentro de .claude-plugin/, o Claude Code carregará o plugin com sucesso e o comando /reload-plugins não indicará erros, mas suas skills simplesmente não serão registradas. Mantenha os diretórios no nível raiz para que funcionem corretamente.

Note que a estrutura interna é idêntica à organização do .claude/ no projeto (Artigo 13), do diretório agents/ (Artigo 23) e do .mcp.json (Artigo 22). Isso é prosital—um plugin nada mais é do que a consolidação dos arquivos avulsos do diretório .claude/ em uma pasta unificada. Por isso, a migração de configurações avulsas para plugins é direta, pois os formatos são equivalentes.

Para validar seus pacotes locais durante o desenvolvimento sem precisar registrá-los em marketplaces, utilize a flag --plugin-dir na inicialização:

bash
claude --plugin-dir ./my-first-plugin

Essa flag é ideal para fins de desenvolvimento. Com ela ativa, basta rodar /reload-plugins após salvar alterações no código para atualizar os recursos de teste.

💡 Resumo em uma frase: O plugin é composto pelo manifesto .claude-plugin/plugin.json (que define o namespace pelo campo name) e os diretórios dos componentes na raiz; guarde a regra de ouro—apenas o manifesto vai em .claude-plugin/, as pastas ficam no nível raiz.


08 Segurança de plugins de terceiros: A validação de confiança

Esta seção é a que exige maior atenção do artigo. Não subestime o impacto de segurança: os plugins do Claude Code não são scripts isolados inofensivos; eles rodam sob seu usuário e podem executar códigos arbitrários na sua máquina.

O discernimento sobre limites de segurança visto no artigo 21 é indispensável aqui. A documentação oficial traz um alerta direto:

Plugins e marketplaces são componentes altamente confiáveis e podem executar código arbitrário na sua máquina usando suas permissões de usuário. Instale plugins e adicione marketplaces apenas de fontes que você confia.

O que isso significa na prática? Um plugin pode conter hooks (scripts automatizados), servidores MCP (binários que iniciam sozinhos) ou executáveis locais em pastas bin/. Ao ativá-lo, esses processos rodarão sob suas credenciais de usuário local—com total acesso de leitura de arquivos, requisições de rede e comandos do sistema. Instalar um plugin de origem duvidosa é equivalente a executar scripts desconhecidos diretamente no seu terminal.

Analogia: Baixar um executável .exe de um site desconhecido. Você não executaria um instalador obtido de uma fonte não confiável, pois, uma vez iniciado, ele teria acesso irrestrito ao seu sistema operacional. A instalação de plugins externos exige essa mesma cautela—validar se o autor é confiável é um requisito básico de segurança.

Adote estas três diretrizes de segurança como regras básicas antes de utilizar pacotes externos:

Item de validaçãoAção preventiva
A fonte é confiável?Dê preferência ao catálogo oficial; investigue autores no catálogo da comunidade e evite repositórios desconhecidos
O que ele contém?Avalie a lista "Will install" no menu /plugin para verificar a presença de hooks, servidores MCP ou scripts binários
Qual o escopo da instalação?Use o escopo "Local" ou "Project" para testar pacotes em vez do escopo global "User"

Alguns mecanismos de segurança da plataforma ajudam na triagem: plugins da comunidade passam por varreduras de segurança e são travados em hashes de commit (evitando atualizações maliciosas silenciosas); o marketplace oficial conta com curadoria própria da Anthropic. Contudo, a responsabilidade final recai sobre suas decisões de uso.

A abordagem ideal de segurança: confie por padrão no marketplace oficial; pesquise o repositório e permissões de plugins da comunidade; e nunca instale plugins de fontes avulsas sem revisar o código-fonte pessoalmente. A conveniência de um clique de instalação não deve mascarar os riscos operacionais associados ao acesso irrestrito ao seu terminal.

💡 Resumo em uma frase: Plugins executam processos com privilégios locais; antes de instalar, certifique-se da confiabilidade da fonte, verifique os componentes e reduza o escopo de uso—prefira itens oficiais e evite códigos não validados.


09 Resumo

Neste artigo, exploramos a arquitetura de "Plugins" do Claude Code—eles funcionam como pacotes consolidados projetados para agrupar, distribuir e versionar ferramentas de forma padronizada.

Resumo dos conceitos principais:

ObjetivoO que usarPonto-chave
Compreender o que é um pluginplugin = caixa de ferramentasEmpacota skills, subagents, hooks, MCP e LSP; use formato avulso para testes e plugins para compartilhamento
Instalar extensões de terceirosMarketplace de pluginsDois passos: adicione o catálogo (marketplace add) e instale o pacote (install)
Conhecer os repositóriosTrês catálogos padrãoOficial (nativo e estável), Comunidade (adicionado manualmente) e Demonstração (aprendizado)
Ativar alterações/reload-pluginsRecarrega novos pacotes no console sem reiniciar o Claude Code
Verificar componentesDetalhes do menu /pluginAvalie a seção "Will install" e o consumo de contexto (tokens) antes de confirmar
Criar seu próprio pacoteplugin.json e pastas de componentesMantenha apenas o arquivo manifesto na pasta .claude-plugin/ e os componentes na raiz
Segurança de terceirosTriagem de segurançaPlugins possuem acesso total local; instale apenas de fontes confiáveis

Agora você deve ser capaz de: Escolher entre plugins e configurações avulsas de acordo com a escala do projeto, gerenciar repositórios e instalar pacotes usando /reload-plugins, inspecionar privilégios de segurança e consumo de tokens em novos pacotes, e entender o arranjo físico de arquivos de desenvolvimento. Com isso, você pode aproveitar soluções prontas distribuídas pela comunidade sem precisar reinventar a roda.

Do artigo 18 até aqui, consolidamos todo o ecossistema de extensões del Claude Code: CLAUDE.md, MCP, subagents, skills, hooks e, finalmente, Plugins como pacote unificado. A infraestrutura está pronta.


No próximo artigo, 25 "Sistema de Memória (Memory)"—suas ferramentas estão ativas, mas há uma limitação: cada nova sessão do Claude inicia do zero. Ele esquece preferências de projeto, decisões anteriores e regras de estilo logo após fechar o terminal. O próximo capítulo abordará como configurar o sistema de memória persistente entre sessões—ensinando o Claude a lembrar de pilhas de tecnologia e convenções de estilo automaticamente, poupando explicações repetitivas. Já pensou em ter um assistente que já conhece seus hábitos de codificação logo no primeiro comando?


Leitura Recomendada