ti-hnparse

SkillDev tools

Python scripts for fetching a single HN post (hnparse.py) and searching HN posts via Algolia (hnsearch.py)

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the ti-hnparse skill

What this skill tells your AI

The instructions your AI receives, as published by eph5xx/tweakidea in skills/ti-hnparse/SKILL.md and read by ahel’s review.

Contains two standalone Python scripts that talk to the free Algolia Hacker News API:

  • hnparse.py — fetch one HN post (article + full comment tree) and write structured markdown.
  • hnsearch.py — search/list HN posts by query and time range; emits JSON to stdout.

hnparse.py usage

uv run <path-to>/hnparse.py <hn-url-or-id> [-o <output-directory>]
  • Uses uv run inline script metadata for dependencies (playwright, httpx, trafilatura)
  • Fetches post metadata and comment tree from Algolia HN API
  • Extracts linked article via Playwright headless browser (falls back to plain HTTP)
  • Writes content.md to the output directory
  • Default output: ~/.tweakidea/hn/hn-{item_id}/content.md
  • Prints the absolute path of the output file to stdout (last line)
  • All progress messages go to stderr

For better article extraction from JS-heavy sites, run uv run playwright install chromium once. Without it, the script falls back to plain HTTP which works fine for most sites.

hnsearch.py usage

uv run <path-to>/hnsearch.py --query "<freeform>" --days <N> \
  [--tags story|show_hn|ask_hn|front_page|poll] \
  [--min-points N] [--limit N]
  • Single dependency: httpx (no Playwright / trafilatura needed)
  • Queries https://hn.algolia.com/api/v1/search (popularity-sorted)
  • --query required; --days required (0 = no time filter / all-time)
  • --tags defaults to story (excludes comments); allowed: story, show_hn, ask_hn, front_page, poll; multiple tags comma-separated
  • --min-points defaults to 10; --limit defaults to 20 (max 50)
  • Prints a JSON array of hits to stdout. Each hit has: id, title, url, points, num_comments, author, created_at_i, relative_age, hn_url.
  • Progress and errors go to stderr. Exits non-zero on HTTP failure.

Signals

GitHub stars
51
Last commit
Apr 2026
Advanced
Catalog kind
skill
Gateway key
ti-hnparse
Source
github.com/eph5xx/tweakidea