本文へ移動
cccskills
無料GitHub で公開

hackernews

Interact with Hacker News (news.ycombinator.com) — browse top, new, and best stories, read item details and comment threads, look up user profiles, and search posts via Algolia. Use this skill whenever the user mentions Hacker News, HN, YCombinator news, ycombinator.com, news.ycombinator.com, wants to browse tech news, read HN discussions, search HN posts, or look up HN users. Also trigger when the user pastes an HN URL (e.g. news.ycombinator.com/item?id=12345). Keywords: Hacker News, HN, YC, ycombinator, tech news, Show HN, Ask HN, HN front page.

インストール方法を見る

含まれるファイル(27)

  • SKILL.md8.0 KB
  • references/provider-config.yaml483 B
  • scripts/hn_ask.py1003 B
  • scripts/hn_best.py1.6 KB
  • scripts/hn_client.py6.3 KB
  • scripts/hn_comment.py1.2 KB
  • scripts/hn_item.py2.7 KB
  • scripts/hn_jobs.py1013 B
  • scripts/hn_new.py1.1 KB
  • scripts/hn_search.py2.5 KB
  • scripts/hn_show.py1008 B
  • scripts/hn_submit.py1.3 KB
  • scripts/hn_top.py1.1 KB
  • scripts/hn_user.py1.5 KB
  • scripts/hn_vote.py1.1 KB
  • tests/test_hn_ask.py1.1 KB
  • tests/test_hn_best.py2.9 KB
  • tests/test_hn_comment.py998 B
  • tests/test_hn_item.py5.1 KB
  • tests/test_hn_jobs.py903 B
  • tests/test_hn_new.py1.9 KB
  • tests/test_hn_search.py4.1 KB
  • tests/test_hn_show.py936 B
  • tests/test_hn_submit.py1007 B
  • tests/test_hn_top.py1.9 KB
  • tests/test_hn_user.py2.0 KB
  • tests/test_hn_vote.py1017 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Hacker News

Browse, search, and read Hacker News stories, comments, and user profiles.

Skill Directory

<SKILL_DIR> is the directory containing this SKILL.md file. Determine it ONCE at the start and reuse it.

Setup (run FIRST — every time, before any operation)

You MUST complete this setup before running any script. Do NOT skip this step.

sig status hackernews 2>&1

Check the JSON output fields configured and valid:

  • configured: false → run Provider Setup below. Do NOT proceed without completing it.
  • valid: false (but configured: true) → run sig login hackernews, then re-check.
  • valid: true → detect proxy (see below), then execute the user's request.

Provider Setup

  1. Read <SKILL_DIR>/references/provider-config.yaml
  2. Append the provider block to ~/.sig/config.yaml under providers:
  3. Ask the user: "Do you need a proxy to access this site?" — if yes, add networkProxy: <url> under the provider in config.yaml
  4. Run sig login hackernews (with --network-proxy <url> if proxy was specified)
  5. Verify: run sig status hackernews again — must show valid: true before proceeding

Proxy Detection (after provider is valid)

grep -A15 "^\s*hackernews:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'

