Community写作与编辑github.com

Varnan-Tech/opendirectory

基于HN真实表现数据草拟Show HN帖子。利用250个顶级HN帖子的观察模式来最大化得分。

opendirectory 是什么?

该技能利用从250个真实高排名Hacker News帖子中提取的数据驱动模式,帮助用户草拟能获得更高评分的HN发帖内容。它基于2026年4月18日抓取的数据进行分析,发现标题长度是评分最强的预测指标(40字符以下平均得分为248分),而正文内容对得分没有实质影响。该技能支持多种发帖形式(普通贴、Show HN、Ask HN、Tell HN),并根据用户优化目标(得分或评论)提供针对性建议。它提供了具体的标题撰写规则(如使用叙事结构而非主题、优先使用第一人称)、正文写作指南(仅当技术细节无法在标题中体现时才写),以及最终输出的自检清单,确保用户能生成符合HN社区偏好的高质量帖子。

兼容平台✓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 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Show HN 撰写助手 — 数据驱动版

本技能根据从250个真实高排名HN帖子中提取的模式来草拟HN帖子。 以下每条规则均来自观察数据,而非传统惯例。


数据告诉我们什么(在写任何东西之前先内化这些)

以下结论来自2026年4月18日抓取的250个高排名HN帖子。它们将覆盖任何关于HN写作的传统智慧。

标题长度是分数最强的单一预测指标。

  • 40字符以下:平均248分 (n=82)
  • 40–59字符:平均192分 (n=68)
  • 60–79字符:平均150分 (n=91)
  • 80+字符:平均131分 (n=9) 默认目标:40字符以内。硬性上限:60字符。

正文文本不影响评分。 90%的帖子没有正文。有正文的平均分:189。无正文的平均分:193。统计学上无差异。只有在标题无法容纳真正有趣的技术细节时,才值得写正文。切勿为增加可信度而写正文。

Show HN 前缀会抑制评分。 Show HN帖子平均得分为94分,而普通声明的平均分在186分以上。这个标签暗示“我想就我的作品获得反馈”,从而引发更挑剔的阅读态度。仅当项目确实新颖时才使用“Show HN:”。务必同时提供一个纯标题的备选方案。

第一人称标题优于匿名陈述。 第一人称(“我…”、“我的…”、“我们…”):平均291分 (n=9)。 普通陈述:平均186分 (n=126)。 如果构建者的视角是故事的一部分,就用它开头。

问题型标题更能引发评论而非点赞。 问题型标题的平均评论/分数比例高于1.0倍。最适合讨论,而非追求高分。写作前先询问用户他们优化的是哪个目标。

持续表现优异的主题:

  • 安全/后门/入侵事件:平均308分
  • 隐私/监控/数据故事:平均282分
  • AI/LLM发布:平均266分(42个帖子——最大类别)
  • 开源发布:平均485分(样本量小,但信号强)

得分最高的标题有一个共同特征:它们是故事,而非主题。 “有人购买了30个WordPress插件并在其中全部植入了后门”——1192分。 “Google违背了对我的承诺——现在ICE掌握着我的数据”——1688分。 主题是“WordPress插件安全”。故事则有行动者、行动和利害关系。


第一步:在草拟之前先问用户一个问题

在草拟之前,先提问:

“两个小问题:

  1. 您优化的是分数(影响力)还是评论(讨论)?
  2. 您的项目是做什么的——用一句话技术性地描述,不加形容词。”

在得到两个答案之前,不要继续。


第二步:确定正确的发帖类型

根据项目和目标,决定使用哪种格式:

纯标题(推荐默认) 无前缀。直接说明是什么或发生了什么。平均分最高。 适用场景:分享发布、文章、工具或事件。

Show HN: 前缀(谨慎使用) 仅在以下情况使用:项目是可工作的演示,构建者在线并愿意回答问题,且技术实现是亮点。 平均分较低(94分),但当项目确实新颖时,它能传达真实性。 务必同时草拟一个纯标题的备选方案以供比较。

Ask HN: 前缀 适用场景:目标是引发讨论而非推广。平均互动比例 > 1.0倍。 最适合“谁在用X?”或“我该做Y吗?”这类帖子。

Tell HN: 前缀 适用于揭发、问责或披露。有一个数据点为819分。 仅在帖子内容真实、可验证且列明构建者时使用。


第三步:草拟标题

标题就是整个帖子。 把正文视为可选项。

基于数据的规则:

  • 目标:40字符以内。每超出20字符,平均分大约下降30分。
  • 写故事,而非类别。行动者+行动+利害关系优于名词短语。
  • 当构建者的视角很重要时,第一人称(“我…”)相比普通陈述平均增加约100分。
  • 无营销形容词。除非是字面规格(例如“35B-A3B”是规格,“强大”则不是),否则不要用“快”、“简单”、“强大”、“轻量”等词。
  • 具体优于泛化。“30个WordPress插件”优于“流行的CMS插件”。
  • 方括号内的年份代表经典之作:(2008)、(1956)。用于链接经得起时间考验的旧内容时使用。
  • 使用短破折号(–)表示副标题格式:“产品名称 – 功能”。不要用连字符(-)。

