hn-reader

star 1

Hacker News (https://news.ycombinator.com/) のトップ記事を和訳して提示し、 ユーザーが選んだ記事を要約して /jot で yoooz_vault のデイリーノートに記録する。 「HN見たい」「Hacker News読みたい」「HNで気になる記事ある?」のような リクエストでユーザーが明示的に呼び出すスキル。

yoooz By yoooz schedule Updated 6/3/2026

name: hn-reader description: > Hacker News (https://news.ycombinator.com/) のトップ記事を和訳して提示し、 ユーザーが選んだ記事を要約して /jot で yoooz_vault のデイリーノートに記録する。 「HN見たい」「Hacker News読みたい」「HNで気になる記事ある?」のような リクエストでユーザーが明示的に呼び出すスキル。

hn-reader

Hacker News のトップ記事をユーザーと一緒に「眺めて → 選んで → 要約して記録する」までを行う対話型スキル。

いつ使うか

ユーザーが以下のように明示的に指示した時:

  • 「HN見せて」「Hacker News読みたい」
  • 「HNで気になる記事ある?」
  • /hn-reader と直接スキル呼び出し

逆に使わない場面:

  • ユーザーが特定のHN記事URLをすでに貼っている時(その時は単にWebFetchで内容を返せばよい)
  • HNのコメント欄だけを読みたい時

動作フロー

ステップ1: トップ10件を取得

WebFetchhttps://news.ycombinator.com/ を取得し、トップ10件について以下を抽出する:

  • 順位 (1〜10)
  • タイトル (原文 英語)
  • リンク先URL (記事本体)
  • HNディスカッションURL (https://news.ycombinator.com/item?id=XXXXX)
  • ポイント数
  • コメント数

「Ask HN:」「Show HN:」「Tell HN:」など本文がHN内にある記事は、リンク先URLにHNディスカッションURLを使う。

ステップ2: タイトルを和訳して提示

ユーザーに以下の形式でMarkdownリストを提示する:

今日のHacker Newsトップ10をお持ちしましたわ、ドクター。

1. **【和訳タイトル】** (XXX points, YY comments)
   原文: Original Title Here
   🔗 https://example.com/article

2. **【和訳タイトル】** (XXX points, YY comments)
   原文: Original Title Here
   🔗 https://example.com/article

...

どの記事を読みたい?番号でお知らせくださいませ(複数可、例: `1,3,5` または `all`)。
  • 和訳は意味が通る自然な日本語にする(直訳すぎない)
  • 専門用語は適度に原語のままでよい(例: "LLM", "Rust", "Kubernetes")

ステップ3: ユーザー選択を待つ

AskUserQuestion は4択までしか提示できないため使わず、Markdownリストを提示して自由入力でユーザーから番号を受け取る

受け取った番号をパースする:

  • 3 → 3番のみ
  • 1,3,5 → 1番, 3番, 5番
  • 1-3 → 1番, 2番, 3番
  • all → 全件

ステップ4: 各記事を要約(read-article スキルに委譲)

選ばれた各記事について順番に処理する。記事本文の取得と要約は read-article スキルに 委譲する(WebFetch の小型モデルには要約させない。数字・日付の捏造を防ぐため)。

  1. 各記事のリンク先 URL を read-article の手順で要約する (read-article/scripts/fetch_article.py で本文取得 → Claude 本体が本文を読んで要約)。
    • PAGES:(複数ページ)/ PAYWALL: の注記が出たら、要約にその旨を添える。
    • 本文がほぼ空(exit 2 / SPA の可能性)の場合は、read-article の手順どおり WebFetch の全文抽出にフォールバックする。
    • PDF / 動画 / それでも本文が取れない場合: HN ディスカッション URL にフォールバックし、 議論の内容を要約する。
    • それでも要約できない場合: ユーザーに「この記事は要約できなかった」と報告してスキップ。
  2. 要約は、read-article の出力フォーマットに HN 固有の 💬 行を足した形で表示する:
    ## 【和訳タイトル】
    🔗 元記事: <URL>
    💬 HN: <HNディスカッションURL>
    
    ### 要点
    - ポイント1
    - ポイント2
    - ポイント3
    
    ### 詳細メモ
    - 補足の事実や数値(本文にあるもののみ)
    - 注目すべき主張や結論
    - HNコメント欄で議論になっている論点(取得できた場合)
    
  3. 要約をユーザーに表示してから、次のステップへ

ステップ5: /jot で記録

各記事の要約ごとに 1回ずつ jot スキル (Skill ツール経由) を呼び出す。

jot に渡すメッセージは以下の形式(複数行可):

HN: 【和訳タイトル】 <元記事URL>
要点: ポイント1 / ポイント2 / ポイント3
詳細: 補足事項を簡潔に1-2文で
  • 1行目: タイトルとURL(後から検索しやすくするため)
  • 2行目以降: 要点と詳細を凝縮(Thinoでざっと振り返れる粒度)
  • 改行を含む長文は避ける(Thinoのつぶやき1件として扱いたいため)

ステップ6: 完了報告

すべての記事を処理したら、何件をjotに記録したかをユーザーに報告して終了。

エラー時の振る舞い

  • HNトップページが取得できない: 「Hacker Newsに接続できなかった」と報告して終了
  • タイトル抽出が10件に満たない: 取得できた件数で進める(ユーザーに件数を伝える)
  • 記事本文が取得できない: HNディスカッションにフォールバック → それも無理なら該当記事をスキップして次へ
  • jot失敗(今日のデイリーノートが無いなど): 残りの記事は要約のみ表示し、jot は一度報告したら以降スキップ

Out of scope

  • 過去日付のHNフロントページ(/front?day=YYYY-MM-DD)の閲覧
  • コメントスレッドの完全な要約(あくまで論点の抽出のみ)
  • 記事のブックマーク管理(jotへの記録以上のことはしない)
  • ユーザー指定URLの単発要約(この場合はスキル外で WebFetch を直接使う)
Install via CLI
npx skills add https://github.com/yoooz/dotfiles --skill hn-reader
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator