mcpField
P
pp-scrape-creators

pp-scrape-creators

github.com/mvanhornマーケティング・グロース2.1k564 回インストール今日更新
リポジトリ

pp-scrape-creators について

pp-scrape-creators は、公開ソーシャルプロフィール、コンテンツ、広告を扱うマーケティングや調査向けの scrape-creators-pp-cli 用スキルです。データをローカルの SQLite に同期し、コメント取得、全文検索、API クレジット管理を行えます。

主な機能

  1. 01コメントと返信を取得・分析
  2. 02クレジット予算内で投稿を一括取得
  3. 03複数プラットフォームでクリエイターを比較
  4. 04同期済みコメントと文字起こしを検索
  5. 05ブランド広告の変化を監視
  6. 06クリエイターのフォロワー数を追跡

活用シーン

  1. 01複数プラットフォームで提携候補を選定
  2. 02ブランド関連のコメントや返信を調査
  3. 03大量のコンテンツ取得を予算内で実行
  4. 04競合ブランドの広告変化を監視

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-scrape-creators

インストール後、Claude Code で/pp-scrape-creatorsを入力して読み込まれたか確認します。

詳細

クリエイターのスクレイピング — Printing Press CLI

前提条件:CLI をインストールする

このスキルは scrape-creators-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、まずインストールしてください。

  1. Printing Press のインストーラーを使ってインストールします。バイナリの既定の保存先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin です。
    npx -y @mvanhorn/printing-press-library install scrape-creators --cli-only
    
  2. バージョンを確認します:scrape-creators-pp-cli --version
  3. インストール先のディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx でのインストールに失敗した場合(Node がない、オフラインなど)は、Go で直接インストールしてください(Go 1.26.6 以降が必要です)。これは $GOPATH/bin(既定では $HOME/go/bin)にインストールされるため、代わりにそのディレクトリを $PATH に追加してください。

go install github.com/mvanhorn/printing-press-library/library/developer-tools/scrape-creators/cmd/scrape-creators-pp-cli@latest

インストール後に --version が「command not found」と報告する場合、ランタイムから $PATH 上のバイナリディレクトリが見えていません。確認に成功するまで、スキルのコマンドを実行しないでください。

公式 CLI はエンドポイントをミラーリングし、公式スキルでは curl を使ったワークフローを説明していますが、どちらも実行間の状態を保持しません。この CLI は、プロフィール、投稿、返信付きコメント、文字起こし、広告を FTS5 検索に対応した SQLite に同期し、クレジットの費用対効果に基づいてコメントスレッドの取得方法を選択し(comments thread)、返信の完全性を実際のデータに照らして監査し(comments coverage)、実行前のクレジット見積もりでコストのかかる一括取得を制御します(account estimate)。

この CLI を使用する場面

ブランドのコメントと返信の大規模な調査、複数のプラットフォームにわたるクリエイターの評価、競合他社の広告の監視、またはすでに同期した文字起こし/コメントのコーパスの検索など、公開ソーシャルメディアデータを扱うタスクでこの CLI を使用してください。クレジットの費用対効果が重要な場合に最適です。スレッドの取得方法の選択、一括取得の予算設定、実行前の見積もりにより、エージェントが費用を把握せずにクレジットを消費することを防ぎます。

使用しない場面

次の場合は、この CLI を使用しないでください。

  • いずれのプラットフォームでも、投稿、いいね、フォロー、メッセージ送信に使用しないでください。公開データのスクレイピング専用で、読み取り専用です。
  • 非公開またはログインが必要なコンテンツには使用しないでください。一般公開されているデータのみ取得できます。
  • ソーシャルメディア以外のサイトをスクレイピングする汎用ツールとして使用しないでください。代わりにクローリングツールを使用してください。

独自の機能

この API 向けの他のツールでは、以下の機能を利用できません。

コメントスレッドの完全性
  • comments thread — 1 件の投稿のコメントスレッドをすべて取得します。15 クレジットの定額 include_replies 呼び出しと、コメントごとに 1 クレジットの返信取得呼び出しから、コストの低い方法を自動的に選択します(判断基準として child_comment_count を信頼しないでください。この値は信頼できません)。既定ではトップレベルコメントの最初のページのみを取得し、それ以上ある場合は truncated: true で示します。--max-credits N を渡すと、すべての有料呼び出しを制御するクレジット予算の範囲内で、以降のページも取得します(取得が停止した理由はエンベロープの note に記載されます)。

    クレジットの計算を手作業で行わずに、投稿のすべての返信が必要な場合に使用してください。

    scrape-creators-pp-cli comments thread https://www.instagram.com/reel/C8rKmYvsrck --agent
    scrape-creators-pp-cli comments thread https://www.instagram.com/reel/C8rKmYvsrck --max-credits 60 --agent
    
  • comments coverage — API が報告したコメント数と、ローカルストアに実際に取り込まれたコメント数を比較して、同期済みの投稿を順位付けします。API の child_comment_count がスレッドのフィルターとして信頼できない場合に、実際のデータを把握できます。

    一括取得後、返信が気づかないうちに欠落している投稿を見つけるために使用してください。

    scrape-creators-pp-cli comments coverage bracken.design --agent
    
  • comments sweep — ハンドルの最近の投稿とそのコメントを 1 つのコマンドで取得し、設定したクレジット予算に達した時点で正常に停止します。

    数百件の投稿を対象としたコメント調査の手順を 1 つのコマンドにまとめ、予算の範囲内で実行します。

    scrape-creators-pp-cli comments sweep bracken.design --since 7d --max-credits 200 --agent
    
クレジット管理
  • account estimate — 計画中の実行に必要なクレジットを現在の残高に照らして見積もり、予算を使い切る場合はゼロ以外の終了コードで終了します。

    大規模な一括取得の前に実行し、パイプラインの途中でエージェントが残高を使い切らないようにしてください。

    scrape-creators-pp-cli account estimate --posts 950 --with-replies flat --agent
    
  • account budget — API クレジットの消費ペースと、現在のペースで残り何日分あるかを確認します。

    定期的に実行する新しいパイプラインを始める前に、残りの運用可能期間を確認してください。

    scrape-creators-pp-cli account budget --agent
    
クロスプラットフォームインテリジェンス
  • creator find — 1つのハンドルを指定するだけで、そのクリエイターが12のクリエイタープラットフォームのどれに存在するかをフォロワー数と並べて確認できます。

    プラットフォームごとの詳細を取得する前に、コラボの適格性評価はここから始めましょう。

    scrape-creators-pp-cli creator find mkbhd --agent
    
  • creator compare — 2人以上のクリエイターをフォロワー数、エンゲージメント率、コンテンツ量で並べて比較します。

    コラボの判断から見せかけのフォロワー数を排除します。

    scrape-creators-pp-cli creator compare mkbhd mrwhosetheboss --agent
    
  • content spikes — クリエイター自身のベースラインをはるかに超えたパフォーマンスを出した動画、つまり実際にバイラル化した動画を浮き彫りにします。

    数百件の投稿を目視確認することなく、外れ値のコンテンツを見つけられます。

    scrape-creators-pp-cli content spikes mkbhd --platform youtube
    
  • trends triangulate — ハッシュタグやトピックを1回の呼び出しでプラットフォーム横断的にスナップショットし、どのプラットフォームで最も大きいかを確認します。

    コンテンツを作成する前に、どこに公開するかを決定します。

    scrape-creators-pp-cli trends triangulate "matcha" --agent
    