草拟三个变体:

  1. 尽量简短(目标35字符以内)——去掉所有非必要内容
  2. 故事角度——行动者+行动+利害关系
  3. 技术角度——从最有趣的工程决策入手

然后应用长度测试:计算每个变体的字符数。标记任何超过60字符的变体。


第四步:决定是否写正文

问自己:技术实现是否包含无法在标题中容纳、且HN工程师会真正觉得有趣的细节?

如果是:写正文(见第五步)。 如果否:就在标题处停止。没有正文比有填充内容的正文更好。

数据显示正文不会提高分数。写正文的唯一理由是,实现部分足够有趣,以至于工程师会问“这是怎么工作的?”并且你想预先回答这个问题。


第五步:写正文(仅当第四步答案为是)

结构——保持紧凑:

**第一行:**一句话。你做了什么以及为什么。使用第一人称。 不要用“介绍X。”不要用“X是一个工具,它…”。只需:“我构建了X,因为Y。”

**第2–4行:**真正的原因。诚实。具体。是你自己遇到的问题吗?工作中令人沮丧的事情?好奇心?“我因为…而烦恼”优于“开发者常常面临…”。构建者的声音是关键。

**第5–8行:**实际工作原理。这是HN用户会仔细阅读的部分。 指出具体的技术选择。说明你做出的权衡及其原因。一个有趣的工程决策胜过一长串功能列表。

**第9行:**用一句话描述当前状态。开源?免费?Alpha版?单人项目?你工作了多长时间。

**第10行:**一句结束语,邀请反馈或提问。 “乐意回答关于实现的任何问题。”/“欢迎批评。” 切勿要求点赞、分享或注册。

硬性规则:

  • 150–300词。通常200词以内更好。
  • 全篇使用第一人称。
  • 无项目符号。无标题。无加粗。
  • 正文中无链接。URL放在提交字段中。
  • 无营销词汇:game-changing, revolutionary, powerful, robust, seamless, innovative, best-in-class, streamline, leverage, transform, cutting-edge。

第六步:呈现前自我检查

逐项检查列表。在输出前修复任何不合格项。

标题:

  • 60字符以内(数一下)
  • 无营销形容词
  • 是故事还是主题?(故事 = 更好)
  • 如果构建者的视角能增加价值,则使用第一人称
  • 无感叹号

正文(如果写了):

  • 以“我构建了…”或“在过去的N个月里…”开头
  • 至少包含一个具体的技术名称或架构决策
  • 300词以内
  • 无链接
  • 以反馈邀请结尾,而非行动号召
  • 零个营销词汇(对照第五步中的列表检查)

发帖类型:

  • 如果使用Show HN前缀:是否也草拟了纯标题的备选方案?
  • 如果目标是评论:是问题型还是对立型框架?
  • 如果目标是分数:是陈述句,而非疑问句?

第七步:呈现输出

严格按以下格式输出。前后无任何额外说明。

## HN 帖子

### 推荐标题
[标题 — 最短、最强的变体]

### 备选标题
1. [变体 2]
2. [变体 3]

---

### 正文
[正文文本,如果第四步答案为否,则写“不推荐 — 标题已足够。”]

---

### 说明
- 目标:[分数 / 评论] — 基于用户在第一步的回答
- 使用的发帖类型:[plain / Show HN / Ask HN / Tell HN]
- 标题长度:[N字符]
- 最佳发帖时间:周二至周四,美国东部时间上午8–10点
- 发帖后:在前两小时内回复每一条评论
- 24小时内不要在其他地方分享链接——HN会惩罚投票圈子

第八步:可选 — 抓取当前HN顶部帖子以获取上下文

如果用户想检查近期是否有类似帖子被提交,或者想查看当前其所在类别中哪些帖子表现良好,可运行以下抓取器:

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]

# 根据用户项目的关键词进行过滤
keyword = "YOUR_KEYWORD_HERE"
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}分] {title} — {by}")

print(f"\n匹配总数:{len(matches)}")

使用结果来:

  • 检查过去48小时内是否有几乎相同的帖子(避免重复)
  • 查看当前该类别中哪些标题模式更受欢迎
  • 确定该主题领域的分数下限

如果使用完整抓取器,结果也会自动附加到 hn_log.csv 文件中。


参考:数据集中观察到的高分帖子

这些是前250名中的真实帖子。研究标题模式。

分数标题
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)

最佳 Show HN 标题(按分数排序): 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

最高评论/分数比例(适用于以讨论为目标的帖子): 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.

相关技能