AI-translated from English; not yet reviewed by a fluent editor.

# コーディングスキルで自分用の AI ニュースダイジェストを作る

> 固定版のスキルを基に、収集、重複排除、フィルター、不確かな判定、リンク、配信を確認する手順です。BIG CHANGE は実行していません。

By BIG CHANGE Editorial

Published: 2026-10-19T13:04:34.919Z
Updated: 2026-10-19T13:04:34.919Z
Canonical: https://bigchange.ai/blog/personal-ai-news-digest-coding-skill

![Charcoal illustration of one standing reader by a window looking at three short entries on a tablet, each with a small orange mark.](https://bigchange.ai/api/media/file/personal-news-digest-standing-reader-concept-v2.png)
AI-generated conceptual illustration by BIG CHANGE.

自分用の AI ニュースダイジェストには、リンクを要約するプロンプト以上の仕組みが必要です。アクセスが認められた情報源から収集し、既出の項目を見分け、事実に基づく条件と判断を分離し、送信した内容を元リンクとともに保存する必要があります。Cole Medin の [build-signal-engine スキル](https://github.com/coleam00/skills/tree/847be0848ae7b997ae4420bc0eac267177a066a2/.claude/skills/build-signal-engine)は、そのシステムを自分のリポジトリ内に構築するようコーディングエージェントに指示します。これは構築手順であり、生成されるコードと動作は回答、情報源、サービス、テストに左右されます。

このガイドは、すでに Claude Code を使い、プロジェクトフォルダーを管理でき、利用可能なフィードや API を判断できる人向けです。選んだ情報源へのアクセスと、有料のデータ・モデルサービスを使う場合の認証情報が必要です。スキルのファイルはリポジトリの MIT ライセンスで公開されていますが、エージェントの利用、情報の取得、モデル呼び出しには料金が発生し得ます。BIG CHANGE は commit `847be0848ae7b997ae4420bc0eac267177a066a2` のスキルと提供元の資料を確認しました。インストール、エンジンの構築、ダイジェストの実行はしていません。

## 1. 固定版のスキルをプロジェクトに追加する

別の作業フォルダーで [Cole Medin のスキルリポジトリ](https://github.com/coleam00/skills)をクローンし、固定した commit をチェックアウトします。

```sh
git clone https://github.com/coleam00/skills.git skills-source
git -C skills-source checkout --detach 847be0848ae7b997ae4420bc0eac267177a066a2
```

ディレクトリ `skills-source/.claude/skills/build-signal-engine/` ディレクトリ全体を `<your-project>/.claude/skills/build-signal-engine/` にコピーします。指示が相対パスで参照するため、`references/` と `templates/` は `SKILL.md` と同じ階層に残してください。コピーしたスキルにリポジトリの [MIT LICENSE](https://raw.githubusercontent.com/coleam00/skills/847be0848ae7b997ae4420bc0eac267177a066a2/LICENSE) と著作権表示も添付します。このプロジェクト内のコピーにより、他のスキルを持ち込まず、確認可能な版に手順を結び付けられます。

そのリポジトリを Claude Code で開き、新しいセッションを開始してプロジェクトのスキルを検出させます。利用可能なスキルに `build-signal-engine` があることを確認し、構築先リポジトリのパスを渡して `/build-signal-engine` を呼び出します。Claude Code の[スキル資料](https://code.claude.com/docs/en/skills)には `.claude/skills/<name>/SKILL.md` の検出と `/skill-name` の呼び出しが説明されています。検出できない場合は、情報源や提供元の設定を変える前にディレクトリ名と、その直下に `SKILL.md` があるかを確認してください。コードの書き込みや実行を許可する前に、スキルと付属ファイルを読みます。

## 2. 自分の実例から作ったプロフィールを承認する

スキルは聞き取りから始まります。どの情報が自分の判断を変えるか、実際に見逃した項目が最初にどこへ出たか、どこでダイジェストを読みたいかを伝えます。実際に読みたかった項目と読み飛ばす項目を、可能ならリンク付きで渡します。利用を許された情報源、経過時間や反応数などの事実条件、ダイジェストの長さ、配信先を選びます。エージェントは回答を `PROFILE.md` にまとめる際に `templates/PROFILE.md` を使い、構築前に承認を求めるべきです。

ファイル内の情報源一覧と判定の質問を読みます。例えば「具体的な新展開を報じているか」という問いが、自分の仕事で何を意味するかを明確にします。採用・除外の実例は後で小さなテスト集になります。単純なフィードが少数だけなら、フィードリーダーや通知で足りないかも検討してください。エンジンには追加の構成要素と継続的なサービス呼び出しが必要です。

情報源の認証情報をプロフィール、プロンプト、コミットするファイル、ログに入れないでください。スキルは生成プログラムが Git の追跡対象外の環境ファイルを読むことを求めています。それでも各提供元に送る項目や、関心事項・元の文章に機密情報が含まれないかを確認する必要があります。

## 3. 許可された情報源を一つ実装し、保存内容を確認する

他を追加する前に、一つの情報源を最初から最後まで実装するよう依頼します。公式フィードや API、選んだ提供事業者、または規約で許された方法のどれを使うかを情報源ごとに決めます。自動アクセスが認められない情報源は除外します。`references/sources.md` は種類や失敗例を説明する資料であり、アクセス権を与えるものではありません。

収集した項目は `templates/item_schema.md` のフィールド、つまり安定した `id`、情報源、タイトル、URL、本文、公開時刻、取得可能な反応数、メタデータに対応させます。ストアには、どのフィルターに該当したか、判定結果、ダイジェストへの掲載履歴も残します。変更履歴は、更新されるページ全体を一件とせず、日付と安定した識別子を持つ個別項目にします。既存の保存先がなければ、スキルは SQLite を提案しています。

実際の情報源の応答と保存された行を確認します。二回目の収集でも識別子と URL が同じ項目を指すことを確かめ、情報源別に取得件数、新規保存件数、重複件数を記録します。予期しない空の応答、日付欠落、解析エラー、同じ項目が再作成される問題を調べます。重複排除は同じ識別子の再保存や後段の再判定を防ぎますが、有料情報源を再取得した料金はなくなりません。

## 4. 事実フィルターと判定を分離する

生成コードに、経過時間、数値の反応数、言語、長さ、既出かどうかを明示的なルールとして適用させます。ルール別の除外件数を読み、対象項目を抜き取り確認します。情報源がすでに行単位で課金した場合、後のフィルターで返金されるわけではありません。一回当たりの課金対象行数に上限を設け、情報源の料金、判定モデル、読解モデルの費用を別々に記録します。

残りの項目には、プロフィールの関連性と具体的な新展開に関する質問をまとめ、項目ごとに一回の型付き判定リクエストを送る設計です。参照資料では OpenRouter 経由の TypeSafe の Jev が選択肢で、構造化出力モデルも代案です。固定版では `typesafe/jev-1.13` が指定されています。OpenRouter の [2026年10月の Jev ガイド](https://openrouter.ai/blog/insights/what-is-jev/)は 1.14 を説明し、1.13 も利用可能としています。意図的に変更を確認・検証しない限り固定版を維持してください。Jev の判定エンドポイントはチャット補完の呼び出しとは異なります。[BIG CHANGE の以前の Jev 記事](https://bigchange.ai/articles/jev-typesafe-ai-decisions-software-diogo-almeida)では、ソフトウェアの判断における広い役割を説明しています。

事実条件や低い関連性による明確な除外には理由を保存します。明確な採用と不確かな項目は読解段階へ送ります。失敗や形式不正の判定には有効な結論がないため、確認または制御された復旧の対象として示し、黙って除外してはいけません。スキルの読解へのフォールバックにも費用上限が必要です。失敗した呼び出しや大きすぎるバッチで承認済みの読解予算を超える場合は、無制限に支払わず、読者が分かる形で保留してください。これらは生成エンジンに要求する確認事項であり、BIG CHANGE が動作確認した内容ではありません。

自分の採用・除外例とラベル付き収集サンプルを評価します。欲しかったのに除外された項目をすべて確認し、しきい値の調整前に曖昧な質問や情報源の選択を直します。型付きの確率も自分の素材では誤ることがあります。好みや反応数は順位付けを助けても、事実上の重要性を証明しません。

## 5. 配信前に元リンク付きダイジェストを保存する

読解モデルには残った元リンク付きの項目を渡し、関連する報道をまとめ、承認したプロフィールの形式で要約させます。各項目に有効な元 URL が残り、小さな変更、リリース、未確認情報を正確に区別しているか確認します。元資料と突き合わせて読んでください。滑らかな文章は、報じられた変化が起きた証拠にはなりません。

スキルはメール、チャット、ノートへの配信前に、日付付きの `digests/YYYY-MM-DD.md` を保存するよう求めます。配信が失敗してもファイルが存在し、開けるかを確認します。保存ファイルと項目記録で、ある話題が入った理由を追跡できます。生成した配信処理が、情報源を再取得したり全工程の料金を再度払ったりせず、そのファイルから再試行できるか確認します。

## 6. 定期実行を許可し、動作を観察する

自動化を登録する前に、実際に生成されたエンジンの起動方法と停止手順、ホストに合うスケジューラー、ローカルのタイムゾーン、配信先、使う認証情報、課金対象行数上限、実行ログ、二重実行防止を提示させます。スケジューラーが実行する正確なコマンドを確認します。スキルは cron、launchd、Windows Task Scheduler を例示しますが、共通のエンジンコマンドは用意していません。手動実行で納得できるリンク付きファイルができてから、その具体的な毎日実行の予定を許可します。

実際の定期実行を観察します。情報源別件数、除外理由、判定の振り分け、トークンとサービス料金、出力先、配信結果を手動実行と比較します。二回目や重なった起動が効果を二重に生まないか確認します。失敗した場合はログで段階を特定し、保存済みのダイジェストがあれば残し、情報源・判定・配信の問題を直して、同じ承認済み費用上限内で必要な段階だけを再実行します。継続取得と課金を止められるよう、実際のスケジューラーの無効化コマンドも確認してください。

一週間、出力を重要な情報源と並べて読み、見逃しとノイズを記録します。見逃しがあれば、未収集、事実ルールによる除外、判定による除外、読解時の脱落のどこで起きたかを調べます。その段階を変更して再確認します。この並行観察で自分の情報源と質問文についての証拠は得られますが、無人運転の正確性を保証するものではありません。

## 大きな変化

このスキルで再利用できるのは、収集、安定した保存、事実フィルター、型付き判断、元リンクに基づく読解を分離した部分です。コーディングエージェントは読者承認済みのプロフィールを基に、それらを組み立てられます。それでもアクセス権、実例、支出上限、毎日の配信の開始・停止は読者の責任です。自分の環境で情報源、重複、見逃し、定期実行の確認を通るまでは、生成されたシステムは構築途中です。

## 情報源と参考資料

- [Cole Medin の固定版 build-signal-engine スキル](https://github.com/coleam00/skills/tree/847be0848ae7b997ae4420bc0eac267177a066a2/.claude/skills/build-signal-engine)は聞き取りと構築段階を説明しています。`references/` と `templates/` は情報源の対応、判定の振り分け、出力を定める指示であり、独立検証済みのエンジンではありません。
- [Claude Code のスキル資料](https://code.claude.com/docs/en/skills)はプロジェクト内の検出と直接呼び出しを説明しています。このエンジン自体を検証する資料ではありません。
- [OpenRouter の Jev ガイド](https://openrouter.ai/blog/insights/what-is-jev/)は現在の判定 API と利用可能なモデル版を説明しています。料金と例は読者の処理の費用・精度を測ったものではありません。
- [リポジトリの MIT ライセンス](https://raw.githubusercontent.com/coleam00/skills/847be0848ae7b997ae4420bc0eac267177a066a2/LICENSE)は、スキルのコピーや重要な部分に添付する表示を定めています。

## Sources

- [Cole Medin の固定版 build-signal-engine スキル](https://github.com/coleam00/skills/tree/847be0848ae7b997ae4420bc0eac267177a066a2/.claude/skills/build-signal-engine) — が主な構築手順です。聞き取り、情報源、判定、ダイジェストの参照資料と三つのテンプレートは、想定する順序、項目、確認点を説明しており、読者の環境で生成エンジンが動く証拠ではありません。
- [Claude Code のスキルガイド](https://code.claude.com/docs/en/skills) — はプロジェクト内の `.claude/skills/<name>/SKILL.md`、検出、`/skill-name` の呼び出しを説明しています。このスキルのテストではありません。
- [OpenRouter の Jev ガイド](https://openrouter.ai/blog/insights/what-is-jev/) — は型付き Decisions API を説明し、2026年10月時点で Jev 1.13 が 1.14 とともに利用可能としています。例と価格は提供元の資料であり、このダイジェスト処理の実測結果ではありません。
- [元リポジトリの MIT ライセンス](https://raw.githubusercontent.com/coleam00/skills/847be0848ae7b997ae4420bc0eac267177a066a2/LICENSE) — は、ソフトウェアのコピーや重要な部分に著作権・許諾表示を含めるよう求めています。
