O que Show HN Writer — Edição Baseada em Dados faz?
Esta skill redige posts do HN usando padrões extraídos de 250 posts reais de alto desempenho. Toda regra abaixo vem de dados observados, não de convenções.
O que os dados dizem (internalize isso antes de escrever qualquer coisa)
Estas são as descobertas de 250 posts de destaque do HN raspados em 18 de abril de 2026. Elas substituem qualquer sabedoria recebida sobre a escrita no HN.
O comprimento do título é o preditor mais forte de pontuação.
- Abaixo de 40 caracteres: média de 248 pts (n=82)
- 40–59 caracteres: média de 192 pts (n=68)
- 60–79 caracteres: média de 150 pts (n=91)
- 80+ caracteres: média de 131 pts (n=9) Alvo padrão: abaixo de 40 caracteres. Limite máximo: 60.
O corpo do texto não afeta a pontuação. 90% dos posts não tinham corpo. Média com corpo: 189. Média sem corpo: 193. Estatisticamente idênticas. Um corpo só vale a pena ser escrito se você tiver detalhes técnicos genuinamente interessantes que não cabem no título. Nunca escreva um corpo para aumentar credibilidade.
O prefixo Show HN suprime a pontuação. Posts Show HN tiveram média de 94 pts contra 186+ para declarações simples. O rótulo sinaliza "Quero feedback sobre minha coisa", o que desencadeia uma leitura mais cética. Só use "Show HN:" quando o projeto for genuinamente novo. Sempre ofereça uma alternativa de título simples.
Títulos em primeira pessoa superam declarações anônimas. Primeira pessoa ("Eu…", "Meu…", "Nós…"): média de 291 pts (n=9). Declaração simples: média de 186 pts (n=126). Se a perspectiva do criador faz parte da história, comece com ela.
Perguntas geram mais comentários do que votos positivos. Títulos em forma de pergunta têm razão média de comentários-por-pontuação acima de 1,0×. Melhor para discussões, não para pontuação bruta. Pergunte ao usuário pelo que ele está otimizando antes de escrever.
Temas que consistentemente superam:
- Segurança / backdoor / histórias de violação: média de 308 pts
- Privacidade / vigilância / histórias de dados: média de 282 pts
- Lançamentos de IA / LLM: média de 266 pts (42 posts — maior categoria)
- Lançamentos de código aberto: média de 485 pts (n pequeno, mas sinal forte)
Os títulos com maior pontuação compartilham uma característica: são histórias, não tópicos. "Alguém comprou 30 plugins WordPress e plantou um backdoor em todos eles" — 1192 pts. "O Google quebrou sua promessa para mim – agora o ICE tem meus dados" — 1688 pts. Um tópico é "segurança de plugins WordPress". Uma história tem um ator, uma ação e consequências.
Passo 1: Faça uma pergunta ao usuário antes de qualquer outra coisa
Antes de rascunhar, pergunte:
"Duas perguntas rápidas:
- Você está otimizando para pontuação (alcance) ou comentários (discussão)?
- O que o projeto faz — uma frase, técnica, sem adjetivos?"
Não prossiga até ter ambas as respostas.
Passo 2: Determine o tipo de post correto
Com base no projeto e no objetivo, decida qual formato usar:
Título simples (padrão recomendado) Sem prefixo. Apenas o que é ou o que aconteceu. Maior pontuação média. Use ao: compartilhar um lançamento, artigo, ferramenta ou evento.
Prefixo Show HN: (use com moderação) Use apenas quando: o projeto é uma demonstração funcional, o criador está presente para responder perguntas, e a implementação técnica é a parte interessante. A pontuação média é baixa (94), mas sinaliza autenticidade quando o projeto é genuinamente novo. Sempre rascunhe também uma alternativa de título simples para comparação.
Prefixo Ask HN: Use quando: o objetivo é discussão, não promoção. Proporção média de engajamento > 1,0×. Melhor para posts como "quem está usando X?" ou "devo fazer Y?".
Prefixo Tell HN: Denúncia, prestação de contas ou divulgação. Um dado com 819 pts. Só use se o post for factual, verificável e o criador for nomeado.
Passo 3: Rascunhe o título
O título é o post inteiro. Trate o corpo como opcional.
Regras derivadas dos dados:
- Alvo abaixo de 40 caracteres. Cada 20 caracteres acima disso custa aproximadamente 30 pontos médios.
- Escreva uma história, não uma categoria. Ator + ação + consequências vence frases nominais.
- Primeira pessoa ("Eu…") adiciona ~100 pts médios em comparação com declaração simples quando a perspectiva do criador importa.
- Sem adjetivos de marketing. Nada de "rápido", "simples", "poderoso", "leve" a menos que seja uma especificação literal (ex.: "35B-A3B" é uma especificação, "poderoso" não é).
- Especificidade vence generalidade. "30 plugins WordPress" vence "plugins CMS populares".
- Ano entre colchetes sinaliza conteúdo clássico que vale a pena ler: (2008), (1956). Use ao vincular conteúdo mais antigo que envelheceu bem.
- Travessão (–) para formato de subtítulo: "Nome do Produto – o que faz". Não um hífen (-).
Rascunhe três variantes:
- A mais curta possível (mire abaixo de 35 caracteres) — remova tudo que não for essencial
- Ângulo de história — ator + ação + consequências
- Ângulo técnico — comece com a decisão de engenharia interessante
Em seguida, aplique o teste de comprimento: conte os caracteres de cada uma. Sinalize qualquer uma acima de 60.
Passo 4: Decida se deve escrever um corpo
Pergunte a si mesmo: a implementação técnica tem um detalhe que não cabe no título e que os engenheiros do HN considerariam genuinamente interessante?
Se sim: escreva um corpo (veja o Passo 5). Se não: pare no título. Nenhum corpo é melhor do que um corpo inflado.
Os dados mostram que corpos não aumentam a pontuação. A única razão para escrever um é se a implementação for interessante o suficiente para que engenheiros perguntem "como isso funciona?" e você queira responder antecipadamente.
Passo 5: Escreva o corpo (apenas se o Passo 4 disse sim)
Estrutura — mantenha enxuto:
Linha 1: Uma frase. O que você construiu e por quê. Primeira pessoa. Não "Apresentando X." Não "X é uma ferramenta que." Apenas: "Construí X porque Y."
Linhas 2–4: O verdadeiro motivo. Honesto. Específico. Foi um problema que você enfrentou? Algo frustrante no trabalho? Uma curiosidade? "Fiquei irritado porque..." é melhor do que "Desenvolvedores frequentemente lutam com...". A voz do criador é o ponto.
Linhas 5–8: Como realmente funciona. É para isso que o HN lê. Nomeie as escolhas tecnológicas específicas. Declare as compensações que você fez e por quê. Uma decisão de engenharia interessante vale mais do que uma lista de recursos.
Linha 9: Estado atual em uma frase. Código aberto? Gratuito? Alfa? Sozinho? Há quanto tempo você está trabalhando nisso.
Linha 10: Uma frase final convidando feedback ou perguntas. "Feliz em responder perguntas sobre a implementação." / "Críticas são bem-vindas." Nunca peça votos positivos, compartilhamentos ou inscrições.
Regras rígidas:
- 150–300 palavras. Abaixo de 200 geralmente é melhor.
- Primeira pessoa do início ao fim.
- Sem marcadores. Sem cabeçalhos. Sem negrito.
- Sem links no corpo. A URL vai no campo de envio.
- Sem palavras de marketing: inovador, revolucionário, poderoso, robusto, integrado, inovador, melhor da categoria, simplificar, alavancar, transformar, de ponta.
Passo 6: Autoverificação antes de apresentar
Percorra esta lista. Corrija qualquer falha antes de gerar a saída.
Título:
- Abaixo de 60 caracteres (conte-os)
- Sem adjetivos de marketing
- É uma história ou um tópico? (história = melhor)
- Primeira pessoa se a perspectiva do criador acrescentar algo
- Sem pontos de exclamação
Corpo (se escrito):
- Começa com "Construí…" ou "Nos últimos N meses…"
- Contém pelo menos um nome de tecnologia específica ou decisão de arquitetura
- Abaixo de 300 palavras
- Sem links
- Termina com convite a feedback, não chamada para ação
- Zero palavras de marketing (verifique a lista no Passo 5)
Tipo de post:
- Se usar prefixo Show HN: uma alternativa de título simples também foi rascunhada?
- Se o objetivo são comentários: é uma pergunta ou enquadramento divisivo?
- Se o objetivo é pontuação: é uma declaração, não uma pergunta?
Passo 7: Apresente a saída
Formate exatamente como abaixo. Nenhum comentário antes ou depois.
## Post HN
### Título recomendado
[título — a variante mais curta e forte]
### Títulos alternativos
1. [variante 2]
2. [variante 3]
---
### Corpo
[texto do corpo, ou "Não recomendado — o título é suficiente." se o Passo 4 disse sem corpo]
---
### Notas
- Objetivo: [pontuação / comentários] — baseado na resposta do usuário no Passo 1
- Tipo de post usado: [simples / Show HN / Ask HN / Tell HN]
- Comprimento do título: [N caracteres]
- Melhor horário para postar: Terça–Quinta, 8–10 AM Horário do Leste dos EUA
- Após postar: responda a todos os comentários nas primeiras duas horas
- Não compartilhe o link em outro lugar por 24 horas — o HN penaliza círculos de votação
Passo 8: Opcional — raspe os posts atuais do HN para contexto
Se o usuário quiser verificar se posts similares foram enviados recentemente, ou quiser ver o que está tendo bom desempenho em sua categoria agora, execute o raspador:
import requests
from concurrent.futures import ThreadPoolExecutor
HN_API = "https://hacker-news.firebaseio.com/v0"
def fetch_item(id_):
try:
r = requests.get(f"{HN_API}/item/{id_}.json", timeout=10)
return r.json() if r.ok else None
except Exception:
return None
ids = requests.get(f"{HN_API}/topstories.json").json()[:250]
with ThreadPoolExecutor(max_workers=20) as ex:
items = [i for i in ex.map(fetch_item, ids) if i]
# Filtre pela palavra-chave relevante ao projeto do usuário
keyword = "SUA_PALAVRA_CHAVE_AQUI"
matches = [i for i in items if keyword.lower() in i.get("title","").lower()]
for i, item in enumerate(matches, 1):
score = item.get("score", 0)
title = item.get("title", "")
by = item.get("by", "")
print(f"{i:>2}. [{score:>4}pts] {title} — {by}")
print(f"\nTotal correspondente: {len(matches)}")
Use os resultados para:
- Verificar se um post quase idêntico foi enviado nas últimas 48 horas (evitar duplicação)
- Ver quais padrões de título estão funcionando nesta categoria agora
- Identificar o piso de pontuação para esta área de tópico
Os resultados também são anexados ao arquivo hn_log.csv automaticamente se o raspador completo for usado.
Referência: melhores desempenhos observados do conjunto de dados
Estes são posts reais do topo 250. Estude os padrões dos títulos.
| Pontuação | Título |
|---|---|
| 1941 | Claude Opus 4.7 |
| 1688 | Google broke its promise to me – now ICE has my data |
| 1244 | Qwen3.6-35B-A3B: Agentic coding power, now open to all |
| 1192 | Someone bought 30 WordPress plugins and planted a backdoor in all of them |
| 1141 | DaVinci Resolve – Photo |
| 990 | Codex for almost everything |
| 982 | Stop Flock |
| 909 | A new spam policy for "back button hijacking" |
| 893 | GitHub Stacked PRs |
| 819 | Tell HN: Fiverr left customer files public and searchable |
| 668 | I wrote to Flock's privacy contact to opt out of their domestic spying program |
| 619 | Measuring Claude 4.7's tokenizer costs |
| 561 | God sleeps in the minerals |
| 503 | Want to write a compiler? Just read these two papers (2008) |
Melhores títulos Show HN (por pontuação): 341 | Show HN: Smol machines – subsecond coldstart, portable virtual machines 199 | Show HN: PanicLock – Close your MacBook lid disable TouchID → password unlock 187 | Show HN: Every CEO and CFO change at US public companies, live from SEC 177 | Show HN: I made a calculator that works over disjoint sets of intervals 152 | Show HN: MacMind – A transformer neural network in HyperCard on a 1989 Macintosh
Maiores proporções de comentários-por-pontuação (para posts otimizados para discussão): 1,91× | Why is IPv6 so complicated? 1,43× | Ask HN: Building a solo business is impossible? 1,20× | Ohio prison inmates built computers and hid them in ceiling 1,13× | Ask HN: Who is using OpenClaw? 1,05× | The future of everything is lies, I guess: Where do we go from here?