Um plugin empacota habilidades, comandos e servidores MCP num pacote versionado e atualizável, vindo de um catálogo que se registra por URL. Ele não cria comportamento novo — junta o que já existe e distribui.
Pacote, não capacidade nova. Tudo que um plugin traz já existe separado neste sistema; ele agrupa, nomeia, versiona e distribui. É uma distinção pequena na frase e grande no comportamento.
Um plugin não ensina o sistema a fazer nada que ele já não faça. Habilidade, comando e servidor MCP existem por conta própria — o plugin é a unidade que os junta sob um nome, uma versão e uma origem.
Manifesto em .claude-plugin/plugin.json, mais skills/ com SKILL.md e modelos, commands/ com atalhos de barra, agents/ com personas, hooks/ com ganchos de ciclo de vida e .mcp.json com os servidores. O manifesto inteiro é guardado.
Adicionar um catálogo registra a URL e não instala nada — só lê. Instalar um plugin dele é o segundo passo, deliberado. São duas ações separadas porque a consequência de cada uma é diferente.
Um plugin por nome por conta. Repetir a instalação não duplica: atualiza a versão instalada. Sem essa trava, dois pacotes do mesmo nome dariam dois conjuntos de comandos colidindo no mesmo atalho.
Cada versão fica registrada com o seu manifesto, o commit de origem e o hash do pacote. Uma é a ativa, e é ela que fornece os comandos; as anteriores permanecem como registro do que foi instalado e quando.
Pacote de terceiro traz conteúdo que quem instalou nunca leu. O status acompanha o caminho inteiro — descoberto, baixando, importado, aguardando revisão, aprovado — para que instalar e confiar sejam decisões distintas.
Um pacote de fora entra num ambiente que já tem nome, atalho e arquivo. O que decide se a convivência dá certo não é o plugin: é o que o sistema faz na hora de instalar.
Habilidade vinda de plugin vira /nome-do-plugin:nome-da-habilidade. Dois catálogos de agência que tragam ambos uma habilidade "Proposta" deixam de disputar o mesmo atalho — e o que a conta já tinha antes continua vencendo.
O pacote diz qual servidor usar; quem instala decide se liga e com que credencial. Instalar um plugin nunca abre, sozinho, uma conexão de saída para um endereço que quem instalou não escolheu.
Desativar mantém o pacote instalado e inerte, reversível num clique. Desinstalar remove o plugin e tudo que ele trouxe junto, em cascata — inclusive as edições que a pessoa fez nas habilidades dele.
O conteúdo do pacote é endereçado por sha256 e deduplicado: o mesmo arquivo em dois plugins ocupa um só. O banco guarda a chave, não o arquivo — sem blob gigante estourando o limite de pacote.
Toda conta nasce com o Catálogo SkillLab, lido do próprio banco e não de uma URL. Habilidade que um usuário publica aparece nele: a instalação é o primeiro marketplace de si mesma.
commands/, agents/, hooks/, .mcp.json, .lsp.json e output-styles/ entram sem tradução. Seção que o sistema ainda não executa não recusa o pacote — ela fica guardada até existir, em vez de derrubar a instalação por inteiro.
Registre um marketplace por URL, instale o que interessar e desative o que não usar — sem perder as edições que você fez.