Community라이팅 & 에디팅github.com

Varnan-Tech/opendirectory

데이터 기반으로 HN 게시물을 초안합니다. 250개의 상위 HN 게시물에서 추출한 패턴을 활용하여 점수를 극대화합니다.

opendirectory란 무엇인가요?

이 스킬은 실제 Hacker News 데이터를 기반으로 한 글쓰기 도우미입니다. 2026년 4월 18일에 수집된 250개 상위 게시물의 분석 결과를 활용하여 제목 길이, 본문 유무, 'Show HN' 접두사 사용, 1인칭 시점 등이 점수에 미치는 영향을 구체적인 수치로 보여줍니다. 사용자에게 점수(도달률)와 댓글(토론) 중 어떤 목표를 최적화할지 먼저 묻고, 목표에 맞는 게시물 유형(일반/Show HN/Ask HN/Tell HN)과 제목을 제안합니다. 최종적으로는 짧고 스토리 중심의 제목, 마케팅 금칙어와 본문 내 링크 금지 등 엄격한 규칙을 적용한 최종 초안을 제공합니다. Python 스크래퍼를 통해 현재 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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Show HN 작가 — 데이터 기반 에디션

이 스킬은 250개의 실제 상위 게시물에서 추출한 패턴을 사용하여 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:"을 사용하십시오. 항상 일반 제목 대안을 함께 제공하십시오.

1인칭 제목이 무기명 진술보다 성능이 뛰어납니다. 1인칭 ("나는…", "내…", "우리는…"): 평균 291점 (n=9). 일반 진술: 평균 186점 (n=126). 빌더의 관점이 이야기의 일부라면, 그것으로 시작하십시오.

질문은 업보트보다 댓글을 더 많이 생성합니다. 질문 제목의 평균 댓글 대 점수 비율은 1.0배 이상입니다. 순수 점수보다는 토론에 가장 적합합니다. 사용자에게 무엇을 최적화하고 있는지 쓰기 전에 물어보십시오.

지속적으로 더 나은 성과를 내는 주제:

  • 보안 / 백도어 / 침해 사고: 평균 308점
  • 프라이버시 / 감시 / 데이터 스토리: 평균 282점
  • AI / LLM 릴리스: 평균 266점 (42개 게시물 — 가장 큰 카테고리)
  • 오픈소스 릴리스: 평균 485점 (표본은 적지만 강한 신호)

가장 높은 점수를 받은 제목은 한 가지 공통점이 있습니다: 주제가 아니라 이야기입니다. "누군가 30개의 워드프레스 플러그인을 구입해 모두에게 백도어를 심었다" — 1192점. "Google이 나와의 약속을 어겼습니다 – 이제 ICE가 내 데이터를 갖고 있습니다" — 1688점. 주제는 "워드프레스 플러그인 보안"입니다. 이야기는 행위자, 행동, 그리고 이해관계가 있습니다.


1단계: 무엇보다 먼저 사용자에게 한 가지 질문을 하세요

초안을 작성하기 전에 물어보세요:

"두 가지 빠른 질문:

  1. 점수(도달률)를 최적화하고 있습니까, 아니면 댓글(토론)을 최적화하고 있습니까?
  2. 프로젝트가 무엇을 하는지 — 한 문장으로, 기술적으로, 형용사 없이?"

두 답변을 모두 받을 때까지 진행하지 마십시오.


2단계: 올바른 게시물 유형 결정

프로젝트와 목표에 따라 사용할 형식을 결정하십시오:

일반 제목 (권장 기본값) 접두사 없음. 단순히 무엇인지 또는 무슨 일이 일어났는지. 가장 높은 평균 점수. 다음 경우에 사용: 릴리스, 기사, 도구 또는 이벤트 공유.

Show HN: 접두사 (드물게 사용) 다음 경우에만 사용: 프로젝트가 작동하는 데모이고, 빌더가 질문에 답변할 수 있으며, 기술적 구현이 흥미로운 부분인 경우. 평균 점수는 낮지만(94), 프로젝트가 진정으로 참신할 때 진정성을 신호합니다. 비교를 위해 항상 일반 제목 대안도 함께 초안을 작성하십시오.

Ask HN: 접두사 다음 경우에 사용: 목표가 홍보가 아닌 토론인 경우. 평균 참여 비율 > 1.0배. "누가 X를 사용하고 있나요?" 또는 "Y를 해야 할까요?"와 같은 게시물에 가장 적합.

Tell HN: 접두사 내부고발, 책임 추궁, 또는 폭로. 819점의 데이터 포인트 하나. 게시물이 사실에 기반하고, 검증 가능하며, 빌더가 명시된 경우에만 사용.


3단계: 제목 초안 작성

제목이 전체 게시물입니다. 본문은 선택 사항으로 취급하십시오.

데이터에서 파생된 규칙:

  • 40자 미만을 목표로 하십시오. 20자 초과 시 평균 약 30점이 손실됩니다.
  • 카테고리가 아닌 이야기를 쓰십시오. 명사구보다 행위자 + 행동 + 이해관계가 더 좋습니다.
  • 빌더의 관점이 중요할 때 1인칭 ("나는…")은 일반 진술보다 평균 약 100점을 추가합니다.
  • 마케팅 형용사는 사용하지 마십시오. 문자 그대로의 사양이 아닌 한 "빠른", "간단한", "강력한", "가벼운" 사용 금지 (예: "35B-A3B"는 사양이고 "강력한"은 사양이 아닙니다).
  • 일반성보다 구체성. "인기 CMS 플러그인"보다 "30개의 워드프레스 플러그인".
  • 대괄호 안의 연도는 읽을 가치가 있는 고전 신호: (2008), (1956). 시간이 지나도 좋은 평가를 받은 오래된 콘텐츠를 링크할 때 사용.
  • 부제목 형식의 경우 en 대시(–): "제품 이름 – 하는 일". 하이픈(-)이 아닙니다.

