---
name: xs-tech-news-curation
description: RSSフィードからAI・技術系ニュースを選び、本文を確認して要約と注目理由を紹介するスキル。「テックニュース」「最新のニュース教えて」「技術ニュースまとめて」で使用。
---

# テックニューススキル

RSSから候補を探し、記事本文で確認できた内容と注目する理由を伝える。検索結果やRSSの見出しだけで、機能・原因・性能を断定しない。

## 実行手順

### ステップ1: RSSフィードを取得

ユーザーが指定したフィードを優先する。指定がなければ、以下を候補として使う。全フィードの利用は必須ではない。

- Hacker News（テック全般）: `https://hnrss.org/newest?points=100`
- はてなテクノロジー（日本語テック）: `https://b.hatena.ne.jp/hotentry/it.rss`
- Reddit Programming: `https://www.reddit.com/r/programming/.rss?limit=10`

利用できるWeb取得ツール、またはcurlで取得する。curlでは受信途中の出力を `head` などへ直接pipeせず、一時ファイルへ全量保存し、成功した場合だけ読む。

```bash
feed_url='https://hnrss.org/newest?points=100'
feed_file="$(mktemp)"
if curl --fail --location --silent --show-error \
  --connect-timeout 10 --max-time 30 \
  "$feed_url" -o "$feed_file"; then
  if [ -s "$feed_file" ]; then
    # 受信完了後の表示例。全記事の候補抽出には保存済みファイル全体を読む。
    sed -n '1,80p' "$feed_file"
  else
    printf 'RSSの応答が空でした: %s\n' "$feed_url" >&2
  fi
else
  printf 'RSS取得失敗。保存途中のファイルは使わない: %s\n' "$feed_url" >&2
fi
```

保存済みファイル全体からタイトル・URL・公開日時を抽出する。ログイン画面などのHTMLをRSSと誤認せず、RSS/Atomとして読めるか確認する。表示した先頭部分だけで全候補を確認したことにしない。

取得失敗・空応答・形式不正は短く報告し、取得できた別フィードやWeb検索で補完する。同じ失敗を繰り返さず、候補が足りなければ実際に確認できた件数だけ返す。

### ステップ2: 記事を選定し、本文を確認

以下の基準で3〜5件を目安に選ぶ。

- **優先:** ユーザーの指定分野。指定がなければAI・機械学習、プログラミング、開発ツール
- **除外:** 有料記事など本文を読めないもの、広告記事
- **多様性:** 同じ話題・発表の重複をまとめ、同じジャンルに偏りすぎないようにする
- **鮮度:** RSSの日時だけでなく、記事の公開・更新日と出来事の日付を確認する。古い記事の再浮上を新発表として扱わない

選んだ記事の本文を開く。特に注目記事では、可能なら公式発表・公式ドキュメント・元の論文など、主張を裏付ける一次資料も確認する。

- 記事本文で確認できた事実と、自分の評価・推測を区別する。
- 性能値や比較は条件も確認し、見出しだけで「高速」「安全」などと断定しない。
- 本文を取得できなかった場合は、原則として別の記事に差し替える。
- ユーザー指定の記事など、紹介する必要がある場合は「本文未確認・概要のみ」と明記する。本文の要約や注目記事としては扱わない。
- 3件に届かなくても、記事や未確認の説明を作って埋めない。

### ステップ3: 要約と注目理由を報告

各記事について、確認できた要点とリンクを簡潔に示す。その中から特に注目する1〜2件を選び、理由を2〜3行で説明する。本文を確認できた記事がなければ、注目記事を無理に選ばない。

注目理由は、実務で役立つ場面、従来との違い、ユーザーが指定した関心との関係など、具体的に書く。事実の説明と自分の評価が分かる表現にする。

```markdown
## 今日のテックニュース（YYYY-MM-DD）

### 1. 記事タイトル
- 概要: 本文で確認した要点を2〜3行で説明
- 公開日: YYYY-MM-DD（分からなければ不明と記載）
- リンク: 記事URL

### 2. 記事タイトル
...

## 特に注目した記事

### 記事タイトル
- 注目理由: どんな用途で役立ちそうか、何が変わったか
- 留意点: 適用条件や未確認事項がある場合だけ記載
- 根拠: 確認に使った記事・一次資料のURL
```

日付は実行環境の現在日時とユーザーのタイムゾーンに合わせる。確認できない日時を推測して書かない。

通常は現在の会話への返信で完了する。SNSや別チャンネルへの投稿は自動で行わない。メッセージ分割などの形式は実行環境の指示に従い、特定プラットフォーム専用の記法を必須にしない。

## カスタマイズ

- 「AIのニュースだけ」「Pythonのニュース」「日本語の記事だけ」などの指定に合わせて選定する。
- 好きなRSSフィードはユーザーの設定や依頼で受け取り、取得例の `feed_url` を差し替える。
- 個人用の購読URL・認証情報は公開スキルへ書き込まない。

## 完了前チェック

- RSSを受信途中で切っていない。取得失敗や空応答を成功扱いしていない。
- 採用記事の本文・日時・重複を確認した。未確認の範囲は明記した。
- 要約と注目理由が分かれ、記事・必要な一次資料へのリンクがある。
- 件数不足や取得失敗を隠していない。
