CommunityEscrita e Ediçãogithub.com

Show HN Writer — Edição Baseada em Dados

Elabore um post Show HN com base em dados reais de desempenho do HN. Usa padrões observados de 250 posts de destaque para maximizar a pontuação.

O que é Show HN Writer — Edição Baseada em Dados?

Esta skill capacita o agente a redigir posts para o Hacker News (HN) com base em uma análise estatística de 250 posts de alto desempenho. Ela substitui a sabedoria convencional por regras derivadas de dados, como o impacto crítico do comprimento do título (alvo abaixo de 40 caracteres), a ineficácia de corpos de texto, a penalidade do prefixo 'Show HN' (que reduz a pontuação média) e a vantagem de títulos em primeira pessoa. A habilidade orienta o agente a primeiro perguntar ao usuário se o objetivo é maximizar pontuação ou gerar discussão, e então escolher o formato de post adequado (título simples, Show HN, Ask HN ou Tell HN). O resultado é um rascunho com título e, opcionalmente, um corpo curto, seguindo critérios rigorosos de verificação. A skill também oferece a opção de raspar os posts atuais do HN para verificar concorrência e tendências, garantindo que o post final seja baseado em dados recentes e evite duplicatas.

Funciona com✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/show-hn-writer

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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:

  1. Você está otimizando para pontuação (alcance) ou comentários (discussão)?
  2. 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:

  1. A mais curta possível (mire abaixo de 35 caracteres) — remova tudo que não for essencial
  2. Ângulo de história — ator + ação + consequências
  3. Â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çãoTítulo
1941Claude Opus 4.7
1688Google broke its promise to me – now ICE has my data
1244Qwen3.6-35B-A3B: Agentic coding power, now open to all
1192Someone bought 30 WordPress plugins and planted a backdoor in all of them
1141DaVinci Resolve – Photo
990Codex for almost everything
982Stop Flock
909A new spam policy for "back button hijacking"
893GitHub Stacked PRs
819Tell HN: Fiverr left customer files public and searchable
668I wrote to Flock's privacy contact to opt out of their domestic spying program
619Measuring Claude 4.7's tokenizer costs
561God sleeps in the minerals
503Want 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?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

Habilidades Relacionadas