Escritor de Show HN — Edición Basada en Datos
Esta habilidad redacta publicaciones de HN utilizando patrones extraídos de 250 publicaciones reales con las mejores puntuaciones. Cada regla proviene de datos observados, no de convenciones.
Lo que dicen los datos (internaliza esto antes de escribir nada)
Estos son los hallazgos de las 250 mejores publicaciones de HN rastreadas el 18 de abril de 2026. Invalidan cualquier conocimiento previo sobre la escritura en HN.
La longitud del título es el predictor más fuerte de la puntuación.
- Menos de 40 caracteres: promedio 248 pts (n=82)
- 40–59 caracteres: promedio 192 pts (n=68)
- 60–79 caracteres: promedio 150 pts (n=91)
- 80+ caracteres: promedio 131 pts (n=9) Objetivo predeterminado: menos de 40 caracteres. Límite estricto: 60.
El texto del cuerpo no afecta la puntuación. El 90% de las publicaciones no tenían cuerpo. Promedio con cuerpo: 189. Promedio sin cuerpo: 193. Estadísticamente idénticos. Solo vale la pena escribir un cuerpo si tienes un detalle técnico genuinamente interesante que no quepa en el título. Nunca escribas un cuerpo para aparentar credibilidad.
El prefijo Show HN suprime la puntuación. Las publicaciones Show HN promediaron 94 pts frente a 186+ de las declaraciones simples. La etiqueta indica "Quiero comentarios sobre mi proyecto", lo que provoca una lectura más escéptica. Usa "Show HN:" solo cuando el proyecto sea genuinamente novedoso. Ofrece siempre una alternativa sin prefijo.
Los títulos en primera persona superan a las declaraciones anónimas. Primera persona ("Yo…", "Mi…", "Nuestro…"): promedio 291 pts (n=9). Declaración simple: promedio 186 pts (n=126). Si la perspectiva del creador es parte de la historia, lidera con ella.
Las preguntas generan más comentarios que votos. Los títulos en forma de pregunta tienen una relación promedio comentarios-puntuación superior a 1,0×. Ideales para debates, no para puntuación bruta. Pregunta al usuario por qué optimiza antes de escribir.
Temáticas que consistentemente superan:
- Historias de seguridad / puertas traseras / brechas: promedio 308 pts
- Historias de privacidad / vigilancia / datos: promedio 282 pts
- Lanzamientos de IA / LLM: promedio 266 pts (42 publicaciones — categoría más grande)
- Lanzamientos de código abierto: promedio 485 pts (n pequeño, pero señal fuerte)
Los títulos con mayor puntuación comparten un rasgo: son historias, no temas. "Alguien compró 30 plugins de WordPress y plantó una puerta trasera en todos ellos" — 1192 pts. "Google rompió su promesa conmigo – ahora ICE tiene mis datos" — 1688 pts. Un tema es "seguridad de plugins de WordPress". Una historia tiene un actor, una acción y consecuencias.
Paso 1: Haz al usuario una pregunta antes de cualquier cosa
Antes de redactar, pregunta:
"Dos preguntas rápidas:
- ¿Estás optimizando para puntuación (alcance) o comentarios (discusión)?
- ¿Qué hace el proyecto? — una frase, técnica, sin adjetivos."
No continúes hasta que tengas ambas respuestas.
Paso 2: Determina el tipo de publicación correcto
Basado en el proyecto y el objetivo, decide qué formato usar:
Título simple (recomendado por defecto) Sin prefijo. Solo lo que es o lo que ocurrió. Mayor puntuación promedio. Úsalo cuando: compartes un lanzamiento, artículo, herramienta o evento.
Prefijo Show HN: (úsalo con moderación) Úsalo solo cuando: el proyecto es un demo funcional, el creador está presente para responder preguntas y la implementación técnica es la parte interesante. La puntuación promedio es baja (94), pero indica autenticidad cuando el proyecto es genuinamente novedoso. Redacta siempre también una alternativa de título simple para comparar.
Prefijo Ask HN: Úsalo cuando: el objetivo es la discusión, no la promoción. Relación de engagement promedio > 1,0×. Ideal para publicaciones como "¿quién usa X?" o "¿debería hacer Y?".
Prefijo Tell HN: Denuncias, rendición de cuentas o revelaciones. Un dato con 819 pts. Úsalo solo si la publicación es factual, verificable y el creador está identificado.
Paso 3: Redacta el título
El título es toda la publicación. Trata el cuerpo como opcional.
Reglas derivadas de datos:
- Apunta a menos de 40 caracteres. Cada 20 caracteres por encima cuesta aproximadamente 30 puntos promedio.
- Escribe una historia, no una categoría. Actor + acción + consecuencias supera a frases nominales.
- La primera persona ("Yo…") añade ~100 pts promedio frente a declaraciones simples cuando la perspectiva del creador importa.
- Sin adjetivos de marketing. No "rápido", "simple", "potente", "ligero" a menos que sea una especificación literal (ej. "35B-A3B" es una especificación, "potente" no lo es).
- Especificidad supera a generalidad. "30 plugins de WordPress" supera a "plugins de CMS populares".
- El año entre corchetes indica clásico que vale la pena leer: (2008), (1956). Úsalo al enlazar contenido antiguo que ha envejecido bien.
- Guión largo (–) para formato de subtítulo: "Nombre del Producto – qué hace". No un guión corto (-).
Redacta tres variantes:
- Lo más corto posible (apunta a menos de 35 caracteres) — elimina todo lo no esencial
- Ángulo narrativo — actor + acción + consecuencias
- Ángulo técnico — lidera con la decisión de ingeniería interesante
Luego aplica la prueba de longitud: cuenta los caracteres en cada una. Marca cualquier que supere 60.
Paso 4: Decide si escribir un cuerpo
Pregúntate: ¿la implementación técnica tiene un detalle que no cabe en el título y que los ingenieros de HN encontrarían genuinamente interesante?
Si sí: escribe un cuerpo (ver Paso 5). Si no: detente en el título. Ningún cuerpo es mejor que un cuerpo inflado.
Los datos muestran que los cuerpos no aumentan la puntuación. La única razón para escribir uno es si la implementación es lo suficientemente interesante como para que los ingenieros pregunten "¿cómo funciona esto?" y quieras responder de antemano.
Paso 5: Escribe el cuerpo (solo si el Paso 4 dijo que sí)
Estructura — mantenlo ajustado:
Línea 1: Una frase. Lo que construiste y por qué. En primera persona. No "Presentando X." No "X es una herramienta que." Simplemente: "Construí X porque Y."
Líneas 2–4: La razón real. Honesta. Específica. ¿Fue un problema que tú mismo enfrentaste? ¿Algo frustrante en el trabajo? ¿Una curiosidad? "Me molestaba que..." es mejor que "Los desarrolladores a menudo luchan con...". La voz del creador es el punto.
Líneas 5–8: Cómo funciona realmente. Esto es lo que HN lee. Nombra las opciones tecnológicas específicas. Indica las compensaciones que hiciste y por qué. Una decisión de ingeniería interesante vale más que una lista de características.
Línea 9: Estado actual en una frase. ¿Código abierto? ¿Gratuito? ¿Alfa? ¿En solitario? ¿Cuánto tiempo llevas trabajando en ello?
Línea 10: Una frase final para invitar comentarios o preguntas. "Feliz de responder preguntas sobre la implementación." / "Críticas bienvenidas." Nunca pidas votos, compartidos o registros.
Reglas estrictas:
- 150–300 palabras. Menos de 200 suele ser mejor.
- Primera persona en todo momento.
- Sin viñetas. Sin encabezados. Sin negritas.
- Sin enlaces en el cuerpo. La URL va en el campo de envío.
- Sin palabras de marketing: innovador, revolucionario, potente, robusto, sin fisuras, vanguardista, de última generación, optimizar, apalancar, transformar.
Paso 6: Autoevaluación antes de presentar
Revisa esta lista. Corrige cualquier fallo antes de generar la salida.
Título:
- Menos de 60 caracteres (cuéntalos)
- Sin adjetivos de marketing
- ¿Es una historia o un tema? (historia = mejor)
- Primera persona si la perspectiva del creador añade algo
- Sin signos de exclamación
Cuerpo (si está escrito):
- Comienza con "Construí…" o "Durante los últimos N meses…"
- Contiene al menos un nombre de tecnología específica o decisión de arquitectura
- Menos de 300 palabras
- Sin enlaces
- Termina con una invitación a comentarios, no una llamada a la acción
- Cero palabras de marketing (revisa la lista en el Paso 5)
Tipo de publicación:
- Si se usa el prefijo Show HN: ¿se ha redactado también una alternativa de título simple?
- Si el objetivo son comentarios: ¿es una pregunta o un enfoque divisivo?
- Si el objetivo es puntuación: ¿es una declaración, no una pregunta?
Paso 7: Presenta la salida
Formato exactamente como sigue. Sin comentarios antes ni después.
## Publicación HN
### Título recomendado
[título — la variante más corta y fuerte]
### Títulos alternativos
1. [variante 2]
2. [variante 3]
---
### Cuerpo
[texto del cuerpo, o "No recomendado — el título es suficiente." si el Paso 4 dijo que no]
---
### Notas
- Objetivo: [puntuación / comentarios] — basado en la respuesta del usuario en el Paso 1
- Tipo de publicación usado: [simple / Show HN / Ask HN / Tell HN]
- Longitud del título: [N caracteres]
- Mejor momento para publicar: martes–jueves, 8–10 AM hora del este de EE. UU.
- Después de publicar: responde a todos los comentarios en las primeras dos horas
- No compartas el enlace en otro lugar durante 24 horas — HN penaliza las redes de votos
Paso 8: Opcional — raspa las publicaciones principales actuales de HN para contexto
Si el usuario quiere verificar si se han enviado publicaciones similares recientemente, o quiere ver qué está funcionando en su categoría ahora mismo, ejecuta el 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]
# Filtra por palabra clave relevante al proyecto del usuario
keyword = "TU_PALABRA_CLAVE_AQUÍ"
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 coincidencias: {len(matches)}")
Usa los resultados para:
- Verificar si se envió una publicación casi idéntica en las últimas 48 horas (evitar duplicación)
- Observar qué patrones de título están teniendo éxito en esta categoría ahora mismo
- Identificar el umbral de puntuación para esta área temática
Los resultados también se añaden a hn_log.csv automáticamente si se usa el raspador completo.
Referencia: mejores rendimientos observados del conjunto de datos
Estas son publicaciones reales del top 250. Estudia los patrones de título.
| Puntuación | 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) |
Mejores títulos Show HN (por puntuación): 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
Mayores relaciones comentarios-puntuación (para publicaciones optimizadas para discusión): 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?