pp-digg について
pp-diggは、DiggのAIニュースランキングを調査するAgentやパワーユーザー向けの読み取り専用CLIスキルです。トピック検索や順位履歴に加え、著者、GitHub、パイプライン、他サービスとの照合情報を扱います。
主な機能
- 01トピックと関連投稿の検索
- 02著者ランキングと変動の確認
- 03取り込みイベントと状態の監視
- 04順位履歴と根拠の照会
- 05GitHubリポジトリ動向の追跡
活用シーン
- 01AIニュースの話題の推移を調査
- 02上昇・下降中の著者を発見
- 03記事の順位とセンチメントを確認
- 04DiggとHacker News、Techmemeを比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-diggインストール後、Claude Code で/pp-diggを入力して読み込まれたか確認します。
詳細
Digg — Printing Press CLI
前提条件:CLI のインストール
このスキルは digg-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。
- Printing Press インストーラーを使用してインストールします。バイナリのインストール先は、macOS/Linux では
$HOME/.local/bin、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binがデフォルトです。npx -y @mvanhorn/printing-press-library install digg --cli-only - 確認します:
digg-pp-cli --version - スキルを実行するエージェント/ランタイムの
$PATHに、報告されたインストールディレクトリが含まれていることを確認します。
npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/digg/cmd/digg-pp-cli@latest
インストール後に --version が「command not found」と報告する場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認が成功するまで、スキルのコマンドを実行しないでください。
この CLI を使用する場面
エージェントやパワーユーザーが、Digg のランキング、ランキング変動履歴、パイプラインイベント、クラスターごとの透明性記録、または GitHub フィードに構造化された形でアクセスする必要がある場合に、この CLI を使用してください。AI ニュースのサイクルの動きを追跡する、HN+Techmeme+Digg を横断する調査を行う、追跡対象アカウントが新しい AI リポジトリにスターを付けた瞬間を監視する、Digg のシグナルをより大きな自動化に取り込む場合に適したツールです。投票、コメント、投稿の自動化には使用しないでください。これらの変更操作は明確に対象外です。
この CLI を使用しない場面
作成、更新、削除、公開、コメント、アップボート、招待、注文、メッセージ送信、予約、購入、またはリモート状態の変更が必要なリクエストには、この CLI を使用しないでください。この印刷用 CLI が提供するのは、検査、エクスポート、同期、分析のための読み取り専用コマンドです。
独自の機能
これらの機能は、この API 用の他のツールでは利用できません。
トピック検索と投稿ごとの引用
-
search— Digg の全期間を対象にトピックを検索します。デフォルトではライブ検索です。/api/search/storiesを呼び出します。これは di.gg/ai の Cmd+K モーダルを支えるものと同じサーバー側検索です。ネットワークエラー時、または--data-source localが指定された場合は、ローカルストアの FTS5 にフォールバックします。エンゲージメントのメタデータ(postCount、uniqueAuthors、firstPostAge)付きのランキング済みクラスターを返します。last30days 型の調査ワークフローの要となるレシピです。
digg-pp-cli search "<topic>" --since 30d --agent --select clusterUrlId,title,rank,postCount,uniqueAuthors,firstPostAge--since Nh|Nd|Nw|Nm— 指定した期間内に最初に投稿されたクラスターに絞り込みます(ライブモードでは Digg 独自のfirstPostAgeを解析し、ローカルモードではdigg_clusters.first_post_atを読み取ります)。
-
posts— 1 つのクラスターに紐づく X の投稿を表示します。投稿者ランク、レンダリング時の本文、メディア URL、リポストのコンテキスト、ワンクリックで引用できるよう生成された xUrl が含まれます。引用に使うレシピです。ストーリーに関する、信頼性の高い AI 1000 の発信者を表示し、ランク、種類、時刻で並べ替えられます。
digg-pp-cli posts <clusterUrlId> --by rank --limit 5 --agent --select author.username,author.rank,post_type,xUrl,body
投稿者の検索と一覧表示
-
authors get—/api/search/users経由で、Digg の全投稿者(1000 位以内+1000 位圏外)から任意の X ハンドルを検索します。1000 位圏外のハンドルの場合、レスポンスにはsubject_peer_follow_count、1000 位の基準となる投稿者のpeer_follow_count、および符号付きのpeer_follow_gapが含まれます。これは AI 1000 内の相互フォロー数で測定した、1000 位までの差です(X の生のフォロワー数ではありません)。信頼性を確認するための検索機能です。エージェントは、構造化された 1 件のレコードを読むことで、そのハンドルを引用するかどうか判断できます。
digg-pp-cli authors get <handle> --agent
mvanhorn の 1000 位圏外の例(抜粋):
{
"username": "mvanhorn",
"current_rank": null,
"subject_peer_follow_count": 19,
"nearest_in_1000": {"rank": 1000, "username": "...", "peer_follow_count": 90},
"peer_follow_gap": 71
}
peer_follow_gap は、1000 位の followed_by_count(AI 1000 内からの相互フォロー数)との差です。X の生のフォロワー数の差として解釈しないでください。
-
authors list—/ai/1000から AI 1000 のランキング全体を取得し、詳細なフィールド(rank、category、bio、vibeDistribution、GitHub URL)とともに保存します。カテゴリー内で注目を集め始めている発信者を見つける、AI 1000 に新たに加わった投稿者を探す、急速に順位を落としている人を確認する、といった操作ができます。並べ替え、絞り込み、スクリプトからの実行に対応しています。
# Biggest movers since the last snapshot digg-pp-cli authors list --by rankChange --limit 20 --agent # Newly listed (first appearance in the 1000) digg-pp-cli authors list --only-new --agent
--by rank|rankChange|category|followers で並べ替えます。--category "<name>"、--only-new、--only-fallers で絞り込みます。
ライブパイプラインの可観測性
-
events— Digg の取り込みパイプラインをリアルタイムで追跡します。検出されたクラスター、ランキングを急上昇中のストーリーと明示的な順位変動、処理中の X 投稿、バッチの内訳を確認できます。エージェントが「ストーリー X が N 位上昇したら教えて」や「Digg が過去 1 時間に検出した新しいクラスターは?」と尋ねられたとき、これが唯一の方法です。
digg-pp-cli events --since 1h --type fast_climb --json --select clusterId,label,delta,currentRank,previousRank -
watch— /ai をポーリングし、前回のスナップショットとの差分を取り、クラスターが N 位以上上昇した場合に通知します。読み取り専用の運用ウォッチャーです。Digg に書き戻すことはありません。
digg-pp-cli watch --alert 'rank.delta>=10' -
pipeline status— /api/trending/status を 1 画面で表示します。isFetching、nextFetchAt、storiesToday、clustersToday、直近 5 件のイベントを確認できます。運用担当者やパワーユーザーは、新しいバッチがいつ取り込まれるか、過去 1 時間に何が取り込まれたかを確認できます。
digg-pp-cli pipeline status --watch
積み重なるローカル状態
-
replaced— 前回の同期以降にランキングから外れたストーリーを、Digg が公開した置き換え理由とともに表示します。ベスト・オブ・フィードの変化は、記憶しているよりも速く進みます。「Digg が何を外したのか、その理由は何か」を検索できるようになります。
digg-pp-cli replaced --since 24h --json -
crossref— Digg がそのストーリーについての議論を検出した場合に、このクラスターに関する Hacker News と Techmeme のミラーを表示します。複数のアグリゲーターを横断する調査ワークフローで、「HN でも話題になっているか」を手作業で確認する手順をなくします。
digg-pp-cli crossref iq7usf9e -
authors top— Digg が追跡するアカウントを、Digg の影響力スコア、ストーリー数、またはリーチで順位付けして表示します。投資家や AI スカウトは、どのアカウントがニュースの流れを動かしているかを重視します。これで検索、並べ替え、スクリプトからの利用が可能になります。
digg-pp-cli authors top --by influence --limit 50 --json -
history— ローカルのスナップショット履歴から、1 つのクラスターの currentRank、peakRank、delta の推移をすべて表示します。「18 位で登場し、6 時間後に 4 位まで上昇、24 時間後には 22 位まで下落」という情報は、ライブサイトから得ることはできません。
digg-pp-cli history iq7usf9e --json -
author— 指定した X アカウントが投稿に関与したすべてのクラスターを、投稿の種類(original、retweet、quote、reply)とともに表示します。「今週、このアカウントが取り上げたストーリーをすべて見せて」は、投資家スカウトが使うクエリです。
digg-pp-cli author Scobleizer --since 7d --json
透明性
-
evidence— 1 つのクラスターについて、scoreComponents、evidence 配列、numeratorLabel、percentAboveAverage を含むランキングの透明性に関する記録全体を出力します。ユーザーが「なぜこれがトップストーリーなのか」と尋ねたとき、答えは構造化データです。エージェントはこれを組み合わせて利用できます。
digg-pp-cli evidence iq7usf9e --json -
sentiment— クラスターの時間枠ごとのポジティブ比率(pos6h、pos12h、pos24h、posLast)を読み取ります。ストーリーをめぐる会話がまだ全体としてポジティブなのか、雰囲気が悪化したのかをエージェントに伝えます。ストーリーを引用する前に役立ちます。
digg-pp-cli sentiment iq7usf9e --window 6h --json
HTTP トランスポート
この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しに常駐ブラウザープロセスは必要ありません。
コマンドリファレンス
feed — AI ストーリーのトップレベルフィード(HTML ページ。CLI は埋め込みの RSC ストリームを解析します)
digg-pp-cli feed raw— 生の /ai HTML ページを取得します。CLI の sync コマンドがこれを解析します。ほとんどのユーザーは、代わりにsyncを実行してからtopを実行してください。digg-pp-cli feed story_raw— 生の /ai/{clusterUrlId} ストーリー詳細ページ(HTML)を取得します。CLI のstoryコマンドがこれを解析します。ユーザーは...
github — Digg が X アカウントのリーダーボードと併せて表示する GitHub フィード
digg-pp-cli github stars— Digg が追跡するアカウントのスター付け状況に基づいてランク付けした、注目度の高い AI リポジトリです。repo_full_name、language、stargazers_count、最近スターを付けたユーザー、breakout/novel/ai_related のスコア、およびモデルによる一文の分類を返します。フラグ:--limit、--min-starrers N(異なるスター付けユーザーが N 人以上のリポジトリのみを残します。スマートマネーの収束を示します。--limitより前に適用されます)。digg-pp-cli github new— 最近初めて確認されたリポジトリと、Digg の注目を最初に集めた、Digg が追跡する作成者/スター付けユーザーを返します(event_id、event_created_at、repo_full_name、creator)。フラグ:--limit。digg-pp-cli github activity— GitHub コントリビューターのトップリーダーボードです。Digg の追跡期間における、作成者ごとの順位、コントリビューション数、異なるリポジトリ数を返します。フラグ:--limit。digg-pp-cli github recent— ライブアクティビティフィードです。GitHub URL と操作したユーザーを含むイベントごとのエントリーを返します。フラグ:--limit。
rankings — /ai/x/rankings/companies スナップショットのサブビュー
digg-pp-cli rankings emerging— 小規模な AI 企業のキュレーション済みリストです(「EMERGING STARTUPS — CURATED THIS SNAPSHOT」セクション)。スナップショットごとに約 10 行です。各行にはisEmergingStartup(AI による判定)とemergingReasoning(キュレーターの説明文)が含まれます。フラグ:--max-skip-ratio(スキーマの変更に対する許容度。デフォルトは 0.10)。digg-pp-cli rankings movers— 前回のスナップショットからフォロワー数が最も大きく変化した企業です。フラグ:--direction up|down|both(デフォルトは both。方向は行ごとに記録されます)、--max-skip-ratio。digg-pp-cli rankings list— 企業ランキング全体です(「Companies followed by the AI 2K」セクション)。サーバー側でページ分割され、初期 HTML の範囲を返します。フラグ:--limit、--max-skip-ratio。
search — Digg の全追跡期間を対象としたトピック検索
digg-pp-cli search "<query>"— デフォルトではライブ検索(/api/search/stories)を行い、ローカルストアに対する FTS5 検索にフォールバックします。フラグ:--since Nh|Nd|Nw|Nm、--data-source live|local|auto、--limit。
authors — Digg が追跡する AI ニュースアカウント(/ai/1000 の一覧)を確認します
digg-pp-cli authors get <handle>— X のハンドルを検索します(1000 件に含まれるものと、含まれないもの)。1000 件に含まれない記録には、subject_peer_follow_count、nearest_in_1000の基準アカウント、peer_follow_gapが含まれます。フラグ:--limit(あいまい検索のフォールバック)。digg-pp-cli authors list—/ai/1000にある順位付き一覧全体を、詳細なフィールドとともに保存します。フラグ:--by rank|rankChange|category|followers、--category、--only-new、--only-fallers、--limit。digg-pp-cli authors top— 影響力、投稿数、またはリーチに基づくトップコントリビューターです。フラグ:--by、--limit。
posts — 1 つのクラスターに紐づく X の投稿
digg-pp-cli posts <clusterUrlId>— 元の投稿、返信、引用、リツイートを、作成者の順位、表示時の本文、メディア URL、生成された xUrl とともに返します。フラグ:--by rank|type|time、--type tweet|reply|quote|retweet、--limit、--no-cache。
story — クラスターの詳細全体です。レスポンスのエンベロープには、U5 RSC パーサーが値を設定した posts と postsMeta のフィールドが含まれるようになりました。
trending — 公開されている取り込みパイプラインのステータスとイベントストリーム
digg-pp-cli trending— 現在のパイプラインのステータス(storiesToday、clustersToday、isFetching、nextFetchAt)と最近のイベントストリームを読み取ります...
適切なコマンドを見つける
実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。
digg-pp-cli which "<capability in your own words>"
which は、自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 つの一致があることを示し、終了コード 2 は確信を持って一致するものがないことを示します。その場合は --help にフォールバックするか、より絞り込んだ問い合わせを使用してください。
レシピ
リサーチワークフロー向けのトピック検索
digg-pp-cli search "<topic>" --since 30d --agent --select clusterUrlId,title,rank,postCount,uniqueAuthors,firstPostAge
/api/search/stories を介した Digg の全ウィンドウにわたるサーバーサイド検索。エンゲージメントメタデータ (postCount、uniqueAuthors、firstPostAge) を伴うランク付けされたクラスターを返します。last30days スタイルの利用者にとって中核となるレシピです。引用には posts と組み合わせてください。
著者の信頼性ルックアップ (1000 位以内かどうかを問わず)
digg-pp-cli authors get <handle> --agent
任意の X ハンドルを構造化レコードに解決します。mvanhorn のような 1000 位圏外のハンドルの場合、レスポンスには subject_peer_follow_count: 19、nearest_in_1000.peer_follow_count: 90、peer_follow_gap: 71 が含まれます。peer_follow_gap は、AI-1000 のピアフォロー数 (Digg が実際にランク付けに用いる指標) で測った 1000 位までの距離であり、生の X フォロワー数の差分ではありません。
名簿の閲覧: 最も大きく順位を上げた人と新規掲載者
# Biggest movers since the last snapshot
digg-pp-cli authors list --by rankChange --limit 20 --agent
# Newly listed (first appearance in the 1000)
digg-pp-cli authors list --only-new --agent
あるカテゴリで台頭している声を特定し、ちょうど 1000 に入ったばかりの著者を見つけます。--by rank|rankChange|category|followers で並べ替え、--category、--only-new、--only-fallers で絞り込みます。
記事ごとのトップコメント (引用)
digg-pp-cli posts <clusterUrlId> --by rank --limit 5 --agent --select author.username,author.rank,post_type,xUrl,body
あるストーリーにおける最も信頼性の高い AI 1000 の声を浮かび上がらせます。生成された X URL により引用はワンクリックです。search と組み合わせれば、トピック → クラスター → 引用可能な投稿へと 2 つのコマンドで進めます。
過去 1 時間で 10 ランク以上上昇したもの
digg-pp-cli events --since 1h --type fast_climb --json --select clusterId,label,delta,currentRank,previousRank
公開イベントストリームを読み取り、急上昇イベントのみに絞り込み、JSON をエージェントが実際に必要とする 5 つのフィールドに絞ります。
なぜそのストーリーがトップストーリーなのか
digg-pp-cli evidence 65idu2x5 --json
1 つのクラスターについて scoreComponents と evidence 配列を出力します。digg-pp-cli top --json --select clusterUrlId で clusterUrlId を取得します。
特定の X アカウントが今週寄与したすべてのクラスターを表示する
digg-pp-cli author Scobleizer --since 7d --json --select label,clusterUrlId,activityAt
指定した著者が投稿者となったクラスターをローカルストアに問い合わせます。出力はエージェントでの利用向けに絞られます。
ストーリーを HN と Techmeme で相互参照する
digg-pp-cli crossref 65idu2x5
Digg 自身の hackerNews/techmeme 参照フィールドを使用するため、それらのサイトを手動で検索する必要はありません。top --json --select clusterUrlId から任意の clusterUrlId を渡します。
パイプラインをライブで追う
digg-pp-cli pipeline status --watch
isFetching、nextFetchAt、storiesToday、clustersToday、および直近のいくつかのパイプラインイベントを 1 画面のダッシュボードで表示します。
認証の設定
認証は不要です。
digg-pp-cli doctor を実行して設定を確認してください。
エージェントモード
任意のコマンドに --agent を追加します。これは --json --compact --no-input --no-color --yes に展開されます。
-
パイプ可能 — JSON は stdout に、エラーは stderr に出力
-
フィルタ可能 —
--selectはフィールドのサブセットを保持します。ドット区切りのパスはネストした構造へ降りていき、配列は要素ごとにたどります。冗長な API でコンテキストを小さく保つために重要です:digg-pp-cli feed raw --agent --select id,name,status -
プレビュー可能 —
--dry-runは送信せずにリクエストを表示します -
オフライン対応 — sync/search コマンドは、利用可能な場合はローカルの SQLite ストアを使用できます
-
非対話型 — 決してプロンプトを出さず、すべての入力はフラグです
-
読み取り専用 — この CLI を create、update、delete、publish、comment、upvote、invite、order、send、その他の変更を伴うリクエストに使用しないでください
レスポンスエンベロープ
ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープでラップします:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
データには .results を、それがライブかローカルかを知るには .meta.source を解析します。人間が読める N results (live) のサマリーは、stdout がターミナルの場合にのみ stderr に出力されます。パイプやエージェントの利用者は、stdout で純粋な JSON を受け取ります。
エージェントからのフィードバック
あなた (またはエージェント) がこの CLI について何かおかしいと気づいたら、記録してください:
digg-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
digg-pp-cli feedback --stdin < notes.txt
digg-pp-cli feedback list --json --limit 10
エントリはローカルの ~/.digg-pp-cli/feedback.jsonl に保存されます。DIGG_FEEDBACK_ENDPOINT が設定されており、かつ --send が渡されるか DIGG_FEEDBACK_AUTO_SEND=true である場合を除き、決して POST されません。デフォルトの動作はローカルのみです。
バグレポートではなく、驚いたことを書いてください。短く、具体的に、1 行で。それが複利的に効いてくる部分です。
出力の配信
すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力への出力に加えて(または標準出力の代わりに)、指定したシンクに送られるため、エージェントはコマンド結果を手動でパイプ接続せずに振り分けられます。対応しているシンクは3種類です。
| シンク | 動作 |
|---|---|
stdout | デフォルト。標準出力にのみ書き込みます |
file:<path> | 出力を <path> にアトミックに書き込みます(一時ファイル+リネーム) |
webhook:<url> | 出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson) |
不明なスキームは、対応するスキームを示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の値を返し、URL と HTTP ステータスを標準エラー出力に記録します。
名前付きプロファイル
プロファイルは保存済みのフラグ値のセットで、複数の呼び出しで再利用できます。スケジュールされたエージェントが毎回、同じ設定で同じコマンドを呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。
digg-pp-cli profile save briefing --json
digg-pp-cli --profile briefing feed raw
digg-pp-cli profile list --json
digg-pp-cli profile show briefing
digg-pp-cli profile delete briefing --yes
明示的に指定したフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルトより優先されます。agent-context は、実行時にエージェントが利用可能なプロファイルを確認できるよう、available_profiles にすべてのプロファイルを一覧表示します。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 2 | 使用方法のエラー(引数が正しくありません) |
| 3 | リソースが見つかりません |
| 5 | API エラー(上流の問題) |
| 7 | レート制限中(待機して再試行してください) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します。
- 空、
help、または--help→digg-pp-cli --helpの出力を表示します installで始まる場合 →mcpで終わる場合は MCP のインストール、それ以外の場合は上記の「前提条件」を参照してください- それ以外 → 直接使用(
--agentを付けて CLI コマンドとして実行します)
MCP サーバーのインストール
この CLI の公開ライブラリーのエントリー、またはビルド済みリリースから MCP バイナリーをインストールし、登録します。
claude mcp add digg-pp-mcp -- digg-pp-mcp
確認します:claude mcp list
直接使用
- インストール済みか確認します:
which digg-pp-cli見つからない場合は、インストールを提案します(このスキルの冒頭にある「前提条件」を参照してください)。 - ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
--agentフラグを付けて実行します。digg-pp-cli <command> [subcommand] [args] --agent- あいまいな場合は、サブコマンドのヘルプを確認します:
digg-pp-cli <command> --help。