Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ykdojo/hn-summarize
Fetch and summarize Hacker News / hckrnews.com top stories, articles, and their comment threads.
Passed 18 of 22 test cases with the skill, and 18 of 22 without it.
3 fixed18 passed either way2 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
When parsing Algolia comment objects, I noticed the comment score field. Should I sort the list of comments by their points field?
| Checked | Without skill | With skill |
|---|---|---|
| explains that comment points in Algolia responses are null | Passed | Passed |
| advises processing comments in their default thread order rather than sorting by points | Missed | Passed |
The instructions your model reads when the skill loads.
hckrnews.com is a JavaScript-rendered front end - curling it returns an empty shell, so do not scrape it. Instead use the official Hacker News APIs (Firebase + Algolia), which give the same stories with points, comment counts, and full comment trees. These APIs return plain JSON, so plain curl works fine.
topstories.json returns 500 story IDs in front-page rank order. Take the first N and look up each item.
curl -sL 'https://hacker-news.firebaseio.com/v0/topstories.json' -o /tmp/top.json
python3 -c "
import json,urllib.request
ids=json.load(open('/tmp/top.json'))[:10]
for i,sid in enumerate(ids,1):
d=json.load(urllib.request.urlopen(f'https://hacker-news.firebaseio.com/v0/item/{sid}.json'))
print(f\"{i}. {d.get('title')} | {d.get('score')} pts | {d.get('descendants',0)} comments | id {sid}\")
print(f\" {d.get('url','(text post)')}\")
"
curl -sL 'https://hn.algolia.com/api/v1/search?query=YOUR+QUERY&tags=story' -o /tmp/s.json
python3 -c "
import json
for h in json.load(open('/tmp/s.json'))['hits'][:8]:
print(h['objectID'], '|', h.get('points'), 'pts |', h.get('num_comments'), 'comments |', h['title'])
print(' ', h.get('url'))
"
&numericFilters=created_at_i>UNIXTS to restrict to recent stories (avoids matching an old duplicate of the same headline).search ranks by relevance; search_by_date ranks by recency.objectID with the highest points/comments - that's the live front-page discussion.curl -sL 'https://hn.algolia.com/api/v1/items/OBJECT_ID' -o /tmp/hn.json
test cases passed, vs 18 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.