If this outputs a URL, prefix ALL python3 commands with HTTPS_PROXY=<url> HTTP_PROXY=<url>. If using socks5, convert to socks5h for python (e.g. socks5://... → socks5h://...). If empty, no proxy needed.

Running Scripts

All scripts require setup to be completed first (see above).

Read operations — use sig run to inject cookie (enables authenticated features like vote status):

sig run hackernews -- bash -c 'python3 <SKILL_DIR>/scripts/hn_top.py --cookie "$SIG_HACKERNEWS_COOKIE" --limit 10'

Write operations — require sig run (cookie is mandatory):

sig run hackernews -- bash -c 'python3 <SKILL_DIR>/scripts/hn_vote.py --cookie "$SIG_HACKERNEWS_COOKIE" --id 12345'

Env var: SIG_HACKERNEWS_COOKIE

On auth error (401/403): run sig login hackernews automatically (no user prompt), then retry.

Scripts Reference

All scripts are in <SKILL_DIR>/scripts/. Run via Bash tool.

Read Operations

ScriptPurposeAuth
hn_top.pyTop stories (front page)None
hn_new.pyNewest storiesNone
hn_best.pyBest storiesNone
hn_ask.pyAsk HN storiesNone
hn_show.pyShow HN storiesNone
hn_jobs.pyJob postingsNone
hn_item.pyItem detail + comment treeNone
hn_user.pyUser profile + submissionsNone
hn_search.pyFull-text search via AlgoliaNone

Write Operations

ScriptPurposeAuth
hn_submit.pySubmit a storyRequired
hn_comment.pyPost a commentRequired
hn_vote.pyUpvote an itemRequired

hn_top.py

--limit N             Max stories to fetch (default: 30)

hn_new.py

--limit N             Max stories to fetch (default: 30)

hn_best.py

--limit N             Max stories to fetch (default: 30)

hn_ask.py

--limit N             Max stories to fetch (default: 30)

hn_show.py

--limit N             Max stories to fetch (default: 30)

hn_jobs.py

--limit N             Max jobs to fetch (default: 30)

hn_item.py

--id ID               Item ID (required)
--depth N             Max comment tree depth (default: 2)
--comments-limit N    Max comments to fetch (default: 20)

hn_user.py

--username NAME       HN username (required)
--include-submissions Include recent submitted item details (flag)

hn_search.py

--query TEXT          Search query (required)
--type TYPE           Filter: "story", "comment", "ask_hn", "show_hn"
--sort SORT           Sort by: "relevance" (default) or "date"
--limit N             Max results (default: 30)
--author NAME         Filter by author username
--points-min N        Minimum points filter

hn_submit.py

--cookie COOKIE       HN session cookie (required)
--title TEXT          Story title (required)
--url URL             URL to submit (for link posts)
--text TEXT           Text body (for Ask HN / text posts)

hn_comment.py

--cookie COOKIE       HN session cookie (required)
--parent ID           Parent item ID — story or comment (required)
--text TEXT           Comment text (required)

hn_vote.py

--cookie COOKIE       HN session cookie (required)
--id ID               Item ID to upvote (required)

Safety

Always show the user the title/body and get explicit confirmation before calling hn_submit.py. Submissions are public.

Always confirm before hn_comment.py. Comments are public and cannot be deleted after a few minutes.

hn_vote.py is reversible — you can un-upvote by clicking the upvote button again on the HN website.

Key Concepts

Item types — Hacker News items have a type field: story, comment, job, poll, pollopt. Stories have title, url, score, and descendants (total comment count). Comments have text and parent.

Item IDs — Numeric IDs found in URLs like news.ycombinator.com/item?id=12345. Get IDs from top/new/best/search results, then use with hn_item.py.

Comment trees — Comments are nested via the kids array. hn_item.py recursively fetches comment trees up to --depth levels. Each comment includes replies for nested children.

Story categories — Use hn_ask.py for Ask HN, hn_show.py for Show HN, hn_jobs.py for job postings.

Algolia search — hn_search.py uses the Algolia HN Search API for full-text search with filtering by type, author, and minimum points.

Error Handling

ErrorCauseFix
HTTP_404Item or user not foundCheck the ID / username
HTTP_429Rate limited by APIWait and retry
SEARCH_ERRORAlgolia API unavailableTry again later
ERRORNetwork or unexpected failureCheck connectivity

Workflow Examples

Browse top stories

  1. python3 <SKILL_DIR>/scripts/hn_top.py --limit 10

Read a specific story and its comments

  1. python3 <SKILL_DIR>/scripts/hn_item.py --id 12345 --depth 3 --comments-limit 30

Search for topics

  1. python3 <SKILL_DIR>/scripts/hn_search.py --query "Rust programming" --type story --limit 10

Look up a user

  1. python3 <SKILL_DIR>/scripts/hn_user.py --username pg --include-submissions

Submit a story

  1. Show title/URL to user and get confirmation
  2. sig run hackernews -- bash -c 'python3 <SKILL_DIR>/scripts/hn_submit.py --cookie "$SIG_HACKERNEWS_COOKIE" --title "My Post" --url "https://example.com"'

Comment on a story

  1. Show comment text to user and get confirmation
  2. sig run hackernews -- bash -c 'python3 <SKILL_DIR>/scripts/hn_comment.py --cookie "$SIG_HACKERNEWS_COOKIE" --parent 12345 --text "Great article!"'

Upvote a story

  1. sig run hackernews -- bash -c 'python3 <SKILL_DIR>/scripts/hn_vote.py --cookie "$SIG_HACKERNEWS_COOKIE" --id 12345'

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

bilibili

無料

Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos. Use this skill whenever the user mentions Bilibili, B站, wants to browse Bilibili content, search Bilibili videos, read Bilibili comments, look up Bilibili users, or interact with Bilibili content. Also trigger when the user pastes a Bilibili URL (e.g. bilibili.com/video/BV...) or mentions a BV ID.

日本語の概要は準備中です。原文の説明を表示しています。

sigcli/sigcli2932026年9月28日 更新

douyin

無料

Provide authenticated cookies for Douyin (抖音/TikTok China) — two providers: douyin (www.douyin.com for scraping) and douyin-live (live.douyin.com for livestream). Use this skill whenever the user needs Douyin cookies for scraping tools like DouYin_Spider, or needs to authenticate with Douyin services. Trigger when the user mentions 抖音, Douyin, TikTok China, douyin cookies, or wants to use tools that require Douyin login cookies.

日本語の概要は準備中です。原文の説明を表示しています。

sigcli/sigcli2932026年9月28日 更新

linkedin

無料

Interact with LinkedIn — view your profile, browse other profiles, read the feed, search jobs/posts/people, get job details, create posts, like/unlike posts, comment, send connection requests, and follow/unfollow users. Use this skill whenever the user mentions LinkedIn, wants to search for jobs or people, read their LinkedIn feed, view a profile, get job details, create a post, like or comment on content, send a connection request, or follow someone. Also trigger when the user pastes a LinkedIn URL (e.g. linkedin.com/in/..., linkedin.com/jobs/view/...) or mentions LinkedIn networking.

日本語の概要は準備中です。原文の説明を表示しています。

sigcli/sigcli2932026年9月28日 更新

msteams

無料

Interact with Microsoft Teams — send and read messages, search conversations, look up people, check calendar, get meeting transcripts, and manage chats. Use this skill whenever the user mentions Teams, MS Teams, Microsoft Teams, wants to send a message, read chat history, search conversations, look up a colleague, check their calendar, find meeting recordings or transcripts, see direct reports or manager, or do anything involving Teams communication. Also trigger when the user asks about scheduling, org chart, people search, or wants to message someone.

日本語の概要は準備中です。原文の説明を表示しています。

sigcli/sigcli2932026年9月28日 更新

outlook

無料

Interact with Outlook email — read inbox, send emails, search messages, reply/forward, manage folders, download attachments. Use this skill whenever the user mentions email, Outlook, inbox, mail, send email, check email, unread messages, email search, attachments, reply to email, forward email, 邮件, 收件箱, or wants to read, send, search, reply to, forward, or manage emails.

日本語の概要は準備中です。原文の説明を表示しています。

sigcli/sigcli2932026年9月28日 更新

reddit

無料

Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits. Use this skill whenever the user mentions Reddit, r/, subreddit, wants to browse Reddit posts, read Reddit discussions, search Reddit, look up Reddit users, or interact with Reddit content. Also trigger when the user pastes a Reddit URL (e.g. reddit.com/r/programming/...) or mentions a subreddit name.

日本語の概要は準備中です。原文の説明を表示しています。

sigcli/sigcli2932026年9月28日 更新

sigcli のスキルをすべて見る

このスキルの問題を報告する