> ## Documentation Index
> Fetch the complete documentation index at: https://www.opendirectory.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# show-hn-writer

> Draft a Show HN post (title + body) that follows Hacker News norms: specific, honest, first-person, no marketing. Generates three title variants and a comple...

<Info>
  **Category:** Launch · **Version:** `2.0.0` · **Author:** `Varnan / Paras Madan` · **Compatibility:** All targets (claude, codex, opencode, gemini, anti-gravity, openclaw, hermes)
</Info>

<img width="1280" height="640" alt="show-hn-writer" src="https://github.com/user-attachments/assets/224030e0-c3e0-499c-98d4-a049d7dddc51" />

Draft a Show HN post (title + body) that follows Hacker News norms: specific, honest, first-person, no marketing. Generates three title variants and a complete body, then runs a Gemini review to catch HN anti-patterns before you post.

## Install

<Tabs>
  <Tab title="npx CLI (Recommended)">
    ```bash theme={null}
    npx "@opendirectory.dev/skills" install show-hn-writer --target claude
    ```
  </Tab>

  <Tab title="skills.sh">
    ```bash theme={null}
    npx skills add Varnan-Tech/opendirectory --skill show-hn-writer
    ```
  </Tab>

  <Tab title="Claude Code Native">
    ```bash theme={null}
    /plugin marketplace add Varnan-Tech/opendirectory
    /plugin install opendirectory-gtm-skills@opendirectory-marketplace
    ```
  </Tab>

  <Tab title="Claude Desktop">
    <video controls className="w-full aspect-video rounded-xl mb-4" src="https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c" />

    1. Copy `https://github.com/Varnan-Tech/opendirectory/tree/main/skills/show-hn-writer` into [download-directory.github.io](https://download-directory.github.io/) to download the ZIP.
    2. Open **Claude Desktop** -> **Customize** -> **Skills** -> **+** -> **Upload a skill** and drop the folder containing `SKILL.md`.
  </Tab>

  <Tab title="Manus AI">
    <video controls className="w-full aspect-video rounded-xl mb-4" src="https://github.com/user-attachments/assets/17cbee2a-9e17-4bd4-ac46-68e0e92ffab4" />

    [**Install show-hn-writer in Manus AI**](https://manus.im/import-skills?githubUrl=https%3A%2F%2Fgithub.com%2FVarnan-Tech%2Fopendirectory%2Ftree%2Fmain%2Fskills%2Fshow-hn-writer\&utm_source=opendirectory)
  </Tab>
</Tabs>

## What It Does

* Reads your project context (from README or your answers)
* Drafts three Show HN title variants in different formats
* Writes a 150-350 word body following HN community norms
* Uses Gemini to flag marketing language, vague descriptions, or other HN anti-patterns
* Runs a self-QA checklist before presenting output
* Includes submission notes (timing, first-comment strategy, resubmission rules)

## Requirements

| Requirement | Purpose | How to Set Up |
| - | - | - |
| Gemini API key (optional) | Automated draft review for HN anti-patterns | aistudio.google.com, Get API key |

The skill works without Gemini: it runs the manual self-QA checklist instead.

## Setup

```bash theme={null}
cp .env.example .env
# Add GEMINI_API_KEY if you want automated review (optional)
```

## How to Use

From a README:

```
"Write a Show HN post for my project"
"Help me launch on Hacker News"
"Draft a Show HN for the project in this repo"
```

With explicit context:

```
"Write a Show HN post for [project name]: [what it does]. I built it because [reason]."
```

For a specific title format:

```
"Write a Show HN title for my CLI tool that converts JSON to TypeScript interfaces"
```

## Show HN Title Formats

| Format | Example | Best For |
| - | - | - |
| Product-First | `Show HN: Datasette – Instantly publish SQLite databases to the web` | Single-function tools |
| Outcome-Focused | `Show HN: Jitsi – Group video calls without an account` | Tools replacing something painful |
| Technical-Angle | `Show HN: Bun – JavaScript runtime built in Zig` | Dev tools where the implementation matters |
| Experiment | `Show HN: Ink – React for command-line apps` | Projects challenging a convention |

## What Makes a Good Show HN Post

**Title:** 60-80 characters. Starts with "Show HN:". En dash separator. No adjectives.

**Body:** First-person. 150-350 words. At least one technical detail. Honest about limitations. Ends with an invitation for feedback, not a CTA.

**What kills HN posts:**

* Vague titles ("Show HN: I built a thing for developers")
* Marketing adjectives ("fast", "simple", "powerful")
* Asking for upvotes
* Body that reads like a product page

## Project Structure

```
show-hn-writer/
├── SKILL.md
├── README.md
├── .env.example
├── evals/
│   └── evals.json
└── references/
    ├── hn-rules.md
    └── title-formulas.md
```

## License

MIT


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.