蓄積されるローカル状態
  • transcripts search — 同期済みのすべてのプラットフォームのトランスクリプトをFTS5全文検索 — YouTube、TikTok、Instagram、Facebook、LinkedIn、Rumbleなどにまたがる9種類のリソースタイプ。

    すでに費用を払って取得したトランスクリプトを、再取得せずに検索できます。

    scrape-creators-pp-cli transcripts search "pricing objection" --limit 10
    
  • ads monitor — Facebook、TikTok、Google、LinkedInの広告ライブラリ全体でブランドの配信中広告をスナップショットし、再実行時には新しい広告と消えた広告を差分比較します。

    毎週再実行して、競合の広告活動の差分だけを確認できます。

    scrape-creators-pp-cli ads monitor nike --agent
    
  • comments search — 同期済みのすべてのコメントと返信をオフラインで全文検索します。

    すでに取得済みのコメントから、クレジットを使わずに質問や不満を掘り起こせます。

    scrape-creators-pp-cli comments search "refund" --limit 20
    
  • creator track — 選択したプラットフォームで実行ごとにフォロワーのスナップショットを追加し、時間の経過に伴う成長の軌跡を読み取ります。

    自分で管理するスケジュールでパートナーの成長を追跡できます。

    scrape-creators-pp-cli creator track mkbhd --platform instagram
    
  • creator tagged — クリエイターやブランドがタグ付けされた投稿をスナップショットし、再実行時に新しいメンションを差分比較します。

    リスト全体を再確認することなく、クライアントブランドのUGCを毎週チェックできます。

    scrape-creators-pp-cli creator tagged bracken.design --agent
    

コマンドリファレンス

account — アカウントを管理

  • scrape-creators-pp-cli account list — Scrape Creatorsアカウントに残っているAPIクレジット数を返します。
  • scrape-creators-pp-cli account list-getapiusage — 呼び出されたエンドポイント、ステータスコード、使用クレジット、タイムスタンプを含む、APIリクエストのページネーションされたリストを返します。
  • scrape-creators-pp-cli account list-getdailyusagecount — 過去30日間の集計された日次使用統計を返します
  • scrape-creators-pp-cli account list-getmostusedroutes — 呼び出し回数でランク付けされた上位20件の最も呼び出されたAPIエンドポイントと、エンドポイントごとに消費された合計クレジットを返します。

amazon — Amazonを管理

  • scrape-creators-pp-cli amazon — URLでクリエイターのAmazon Shopページをスクレイピングし、そのストアフロントプロフィールと商品コレクションを返します。

apple-music — Apple Musicのアーティスト、曲、アルバム、検索結果をスクレイピング

  • scrape-creators-pp-cli apple-music list — タイトル、アーティスト、アートワーク、リリース情報、トラックを含む、公開されているApple Musicアルバムの詳細を取得します
  • scrape-creators-pp-cli apple-music list-applemusic — アートワーク、編集ノート、トップソング、アルバム、ミュージックビデオを含む、公開されているApple Musicアーティストの詳細を取得します
  • scrape-creators-pp-cli apple-music list-applemusic-2 — Apple Musicを検索し、アーティスト、アルバム、曲、プレイリスト、ステーションの公開結果セクションを返します
  • scrape-creators-pp-cli apple-music list-applemusic-3 — IDまたはURLで公開されているApple Musicの曲の詳細を取得します。i=の曲IDを含むアルバムトラックのURLに対応しています。

bluesky — Blueskyの投稿とプロフィール情報を取得

  • scrape-creators-pp-cli bluesky list — URL を指定して Bluesky の投稿を 1 件取得し、投稿のレコードテキスト、投稿者情報、埋め込みコンテンツ、replyCount を返します。
  • scrape-creators-pp-cli bluesky list-profile — ハンドル、displayName、アバター、説明、followersCount を含む、Bluesky ユーザーの公開プロフィールを取得します。
  • scrape-creators-pp-cli bluesky list-user — Bluesky ユーザーの投稿フィードをページ分割して取得し、各投稿の uri、レコードテキスト、投稿者情報を返します。

detect-age-gender — 年齢と性別の検出を管理します。

  • scrape-creators-pp-cli detect-age-gender — AI を使用してクリエイターのプロフィール写真を分析し、年齢と性別を推定します。

