CommunityRédaction et éditiongithub.com

Varnan-Tech/opendirectory

Rédigez un post Show HN appuyé par des données réelles de performance HN. Utilise les schémas observés sur 250 meilleurs posts HN pour maximiser le score.

Qu'est-ce que opendirectory ?

Cette compétence pour agents IA (Claude Code, Cursor, Codex) aide à rédiger des posts Show HN, Ask HN, Tell HN ou des titres simples, en se basant sur l'analyse statistique de 250 posts ayant obtenu les meilleurs scores sur Hacker News (données du 18 avril 2026). Elle exploite des corrélations claires : les titres de moins de 40 caractères rapportent en moyenne 248 points, le corps du texte n'a pas d'impact significatif sur le score, le préfixe « Show HN » réduit le score moyen à 94 points tandis que les titres à la première personne culminent à 291 points. L'outil guide l'utilisateur à travers un processus en huit étapes : définition de l'objectif (score ou commentaires), choix du type de post, rédaction de trois variantes de titre, décision sur l'opportunité d'un corps de texte, rédaction si nécessaire, auto-vérification, présentation formatée, et optionnellement scraping des posts HN actuels pour valider le contexte. Il fournit également une référence de titres performants et des conseils sur les meilleurs moments de publication.

Compatible avec✓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 Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Rédacteur Show HN — Édition appuyée par les données

Cette compétence rédige des posts HN en utilisant des schémas extraits de 250 posts réels les mieux classés. Chaque règle ci-dessous provient de données observées, pas de conventions.


