agentleFS
muneebhashonemuneebhashone/hn/SKILL.md

hn-search

Skill0 starsChanged 6 months agoMITView on GitHub

Use when researching what the tech/developer community thinks about a topic, validating SaaS or startup ideas against real discussion, surveying what's trending on Hacker News, digging into the full comment tree of an HN thread, mining recent Ask HN / Show HN / Jobs posts, or finding pain points and unmet needs in a niche. Apply when the user asks "what's trending in X", "is anyone shipping Y", "what are people complaining about regarding Z", "what does HN think of …", or links to a news.ycombinator.com URL.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. dylanfeltus/skills★ 179same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

Files
SKILL.md

hn-search

Two commands. Compact JSON by default; pass --pretty for a human-scannable view.

Invoke as hn … (after uv tool install . / pipx install .). For zero-install use uv run /path/to/hn.py … instead.

search [QUERY] — find stories or comments

FlagPurpose
[QUERY]Optional full-text query. Omit for pure tag/filter browsing.
--tag XRepeatable. Values: story, comment, ask_hn, show_hn, poll, job, front_page, author_<user>, story_<id>.
--sort relevance|dateDefault: relevance if query given else date.
--since / --untilTime bounds. 7d, 24h, 2w, 1y, or YYYY-MM-DD.
--min-points N / --min-comments NEngagement thresholds.
--limit N1–100, default 20.
--page N0-indexed.
--fields a,b,cTrim the hit object. Default already trims to the useful fields; pass all for the full Algolia payload.
--prettyHuman output.

Examples

# What's on the front page right now
hn search --tag front_page --limit 10

# Is "claude code plugin" a thing people are shipping? Last 30 days, ≥5 points
hn search "claude code plugin" --since 30d --min-points 5

# Pain points: recent Ask HN with real discussion
hn search --tag ask_hn --since 14d --min-comments 30

# What did this author post recently
hn search --tag author_dang --since 30d --limit 20

# Mine comments (not stories) mentioning a competitor
hn search "vercel" --tag comment --since 90d --limit 50

thread <ID_OR_URL> — fetch a full discussion

Accepts either a numeric item ID (e.g. 48243293) or any news.ycombinator.com/item?id=N URL. Returns the story with the complete nested comment tree in a single request (Algolia's /items/{id} pre-builds the tree — no N+1 fetching needed).

FlagPurpose
--depth NPrune past nesting depth N. --depth 1 = story + top-level only.
--max-comments NBFS cap on total comments returned. Useful for huge threads.
--top NKeep only the top-N branches by descendant count (the "biggest" conversations).
--min-score NDrop comments with points<N. HN hides comment scores so most are null — those are kept unless --strict.
--strictWith --min-score, also drop points: null comments.
--prettyIndented tree rendering.

Examples

# Just the story and top-level reactions
hn thread 48243293 --depth 1 --pretty

# Big thread, take the 3 most-discussed branches only
hn thread "https://news.ycombinator.com/item?id=48242959" --top 3 --pretty

# Bounded sample for token budget
hn thread 48242959 --max-comments 50

Gotchas

  • Result cap. Algolia caps at ~1000 hits (nbPages × hitsPerPage). For long retrospectives, narrow with --since / --until rather than paginating deep.
  • Comment scores are mostly null. HN hides comment points, so most points fields on comments are null. --min-score keeps null-score comments unless you also pass --strict.
  • --tag front_page is "currently on the front page", not "ever was". For historical front-page stories, search with --min-points 100 --since 1y instead.
  • Use --sort date when freshness matters. Relevance sort buries new posts under older high-engagement ones.
  • Text is HTML-stripped by default. Pass --no-strip-html if you specifically need the raw markup.
  • Errors are structured. On failure: non-zero exit and a single-line JSON {"error":"...","status":N} on stderr (stdout stays clean for piping).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.