Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vm0-ai avatar

Hackernews

  • 3.1k installs
  • 76 repo stars
  • Updated August 4, 2026
  • vm0-ai/vm0-skills

hackernews is an agent skill that fetches Hacker News stories, comments, jobs, and user profiles using documented curl commands against the public Firebase API.

About

hackernews is an agent skill that documents curl and jq recipes against the public Hacker News Firebase API for stories, comments, jobs, and user profiles. It covers list endpoints for top, best, new, ask, show, and job stories, then item detail fetches by ID with fields such as title, score, url, by, time, descendants, and kids comment arrays. User profile lookups return karma, about, created timestamp, and submitted item IDs. Practical examples batch-fetch top stories with scores, filter high-scoring posts above 100 points, and search titles for AI or LLM keywords across the top 50 stories. Guidelines note respectful bulk fetching with delays, jq filtering, caching because stories change slowly, and handling null url fields on Ask HN posts. Real-time helpers include maxitem and updates endpoints for polling changed items. Developers reach for hackernews when an agent needs tech news summaries, comment thread inspection, or HN front-page monitoring without building a custom API client library.

  • Documents top, best, new, ask, show, and job story list endpoints plus per-item detail fetches.
  • Item JSON fields include title, score, url, by, descendants, kids, and text for Ask HN posts.
  • Examples batch top stories with jq and filter posts scoring 100 or more points.
  • Includes user profile lookups for karma, about bio, and recent submitted item IDs.
  • Guidelines recommend jq filtering, respectful delays, caching, and null-safe url handling.

Hackernews by the numbers

  • 3,056 all-time installs (skills.sh)
  • +47 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #73 of 550 CLI & Terminal skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

hackernews capabilities & compatibility

Capabilities
story list endpoint access · item and comment detail fetch · user profile lookup · jq based filtering and keyword search
Use cases
web search · research
From the docs

What hackernews says it does

Hacker News API for stories and comments
SKILL.md
curl -s "https://hacker-news.firebaseio.com/v0/topstories.json"
SKILL.md
npx skills add https://github.com/vm0-ai/vm0-skills --skill hackernews

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.1k
repo stars76
Security audit2 / 3 scanners passed
Last updatedAugust 4, 2026
Repositoryvm0-ai/vm0-skills

How do I pull current Hacker News front-page stories, comment threads, or user profiles from the command line without writing a custom client?

Fetch Hacker News top, best, new, Ask HN, Show HN, and job stories plus item and user details via the public Firebase API.

Who is it for?

Developers who need quick HN API access via curl and jq for tech news monitoring, research, or agent-driven summaries.

Skip if: Skip when you need authenticated HN posting, private data, or a hosted news aggregator UI instead of API recipes.

When should I use this skill?

User mentions Hacker News, HN, Y Combinator tech news, top stories, Ask HN, or wants HN comment or user data.

What you get

Structured JSON story and comment data filtered with jq, ready for summaries, keyword searches, or monitoring scripts.

  • Story list IDs
  • Filtered story summaries
  • Comment and user profile JSON

By the numbers

  • Fetches IDs from the current top 500 stories via topstories.json

Files

SKILL.mdMarkdownGitHub ↗

How to Use

1. Get Top Stories

Fetch IDs of the current top 500 stories:

curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | jq '.[:10]'

2. Get Best Stories

Fetch the best stories (highest voted over time):

curl -s "https://hacker-news.firebaseio.com/v0/beststories.json" | jq '.[:10]'

3. Get New Stories

Fetch the newest stories:

curl -s "https://hacker-news.firebaseio.com/v0/newstories.json" | jq '.[:10]'

4. Get Ask HN Stories

Fetch "Ask HN" posts:

curl -s "https://hacker-news.firebaseio.com/v0/askstories.json" | jq '.[:10]'

5. Get Show HN Stories

Fetch "Show HN" posts:

curl -s "https://hacker-news.firebaseio.com/v0/showstories.json" | jq '.[:10]'

6. Get Job Stories

Fetch job postings:

curl -s "https://hacker-news.firebaseio.com/v0/jobstories.json" | jq '.[:10]'

Item Details

7. Get Story/Comment/Job Details

Fetch full details for any item by ID. Replace <item-id> with the actual item ID:

