hackernews
通过Hacker News官方API获取最新故事、评论和用户数据,进行信息检索和分析。
npx skills add vm0-ai/vm0-skills --skill hackernewsBefore / After 效果对比
1 组获取Hacker News信息需手动浏览,效率低,难以数据分析。
通过API直接获取Hacker News数据,实现自动化分析与应用。
description SKILL.md
hackernews
Hacker News API Use the official Hacker News API via direct curl calls to fetch stories, comments, and user data. Official docs: https://github.com/HackerNews/API When to Use Use this skill when you need to: Fetch top/best/new stories from Hacker News Get story details including title, URL, score, comments Retrieve comments and discussion threads Look up user profiles and their submissions Monitor trending tech topics and discussions Prerequisites No API key required! The Hacker News API is completely free and open. Base URL: https://hacker-news.firebaseio.com/v0 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 with the actual item ID: curl -s "https://hacker-news.firebaseio.com/v0/item/.json" Response fields: Field Description id Unique item ID type story, comment, job, poll, pollopt by Username of author time Unix timestamp title Story title (stories only) url Story URL (if external link) text Content text (Ask HN, comments) score Upvote count descendants Total comment count kids Array of child comment IDs 8. Get Multiple Stories with Details Fetch top 5 stories with full details. Replace 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 with the actual story ID: curl -s "https://hacker-news.firebaseio.com/v0/item/.json" | jq '{title, score, descendants, kids}' Then for each comment ID in the kids array, replace with the actual comment ID: curl -s "https://hacker-news.firebaseio.com/v0/item/.json" | jq '{by, text, score}' User Data 10. Get User Profile Fetch user details. Replace with the actual username: curl -s "https://hacker-news.firebaseio.com/v0/user/.json" Response fields: Field Description id Username created Account creation timestamp karma User's karma score about User bio (HTML) submitted Array of item IDs submitted 11. Get User's Recent Submissions Fetch a user's recent submissions. Replace with the actual username: curl -s "https://hacker-news.firebaseio.com/v0/user/.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 Endpoint Description /v0/topstories.json Top 500 stories /v0/beststories.json Best stories /v0/newstories.json Newest 500 stories /v0/askstories.json Ask HN stories /v0/showstories.json Show HN stories /v0/jobstories.json Job postings /v0/item/{id}.json Item details /v0/user/{id}.json User profile /v0/maxitem.json Current max item ID /v0/updates.json Changed items/profiles Guidelines No rate limits documented: But be respectful, add delays for bulk fetching Use jq for filtering: Filter JSON responses to extract needed data Cache results: Stories don't change frequently, cache when possible Batch requests carefully: Each item requires a separate API call Handle nulls: Some fields may be null or missing (e.g., url for Ask HN) Unix timestamps: All times are Unix timestamps, convert as needed Weekly Installs286Repositoryvm0-ai/vm0-skillsGitHub Stars44First SeenJan 24, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykWarnInstalled onopencode260gemini-cli253codex251cursor251github-copilot246kimi-cli241
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分