pp-podscan について
Podscanのポッドキャストデータにアクセスするコマンドラインスキルで、番組、エピソード、カテゴリ、アラート、エクスポートを扱います。文字起こしによるエピソード検索に対応し、MCPサーバーの導入方法も示しています。
主な機能
- 01名前や説明から番組を検索
- 02文字起こしからエピソードを検索
- 03ポッドキャストのカテゴリを表示
- 04アラートの作成と管理
- 05エクスポートの一覧表示とダウンロード
- 06エージェント向けJSON出力
活用シーン
- 01特定の話題を扱うエピソードを探す
- 02説明文から番組を見つける
- 03アラートの設定や確認
- 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 がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。
- Printing Press インストーラーを使ってインストールします。バイナリのインストール先は、macOS/Linux では
$HOME/.local/bin、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binがデフォルトです。npx -y @mvanhorn/printing-press-library install podscan --cli-only - 確認します:
podscan-pp-cli --version - スキルを実行するエージェント/ランタイムで、報告されたインストール先ディレクトリが
$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 | 認証が必要です |
| 5 | API エラー(上流の問題) |
| 7 | レート制限中(待ってから再試行してください) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します。
- 空、
help、または--help→podscan-pp-cli --helpの出力を表示します installで始まる場合 →mcpで終わる場合は MCP のインストール。それ以外の場合は、上記の前提条件を参照してください- その他すべて → 直接使用(
--agentを指定して CLI コマンドとして実行します)
MCP サーバーのインストール
この CLI の公開ライブラリエントリーまたはビルド済みリリースから MCP バイナリをインストールし、登録します。
claude mcp add podscan-pp-mcp -- podscan-pp-mcp
確認します:claude mcp list
直接使用
- インストール済みか確認します:
which podscan-pp-cli見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。 - ユーザーのクエリに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
--agentフラグを指定して実行します。podscan-pp-cli <command> [subcommand] [args] --agent- 曖昧な場合は、サブコマンドのヘルプを確認します:
podscan-pp-cli <command> --help。