curl -s "https://hacker-news.firebaseio.com/v0/item/<item-id>.json"

Response fields:

FieldDescription
idUnique item ID
typestory, comment, job, poll, pollopt
byUsername of author
timeUnix timestamp
titleStory title (stories only)
urlStory URL (if external link)
textContent text (Ask HN, comments)
scoreUpvote count
descendantsTotal comment count
kidsArray of child comment IDs

8. Get Multiple Stories with Details

Fetch top 5 stories with full details. Replace <item-id> with the actual item ID:

curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | jq '.[:5][]' | while read id; do
  curl -s "https://hacker-news.firebaseio.com/v0/item/${id}.json" | jq '{id, title, score, url, by}'
done

9. Get Story with Comments

Fetch a story and its top-level comments. Replace <story-id> with the actual story ID:

curl -s "https://hacker-news.firebaseio.com/v0/item/<story-id>.json" | jq '{title, score, descendants, kids}'

Then for each comment ID in the kids array, replace <comment-id> with the actual comment ID:

curl -s "https://hacker-news.firebaseio.com/v0/item/<comment-id>.json" | jq '{by, text, score}'

User Data

10. Get User Profile

Fetch user details. Replace <username> with the actual username:

curl -s "https://hacker-news.firebaseio.com/v0/user/<username>.json"

Response fields:

FieldDescription
idUsername
createdAccount creation timestamp
karmaUser's karma score
aboutUser bio (HTML)
submittedArray of item IDs submitted

11. Get User's Recent Submissions

Fetch a user's recent submissions. Replace <username> with the actual username:

curl -s "https://hacker-news.firebaseio.com/v0/user/<username>.json" | jq '.submitted[:5]'

Real-time Updates

12. Get Max Item ID

Get the current largest item ID (useful for polling new items):

curl -s "https://hacker-news.firebaseio.com/v0/maxitem.json"

13. Get Changed Items and Profiles

Get recently changed items and profiles (for real-time updates):

curl -s "https://hacker-news.firebaseio.com/v0/updates.json"

Practical Examples

Fetch Today's Top 10 with Scores

curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | jq '.[:10][]' | while read id; do
  curl -s "https://hacker-news.firebaseio.com/v0/item/${id}.json" | jq -r '"\(.score) points | \(.title) | \(.url // "Ask HN")"'
done

Find High-Scoring Stories (100+ points)

curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | jq '.[:30][]' | while read id; do
  curl -s "https://hacker-news.firebaseio.com/v0/item/${id}.json" | jq -r 'select(.score >= 100) | "\(.score) | \(.title)"'
done

Get Latest AI/ML Related Stories

curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | jq '.[:50][]' | while read id; do
  curl -s "https://hacker-news.firebaseio.com/v0/item/${id}.json" | jq -r 'select(.title | test("AI|GPT|LLM|Machine Learning|Neural"; "i")) | "\(.score) | \(.title)"'
done

API Endpoints Summary

EndpointDescription
/v0/topstories.jsonTop 500 stories
/v0/beststories.jsonBest stories
/v0/newstories.jsonNewest 500 stories
/v0/askstories.jsonAsk HN stories
/v0/showstories.jsonShow HN stories
/v0/jobstories.jsonJob postings
/v0/item/{id}.jsonItem details
/v0/user/{id}.jsonUser profile
/v0/maxitem.jsonCurrent max item ID
/v0/updates.jsonChanged items/profiles

Guidelines

1. No rate limits documented: But be respectful, add delays for bulk fetching 2. Use jq for filtering: Filter JSON responses to extract needed data 3. Cache results: Stories don't change frequently, cache when possible 4. Batch requests carefully: Each item requires a separate API call 5. Handle nulls: Some fields may be null or missing (e.g., url for Ask HN) 6. Unix timestamps: All times are Unix timestamps, convert as needed

Related skills

FAQ

Which endpoints fetch story lists?

Use topstories, beststories, newstories, askstories, showstories, or jobstories under hacker-news.firebaseio.com/v0/.

How do I get full story details?

Request /v0/item/{id}.json for fields like title, score, url, by, descendants, and kids comment IDs.

Are there documented rate limits?

No official rate limits are documented, but the skill advises respectful delays and caching during bulk fetches.

Is Hackernews safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.