facebook — Facebook の公開プロフィールと投稿を取得します。

  • scrape-creators-pp-cli facebook create — Meta Ad Library から、特定の企業が現在配信しているすべての広告を取得します。
  • scrape-creators-pp-cli facebook create-adlibrary — Meta Ad Library をキーワードで検索し、一致する広告を返します。
  • scrape-creators-pp-cli facebook list — 都市のイベントを取得します。詳しくは[こちらのリンク](https://www.facebook.
  • scrape-creators-pp-cli facebook list-adlibrary — ID または URL を指定して、特定の Facebook 広告の詳細情報を取得します。
  • scrape-creators-pp-cli facebook list-adlibrary-2 — ID または URL を指定して、Facebook Ad Library の動画広告 1 件の文字起こしを取得します。
  • scrape-creators-pp-cli facebook list-adlibrary-3 — Meta Ad Library から、特定の企業が現在配信しているすべての広告を取得します。
  • scrape-creators-pp-cli facebook list-adlibrary-4 — Meta Ad Library をキーワードで検索し、一致する広告を返します。
  • scrape-creators-pp-cli facebook list-adlibrary-5 — Meta Ad Library で企業名を検索し、他の広告ライブラリで使用できるページ ID を返します。
  • scrape-creators-pp-cli facebook list-event — URL または ID を指定して、特定のイベントを取得します。
  • scrape-creators-pp-cli facebook list-events — イベントを名前で検索します。
  • scrape-creators-pp-cli facebook list-group — 説明、プライバシー、公開範囲など、Facebook グループの「基本データ」ページに表示される公開情報を取得します。
  • scrape-creators-pp-cli facebook list-group-2 — 公開 Facebook グループの投稿を取得します。API の制限により、1 ページあたり最大 3 件です。
  • scrape-creators-pp-cli facebook list-marketplace — 商品 ID または Marketplace 商品 URL を指定して、タイトル、説明、価格など、Facebook Marketplace の商品の詳細を取得します。
  • scrape-creators-pp-cli facebook list-marketplace-2 — キーワードと緯度・経度で Facebook Marketplace の出品を検索します。返されたカーソルを使ったページ分割に対応しています。
  • scrape-creators-pp-cli facebook list-marketplace-3 — Facebook Marketplace の場所/都市を検索し、Marketplace Search エンドポイントで使用できる座標を返します。
  • scrape-creators-pp-cli facebook list-post — URL を指定して、公開 Facebook 投稿またはリールを 1 件取得します。
  • scrape-creators-pp-cli facebook list-post-2 — カーソルベースのページ分割で、Facebook の投稿またはリールのコメントを取得します。
  • scrape-creators-pp-cli facebook list-post-3 — Facebook の動画投稿またはリールから文字起こしテキストを抽出します。
  • scrape-creators-pp-cli facebook list-post-4 — コメントへの返信を取得します。
  • scrape-creators-pp-cli facebook list-profile — カテゴリ、住所、メールアドレス、電話番号、ウェブサイト、サービス、priceRange、評価など、Facebook ページの公開情報を取得します。
  • scrape-creators-pp-cli facebook list-profile-2 — Facebook の公開ページのイベントを取得します。
  • scrape-creators-pp-cli facebook list-profile-3 — ページ分割に対応して、Facebook の公開ページの写真を取得します。
  • scrape-creators-pp-cli facebook list-profile-4 — 公開されている Facebook プロフィールの投稿を返します。API の制限により、1 ページあたり最大 3 件です。
  • scrape-creators-pp-cli facebook list-profile-5 — Facebook の公開ページから、リクエストごとに最大 10 件のリールを取得します。

github — GitHub のプロフィール、リポジトリ、公開アクティビティをスクレイピングします。

  • scrape-creators-pp-cli github list — オーナー、説明、言語、スター、フォーク、トピックを含む、1 つの GitHub リポジトリの公開メタデータを取得します
  • scrape-creators-pp-cli github list-trending — GitHub の公開 Trending developers ページをスクレイピングします。
  • scrape-creators-pp-cli github list-trending-2 — GitHub の公開 Trending repositories ページをスクレイピングします。
  • scrape-creators-pp-cli github list-user — 名前、アバター、会社、場所、ブログを含む、GitHub ユーザーの公開情報を取得します。
  • scrape-creators-pp-cli github list-user-2 — 公開プロフィールのアクティビティタイムラインから、ユーザーの GitHub プロフィールのコントリビューションアクティビティを取得します。
  • scrape-creators-pp-cli github list-user-3 — ユーザーと年の公開 GitHub コントリビューショングラフを取得します
  • scrape-creators-pp-cli github list-user-4 — ユーザーの公開 GitHub フォロワーを取得します。各フォロワーには login、avatar、user URL、type、GitHub ID が含まれます。
  • scrape-creators-pp-cli github list-user-5 — GitHub ユーザーがフォローしている公開アカウントを取得します。
  • scrape-creators-pp-cli github list-user-6 — GitHub の公開検索インデックスを使用して、ユーザーが作成した公開 GitHub プルリクエストを検索します。
  • scrape-creators-pp-cli github list-user-7 — 説明、言語、スター、フォーク、トピック、ライセンスなどのリポジトリメタデータを含む、ユーザーの公開リポジトリを取得します

google — Google の検索結果をスクレイピングします

  • scrape-creators-pp-cli google list — advertiserId、creativeId、format、firstShown を含む、特定の Google 広告に関する詳細情報を取得します
  • scrape-creators-pp-cli google list-adlibrary — Google Ad Transparency Library で広告主を名前で検索します。
  • scrape-creators-pp-cli google list-company — ドメインまたは advertiser_id により、Google Ad Transparency Library から企業の公開広告を取得します。
  • scrape-creators-pp-cli google list-search — Google 検索を実行し、各結果の url、title、description を含むオーガニック検索結果を返します。

instagram — Instagram のプロフィール、投稿、リールを取得します

  • scrape-creators-pp-cli instagram list — ユーザー ID で Instagram プロフィールの概要を取得します。ユーザー名、氏名、自己紹介を返します。
  • scrape-creators-pp-cli instagram list-audio — instagram.com/reels/audio/{audio_id}/ のような音声ページで Instagram が公開しているリールを取得します。
  • scrape-creators-pp-cli instagram list-media — Instagram の動画投稿またはリールの音声を、AI を活用してテキストに書き起こします。
  • scrape-creators-pp-cli instagram list-post — ショートコードまたは URL で指定した単一の Instagram 投稿またはリールの詳細なメタデータを取得します。
  • scrape-creators-pp-cli instagram list-post-2 — 公開 Instagram 投稿またはリールへのコメントを取得します。
  • scrape-creators-pp-cli instagram list-post-3 — 特定の Instagram コメントへの公開返信を取得します。
  • scrape-creators-pp-cli instagram list-profile — 自己紹介、プロフィールのリンクなど、公開 Instagram プロフィール情報を取得します。
  • scrape-creators-pp-cli instagram list-reels — Instagram の公開ページ instagram.com/reels からトレンドのリールを取得します。
  • scrape-creators-pp-cli instagram list-reels-2 — キーワードまたはフレーズに一致する、Google にインデックス登録された Instagram リールのみが必要な場合に使用します。
  • scrape-creators-pp-cli instagram list-search — Instagram 内でアカウント、ハッシュタグ、場所を検索する場合に使用します。
  • scrape-creators-pp-cli instagram list-search-2 — 正確なハッシュタグがわかっており、Google にインデックス登録された公開 Instagram 投稿またはリールを検索する場合に使用します。日付フィルターは任意です。
  • scrape-creators-pp-cli instagram list-search-3 — Instagram のトピックと、そのトピックに関連して Instagram が選んだ投稿を調べる場合に使用します。
  • scrape-creators-pp-cli instagram list-search-4 — Google にインデックス登録された Instagram プロフィールページや自己紹介に含まれるキーワードから、幅広くクリエイターを探す場合に使用します。
  • scrape-creators-pp-cli instagram list-user — Instagram ユーザーのプロフィールウィジェット用の生 HTML 埋め込みスニペットを返します。
  • scrape-creators-pp-cli instagram list-user-2 — Instagram ユーザーのストーリーハイライトアルバムをすべて一覧表示します。
  • scrape-creators-pp-cli instagram list-user-3 — ユーザーの公開 Instagram リール(ショート動画)のページネーション付き一覧を返します。
  • scrape-creators-pp-cli instagram list-user-4 — Instagram ユーザーのタグ付けタブから、1 ページあたり最大 10 件の公開投稿を返します。
  • scrape-creators-pp-cli instagram list-user-5 — リール、写真、動画、カルーセルを含む、ユーザーの公開 Instagram 投稿のページネーション付きフィードを返します。
  • scrape-creators-pp-cli instagram list-user-6 — ID で指定した Instagram ストーリーハイライトアルバムの全コンテンツを取得します。

kick — Kick のクリップをスクレイピングします

  • scrape-creators-pp-cli kick — URL で指定した Kick クリップの動画、メタデータ、チャンネル情報など、詳細なデータを取得します。

komi — Komi ページをスクレイピングします

  • scrape-creators-pp-cli komi — URL で指定した Komi ページをスクレイピングし、クリエイターのプロフィール、ソーシャルリンク、注目コンテンツを抽出します。

kwai — Kwai のプロフィール、投稿、ユーザーフィードをスクレイピングします

  • scrape-creators-pp-cli kwai list — キャプション、メディア URL、カバー画像、各種カウント、投稿者情報、音楽メタデータなど、公開 Kwai 投稿の詳細を取得します。
  • scrape-creators-pp-cli kwai list-profile — ユーザー名、自己紹介、アバター、認証状況、性別、公開カウントなど、公開 Kwai プロフィールデータを取得します。
  • scrape-creators-pp-cli kwai list-user — キャプション、メディア URL、カバー画像、各種カウント、投稿者情報を含む、ユーザーの公開 Kwai 投稿のページネーション付き一覧を取得します。

linkbio — Linkbio(lnk.bio)ページをスクレイピングします

  • scrape-creators-pp-cli linkbio — URL で指定した Linkbio(lnk.bio)ページをスクレイピングし、クリエイターのプロフィールとすべてのリンクを抽出します。

linkedin — LinkedIn をスクレイピングします

  • scrape-creators-pp-cli linkedin list — URL を指定して、特定の LinkedIn 広告に関する詳細情報を取得します。
  • scrape-creators-pp-cli linkedin list-ads — 企業名、キーワード、または companyId で LinkedIn Ad Library を検索します。国と日付のフィルターを任意で指定できます。
  • scrape-creators-pp-cli linkedin list-company — LinkedIn の企業ページを取得し、名前、説明、ロゴ、カバー画像、スローガン、所在地などの詳細を返します
  • scrape-creators-pp-cli linkedin list-company-2 — LinkedIn の企業ページからページネーションされた投稿を取得します。各投稿の URL、ID、公開日などが含まれます
  • scrape-creators-pp-cli linkedin list-post — 単一の LinkedIn 投稿または記事を取得し、タイトル、見出し、完全な説明テキストを返します
  • scrape-creators-pp-cli linkedin list-post-2 — LinkedIn が公開している場合に、LinkedIn 投稿動画の文字起こしを取得します。
  • scrape-creators-pp-cli linkedin list-profile — 人物の公開 LinkedIn プロフィールデータを取得します。名前、写真、所在地、フォロワー数(followers)などが含まれます
  • scrape-creators-pp-cli linkedin list-search — Google Search を使用して、キーワードで公開 LinkedIn 投稿、フィード更新、Pulse 記事を検索します

linkme — Linkme プロフィール情報を取得

  • scrape-creators-pp-cli linkme — URL を指定して Linkme プロフィールを取得します。本人情報、ソーシャルリンク、連絡先の詳細が含まれます。

linktree — Linktree ページをスクレイピング

  • scrape-creators-pp-cli linktree — URL を指定して Linktree ページをスクレイピングし、クリエイターのプロフィールとすべてのリンクを抽出します。

pillar — Pillar ページをスクレイピング

  • scrape-creators-pp-cli pillar — URL を指定して Pillar ページをスクレイピングし、クリエイターのプロフィール、ソーシャルリンク、製品を抽出します。

pinterest — Pinterest のピンをスクレイピング

  • scrape-creators-pp-cli pinterest list — URL を指定して Pinterest ボードからページネーションされたピンのリストを取得します。各ピンの id、description、title、images を返します
  • scrape-creators-pp-cli pinterest list-pin — URL を指定して単一の Pinterest ピンの詳細情報を取得します。title、description、link、dominantColor を返します
  • scrape-creators-pp-cli pinterest list-search — クエリに一致するピンを Pinterest で検索し、id、url、title、description、images、link、domain を含む結果を返します
  • scrape-creators-pp-cli pinterest list-user — Pinterest ユーザーのボードのページネーションされたリストを取得します。各ボードの name、url、description、pin_count を返します

reddit — Reddit の投稿とコメントをスクレイピング

  • scrape-creators-pp-cli reddit create — URL を指定して Reddit 投稿からコメントと投稿の詳細を取得します。
  • scrape-creators-pp-cli reddit list — Reddit 全体を検索して、クエリに一致する投稿を探します。
  • scrape-creators-pp-cli reddit list-post — URL を指定して Reddit 投稿からコメントと投稿の詳細を取得します。
  • scrape-creators-pp-cli reddit list-post-2 — Reddit が VTT キャプションファイルを公開している場合に、Reddit 動画投稿または直接の v.redd.it URL から文字起こしを取得します。
  • scrape-creators-pp-cli reddit list-subreddit — 並べ替えとフィルターのオプションを使用して、subreddit から投稿を取得します。
  • scrape-creators-pp-cli reddit list-subreddit-2 — 名前または URL を指定して subreddit に関するメタデータを取得します。subreddit 名は大文字と小文字を区別します。
  • scrape-creators-pp-cli reddit list-subreddit-3 — 特定の subreddit 内で、クエリに一致する投稿、コメント、メディアを検索します。

rumble — Rumble の検索、動画、文字起こし、チャンネル動画をスクレイピング

  • scrape-creators-pp-cli rumble list — キーワードで Rumble 動画を検索します。
  • scrape-creators-pp-cli rumble list-channel — ハンドルまたは URL を指定して Rumble チャンネルから動画を取得します。
  • scrape-creators-pp-cli rumble list-video — URL を指定して Rumble 動画の詳細を取得します。
  • scrape-creators-pp-cli rumble list-video-2 — URL を指定して Rumble 動画のすべてのトップレベルコメントを取得します。
  • scrape-creators-pp-cli rumble list-video-3 — キャプションが利用可能な場合に、Rumble 動画の文字起こしを取得します。

snapchat — Snapchat ユーザープロフィールとそのストーリーをスクレイピング

  • scrape-creators-pp-cli snapchat list — ハンドル名を指定してSnapchatユーザーの公開プロフィールを取得します。本人情報、ストーリー、Spotlightコンテンツが含まれます。
  • scrape-creators-pp-cli snapchat list-spotlight — URLを指定してSnapchat Spotlight動画の公開データを取得します。
  • scrape-creators-pp-cli snapchat list-spotlight-2 — URLを指定してSnapchat SpotlightのコメントAPIから公開コメントを取得します。

soundcloud — SoundCloudのプレイリストとトラックをスクレイピングします

  • scrape-creators-pp-cli soundcloud list — ハンドル名またはURLを指定してSoundCloudアーティストの詳細情報を取得します。
  • scrape-creators-pp-cli soundcloud list-artist — ハンドル名またはURLを指定してSoundCloudアーティストのトラック/楽曲を取得します。
  • scrape-creators-pp-cli soundcloud list-track — URLを指定してSoundCloudトラック/楽曲の詳細情報を取得します。

spotify — Spotifyのアーティスト、楽曲、アルバムをスクレイピングします

  • scrape-creators-pp-cli spotify list — IDまたはURLを指定してSpotifyアルバムの詳細情報を取得します。アルバムのメタデータ、アーティスト、リリース日が含まれます。
  • scrape-creators-pp-cli spotify list-artist — ハンドル名を指定してSpotifyアーティストの詳細情報を取得します。名前、フォロワー数、ジャンルが含まれます。
  • scrape-creators-pp-cli spotify list-podcast — IDまたはURLを指定してSpotifyポッドキャストの詳細情報を取得します。
  • scrape-creators-pp-cli spotify list-podcast-2 — Spotifyポッドキャストのエピソードを返します。次のページを取得するには、レスポンスで返されたカーソルを渡します。
  • scrape-creators-pp-cli spotify list-search — Spotifyでトラック、アーティスト、アルバム、エピソード、ポッドキャスト、オーディオブックを検索します。
  • scrape-creators-pp-cli spotify list-track — IDまたはURLを指定してSpotifyトラックの詳細情報を取得します。トラックのメタデータ、アーティスト、アルバム情報が含まれます。

threads — Threadsの投稿を取得します

  • scrape-creators-pp-cli threads list — URLを指定して単一のThreads投稿を取得し、投稿のキャプション、like_count、view_counts、reshare_countを返します。
  • scrape-creators-pp-cli threads list-profile — Threadsユーザーの公開プロフィールを取得します。username、full_name、biography、profile_pic_url、follower_countが含まれます。
  • scrape-creators-pp-cli threads list-search — キーワードに一致する投稿をThreadsで検索し、キャプションテキスト、like_count、reshare_countを含む最大10件の結果を返します。
  • scrape-creators-pp-cli threads list-search-2 — usernameでThreadsユーザーを検索し、一致するプロフィールのusername、full_name、profile_pic_urlを返します。
  • scrape-creators-pp-cli threads list-user — Threadsユーザーの最新の投稿を取得し、id、キャプションテキスト、code、like_count、reshare_countを返します。

tiktok — TikTokのプロフィール、動画などをスクレイピングします

  • scrape-creators-pp-cli tiktok list — 指定した地域のTikTokのトレンド/おすすめフィードを取得します。バズっているコンテンツや現在のトレンドを見つけるのに役立ちます

  • scrape-creators-pp-cli tiktok list-adlibrary — IDまたはURLでTikTok広告を1件取得します。最初にCreative CenterのTop Ads(ads.tiktok.を確認します。

  • scrape-creators-pp-cli tiktok list-adlibrary-2 — 広告主名またはキーワードで、TikTokの公開広告ライブラリを検索します。

  • scrape-creators-pp-cli tiktok list-collection — 公開TikTokコレクションに保存された動画を取得します。TikTokではプレイリストとも呼ばれます。コレクションのURLを渡します。

  • scrape-creators-pp-cli tiktok list-creators — トレンドのTikTokクリエイターや人気のTikTokクリエイターを見つけます。フォロワー数の範囲やクリエイターの国で絞り込めます

  • scrape-creators-pp-cli tiktok list-live — TokAPIのライブ情報エンドポイントを使って、TikTokライブのルーム単位の情報を取得します。

  • scrape-creators-pp-cli tiktok list-product — 米国のTikTok Shopの商品URLを指定して、在庫数やアフィリエイト動画を含む詳細情報を取得します。

  • scrape-creators-pp-cli tiktok list-profile — TikTokユーザーのハンドル名またはuser_idを指定して公開プロフィールデータを取得します。クリエイターの情報を調べるのに役立ちます

  • scrape-creators-pp-cli tiktok list-profile-2 — 公開プロフィールのTikTok地域コードを返します。たとえば、米国はUS、メキシコはMXです。

  • scrape-creators-pp-cli tiktok list-profile-3 — TikTokユーザーが投稿した動画を取得します

  • scrape-creators-pp-cli tiktok list-search — 特定のハッシュタグが付いたTikTok動画を検索します。トピックやトレンドに関連するコンテンツを見つけるのに役立ちます。

  • scrape-creators-pp-cli tiktok list-search-2 — キーワードまたはフレーズでTikTok動画を検索します。TikTok全体を対象とする一般的な動画検索です。

  • scrape-creators-pp-cli tiktok list-search-3 — 検索時に入力中の文字列に応じてTikTokが表示するオートコンプリート候補を取得します。

  • scrape-creators-pp-cli tiktok list-search-4 — クエリでTikTokの「トップ」結果を検索し、動画と写真のカルーセルの両方を返します

  • scrape-creators-pp-cli tiktok list-search-5 — キーワードまたは名前でTikTokユーザーを検索します。クエリに一致するクリエイターやアカウントを見つけるのに役立ちます。

  • scrape-creators-pp-cli tiktok list-shop — URLを指定して、特定のTikTok Shopストアの商品をすべて一覧表示します。

  • scrape-creators-pp-cli tiktok list-shop-2 — キーワードクエリに一致する商品をTikTok Shopで検索します。

  • scrape-creators-pp-cli tiktok list-shop-3 — URLまたはproduct_idを指定して、TikTok Shopの商品レビューを取得します。

  • scrape-creators-pp-cli tiktok list-song — clipIdを指定して、特定のTikTokサウンドまたは曲の詳細なメタデータを取得します。

  • scrape-creators-pp-cli tiktok list-song-2 — clipIdで識別される特定のサウンドまたは曲を使用したTikTok動画を取得します。

  • scrape-creators-pp-cli tiktok list-user — TikTokユーザーのオーディエンスの属性データを取得し、フォロワーがどの国にいるかを表示します。

  • scrape-creators-pp-cli tiktok list-user-2 — ハンドル名またはuser_idを指定して、TikTokアカウントのフォロワー一覧を取得します。クリエイターをフォローしているユーザーを確認するのに役立ちます

  • scrape-creators-pp-cli tiktok list-user-3 — ハンドル名を指定して、TikTokユーザーがフォローしているアカウントの一覧を取得します。

  • scrape-creators-pp-cli tiktok list-user-4 — TikTokユーザーが現在ライブ配信中かどうかを確認し、ライブ配信ルームの詳細を取得します。

  • scrape-creators-pp-cli tiktok list-user-5 — TikTokユーザーの公開ショーケースに掲載された商品を取得します。クリエイターがプロフィールで紹介している商品です。

  • scrape-creators-pp-cli tiktok list-video — URLを指定してTikTok動画1本の詳細データを取得します。メタデータやエンゲージメント統計などが含まれます

  • scrape-creators-pp-cli tiktok list-video-2 — URLを指定してTikTok動画へのコメントを取得します。視聴者の反応や返信、エンゲージメントを確認するのに役立ちます。

  • scrape-creators-pp-cli tiktok list-video-3 — URLを指定して、TikTok動画の文字起こし、キャプション、字幕を抽出します。

  • scrape-creators-pp-cli tiktok list-video-4 — IDを指定して、特定のTikTokコメントへの返信を取得します。 truthsocial — truthsocial を管理

  • scrape-creators-pp-cli truthsocial list — URL で指定された Truth Social の投稿を 1 件取得し、テキスト、ID、作成日時、URL、コンテンツ、アカウントの詳細を返します

  • scrape-creators-pp-cli truthsocial list-profile — Truth Social ユーザーの公開プロフィールを取得します。表示名、ユーザー名、アバター、ヘッダー、フォロワー数が含まれます

  • scrape-creators-pp-cli truthsocial list-user — Truth Social ユーザーの投稿をページ分割して取得し、テキスト、ID、作成日時、URL、コンテンツ、アカウント情報を返します

twitch — Twitch のクリップをスクレイピング

  • scrape-creators-pp-cli twitch list — URL で指定された Twitch クリップの詳細データを取得します。メタデータと動画の直接 URL が含まれます。
  • scrape-creators-pp-cli twitch list-profile — ハンドル名で Twitch ユーザーの公開プロフィールを取得します。本人情報、ソーシャルリンク、コンテンツが含まれます。
  • scrape-creators-pp-cli twitch list-user — ハンドル名でユーザーのスケジュールを取得し、開始時刻、終了時刻、タイトル、説明を含む予定イベントのリストを返します
  • scrape-creators-pp-cli twitch list-user-2 — Twitch ユーザーの動画リスト(最大 100 件)を取得し、各動画の ID、スラッグ、URL、埋め込み URL、タイトル、視聴回数を返します

twitter — Twitter のプロフィール、ツイート、フォロワーなどを取得

  • scrape-creators-pp-cli twitter list — URL で指定された Twitter/X コミュニティの詳細を取得します。
  • scrape-creators-pp-cli twitter list-community — URL で指定された Twitter/X コミュニティ内のツイートを取得します。
  • scrape-creators-pp-cli twitter list-profile — ハンドル名で Twitter ユーザーのプロフィールを取得します。アカウントのメタデータと統計情報が含まれます。
  • scrape-creators-pp-cli twitter list-tweet — URL で指定された特定のツイートの詳細情報を取得します。投稿者のプロフィールとエンゲージメント指標が含まれます。
  • scrape-creators-pp-cli twitter list-tweet-2 — AI を活用した文字起こしにより、Twitter の動画付きツイートからトランスクリプトを抽出します。
  • scrape-creators-pp-cli twitter list-usertweets — ハンドル名で Twitter ユーザーのプロフィールからツイートを取得します。

youtube — YouTube のチャンネル、動画などをスクレイピング

  • scrape-creators-pp-cli youtube list — 名前、アバター画像、チャンネル登録者数(登録者数)など、YouTube チャンネルのプロフィールデータを取得します。
  • scrape-creators-pp-cli youtube list-channel — YouTube チャンネルの「投稿」タブから、投稿 ID、URL、コンテンツ、画像、添付動画などのコミュニティ投稿を取得します。
  • scrape-creators-pp-cli youtube list-channel-2 — YouTube チャンネルの「ライブ」タブから、タイトル、URL、サムネイル、視聴回数などのライブ配信と過去の配信を取得します。
  • scrape-creators-pp-cli youtube list-channel-3 — YouTube チャンネルの「再生リスト」タブから、再生リスト ID、タイトル、サムネイル、動画数などの再生リストを取得します。
  • scrape-creators-pp-cli youtube list-channel-4 — YouTube チャンネルのショート動画(Shorts)のページネーション付きリストを取得します。各ショート動画のタイトルと URL が含まれます。
  • scrape-creators-pp-cli youtube list-channelvideos — YouTube チャンネルがアップロードした動画のページネーション付きリストを取得します。各動画のタイトル、URL、サムネイルが含まれます。
  • scrape-creators-pp-cli youtube list-communitypost — YouTube のコミュニティ投稿の全文、添付画像、いいね数など、詳細情報をすべて取得します。
  • scrape-creators-pp-cli youtube list-playlist — YouTube の再生リスト内のすべての動画を取得します。再生リストのタイトル、所有者情報、動画の総数が含まれます。
  • scrape-creators-pp-cli youtube list-search — キーワードで YouTube を検索し、一致する動画、チャンネル、再生リスト、ショート動画、セクション、ライブ配信を返します。
  • scrape-creators-pp-cli youtube list-search-2 — 特定のハッシュタグで YouTube を検索し、一致する動画のタイトル、URL、サムネイルを返します。
  • scrape-creators-pp-cli youtube list-shorts — 呼び出しごとに、現在トレンドの YouTube Shorts(バズっている、または人気のショート動画)を約48件取得します。
  • scrape-creators-pp-cli youtube list-video — YouTube の動画またはショート動画のタイトル、説明、サムネイル、視聴回数(視聴回数)など、詳細情報をすべて取得します。
  • scrape-creators-pp-cli youtube list-video-2 — YouTube 動画のコメントと返信を取得します。各コメントのテキスト、投稿者の詳細、いいね数が含まれます。
  • scrape-creators-pp-cli youtube list-video-3 — 実験的なエンドポイントです。
  • scrape-creators-pp-cli youtube list-video-4 — YouTube 動画またはショート動画のキャプション、字幕、文字起こしを取得します。
  • scrape-creators-pp-cli youtube list-video-5 — YouTube 動画の特定のコメントへの返信を取得します。各返信のテキスト、投稿者の詳細(名前
適切なコマンドを見つける

実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接問い合わせてください。

scrape-creators-pp-cli which "<capability in your own words>"

which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最も一致するコマンドに対応付けます。終了コード 0 は少なくとも1件一致したことを示します。終了コード 2 は確度の高い一致がないことを示します。その場合は --help に切り替えるか、より具体的な問い合わせを使用してください。

レシピ

1つの投稿のコメントをすべて収集する
scrape-creators-pp-cli comments thread <post-url> --agent --select comments.text,comments.replies.text

コストを考慮したルーティングでトップレベルのコメントと返信をすべて取得し、エージェントが必要とするテキストフィールドだけに応答データを絞り込みます。

予算に応じた週次収集
scrape-creators-pp-cli comments sweep <handle> --since 7d --max-credits 200 --agent

その週の投稿とコメントを取得し、クレジットの予算に達すると正常に停止します。

利用を始める前に不足分を見つける
scrape-creators-pp-cli comments coverage <handle> --agent

同期済みの投稿をスレッドの不足分に応じて順位付けし、返信クレジットをスレッドが不完全な投稿にのみ使用します。

オフラインでコメントを収集する
scrape-creators-pp-cli comments search "delivery" --limit 20

同期済みコーパスを FTS5 で検索します。クレジットは不要です。

2回の呼び出しでコラボ相手を選定する
scrape-creators-pp-cli creator find <handle> --agent && scrape-creators-pp-cli creator compare <handle> <rival> --agent

まずプレゼンスマトリックスを確認し、次にエンゲージメントを比較して、見かけだけのフォロワーを除外します。

認証の設定

scrape-creators-pp-cli auth setup を実行すると、キーの取得先 URL と手順が表示されます(--launch を追加すると URL を開きます)。次に、以下を設定します。

export SCRAPECREATORS_API_KEY="<your-key>"

認証情報を永続化するには、scrape-creators-pp-cli auth set-token <token> を使用します。保存されたシークレットは config.toml ではなく、データディレクトリ内の credentials.toml に保存されます。

scrape-creators-pp-cli doctor を実行して、設定を確認してください。

エージェントモード

任意のコマンドに --agent を追加できます。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — JSON は stdout に、エラーは stderr に出力されます

  • フィルター可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造をたどり、配列では各要素を順にたどります。出力の多い API でコンテキストを小さく保つうえで重要です:

    scrape-creators-pp-cli account list --agent --select id,name,status
    
  • プレビュー可能 — --dry-run はリクエストを送信せずに表示します

  • オフライン対応 — 利用可能な場合、同期/検索コマンドはローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトは表示されず、すべての入力はフラグで指定します

  • 明示的な再試行 — 既存の作成済み項目を成功として扱う場合に限り、--idempotent を使用します

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照します。人間が読める N results (live) のサマリーは、stdout がターミナルであり、かつ機械向けフォーマットフラグ(--json、--csv、--compact、--quiet、--plain、--select)が指定されていない場合に限り、stderr に出力されます。パイプ/エージェントの利用者と明示的なフォーマット指定を使う場合は、stdout に純粋な JSON が出力されます。

パスと状態

エージェントは、CLI のパス解決機能をランタイム契約の一部として扱ってください。

  • 1 回の実行には --home <dir> を使用するか、SCRAPE_CREATORS_HOME=<dir> を設定して、4 種類すべてのパスを 1 つのルートの下に移動します。

  • 特定の種類だけを別の場所にする必要がある場合に限り、種類ごとの環境変数 SCRAPE_CREATORS_CONFIG_DIR、SCRAPE_CREATORS_DATA_DIR、SCRAPE_CREATORS_STATE_DIR、SCRAPE_CREATORS_CACHE_DIR を使用します。

  • 解決順序は、種類ごとの環境変数、--home、SCRAPE_CREATORS_HOME、XDG(XDG_CONFIG_HOME、XDG_DATA_HOME、XDG_STATE_HOME、XDG_CACHE_HOME)、プラットフォームのデフォルト設定の順です。

  • config には config.toml やプロファイルなどの設定が含まれます。data には credentials.toml、data.db、Cookie、認証関連のサイドカーが含まれます。state には永続化されたクエリ、ジョブ、teach.log が含まれます。cache には再生成可能な HTTP/キャッシュファイルが含まれます。

  • 保存されたシークレットは、data ディレクトリ内の credentials.toml にあります。既存のレガシーな config.toml のシークレットは互換性のために読み込まれ、最初の認証書き込み時に config.toml から削除されます。

  • パスと認証情報の場所に関する警告を表示するには、scrape-creators-pp-cli doctor --fail-on warn を実行します。解決済みのディレクトリが必要なエージェント向けに、agent-context はスキーマ v4 の paths ブロックを公開します。

  • MCP では、MCP ホストの設定を通じて移動先を指定します。MCP バイナリは CLI フラグを継承しません:

    {
      "mcpServers": {
        "scrape-creators": {
          "command": "scrape-creators-pp-mcp",
          "env": {
            "SCRAPE_CREATORS_HOME": "/srv/scrape-creators"
          }
        }
      }
    }
    

フリートでの優先順位:継承された種類ごとの環境変数は、その種類に対する明示的な --home より優先されます。フリート全体に適用する設定には SCRAPE_CREATORS_HOME または種類ごとの環境変数を使用し、--home は単一の実行に限って使用します。環境変数を解除しても移動は元に戻りません。SCRAPE_CREATORS_HOME を解除する前に手動でファイルを移動してください。そうしないと、doctor は以前のルートに残された認証情報を見つけられません。

自動学習

この CLI には、自動記録型の学習ループが組み込まれています。CLI は独自に記録を管理します。すべての実行がローカルに記録され、フラグの失敗後に修正して再試行すると flag_alias 候補が自動生成され、プレイブックのないクエリファミリーに対して teach を実行すると、セッションの記録から playbook_candidate が自動生成されます。あなたが判断するのは、recall を最初に実行し、提示された候補に対処し、最終的な回答を teach に渡し、修正に気付いたら playbook amend を実行することだけです。失敗を手動で記録する必要はありません。

ステップ 1:探索の前に recall

新しいユーザーの質問について、list/search/drill コマンドを実行する前に、次を実行します:

scrape-creators-pp-cli recall "<user's question>" --agent

レスポンスエンベロープ:

{
  "query": "...",
  "normalized": "<normalized form>",
  "query_entities": ["..."],
  "found": true | false,
  "match_score": 0.0,
  "results": [
    { "resource_id": "...", "resource_type": "...", "venue": "...",
      "confidence": 2, "entity_match": "exact|partial|unknown",
      "source": "taught|preseed|pattern", "warnings": ["..."] }
  ],
  "mismatches": [ /* only when --debug-mismatches */ ],
  "warnings": [ /* top-level */ ],
  "candidates": [
    { "id": 12, "class": "flag_alias | playbook_candidate",
      "summary": "...", "sightings": 3, "last_seen": "...",
      "rationale": "...",
      "next_action": ["<trial command>", "scrape-creators-pp-cli learnings confirm 12"] }
  ],
  "playbook": {
    "query_family": "...",
    "playbook": {
      "steps": [ { "cmd": "<command with {slot} substitution>", "purpose": "..." } ],
      "entity_slots": ["$ENTITY"],
      "expected_tool_calls": 3
    },
    "slots_resolved": { "$ENTITY": { "token": "<live token>", "canonical": "<canonical>" } },
    "notes": "<workarounds + gotchas for this query family>"
  },
  "notes": "<duplicate surface for non-playbook callers>"
}

空のストアの場合の早期終了:ストアに学習内容、プレイブック、候補がまだなく(recall で何も見つからず、learnings list と learnings candidates もどちらも空の場合)、クエリのたびに負荷をかけないよう、このセッション中の残りの処理では recall を省略します。何かを教えた後は、再び recall を最初に実行してください。

ステップ 2:判断ツリー

candidates、playbook、notes、results[0]、警告の順に読みます。

if Candidates present (warnings include "candidates_present"):
    -> candidates are try-then-confirm, never facts. Follow each candidate's
       two-step next_action verbatim: run the trial command first, then run
       `learnings confirm <id>` only after the trial verified the behavior.
       Reject a wrong candidate with `learnings reject <id>`.
    -> NEVER re-teach something recall surfaced as a candidate; confirm or
       reject that candidate instead of teaching a duplicate.
    -> candidates ride alongside playbooks and resource hits, not instead of
       them; continue with the branches below after acting on them.

if Playbook present:
    -> READ Playbook.notes verbatim FIRST (workarounds + gotchas the CLI surface doesn't expose)
    -> replay Playbook.steps in order, substituting Playbook.slots_resolved entries
       for the entity slot tokens. If a step's slot is unresolved, fall back to
       discovery for that step only.
    -> the Playbook's expected_tool_calls is a budget; if you find yourself running
       materially more, record the divergence via `scrape-creators-pp-cli playbook amend`
       at end-of-session.

elif Notes present (no Playbook):
    -> read Notes verbatim before any discovery step; they carry known gotchas
       for this query family even when no structured choreography exists yet.

elif Found AND Results[0].EntityMatch == "exact" AND Results[0].Confidence >= 2:
    -> skip discovery; fetch live data for Results[*].ResourceID in parallel

elif Found AND Results[0].EntityMatch == "partial":
    -> candidate hint, NOT a hit; read the resource title to validate before trusting

elif (any row in Mismatches[] when --debug-mismatches was passed):
    -> treat as cold start; the stored learning is for a different entity
       (different canonical resolved from query_entities)

else:  // Found == false, no playbook, no notes
    -> cold start; run discovery normally; teach the answer afterward (Step 4).
       If the family has no playbook yet, that teach auto-synthesizes a
       playbook candidate from this session's journal - you do not need to
       record one by hand.

Playbook と Notes は、リソースごとのパスとは独立しています。recall レスポンスには Playbook と Results[] のヒットが両方含まれる場合があります。両方を使ってください。Playbook は実行する手順を示し、リソースのヒットは特定のステップを省略できます。通常は mismatches をスキップし、コールドスタート時の予期しない動作を調査する場合にのみ --debug-mismatches を渡します。

候補の判断に関する詳細:learnings confirm <id> は候補を登録する前に、その完全なペイロードを表示します。表示されたペイロードが、確認した動作と一致することを確かめてください。learnings reject <id> は導出シグネチャを無効化し、同じ候補が再び現れないようにします。エンベロープには、今すぐ対応する価値がある候補だけが含まれます。すべてのオープン候補は scrape-creators-pp-cli learnings candidates で一覧できます。

グレースフルデグラデーション:learnings confirm が不明なコマンドの場合、古いバイナリを使用しています。候補に関するガイダンスは無視し、残りのプロトコルに従ってください。

ステップ 3:必ず warnings を読む
  • low_confidence:confidence<2 の行が存在します。スキップ可能な検出結果ではなく、ヒントとして扱ってください。
  • resource_not_in_store:ローカルストアに、学習が指し示すリソースがありません。一致検証でエンティティを分類できなかったため、直接取得して再評価してください。
  • cross_alias_match(結果ごと):行は別名で学習されており、entity_lookups によって、ライブクエリの正規エンティティと一致しました(例:「USA」の学習が「United States」の recall を満たす)。resource_id を信頼してください。
  • similar_shape_different_entity:<canonical>(トップレベル):構造的に一致する行はありますが、その正規エンティティはライブクエリのものと異なります。コールドスタートとして扱われます。警告には競合する正規エンティティがヒントとして含まれますが、その行は Results に昇格されません。
  • ambiguous_alias(トップレベル):1 つのクエリエンティティが複数の正規エンティティに解決されました(例:「Cards」→ Arizona Cardinals + St. Louis Cardinals)。リソースを確定する前に、コンテキストから曖昧さを提示してください。
  • candidates_present(トップレベル):エンベロープに candidates セクションが含まれています。ほかの処理より先に、ステップ 2 の候補分岐で対応してください。
  • lookup_refresh_available(トップレベル):クエリ内のエンティティに lookup 行がありませんが、同期データから作成できる可能性があります。エンティティの lookup を更新するには scrape-creators-pp-cli sync を実行してください。
  • トップレベルの no_learnings_for_query_family:Jaccard のしきい値を超える行がテーブルにありません。完全なコールドスタートです。
ステップ 4:応答を確定したら必ず teach &

Teaching は無条件です。ストアでは回答できなかったクエリを解決した後、最終的なリソースの対応付けをバックグラウンドで学習させます。呼び出し回数のしきい値はなく、学習する「価値」があったかどうかを判断する必要もありません。teach はループの要です。Playbook がないファミリーでは Playbook の合成を開始し、同じ指示対象を表す言い回しは 1 つのファミリーにまとめられるため、類似した teach がストア内で分散しません。ユーザー向けの応答を組み立てた後、出力する前に、シェルの & を付けて実行すると呼び出しはすぐに戻ります。

scrape-creators-pp-cli teach --query "<user's question>" --resource-type <type> --resource <id1> --resource <id2>
# (append shell `&` to background it)

成功時は何も表示されません。エラーは、解決された状態ディレクトリの teach.log にのみ記録されます。最も具体的なリソースを teach してください。ユーザーの質問が広範で、具体的な回答を見つけるために親レコードをたどった場合は、親ではなくリーフ ID を teach してください。CLI は recall 時にシード済みの entity_lookups を使って別名を相互解決するため、ある別名(例:「Niners」)での teach は、別名(例:「49ers」、「San Francisco」)を使った今後のクエリも自動的に満たします。

PII に関するルール:識別子を取り除いた構造的な質問を teach してください。名前、メールアドレス、電話番号、アカウント ID、その他の個人識別子を、teach するクエリやメモに絶対に含めないでください。CLI は teach クエリから明らかなメールアドレスや電話番号の形式をスキャンして警告しますが、処理をブロックはしません。警告に頼らず、teach の前に取り除いてください。

ステップ 5:プレイブック — オプションのフラグ、自動生成

セッションがプレイブックに「値する」かどうかを判断する必要はありません。プレイブックのないファミリーについて teach を実行すると、セッションのジャーナルから playbook_candidate が自動生成され、次のセッションで confirm/reject によって評価されます。明示的なプレイブックフラグを付けるのは、記録に値する手順をすでに把握している場合に限ってください。たとえば、CLI で表面化しなかった回避策(フラグが暗黙に破棄される、未文書化のパラメーター、ページネーションの工夫、ペイロードに関する注意点)です。統合された 1 回の呼び出し形式を優先してください。リソースの学習とプレイブックを、同じ teach 呼び出しで記録します。

# Common case: record both the resource learning AND the playbook in one call.
scrape-creators-pp-cli teach \
  --query "<user's question>" \
  --resource <id> \
  --resource-type <type> \
  --playbook-file ~/playbooks/<shape>.json \
  --playbook-notes-file ~/playbooks/<shape>-notes.md
# (append shell `&` to background it)

# Alternate: playbook-only (no resource to record alongside).
scrape-creators-pp-cli teach-playbook \
  --query "<user's question>" \
  --playbook-file ~/playbooks/<shape>.json \
  --notes-file ~/playbooks/<shape>-notes.md

プレイブックファイルは steps、entity_slots、expected_tool_calls を含む JSON です。ノートファイルは注意点をそのまま記載した Markdown です。ファイルを使わない呼び出し元(MCP のみを使うエージェント)は、同じ内容をインラインで渡します。統合された teach 形式では --playbook-json と --playbook-notes を、teach-playbook では --playbook-json と --notes を使います。統合された teach 形式では、プレイブックのフラグはオプションです。リソースのみを教える場合は、フラグを完全に省略してください。単独の teach-playbook 形式では、プレイブックまたはノートのフラグを少なくとも 1 つ設定する必要があります。両方とも空の場合は拒否されます。プレイブックは、構造上のクエリファミリー(エンティティを除去したもの)をキーとしているため、あるエンティティ形式のクエリから学習したレシピは、同じ形状のほかのすべてのクエリに適用されます。slots_resolved は、呼び出し時にライブクエリの正規形をバインドします。

将来のリコール時にプレイブックが見つかった場合は、それを確かな根拠として扱ってください。slots_resolved による置換を使って手順を再実行し、手順書にすでに記載されている探索は省略し、どの手順よりも先に notes を読んでください。

ステップ 6:デバッグ応答で修正点が特定されたら playbook amend & を使う

デバッグプロトコルへの応答で、ノートやプレイブックに反映すべき具体的な修正点(回避策、未文書化のエンドポイント形式、古くなったフィールド名、確認されたスキーマの変更、空のペイロードへのフォールバック)が特定された場合は、ユーザー向けの応答を出す前に playbook amend を実行してください。teach と同じく、実行後の結果を待たずに処理を進めます。

scrape-creators-pp-cli playbook amend \
  --query "<exact recall query string>" \
  --add-note "<your concrete correction>"
# (append shell `&` to background it)

追記する価値があるもの:このセッションで実際に確認した、将来の自分に役立つ挙動です。追記に値する例:

  • CLI のインターフェースでフラグが暗黙に破棄されたり、誤った順序で処理されたりする場合の回避策。
  • 未文書化のエンドポイント形式(レスポンスが {meta, results} でラップされる、ペイロードがドキュメントの説明より 2 階層深くネストされているなど)。
  • 確認されたスキーマの変更(フィールド名が変更された、シーズンによってインデックスがずれた、API が返すカテゴリラベルが小文字になったなど)。

ノートに含めてはいけないもの:

  • ユーザーの質問に対する、年やエンティティに固有の回答。それは応答であり、学習内容ではありません。
  • プレイブックが実行時にすでに取得する、チーム、選手、行ごとのデータ。
  • 既存のノートの内容を言い換えただけの記述。

amend コマンドは、ファミリーの既存のノートにタイムスタンプ付きマーカー([amend YYYY-MM-DDTHH:MMZ]: <text>)を付けて追記します。追記は複数回行うことができ、監査履歴から確認できます。そのファミリーにプレイブックがまだ存在しない場合、amend はノートのみのプレイブックを作成するため、コールドスタート時の修正も反映されます。

amend ノートでの PII の取り扱い

playbook amend のノートは、Printing Press の将来のバージョンで共有ナレッジとして上流に送られる可能性を想定して設計されています。事後の削除作業なしに上流への共有を続けられるよう、ユーザーを特定できる情報を含めないでください。

  • 埋め込んではいけないもの:ユーザーのファイルシステム上のパス、個人用 API キーやトークン、ユーザーのメールアドレス、ユーザーの GitHub ハンドル、または単一のユーザーにひも付いた特定のクエリ履歴。
  • 含めてもよいもの:エンドポイント形式、未文書化のフィールド名、API の注意点、確認されたスキーマの変更、CLI インターフェースの回避策、汎用的なページネーションや再試行の方法。

ユーザー固有のコンテキストがないと意味をなさない修正は、プレイブックの amend ではなく、個人用ノートに記録してください。

ループの測定

scrape-creators-pp-cli learnings stats は、ローカルの learn_events テーブルから、再現率、学習から再利用への移行率、プレイブック解決率、候補の承認/却下件数を報告します。分母が得られるまでは率は null です。すべてこのマシン内に保持されます。この CLI で学習ループが役立っているかどうかを確認するために使ってください。

学習の無効化
  • 1 回のコマンドで --no-learn を指定すると、recall と teach の書き込み処理の両方がスキップされます。蓄積された学習内容の影響を受けてはならない、決定的なエージェントのフローやテストで使用してください。
  • 環境変数に SCRAPE_CREATORS_NO_LEARN=true を設定すると、パイプラインが全体的に無効になります。

エージェントからのフィードバック

この CLI について何か違和感に気づいたら(あなた自身でも、エージェントでも)、記録してください。

scrape-creators-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
scrape-creators-pp-cli feedback --stdin < notes.txt
scrape-creators-pp-cli feedback list --json --limit 10

エントリーは、解決されたデータディレクトリ内の feedback.jsonl にローカル保存されます。SCRAPE_CREATORS_FEEDBACK_ENDPOINT が設定され、さらに --send が渡された場合、または SCRAPE_CREATORS_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 ステータスを標準エラー出力に記録します。

名前付きプロファイル

プロファイルは、保存したフラグ値のセットで、呼び出し間で再利用できます。スケジュール実行または定期実行されるエージェントが、実行ごとに異なる入力を使いながら、同じ保存済みフラグを再利用する場合に使用してください。

scrape-creators-pp-cli profile save briefing --json
scrape-creators-pp-cli --profile briefing account list
scrape-creators-pp-cli profile list --json
scrape-creators-pp-cli profile show briefing
scrape-creators-pp-cli profile delete briefing --yes

明示的に指定したフラグは常にプロファイル値より優先され、プロファイル値はデフォルト値より優先されます。agent-context は、実行時に情報を調べるエージェントがプロファイルを検出できるよう、すべてのプロファイルを available_profiles の下に一覧表示します。

終了コード

コード意味
0成功
2使用方法のエラー(引数が誤っています)
3リソースが見つかりません
4認証が必要です
5API エラー(上流の問題)
7レート制限中(待ってから再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します。

  1. 空、help、または --help → scrape-creators-pp-cli --help の出力を表示します
  2. install で始まる → mcp で終わる場合 → MCP のインストール。それ以外の場合 → 上記の「前提条件」を参照してください
  3. その他 → 直接使用(--agent を付けて CLI コマンドとして実行)

MCP サーバーのインストール

  1. MCP サーバーをインストールします。
    go install github.com/mvanhorn/printing-press-library/library/developer-tools/scrape-creators/cmd/scrape-creators-pp-mcp@latest
    
  2. Claude Code に登録します。
    claude mcp add scrape-creators-pp-mcp -- scrape-creators-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストールされているか確認します:which scrape-creators-pp-cli 見つからない場合は、インストールを提案してください(このスキルの冒頭にある「前提条件」を参照)。
  2. ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
  3. --agent フラグを付けて実行します。
    scrape-creators-pp-cli <command> [subcommand] [args] --agent
    
  4. 曖昧な場合は、サブコマンドのヘルプを確認します:scrape-creators-pp-cli <command> --help。

コメント