mcpField
P
pp-podscan

pp-podscan

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

pp-podscan について

Podscanのポッドキャストデータにアクセスするコマンドラインスキルで、番組、エピソード、カテゴリ、アラート、エクスポートを扱います。文字起こしによるエピソード検索に対応し、MCPサーバーの導入方法も示しています。

主な機能

  1. 01名前や説明から番組を検索
  2. 02文字起こしからエピソードを検索
  3. 03ポッドキャストのカテゴリを表示
  4. 04アラートの作成と管理
  5. 05エクスポートの一覧表示とダウンロード
  6. 06エージェント向けJSON出力

活用シーン

  1. 01特定の話題を扱うエピソードを探す
  2. 02説明文から番組を見つける
  3. 03アラートの設定や確認
  4. 04番組またはエピソードのエクスポートを取得

MCP 対応

このスキルでは、`podscan-pp-mcp`バイナリを導入し、`claude mcp add`で登録する方法を説明しています。MCPサーバーがクライアントに公開するリソースやツールは記載されていません。

インストール

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

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

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

詳細

Podscan — Printing Press CLI

前提条件:CLI のインストール

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

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

npx でのインストールに失敗した場合(Node がない、オフラインなど)は、Go を使った直接インストールに切り替えてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/podscan/cmd/podscan-pp-cli@latest

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

コマンドリファレンス

alerts — アラートを管理します

  • podscan-pp-cli alerts create — 新しいアラートを作成します
  • podscan-pp-cli alerts delete — アラートを削除します
  • podscan-pp-cli alerts get — アラートを取得します
  • podscan-pp-cli alerts list — 設定済みのアラートを一覧表示します

categories — カテゴリーを管理します

  • podscan-pp-cli categories — ポッドキャストのすべてのカテゴリーを一覧表示します

episodes — エピソードを管理します

  • podscan-pp-cli episodes get — ID でエピソードを取得します
  • podscan-pp-cli episodes search — トランスクリプトの内容からエピソードを検索します

exports — エクスポートを管理します

  • podscan-pp-cli exports download — エクスポートファイルをダウンロードします
  • podscan-pp-cli exports list-episode — 日次エピソードのエクスポートファイルを一覧表示します
  • podscan-pp-cli exports list-podcast — ポッドキャストカタログのエクスポートファイルを一覧表示します

podcasts — ポッドキャストを管理します

  • podscan-pp-cli podcasts get — ID でポッドキャストを取得します
  • podscan-pp-cli podcasts search — 名前または説明からポッドキャストを検索します
適切なコマンドを見つける

何をしたいかは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。

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

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

認証の設定

アクセストークンを保存します。

podscan-pp-cli auth set-token YOUR_TOKEN_HERE

または、環境変数として PODSCAN_BEARER_AUTH を設定します。

podscan-pp-cli doctor を実行して、設定を確認します。

エージェントモード

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

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

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

    podscan-pp-cli alerts list --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で、リクエストを送信せずに内容を表示します

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

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

  • 再試行を明示 — すでに存在する対象の作成を成功として扱う場合にのみ --idempotent を使用し、対象が存在しない削除を成功として扱う場合にのみ --ignore-missing を使用します

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力をデータの由来を示すエンベロープで包みます。

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

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。人間が読みやすい N results (live) という要約は、stdout が端末の場合にのみ stderr に出力されます。パイプやエージェントの利用者には、stdout に純粋な JSON が出力されます。

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

この CLI に問題があると気付いた場合(エージェントが気付いた場合も含む)は、記録してください。

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

記録は ~/.podscan-pp-cli/feedback.jsonl にローカル保存されます。PODSCAN_FEEDBACK_ENDPOINT が設定され、かつ --send が渡された場合、または PODSCAN_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」パターンです。

podscan-pp-cli profile save briefing --json
podscan-pp-cli --profile briefing alerts list
podscan-pp-cli profile list --json
podscan-pp-cli profile show briefing
podscan-pp-cli profile delete briefing --yes

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

終了コード

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

引数の解析

$ARGUMENTS を解析します。

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

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

この CLI の公開ライブラリエントリーまたはビルド済みリリースから MCP バイナリをインストールし、登録します。

claude mcp add podscan-pp-mcp -- podscan-pp-mcp

確認します:claude mcp list

直接使用

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

コメント