Ce que disent les données (à internaliser avant d'écrire quoi que ce soit)

Voici les résultats de l'analyse de 250 posts HN les mieux classés, collectés le 18 avril 2026. Ils remplacent toute sagesse reçue sur l'écriture pour HN.

La longueur du titre est le prédicteur le plus fort du score.

  • Moins de 40 caractères : moyenne 248 pts (n=82)
  • 40–59 caractères : moyenne 192 pts (n=68)
  • 60–79 caractères : moyenne 150 pts (n=91)
  • 80+ caractères : moyenne 131 pts (n=9) Objectif par défaut : moins de 40 caractères. Plafond dur : 60.

Le corps du texte n'affecte pas le score. 90 % des posts n'avaient pas de corps. Moyenne avec corps : 189. Moyenne sans corps : 193. Statistiquement identique. Un corps ne vaut la peine d'être écrit que si vous avez un détail technique vraiment intéressant qui ne tient pas dans le titre. N'écrivez jamais un corps pour paraître crédible.

Le préfixe Show HN réduit le score. Les posts Show HN ont une moyenne de 94 pts contre 186+ pour les déclarations simples. Le label signale « Je veux des retours sur mon truc » ce qui déclenche une lecture plus sceptique. N'utilisez « Show HN : » que lorsque le projet est véritablement novateur. Proposez toujours une alternative sans préfixe.

Les titres à la première personne surpassent les déclarations anonymes. Première personne (« J'ai… », « Mon… », « Nous… ») : moyenne 291 pts (n=9). Déclaration simple : moyenne 186 pts (n=126). Si le point de vue du créateur fait partie de l'histoire, commencez par là.

Les questions génèrent plus de commentaires que de votes. Les titres sous forme de question ont un ratio commentaires/score moyen supérieur à 1,0×. Meilleurs pour les discussions, pas pour le score brut. Demandez à l'utilisateur pour quel objectif il optimise avant d'écrire.

Les thèmes qui performent systématiquement :

  • Sécurité / backdoor / brèche : moyenne 308 pts
  • Vie privée / surveillance / données : moyenne 282 pts
  • IA / sorties LLM : moyenne 266 pts (42 posts — plus grande catégorie)
  • Sorties open source : moyenne 485 pts (petit n, mais signal fort)

Les titres les plus performants partagent un trait : ce sont des histoires, pas des sujets. « Quelqu'un a acheté 30 plugins WordPress et a planté une backdoor dans chacun d'eux » — 1192 pts. « Google a brisé sa promesse envers moi – maintenant ICE a mes données » — 1688 pts. Un sujet, c'est « Sécurité des plugins WordPress ». Une histoire a un acteur, une action et des enjeux.


Étape 1 : Poser une question à l'utilisateur avant toute chose

Avant de rédiger, demandez :

« Deux petites questions :

  1. Optimisez-vous pour le score (portée) ou les commentaires (discussion) ?
  2. Que fait le projet — une phrase, technique, sans adjectifs ? »

Ne continuez pas tant que vous n'avez pas les deux réponses.


Étape 2 : Déterminer le type de post approprié

En fonction du projet et de l'objectif, choisissez le format à utiliser :

Titre simple (recommandé par défaut) Pas de préfixe. Juste ce que c'est ou ce qui s'est passé. Score moyen le plus élevé. À utiliser pour : partager une sortie, un article, un outil ou un événement.

Préfixe Show HN : (à utiliser avec parcimonie) À utiliser uniquement quand : le projet est une démo fonctionnelle, le créateur est présent pour répondre aux questions, et l'implémentation technique est la partie intéressante. Le score moyen est bas (94), mais il signale l'authenticité quand le projet est véritablement novateur. Toujours rédiger aussi une alternative sans préfixe pour comparaison.

Préfixe Ask HN : À utiliser quand : l'objectif est la discussion, pas la promotion. Ratio d'engagement moyen > 1,0×. Meilleur pour les posts « Qui utilise X ? » ou « Devrais-je faire Y ? ».

Préfixe Tell HN : Lancement d'alerte, responsabilisation ou divulgation. Un point de données à 819 pts. À utiliser uniquement si le post est factuel, vérifiable et que le créateur est nommé.


Étape 3 : Rédiger le titre

Le titre est l'intégralité du post. Considérez le corps comme facultatif.

Règles dérivées des données :

  • Visez moins de 40 caractères. Chaque 20 caractères supplémentaires coûte environ 30 points de moyenne.
  • Écrivez une histoire, pas une catégorie. Acteur + action + enjeux bat les groupes nominaux.
  • La première personne (« J'ai… ») ajoute ~100 pts de moyenne par rapport à une déclaration simple quand le point de vue du créateur compte.
  • Pas d'adjectifs marketing. Pas « rapide », « simple », « puissant », « léger » sauf s'il s'agit d'une spécification littérale (ex. « 35B-A3B » est une spécification, « puissant » non).
  • La spécificité bat la généralité. « 30 plugins WordPress » bat « plugins CMS populaires ».
  • L'année entre parenthèses signale un intérêt durable : (2008), (1956). À utiliser pour du contenu plus ancien qui a bien vieilli.
  • Tiret cadratin (–) pour le format sous-titre : « Nom du produit – ce qu'il fait ». Pas un trait d'union (-).

Rédigez trois variantes :

  1. La plus courte possible (visez moins de 35 caractères) — retirez tout ce qui n'est pas essentiel
  2. Angle histoire — acteur + action + enjeux
  3. Angle technique — commencez par la décision d'ingénierie intéressante

Ensuite, appliquez le test de longueur : comptez les caractères de chaque variante. Signalez toute variante dépassant 60.


Étape 4 : Décider s'il faut écrire un corps

Demandez-vous : l'implémentation technique a-t-elle un détail qui ne tient pas dans le titre et que les ingénieurs de HN trouveraient vraiment intéressant ?

Si oui : écrivez un corps (voir Étape 5). Si non : arrêtez-vous au titre. Pas de corps vaut mieux qu'un corps artificiel.

Les données montrent que les corps n'augmentent pas le score. La seule raison d'en écrire un est si l'implémentation est suffisamment intéressante pour que les ingénieurs demandent « comment ça marche ? » et que vous souhaitiez répondre par avance.


Étape 5 : Rédiger le corps (uniquement si l'Étape 4 a dit oui)

Structure — restez concis :

Ligne 1 : Une phrase. Ce que vous avez construit et pourquoi. À la première personne. Pas « Présentation de X. » Pas « X est un outil qui. » Juste : « J'ai construit X parce que Y. »

Lignes 2–4 : La vraie raison. Honnête. Spécifique. Était-ce un problème que vous avez rencontré vous-même ? Quelque chose de frustrant au travail ? Une curiosité ? « J'étais agacé que… » est mieux que « Les développeurs ont souvent du mal avec… ». La voix du créateur est le point essentiel.

Lignes 5–8 : Comment ça marche concrètement. C'est ce que HN lit. Nommez les choix technologiques spécifiques. Indiquez les compromis que vous avez faits et pourquoi. Une décision d'ingénierie intéressante vaut plus qu'une liste de fonctionnalités.

Ligne 9 : État actuel en une phrase. Open source ? Gratuit ? Alpha ? En solo ? Depuis combien de temps vous travaillez dessus.

Ligne 10 : Une phrase de conclusion invitant aux retours ou aux questions. « Heureux de répondre aux questions sur l'implémentation. » / « Les critiques sont les bienvenues. » Ne demandez jamais de votes, de partages ou d'inscriptions.

Règles strictes :

  • 150–300 mots. Moins de 200 est généralement mieux.
  • Première personne tout du long.
  • Pas de listes à puces. Pas d'en-têtes. Pas de gras.
  • Pas de liens dans le corps. L'URL va dans le champ de soumission.
  • Pas de mots marketing : révolutionnaire, puissant, robuste, transparent, innovant, meilleur de sa catégorie, simplifier, exploiter, transformer, de pointe.

Étape 6 : Auto-vérification avant de présenter

Parcourez cette liste. Corrigez tout ce qui ne va pas avant d'afficher.

Titre :

  • Moins de 60 caractères (comptez-les)
  • Pas d'adjectifs marketing
  • Est-ce une histoire ou un sujet ? (histoire = mieux)
  • Première personne si le point de vue du créateur ajoute quelque chose
  • Pas de points d'exclamation

Corps (si écrit) :

  • Commence par « J'ai construit… » ou « Depuis N mois… »
  • Contient au moins un nom de technologie spécifique ou une décision d'architecture
  • Moins de 300 mots
  • Pas de liens
  • Se termine par une invitation aux retours, pas un appel à l'action
  • Zéro mot marketing (vérifiez la liste de l'Étape 5)

Type de post :

  • Si utilisation du préfixe Show HN : une alternative sans préfixe est-elle aussi rédigée ?
  • Si l'objectif est les commentaires : est-ce une question ou un cadrage clivant ?
  • Si l'objectif est le score : est-ce une déclaration, pas une question ?

Étape 7 : Présenter le résultat

Formatez exactement comme suit. Aucun commentaire avant ou après.

## Post HN

### Titre recommandé
[titre — la variante la plus courte et la plus forte]

### Titres alternatifs
1. [variante 2]
2. [variante 3]

---

### Corps
[texte du corps, ou « Non recommandé — le titre suffit. » si l'Étape 4 a dit non]

---

### Notes
- Objectif : [score / commentaires] — basé sur la réponse de l'utilisateur à l'Étape 1
- Type de post utilisé : [simple / Show HN / Ask HN / Tell HN]
- Longueur du titre : [N caractères]
- Meilleur moment pour poster : mardi–jeudi, 8–10 h US Eastern
- Après publication : répondez à chaque commentaire dans les deux premières heures
- Ne partagez le lien ailleurs qu'après 24 heures — HN pénalise les réseaux de votes

Étape 8 : Facultatif — scraper les meilleurs posts HN actuels pour le contexte

Si l'utilisateur veut vérifier si des posts similaires ont été soumis récemment, ou voir ce qui performe dans leur catégorie en ce moment, exécutez le scraper :

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]

# Filtrer par mot-clé pertinent pour le projet de l'utilisateur
keyword = "VOTRE_MOT_CLÉ_ICI"
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 correspondant : {len(matches)}")

Utilisez les résultats pour :

  • Vérifier si un post quasi identique a été soumis au cours des 48 dernières heures (éviter les doublons)
  • Voir quels schémas de titres fonctionnent dans cette catégorie en ce moment
  • Identifier le plancher de score pour ce sujet

Les résultats sont également ajoutés automatiquement à hn_log.csv si le scraper complet est utilisé.


Référence : meilleurs performeurs observés dans le jeu de données

Voici des posts réels du top 250. Étudiez les schémas de titres.

ScoreTitre
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)

Meilleurs titres Show HN (par score) : 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

Meilleurs ratios commentaires/score (pour les posts optimisés pour la discussion) : 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.

Skills associés