hn-digest

star 13

Generate HN digests in org-mode format. Use when curating Hacker News stories, creating digests, or converting between JSON/org/HTML formats.

thevibeworks By thevibeworks schedule Updated 12/28/2025

name: hn-digest description: Generate HN digests in org-mode format. Use when curating Hacker News stories, creating digests, or converting between JSON/org/HTML formats.

HN Digest Skill

Curate Hacker News stories into structured org-mode files with translations.

Workflow

HN API (JSON) → Claude (curate) → .org file → HTML thread
     ↑                              ↓
     └──────── reversible ──────────┘

Quick Start

Curate new digest

# 1. Fetch stories (workflow does this)
# 2. Claude reads /tmp/hn/stories.json, writes digest
# 3. Convert to org
python3 scripts/json2org.py /tmp/digest.json digests/2025/12/15-1100.org

# 4. Build HTML
python3 scripts/org2html.py digests/2025/12/15-1100.org index.html

Validate round-trip

python3 scripts/org2json.py digests/2025/12/15-1100.org /tmp/check.json
# Should match original

Org Format

#+TITLE: HN Digest 2025-12-15 11:00 UTC
#+DATE: 2025-12-15T11:00:00Z

* Vibe
Roomba dies, Arduino goes corporate...

* Stories

** Robot vacuum Roomba maker files for bankruptcy :robotics:hardware:
:PROPERTIES:
:ID:       46268854
:URL:      https://news.bloomberglaw.com/...
:HN_URL:   https://news.ycombinator.com/item?id=46268854
:POINTS:   191
:COMMENTS: 182
:END:

*** TLDR
iRobot filed Chapter 11 bankruptcy...

*** Take
Roborock ate their lunch...

*** Comments
**** simonjgreen
This is the cost of complacency.

*** i18n                                                           :i18n:
**** zh
***** TLDR
iRobot申请了第11章破产...

Scripts

Script Purpose
json2org.py Convert curated JSON → org file
org2json.py Parse org → JSON (validation)
org2html.py Render org → HTML thread
llms-gen.py Generate llms.txt index

Properties Reference

Story properties in :PROPERTIES: drawer:

Property Description
:ID: HN story ID (required)
:URL: Article URL
:HN_URL: HN discussion URL
:POINTS: Score at fetch time
:COMMENTS: Comment count
:BY: Submitter username
:TIME: Submission time (ISO)

i18n Structure

Translations as subheadings under *** i18n:

*** i18n                                                           :i18n:
**** zh
:PROPERTIES:
:LANG: zh
:END:
***** TLDR
Chinese translation...

***** Take
Chinese opinion...

**** ja
:PROPERTIES:
:LANG: ja
:END:
***** TLDR
Japanese translation...

Supported languages: zh, ja, ko, es, de

See Also

Install via CLI
npx skills add https://github.com/thevibeworks/claude-reads-hn --skill hn-digest
Repository Details
star Stars 13
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator
thevibeworks
thevibeworks Explore all skills →