Skills de IA com Vibecoding e Terminal · Capítulo 12 de 12 · 38 min
Projeto Capstone: sua Primeira Skill Publicável
Escolha um de três domínios, construa a skill completa, teste com fixtures e publique no GitHub para o mundo usar.
Este capítulo faz parte do curso gratuito Skills de IA com Vibecoding e Terminal.
O capstone consolida tudo que o curso ensinou em um artefato único: uma skill que funciona, é testada e está publicada. Depois desta entrega, você tem um objeto profissional que cabe em portfólio, em onboarding de cliente e em conversa de freelance. Três domínios para escolher, todos derivados de necessidades reais da Brasil GEO:
Domínio A -- SEO Technical Auditor. Skill que audita uma URL quanto a meta tags, structured data, Core Web Vitals, links quebrados e presença em AI Overviews. Útil para consultores de SEO, agências de marketing e equipes in-house que precisam de checklist recorrente.
Domínio B -- FinOps Watchdog. Skill que monitora gasto diário em APIs de LLM (Anthropic, OpenAI, Gemini), Vercel, Meta Ads, Google Ads. Calcula drift versus orçamento, identifica picos anômalos e sugere kill-switches. Útil para CTOs, times de plataforma e empresas com multiple vendors de LLM.
Domínio C -- Content Voice Guard. Skill que valida conteúdo escrito em PT-BR quanto a acentuação, clichês, credenciais de referência e compliance editorial. Útil para equipes editoriais, consultores de conteúdo e marcas com tom de voz formal.
Requisitos mínimos de entrega para qualquer domínio
- 01SKILL.md com frontmatter rigoroso. Nome, description com três sinônimos de intenção, triggers, requirements documentados.
- 01Pelo menos 2 scripts auxiliares em uma linguagem apropriada (Python para dados, Node.js para web, Bash para orquestração). Scripts devem ter docstring, tratamento de erro e saída JSON estruturada.
- 01Um dicionário ou template em JSON/Markdown que possa ser atualizado sem tocar no código.
- 01Suite de testes com pelo menos 3 fixtures: caso feliz, caso de erro conhecido, caso de borda (edge case).
- 01README.md de 30-50 linhas explicando: propósito, instalação, exemplo de uso, limitações conhecidas, roadmap.
- 01Repositório Git público com licença MIT ou Apache 2.0 e um workflow GitHub Actions que roda os testes a cada push.
# Fluxo recomendado de construcao em 5 etapas
# ETAPA 1 -- Escopo (15 min)
# Abra o Claude Code em diretorio vazio e entre em Plan Mode
# pelo comando /plan, que ja recebe a tarefa:
claude
/plan Defina o escopo de uma skill content-voice-guard. Lista de
validacoes obrigatorias, estrutura de diretorios, formato de output,
fixtures de teste, limitacoes conhecidas.
# ETAPA 2 -- SKILL.md + esqueleto (30 min)
claude 'Com base no plano anterior, crie SKILL.md e os
arquivos esqueleto de cada script. Sem logica ainda, so
as assinaturas de funcao e docstrings.'
# ETAPA 3 -- Implementacao iterativa (60 min)
claude 'Implemente scripts/voice_guard.py seguindo o esqueleto.
Quando tiver duvida de edge case, pergunte antes de assumir.'
# ETAPA 4 -- Testes e fixtures (30 min)
claude 'Crie tests/test_voice_guard.py com pytest cobrindo
caso feliz, erro conhecido e edge case. Use fixtures em
tests/fixtures/. Rode os testes e corrija ate passar tudo.'
# ETAPA 5 -- Publicacao (15 min)
# Inicialize repo, adicione LICENSE, escreva README,
# publique no GitHub e ative GitHub Actions
git init && git add -A && git commit -m 'initial skill release'
gh repo create content-voice-guard --public --source=.
git push -u origin mainCritérios de qualidade que separam skill amadora de skill profissional
Clareza da description. Um leitor que nunca ouviu falar da skill entende em 30 segundos o que ela faz, quando usar e quando não usar.
Idempotência. Rodar duas vezes produz o mesmo resultado sem efeitos colaterais indesejados. Skills que escrevem em banco precisam de checagem de existência.
Failure modes explícitos. O que acontece se a URL é inválida? Se o script tem timeout? Se o dicionário está ausente? Cada cenário deve ter mensagem de erro clara, sem stack trace cru.
Sem dependências absurdas. Skill que exige 17 pacotes exóticos não será adotada. Prefira stdlib e três bibliotecas muito usadas do que toolkit artesanal.
Documentação viva. README com seção 'Limitações conhecidas' é o sinal mais confiável de maturidade. Autor que declara o que a skill não faz é autor confiável.
Dê à sua skill uma interface clara de linha de comando. Mesmo que o uso principal seja via agente, ter ./scripts/voice_guard.py --file draft.md --json-out report.json rodando fora do agente vale ouro: você testa rapidamente, debugga isoladamente, integra em pipelines de CI. Skills que só funcionam dentro do agente não duram -- skills que funcionam via CLI também, sim.
Publicação e distribuição. Depois de publicar no GitHub, há quatro caminhos, do mais simples ao mais amplo
- 01Link direto do repositório. Quem usa copia a pasta para .claude/skills/ ou .agents/skills/. No Gemini CLI, gemini skills install <url-do-repositório> faz a cópia.
- 01Marketplace do time. Um repositório com .claude-plugin/marketplace.json lista seus plugins; o colega roda /plugin marketplace add org/repositório uma vez e instala por nome. Desde agosto de 2026 o Claude Code também aceita marketplaces no GitLab e plugins em .zip baixado por HTTPS.
- 01Diretório de plugins da Anthropic. Desde 25/09/2026, assinantes de planos pagos enviam plugins por um portal com validação automática, verificação de segurança e, depois de publicados, métricas de instalação e de busca.
- 01Diretório de plugins da OpenAI. Plugins com skills e conectores aparecem no ChatGPT e no Codex; para distribuir fora do próprio repositório, a documentação do Codex recomenda empacotar a skill como plugin.
Antes de publicar, dê uma última varredura por secrets. Um commit errado pode expor token, chave privada, credencial de cliente. Use gitleaks, trufflehog ou secret scanning do GitHub antes do primeiro push. Uma skill útil que vaza credencial na primeira release perde credibilidade em minutos -- internet documenta o erro para sempre.

Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Empacotar o pipeline de conteúdo como plugin do time
Variação do capstone para equipes de conteúdo: quatro skills em sequência (pauta, rascunho, revisão de marca, distribuição) entregues num só pacote.
Passo 1: Crie a pasta pipeline-conteudo/ com .claude-plugin/plugin.json e uma pasta por skill em skills/.
plugin.json precisa de name (sem espaços) e pode ter description, version e author. As skills ficam em skills/pauta/, skills/rascunho/, skills/revisao-marca/ e skills/distribuicao/.
Deu certo quando: claude plugin validate ./pipeline-conteudo termina com Validation passed.
Erro comum: Colocar as skills dentro de .claude-plugin/: só o plugin.json mora ali, o resto não carrega.
Passo 2: Teste sem instalar: claude --plugin-dir ./pipeline-conteudo.
As skills ganham o prefixo do plugin: /pipeline-conteudo:pauta, /pipeline-conteudo:rascunho e assim por diante. Depois de editar arquivos, rode /reload-plugins.
Deu certo quando: /pipeline-conteudo:pauta "GEO para e-commerce" devolve uma pauta no modelo do time.
Passo 3: Acrescente o revisor como subagente em agents/ e a checagem de marca em hooks/hooks.json.
Reaproveite o checar_marca.py do capítulo "Projeto 2: Skill Multi-arquivo com Dicionários e Validadores", referenciado por ${CLAUDE_PLUGIN_ROOT} para funcionar em qualquer máquina.
Deu certo quando: Rascunho salvo dispara o verificador; o revisor é chamado antes da etapa de distribuição.
Erro comum: Caminho absoluto da sua máquina no hook: quebra no computador do colega.
Passo 4: Publique num marketplace do time e instale como usuário.
Repositório com .claude-plugin/marketplace.json (name, owner e a lista plugins com name e source). Cada pessoa roda /plugin marketplace add org/repositório e depois /plugin install pipeline-conteudo@nome-do-marketplace.
Deu certo quando: Um colega instala e roda /pipeline-conteudo:pauta sem copiar arquivo à mão.
Erro comum: Esquecer de subir a versão em plugin.json: quem já instalou não percebe a atualização.
No fim você tem: Um pipeline de conteúdo que qualquer pessoa do time instala com um comando, com a mesma revisão de marca para todos.

Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Skill escolhida, construída, testada e publicada. Você saiu do curso com artefato profissional, repositório público e o repertório técnico para escrever mais skills sob demanda. Bem-vindo ao Vibecoding disciplinado -- agora é escala.
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
Estude antes
- CursoClaude Code CLI: Programação com IA
- Veja o que o Claude Code faz antes de instalarsugerido pelo grafoApresenta o conceito “Claude Code”, usado em “Projeto Capstone: sua Primeira Skill Publicável”.
- O que é controle de versãosugerido pelo grafoApresenta o conceito “GitHub”, usado em “Projeto Capstone: sua Primeira Skill Publicável”.
- As linhas que ninguém orça: build, medição e logsugerido pelo grafoApresenta o conceito “Build”, usado em “Projeto Capstone: sua Primeira Skill Publicável”.
Depois, siga para
- CursoFrontends com Vibecodingsugerido pelo grafo9 capítulos de “Frontends com Vibecoding” usam conceitos apresentados em “Skills de IA com Vibecoding e Terminal”.
- CursoPrompt Engineering para Executivossugerido pelo grafo3 capítulos de “Prompt Engineering para Executivos” usam conceitos apresentados em “Skills de IA com Vibecoding e Terminal”.
- CursoRLM 2027sugerido pelo grafo2 capítulos de “RLM 2027” usam conceitos apresentados em “Skills de IA com Vibecoding e Terminal”.
Conceitos deste capítulo
O mesmo assunto em outros cursos
- Setup de Vibecoding no MacSkills, plugins e barra de status — deixar o Claude Code com a sua caraExaminar conexões de Skills, plugins e barra de status — deixar o Claude Code com a sua cara
- Claude Code CLI: Programação com IARevisar o plano antes de agir e ligar suas ferramentasExaminar conexões de Revisar o plano antes de agir e ligar suas ferramentas
- Vídeo com IA: Claude Code, Codex e ElevenLabsInstalar e invocar skills de vídeo no Claude CodeExaminar conexões de Instalar e invocar skills de vídeo no Claude Code
- Frontends com VibecodingConfigurar ambiente, skills e o contêiner de contextoExaminar conexões de Configurar ambiente, skills e o contêiner de contexto
Voltar ao capítulo anterior: Segurança RAK e Governance: o Framework de Risco dos Agentes
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.
Capítulos vizinhos em Skills de IA com Vibecoding e Terminal
- 08Projeto 2: Skill Multi-arquivo com Dicionários e Validadores
- 09Model Context Protocol: o USB-C da IA
- 10Orquestração Persistente: OpenClaw e Agentes que Vivem 24/7
- 11Segurança RAK e Governance: o Framework de Risco dos Agentes
- 12Projeto Capstone: sua Primeira Skill Publicável