O que Otimização de Repositório GitHub faz?
Transforme qualquer repositório GitHub em uma landing page de alta conversão e otimizada para SEO, que impulsiona estrelas, seguidores e tráfego. Cada repositório que você tocar deve parecer um projeto open source do top 100.
Esta skill tem dois modos:
- Otimizar — reescreve o README, metadados e estrutura do repositório para máxima conversão
- Aconselhar — oferece ao usuário uma estratégia de crescimento de estrelas usando a base de conhecimento abaixo
Objetivos (em ordem de prioridade)
- Estrelas -- a principal métrica de prova social no GitHub
- Seguidores -- direcionar tráfego para os perfis sociais do dono do repositório
- Descobribilidade -- ranquear na pesquisa do GitHub, Google e mecanismos de resposta de LLMs
- Tráfego -- transformar visitantes em usuários/seguidores
- Credibilidade profissional -- sinalizar qualidade através de estrutura e polimento
Passo 0: Configuração do Usuário (Autoatualizável)
Antes de otimizar, você precisa saber quem é o dono deste repositório. Este passo é executado uma vez – depois disso, a configuração é reutilizada.
Verificar configuração existente
Procure por ~/.claude/skills/github-optimization/.config.yml. Se existir, carregue os valores e pule para o Passo 1. Mostre ao usuário o que foi carregado e pergunte se algo mudou.
Se não houver configuração, detecte + pergunte
-
Detectar automaticamente a partir do git config e da API do GitHub:
gh api user-- obtém o nome de usuário autenticado do GitHub e URL do perfilgh api repos/<owner>/<repo>-- obtém o dono do repositório (pode ser usuário ou organização)git config user.name-- obtém o nome de exibição local do git
-
Pergunte ao usuário o que não puder ser detectado:
- Nome de exibição -- nome real ou atribuição preferida (ex.: "João Silva")
- Usuário do X/Twitter -- para o badge de Seguir (ex.: "@joaosilva"). Se não quiser, pule.
- Empresa ou organização -- para atribuição no rodapé (opcional)
- URL da empresa -- link para o nome da empresa (opcional)
- URL do site -- site pessoal ou da empresa (opcional)
-
Salve a configuração em
~/.claude/skills/github-optimization/.config.yml:
# GitHub Optimization Skill — Configuração do Usuário
# Este arquivo é gerado automaticamente. Edite a qualquer momento.
author_name: "João Silva"
author_github: "joaosilva"
x_handle: "joaosilva" # deixe vazio "" para pular o badge Seguir
company_name: "Acme Corp" # deixe vazio "" para pular
company_url: "https://acme.com"
website_url: "https://joaosilva.dev"
- Use estas variáveis em todo o pipeline:
{OWNER}-- nome de usuário ou organização do GitHub (detectado por repositório){REPO}-- nome do repositório (detectado por repositório){AUTHOR_NAME}-- da configuração{AUTHOR_GITHUB}-- da configuração{X_HANDLE}-- da configuração (pode estar vazio){COMPANY_NAME}-- da configuração (pode estar vazio){COMPANY_URL}-- da configuração (pode estar vazio){WEBSITE_URL}-- da configuração (pode estar vazio)
Se algum campo estiver vazio, omita esse elemento completamente da saída. Sem placeholders vazios ou badges quebrados.
Atualizando a configuração
Se o usuário disser "atualizar minha configuração", "mudar meu usuário do X" ou similar, atualize o arquivo .config.yml e confirme a alteração.
O Pipeline de Otimização
0. CONFIG -> Carregar ou criar configuração do usuário (executa uma vez, autoatualizável)
1. AUDIT -> Ler README atual, descrição, tópicos, estrutura do repositório
2. KEYWORDS -> Identificar termos de busca alvo para o domínio deste repositório
3. METADATA -> Otimizar nome do repositório, descrição (Sobre) e tópicos
4. README -> Reescrever como uma landing page seguindo o template abaixo
5. HUMANISE -> Executar a skill humanise-text em toda a prosa para remover padrões de IA
6. EXTRAS -> Adicionar LICENSE, CONTRIBUTING.md se estiverem faltando
7. PUBLISH -> Commit, push, aplicar gh repo edit para descrição/tópicos
Encadeamento de Skills
Esta skill chama outras skills durante a execução:
humanise-text-- Após rascunhar o README, invoque a skillhumanise-textem todas as seções de prosa. Isso remove padrões de escrita de IA e faz o texto soar como se uma pessoa real o tivesse escrito. Inegociável – todo README deve passar por isso.
Passo 1: Auditoria
Leia o estado atual:
- Conteúdo e estrutura do README.md
- Descrição do repositório (seção Sobre)
- Tópicos/tags
- Licença
- Estrutura de arquivos
- Quaisquer badges existentes
Anote o que está faltando, o que está fraco, o que está bom.
Passo 2: Pesquisa de Palavras-chave
Identifique de 3 a 5 palavras-chave alvo que desenvolvedores procurariam para encontrar este projeto. Considere:
- Que problema ele resolve?
- Qual tecnologia ele usa?
- Em que domínio ele está?
Essas palavras-chave devem aparecer em: nome do repositório (se possível), descrição Sobre, cabeçalhos H1 e H2 do README e tags de tópicos.
Passo 3: Otimização de Metadados
Descrição Sobre
- Idealmente abaixo de 120 caracteres, máximo 250
- Comece com o que ele faz, não o que ele é
- Inclua a palavra-chave principal naturalmente
- Formato:
<Verbo de ação> <o que> para <quem/o que>. <Diferenciador chave>.
Tags de Tópicos
Selecione de 10 a 20 tags em três categorias:
- Tags de propósito -- o que o projeto faz
- Tags de stack tecnológico -- tecnologias usadas
- Tags de domínio -- área ou indústria
Aplique com:
gh repo edit {OWNER}/{REPO} --add-topic tag1 --add-topic tag2 ...
Passo 4: Reescrita do README
O README é uma landing page, não documentação.
Template do README
Adapte os badges com base nas informações do usuário disponíveis na configuração:
<div align="center">
# <Nome do Projeto>
**<Pitch de uma linha -- o que ele faz em português claro>**
<br />
[](https://github.com/{OWNER}/{REPO}/stargazers)
Se {X_HANDLE} estiver definido, adicione ao lado do badge de estrela:
[](https://x.com/{X_HANDLE})
Se {X_HANDLE} estiver vazio, pule o badge Seguir completamente.
Em seguida, continue com badges de credenciais:
<br />
[](<link>)
[](<link>)
---
<Um parágrafo de pitch. Que dor isso resolve? Por que alguém deveria se importar?>
[Instalar](#instalar) | [Como Funciona](#como-funciona) | [Funcionalidades](#funcionalidades) | [Contribuir](#contribuir)
</div>
Regras de Badges
Linha 1 (CTAs -- grandes, proeminentes):
- Badge de estrela com contagem ao vivo -- SEMPRE primeiro,
style=for-the-badge, amarelo - Badge Seguir no X -- SOMENTE se {X_HANDLE} estiver definido
Linha 2 (Badges de credenciais -- mesmo tamanho):
- Todos os badges usam
style=for-the-badge-- nunca misture tamanhos - Escolha de 2 a 4 relevantes: Licença, PRs Bem-vindos, linguagem/framework, status de build
Ordem das Seções
- Por Que Isso Existe / O Problema -- 2-3 frases sobre o ponto de dor
- Antes vs Depois (opcional) -- tabela de comparação
- Instalar / Início Rápido -- abaixo de 5 passos, idealmente um comando
- Como Funciona -- fluxo visual (diagrama ASCII, tabela ou passos numerados)
- Funcionalidades / Casos de Uso -- tabela ou lista de marcadores, escaneável
- O Que Tem Dentro / Estrutura -- árvore de arquivos se relevante
- Configuração / Opções (opcional)
- Segurança (opcional)
- Contribuir -- curto, acolhedor
- Licença -- uma linha
- Rodapé com CTAs -- badges de estrela + seguir repetidos
Template do Rodapé
Construído dinamicamente a partir da configuração:
---
<div align="center">
Linha de atribuição -- construa a partir dos campos disponíveis na configuração:
- Se autor + empresa + site:
Construído por [NOME](GITHUB) na [EMPRESA](COMPANY_URL) | [SITE](WEBSITE_URL) - Se autor + empresa (sem site):
Construído por [NOME](GITHUB) na [EMPRESA](COMPANY_URL) - Se autor + site (sem empresa):
Construído por [NOME](GITHUB) | [SITE](WEBSITE_URL) - Se apenas autor:
Construído por [NOME](GITHUB) - Se nada:
Construído com a skill github-optimization
<br />
**Se isso for útil para você:**
[](stargazers-url)
Se {X_HANDLE} existir, adicione o badge Seguir aqui também.
</div>
Regras de Escrita
Inegociáveis. Elas definem a voz.
FAÇA:
- Escreva como um humano explicando para um amigo. Frases curtas. Voz ativa.
- Comece cada seção com o valor, não com o mecanismo
- Use "você" e "seu" -- fale diretamente com o leitor
- Seja específico em vez de abstrato
- Mantenha parágrafos com no máximo 2-3 frases
- Use tabelas para comparações
NÃO FAÇA:
- Use jargões de IA: "alavancar", "otimizar", "capacitar", "perfeitamente", "robusto", "de ponta", "revolucionar", "aproveitar o poder de", "elevar seu fluxo de trabalho", "potencializar"
- Comece frases com "Este projeto..." ou "Esta ferramenta..."
- Escreva paredes de texto
- Use voz passiva
- Adicione palavras de enchimento: "basicamente", "essencialmente", "simplesmente", "apenas"
- Use pontos de exclamação
SEO em Cabeçalhos:
- O H1 deve conter a palavra-chave principal
- Os H2s devem conter palavras-chave secundárias naturalmente
- Escreva para humanos primeiro, mas seja deliberado sobre o posicionamento
Passo 5: Extras
Adicione se estiver faltando:
- LICENSE -- MIT a menos que o usuário especifique o contrário
- CONTRIBUTING.md -- curto, acolhedor, processo de 3 passos
NÃO adicione a menos que seja solicitado: CODE_OF_CONDUCT.md, SECURITY.md, .github/ISSUE_TEMPLATE/
Passo 6: Publicar
- Faça commit de todas as alterações com uma mensagem descritiva
- Envie para o remoto
- Atualize os metadados do repositório via
gh repo edit - Reporte ao usuário: o que mudou, a nova descrição, tópicos adicionados, URL ativa
Checklist Antes de Finalizar
- Configuração carregada ou criada (sem nomes de usuário codificados em lugar nenhum)
- Badge de estrela com contagem ao vivo no topo
- Badge Seguir SOMENTE se o usuário tiver configurado um usuário do X
- Todos os badges do mesmo tamanho (for-the-badge)
- Pitch de uma linha abaixo do H1
- README parece uma landing page
- Sem jargões de IA
- Seção Instalar com menos de 5 passos
- Elemento visual presente (diagrama, tabela ou árvore de arquivos)
- H1/H2 contêm palavras-chave alvo
- Descrição Sobre com menos de 120 caracteres
- 10-20 tags de tópicos
- Rodapé repete CTAs com atribuição correta do usuário
- LICENSE existe
- Sem links quebrados
- Comitado e enviado
Base de Conhecimento para Crescimento de Estrelas
Quando os usuários perguntarem "como consigo mais estrelas?", "estratégia de lançamento", "promover meu repositório" ou similar, use esta base de conhecimento para aconselhá-los. Esta seção é material de referência, não faz parte do pipeline de otimização.
Rankings de Canais (por ROI)
| Rank | Tática | Esforço | Estrelas Esperadas | Risco |
|---|---|---|---|---|
| 1 | Lançamento empilhado (HN + Reddit + X + PH no mesmo dia) | Alto (1 dia de preparo) | 200-2.000+ | Nenhum |
| 2 | Submissões a listas Awesome | Baixo (PRs) | Crescimento lento, acumula | Nenhum |
| 3 | Otimização de README + pré-visualização social | Médio (1 hora) | Multiplicador 3x em todos os outros esforços | Nenhum |
| 4 | SEO do GitHub (nome, tópicos, descrição) | Baixo (30 min) | Descoberta passiva de longo prazo | Nenhum |
| 5 | GIF/vídeo de demonstração no README | Médio | Conversão drasticamente maior | Nenhum |
| 6 | Criar sua própria lista Awesome | Médio | Crescimento lento + promoção cruzada | Nenhum |
| 7 | Submissões a newsletters | Baixo (emails) | 50-500 por destaque | Nenhum |
| 8 | Tutoriais no YouTube | Alto | Melhor impulsionador sustentado de longo prazo | Nenhum |
| 9 | Listicle recíproco no X | Baixo | Dependente de rede | Nenhum |
| 10 | Marcação no Hacktoberfest (outubro) | Baixo | 50-200 sazonal | PRs de spam |
| 11 | Construção de comunidade no Discord | Alto contínuo | Retenção/defesa | Nenhum |
| 12 | Palestras em conferências | Alto | Baixo direto, alto composto | Nenhum |
Manual do Hacker News
Melhor horário: Terça a quinta, 8h-10h Pacífico. Domingo 18h-21h Pacífico para menor concorrência.
Formato do título: Show HN: [Nome] — [O que ele faz concretamente]
O que funciona: Escreva como um par, não um profissional de marketing. Sem jargões. Comece pelo problema. Responda a todos os comentários na primeira hora. Poste seu próprio comentário substancial nos primeiros 5 minutos.
Limiares: 8-10 votos genuínos + 2-3 comentários ponderados nos primeiros 30 minutos para entrar no top 10.
Requisitos da conta: 250+ karma com histórico de comentários técnicos para melhores resultados. Contas novas enfrentam moderação.
A detecção de anéis é agressiva. Nunca tuíte "por favor, vote no meu post do HN". Use canais privados (email, Slack, Discord) para notificar pessoas.
Resultados reais:
- Lago: #1 por 48+ horas, principal impulsionador para 1.000 estrelas
- Encore: 1.500 estrelas em uma semana a partir de um único Show HN
- Média: 121 estrelas em 24 horas, 289 em uma semana
Manual do Reddit
Construa karma 2+ semanas antes de postar. Regra 90/10 do Reddit: 90% de atividade genuína, 10% de autopromoção.
| Subreddit | Notas |
|---|---|
| r/SideProject (453K) | Permite explicitamente autopromoção |
| r/programming (6M+) | Antipromoção estrita, "como construímos X" funciona |
| r/selfhosted (500K+) | Converte extremamente bem |
| r/webdev | "Showoff Saturday" apenas |
| r/opensource | Amigável a links, volume menor |
| r/coolgithubprojects | Especificamente para repositórios GitHub |
Esperado: 50-300 estrelas por post bem-sucedido. Adapte a mensagem por subreddit.
Manual do Product Hunt
Reinício da votação: 12h01 PST diariamente. Votos escondidos nas primeiras 4 horas.
Votos para #1: 600-800 em dias de semana, 400-600 nos fins de semana.
Melhores dias: Terça a quinta.
Esperado: 200-1.000 estrelas do top 5 de Produto do Dia. #1 pode entregar 500-2.000+.
Cronograma:
- 4-6 semanas antes: Construir 200-500 assinantes de email
- 1 semana antes: Preparar todos os ativos
- Dia do lançamento: Publicar à meia-noite PST, responder a tudo, disparo de email às 6h PST
Manual do Twitter/X
O que funciona: Vídeos/GIFs de demonstração curtos superam texto. Tweets de apoiadores geram mais estrelas do que tweets próprios. Manhãs de dias de semana no horário dos EUA (9h-11h ET).
Esperado: 7% de aumento em estrelas ao tuitar. Tweets virais em vídeo podem atingir 1.600 estrelas em 6 horas.
A Estratégia de Lançamento Empilhado
A metaestratégia que todo repositório de rápido crescimento usou:
| Momento | Ação | Estrelas Esperadas |
|---|---|---|
| Semana anterior | Submeter a newsletters (TLDR, Console.dev, Changelog) | -- |
| Manhã do lançamento | Postar HN "Show HN" (Ter-Qua, 8h-11h ET) | 121 média, até 1.500 |
| Tarde do lançamento | Postar Reddit (r/programming, r/selfhosted, sub de domínio) | 50-300 |
| Dia do lançamento | Tuitar vídeo de demonstração + conseguir que apoiadores compartilhem | 50-500+ |
| Dia do lançamento | Publicar no Product Hunt (meia-noite PST) | 200-1.000+ |
| Dia do lançamento | Responder a todos os comentários em todas as plataformas durante 8 horas | 2x de retorno |
Nota importante: Esta estratégia funciona melhor quando o repositório já está otimizado (Passos 1-6 concluídos). Não lance um README não otimizado.
Rankings de ROI de Canais Detalhados
1. Lançamento Empilhado (ROI mais alto)
Custo: 1 dia de preparo + 1 dia de lançamento Estrelas: 200-2.000+ (eventos de mídia podem ultrapassar 5.000) Risco: Zero Funciona para: A maioria dos projetos, especialmente ferramentas de desenvolvedor e frameworks Por que funciona: Efeito de rede. Cada plataforma alimenta as outras.
2. Listas Awesome
Custo: 15-30 minutos por PR Estrelas: Crescimento lento de longo prazo (5-50 estrelas/semana por listagem) Funciona para: Projetos que se encaixam em categorias existentes Melhores listas para mirar: awesome-selfhosted, awesome-for-beginners, awesome-react, awesome-python
3. SEO do GitHub
Custo: 30 minutos, uma vez Estrelas: Passivo, composto ao longo do tempo Otimizações chave:
- Nome do repositório contendo a palavra-chave principal
- Descrição Sobre com 120 caracteres ou menos
- 20 tags de tópicos
- README com H1/H2 contendo palavras-chave encontráveis
- Pré-visualização social (imagem OG)
4. Newsletters
Custo: 10-15 minutos por envio de email Estrelas: 50-500 por destaque Melhores newsletters de tecnologia:
- TLDR (1,5M+ assinantes) -- dica: envie para os curadores
- Console.dev (60K) -- alta qualidade, taxa de cliques alta
- Changelog Weekly (50K+) -- boa para ferramentas de desenvolvedor
- Python Weekly (100K+) -- se relevante
- JavaScript Weekly (200K+) -- se relevante
5. Tutoriais no YouTube
Custo: 4-20 horas por vídeo Estrelas: 100-1.000+ por vídeo viral Melhores práticas:
- Título incluindo o nome do repositório
- Descrição com link para o repositório no topo
- Chamada para estrelas no final do vídeo
- Tutorial de construção de algo real usando seu projeto
Métricas de Linha de Base
| Métrica | Repositório Mediano | Repositório Top 10% | Repositório Top 1% |
|---|---|---|---|
| Estrelas/visitante | 0,5%-1% | 2%-5% | 5%-15% |
| Visitantes/dia (orgânicos) | 10-100 | 100-1.000 | 1.000-10.000+ |
| Conversão de README | <1% | 2%-5% | 5%-15% |
| Crescimento mensal | 0-10 estrelas | 50-500 estrelas | 500-5.000 estrelas |
Lançamento em um Dia
Sem tempo para uma estratégia empilhada? Faça estas três coisas, nesta ordem:
- Otimize o README (sempre) -- 30 min, maior ROI por minuto
- Poste no Hacker News (se seu projeto for técnico) -- melhor canal único
- Envie para 3 newsletters (TLDR, Console.dev, uma específica de domínio) -- 15 min
Isto entrega 100-500 estrelas para a maioria dos projetos com esforço mínimo.
Problemas Comuns e Correções
| Problema | Causa | Correção |
|---|---|---|
| Ninguém encontra meu repositório | SEO fraco (descrição, tópicos) | Otimizar metadados do repositório |
| Tráfego mas sem estrelas | README não convertido | Reescrever como landing page com CTAs |
| Estrelas iniciais mas depois para | Sem distribuição | Estratégia de lançamento empilhado |
| Estrelas mas sem engajamento | Sem issues/contribuição | Adicionar CONTRIBUTING.md, templates |
| Repositório parece abandonado | Sem manutenção visível | Commits regulares, responder a issues |
Pós-Lançamento
Após o lançamento inicial, mantenha o ritmo:
- Semana 1: Responder a todos os comentários, issues. Poste um "Resumo do Lançamento" no X.
- Semana 2-4: Envie versões atualizadas para listas Awesome. Publique um tutorial.
- Mês 2-3: Lance um recurso significativo. Anuncie no X e Reddit.
- Mês 6: Poste uma análise "O que aprendemos" no blog da empresa/Medium.
Esta base de conhecimento é para referência. Ao responder perguntas de usuários, adapte o conselho ao seu projeto, domínio e objetivos específicos.