세 가지 변형을 초안으로 작성하십시오:

  1. 가능한 가장 짧게 (35자 미만 목표) — 필수적이지 않은 모든 것 제거
  2. 스토리 각도 — 행위자 + 행동 + 이해관계
  3. 기술 각도 — 흥미로운 엔지니어링 결정으로 시작

그런 다음 길이 테스트를 적용하십시오: 각각의 문자를 세십시오. 60자를 초과하는 것은 플래그를 지정하십시오.


4단계: 본문을 작성할지 결정

스스로에게 물어보십시오: 기술 구현에 제목에 담을 수 없고 HN 엔지니어들이 진정으로 흥미롭게 여길 세부 사항이 있습니까?

예: 본문을 작성하십시오 (5단계 참조). 아니오: 제목에서 멈추십시오. 본문이 없는 것이 부풀려진 본문보다 낫습니다.

데이터는 본문이 점수를 증가시키지 않음을 보여줍니다. 본문을 작성해야 하는 유일한 이유는 엔지니어들이 "이게 어떻게 작동하나요?"라고 물을 만큼 구현이 흥미롭고 미리 답변을 원하는 경우입니다.


5단계: 본문 작성 (4단계에서 예라고 답한 경우에만)

구조 — 간결하게 유지:

1행: 한 문장. 무엇을 구축했고 왜 구축했는지. 1인칭. "X를 소개합니다." 또는 "X는 ~하는 도구입니다."가 아닙니다. 그냥: "Y 때문에 X를 구축했습니다."

2~4행: 진짜 이유. 정직하게. 구체적으로. 직접 겪은 문제였습니까? 직장에서 좌절감을 주는 무언가? 호기심? "개발자들은 종종 ~로 어려움을 겪습니다"보다 "~해서 짜증났습니다"가 더 좋습니다. 빌더의 목소리가 포인트입니다.

5~8행: 실제 작동 방식. 이것이 HN이 읽는 내용입니다. 구체적인 기술 선택을 명명하십시오. 내린 트레이드오프와 그 이유를 명시하십시오. 하나의 흥미로운 엔지니어링 결정이 기능 목록보다 가치가 있습니다.

9행: 현재 상태를 한 문장으로. 오픈소스? 무료? 알파? 단독? 얼마나 오래 작업해 왔는지.

10행: 피드백이나 질문을 초대하는 마무리 문장 한 개. "구현에 관한 질문에 기꺼이 답변하겠습니다." / "비판 환영합니다." 업보트, 공유 또는 가입을 요청하지 마십시오.

엄격한 규칙:

  • 150~300단어. 200단어 미만이 일반적으로 더 좋습니다.
  • 전체를 1인칭으로.
  • 글머리 기호 없음. 헤더 없음. 굵게 없음.
  • 본문에 링크 없음. URL은 제출 필드에 입력.
  • 마케팅 단어 없음: 획기적인, 혁명적인, 강력한, 견고한, 원활한, 혁신적인, 최고의, 간소화, 활용, 혁신, 최첨단.

6단계: 제시하기 전에 자체 점검

이 목록을 실행하십시오. 출력하기 전에 실패하는 항목을 수정하십시오.

제목:

  • 60자 미만 (세어 보기)
  • 마케팅 형용사 없음
  • 이야기인가 주제인가? (이야기 = 더 좋음)
  • 빌더의 관점이 무언가를 추가한다면 1인칭
  • 느낌표 없음

본문 (작성한 경우):

  • "나는 ~를 구축했습니다" 또는 "지난 N개월 동안…"으로 시작
  • 최소한 하나의 특정 기술 이름 또는 아키텍처 결정 포함
  • 300단어 미만
  • 링크 없음
  • 행동 촉구가 아닌 피드백 초대로 마무리
  • 마케팅 단어 0개 (5단계의 목록 확인)

게시물 유형:

  • Show HN 접두사를 사용하는 경우: 일반 제목 대안도 작성되었습니까?
  • 목표가 댓글인 경우: 질문 또는 분열적 프레이밍입니까?
  • 목표가 점수인 경우: 질문이 아닌 진술입니까?

7단계: 출력 제시

정확히 다음과 같이 형식을 지정하십시오. 앞뒤로 설명을 추가하지 마십시오.

## HN 게시물

### 권장 제목
[제목 — 가장 짧고 강력한 변형]

### 대체 제목
1. [변형 2]
2. [변형 3]

---

### 본문
[본문 텍스트, 또는 4단계에서 '아니오'인 경우 "권장되지 않음 — 제목으로 충분합니다."]

---

### 노트
- 목표: [점수 / 댓글] — 1단계에서 사용자 답변 기준
- 사용된 게시물 유형: [일반 / Show HN / Ask HN / Tell HN]
- 제목 길이: [N자]
- 게시하기 가장 좋은 시간: 화요일~목요일, 오전 8~10시 미국 동부 시간
- 게시 후: 처음 두 시간 동안 모든 댓글에 응답
- 24시간 동안 다른 곳에 링크를 공유하지 마십시오 — HN은 투표 링을 처벌합니다

8단계: 선택 사항 — 현재 상위 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}pts] {title} — {by}")

print(f"\nTotal matching: {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.

관련 스킬