pp-dub について
pp-dubは、`dub-pp-cli`でDubを操作するスキルです。ワークスペース全体のリンク、キャンペーン、パートナー業務を扱うエージェントや運用担当者向けで、ローカルSQLiteによる複数リソースの分析が特徴です。
主な機能
- 01リンクの一括管理
- 02キャンペーン全体のUTM書き換え
- 03リンクの健全性と実績分析
- 04パートナーと賞金の監査
- 05ローカルSQLiteでの横断分析
活用シーン
- 01期限切れ、重複、低下中のリンクの特定
- 02キャンペーンのコンバージョンファネル確認
- 03支払い前のパートナー報酬照合
- 04一括変更の適用前プレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-dubインストール後、Claude Code で/pp-dubを入力して読み込まれたか確認します。
詳細
Dub — Printing Press CLI
前提条件:CLI のインストール
このスキルは dub-pp-cli バイナリを使用します。このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。インストールされていない場合は、先にインストールしてください。
- Printing Press のインストーラーを使用してインストールします。バイナリの既定のインストール先は、macOS/Linux では
$HOME/.local/bin、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binです。npx -y @mvanhorn/printing-press-library install dub --cli-only - 確認します:
dub-pp-cli --version - このスキルを実行するエージェント/ランタイムの
$PATHに、表示されたインストールディレクトリが含まれていることを確認します。
npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go から直接インストールしてください(Go 1.26.6 以降が必要です)。
go install github.com/mvanhorn/printing-press-library/library/marketing/dub/cmd/dub-pp-cli@latest
インストール後に --version で「command not found」と表示される場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認に成功するまで、スキルのコマンドを実行しないでください。
この CLI を使用する場面
エージェントやオペレーターがワークスペース規模で Dub を管理する必要がある場合は、dub-pp-cli を使用してください。たとえば、リンクの一括操作、キャンペーン全体の UTM 書き換え、パートナープログラムの監査、報奨金のトリアージ、複数リソースをまたぐローカル分析などです。CLI のローカル SQLite ストアを使えば、リンク、分析、パートナー、コミッション、報奨金をまたぐ結合を低コストでオフライン実行できます。リンクの短縮やワークスペース設定を超える機能が必要な場合は、公式の dub-cli より dub-pp-cli を選んでください。
独自の機能
この API のほかのツールでは、以下の機能を利用できません。
蓄積されるローカル状態
-
links stale— ワークスペース全体から、アーカイブ済み、期限切れ、またはトラフィックのないリンクを、数が増え続ける前に見つけます。ポートフォリオレビューや一括アーカイブの前に、休眠状態の短縮リンクを整理するために使用します。/analytics エンドポイントでは、「N 日間クリックなし」でリンクを 1 回の呼び出しで絞り込めません。
dub-pp-cli links stale --days 90 --json --select id,key,clicks,archived -
links drift— クリック率が前週比でしきい値を超えて低下したリンクを検出します。レポートの締め切り前に、成果が落ちているキャンペーンを発見できます。コンバージョンがひそかに止まったアトリビューションリンクを見つけるため、週次の自動処理で使用してください。
dub-pp-cli links drift --window 7d --threshold 30 --json -
links duplicates— ワークスペース内で、同じリンク先 URL を指すリンクをすべて見つけます。一括作成の超過によって生じた意図しない重複や、移行後の統合候補を見つけられます。
dub-pp-cli links duplicates --json -
links lint— 短縮キーのスラッグについて、類似文字列の衝突、予約語違反、ブランドとの競合リスクを監査します。ブランドキャンペーンの開始前に使用すると、パートナーを混乱させたり、予約語として扱われたりする類似スラッグを検出できます。
dub-pp-cli links lint --json -
links rollup— タグまたはフォルダー別に集計したパフォーマンスダッシュボードです。各ラベルが付いたすべてのリンクのクリック数、リード数、売上を集計します。個別の API 呼び出し 5 回分の結果を突き合わせずに、タグの切り口ごとにキャンペーンのパフォーマンスを比較できます。
dub-pp-cli links rollup --by clicks --group-by tag --json -
funnel— リンクまたはキャンペーンごとの、クリックからリード、売上へのコンバージョン率を表示します。アトリビューションファネルで見込み顧客が離脱する箇所を見つけられます。四半期レポートの前に使用して、クリック数は多いもののコンバージョンが少ないリンクを特定してください。
dub-pp-cli funnel --link mylink --min-clicks 50 --json -
customers journey— 顧客がクリックしたすべてのリンク、その顧客がリードになった時期、購入した時期を、1 つのタイムラインで確認できます。QBR 形式のアカウントレビューや、特定の顧客に関するアトリビューションの問題の調査に使用してください。
dub-pp-cli customers journey cust_abc123 --json
エージェントネイティブなインフラ
-
links rewrite— 変更されるすべてのリンクと、送信前の正確なパッチを表示します。キャンペーン全体の書き換えを行う前に使用してください。差分プレビューにより、一括変更で起こり得る最も深刻なミスを防げます。
dub-pp-cli links rewrite --match 'utm_source=oldcampaign' --replace 'utm_source=newcampaign' --dry-run -
health— リソース横断の月曜朝レポートです。レート制限の余裕、期限切れにもかかわらず有効なリンク、リンク先 URL の無効化、未検証ドメイン、休眠タグ、レビュー待ちのバウンティ申請を確認できます。毎朝最初に実行するか、CI のカナリアとして使用してください。ダッシュボードを切り替えずに、対応が必要な項目を把握できます。
dub-pp-cli health --json -
since— 過去 N 時間に何が起きましたか?作成、更新、削除されたリンクに加えて、パートナーの承認、新しいバウンティ申請、クリック数上位のエンティティを確認できます。前回の確認以降のワークスペースのアクティビティを要約するため、エージェントのループで使用してください。低コストで、べき等です。
dub-pp-cli since 24h --json
パートナー運用
-
partners leaderboard— 獲得したコミッション、コンバージョン率、発生させたクリック数でパートナーをランク付けします。パートナーのランク見直しの前に上位のパートナーを特定する場合や、無効化する価値のある休眠パートナーを見つける場合に使用してください。
dub-pp-cli partners leaderboard --by commission --top 10 --json -
partners audit-commissions— パートナー、コミッション、バウンティ、支払いを照合し、古いレート、未払い、期限切れにもかかわらず報酬が発生しているバウンティを検出します。支払いサイクルの前に実行して、請求に関する予期しない問題を把握してください。コミッション率の移行前に CI で使用してください。
dub-pp-cli partners audit-commissions --json -
bounties triage— パートナーが提出したバウンティの証拠を、ステータス、経過期間、バウンティの種類で分類します。レビュー待ちの滞留分を確認できます。バウンティ申請が放置されないよう、毎週実行してください。申請が未レビューのまま放置されると、バウンティプログラムに対するパートナーの信頼が損なわれます。
dub-pp-cli bounties triage --status pending --older-than 7d --json -
bounties payout-projection— 承認済みで未払いの申請に現在のコミッション率を適用し、今後の支払いを予測します。財務・マーケティング計画に使用してください。次の支払いサイクルより前に、今後の支払い債務を把握できます。
dub-pp-cli bounties payout-projection --window 30d --json
コマンドリファレンス
bounties — バウンティを管理します
commissions — コミッションを管理します
dub-pp-cli commissions bulk-update— 同じステータスのコミッションを最大 100 件、一括更新します。dub-pp-cli commissions list— パートナープログラムのコミッション一覧をページネーション付きで取得します。dub-pp-cli commissions update— 既存のコミッション額を更新します。一部または全額の返金、不正な売上への対応に便利です。
customers — 顧客を管理します
dub-pp-cli customers delete— ワークスペースから顧客を削除します。dub-pp-cli customers get— 認証済みワークスペースの顧客一覧をページネーション付きで取得します。dub-pp-cli customers get-id— 認証済みワークスペースの ID で顧客を取得します。外部 ID で顧客を取得するには、ID の前に...を付けます。dub-pp-cli customers update— 認証済みワークスペースの顧客情報を更新します。
domains — ドメインを管理します
dub-pp-cli domains check-status— ドメイン名を購入できるか確認します。複数のドメインを一度に確認できます。dub-pp-cli domains create— 認証済みワークスペースにドメインを作成します。dub-pp-cli domains delete— ワークスペースからドメインを削除します。この操作は取り消せません。ドメインに関連付けられたすべてのリンクも削除されます。dub-pp-cli domains list— 認証済みワークスペースのドメイン一覧をページネーション付きで取得します。dub-pp-cli domains register— 認証済みワークスペースにドメインを登録します。Enterprise プランでのみ利用できます。dub-pp-cli domains update— 認証済みワークスペースのドメインを更新します。
dub-analytics — dub の分析を管理します
dub-pp-cli dub-analytics— リンク、ドメイン、または認証済みワークスペースの分析情報を取得します。応答の種類はevent...
events — イベントを管理します
dub-pp-cli events— 認証済みワークスペースのイベント一覧をページネーション付きで取得します。
folders — フォルダーを管理します
dub-pp-cli folders create— 認証済みワークスペースのフォルダを作成します。dub-pp-cli folders delete— ワークスペースからフォルダを削除します。既存のリンクはすべて引き続き機能しますが、関連付けられなくなります...dub-pp-cli folders list— 認証済みワークスペースのフォルダをページネーション形式で一覧表示します。dub-pp-cli folders update— ワークスペース内のフォルダを更新します。
links — リンクを管理します
dub-pp-cli links bulk-create— 認証済みワークスペースのリンクを最大 100 件まで一括作成します。dub-pp-cli links bulk-delete— 認証済みワークスペースのリンクを最大 100 件まで一括削除します。dub-pp-cli links bulk-update— 認証済みワークスペースのリンクを最大 100 件まで同じデータで一括更新します。dub-pp-cli links create— 認証済みワークスペースのリンクを作成します。dub-pp-cli links delete— 認証済みワークスペースのリンクを削除します。dub-pp-cli links get— 認証済みワークスペースのリンクをページネーション形式で一覧表示します。dub-pp-cli links get-count— 認証済みワークスペースのリンク数を取得します。dub-pp-cli links get-info— リンクの情報を取得します。dub-pp-cli links update— 認証済みワークスペースのリンクを更新します。変更がない場合は、そのまま返します。dub-pp-cli links upsert— 認証済みワークスペースのリンクをその URL で upsert します。同じ URL のリンクがすでに存在する場合は、それを返します(または...
partners — パートナーを管理します
dub-pp-cli partners approve— プログラムへの保留中のパートナー申請を承認します。パートナーは指定されたグループに登録され...dub-pp-cli partners ban— プログラムからパートナーを BAN します。これによりすべてのリンクが無効になり、すべてのコミッションがキャンセル済みとしてマークされます。dub-pp-cli partners create— パートナーレコードを作成または更新します(upsert 動作)。同じメールアドレスのパートナーがすでに存在する場合、その...dub-pp-cli partners create-link— プログラムに登録されているパートナーのリンクを作成します。dub-pp-cli partners deactivate— これによりプログラムからパートナーが無効化され、そのすべてのアクティブなリンクが無効になります。そのコミッションと支払い...dub-pp-cli partners list— パートナープログラムのすべてのパートナーを一覧表示します。dub-pp-cli partners list-applications— パートナープログラムの保留中の申請をページネーション形式で一覧表示します。dub-pp-cli partners reject— プログラムへの保留中のパートナー申請を却下します。パートナーには、申請が... というメール通知が送信されます。dub-pp-cli partners retrieve-analytics— プログラム内のパートナーのアナリティクスを取得します。レスポンスの種類はgroupByクエリパラメータによって異なります。dub-pp-cli partners retrieve-links— パートナー ID またはテナント ID でパートナーのリンクを取得します。dub-pp-cli partners upsert-link— プログラムに登録されているパートナーのリンクを upsert します。同じ URL のリンクがすでに存在する場合は、それを返します...
payouts — 支払いを管理します
dub-pp-cli payouts— パートナープログラムの支払いをページネーション形式で一覧表示します。
qr — QR を管理します
dub-pp-cli qr— リンクの QR コードを取得します。
tags — タグを管理します
dub-pp-cli tags create— 認証済みワークスペースのタグを作成します。dub-pp-cli tags delete— ワークスペースからタグを削除します。既存のリンクはすべて引き続き機能しますが、このタグとは関連付けられなくなります...dub-pp-cli tags get— 認証済みワークスペースのタグをページネーション形式で一覧表示します。dub-pp-cli tags update— ワークスペース内のタグを更新します。
tokens — トークンを管理します
dub-pp-cli tokens— 指定されたパートナー/テナントの紹介埋め込みトークンを作成します。このエンドポイントはまず既存の...
track — トラッキングを管理します
dub-pp-cli track lead— ショートリンクのリードをトラッキングします。dub-pp-cli track open— このエンドポイントは、ユーザーが Dub を利用したディープリンク(iOS と Android の両方)経由でアプリを開いたときにトラッキングするために使用されます。dub-pp-cli track sale— ショートリンクのセールをトラッキングします。
適切なコマンドを見つける
実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。
dub-pp-cli which "<capability in your own words>"
which は、自然言語での機能に関する問い合わせを、この CLI の厳選された機能インデックスから最も一致するコマンドに対応付けます。終了コード 0 は少なくとも 1 件一致したことを示し、終了コード 2 は確信を持てる一致がなかったことを示します。その場合は --help に切り替えるか、より絞り込んだ問い合わせを使用してください。
レシピ
アーカイブする価値のある休眠リンクを見つける
dub-pp-cli sync && dub-pp-cli links stale --days 60 --json --select key,url,clicks,createdAt
まず同期してから、過去 60 日間のクリック数が 0 のリンクを問い合わせます。さらに絞り込んだり、アーカイブ用の一括処理を作成したりするには、jq にパイプしてください。
送信前にキャンペーン全体の UTM 一括置換をプレビューする
dub-pp-cli links rewrite --match 'utm_source=launch' --replace 'utm_source=summer' --dry-run --json
差分プレビューには、変更されるすべてのリンクが表示されます。パッチを確認してから --dry-run を外してください。
7 日以上待機しているバウンティの提出をトリアージする
dub-pp-cli bounties triage --status pending --older-than 7d --json --select id,partnerId,bountyType,submittedAt
キュー内で滞留しているパートナーからの提出を表示します。連絡先リストを作成するには、jq にパイプして partnerId ごとにグループ化してください。
上位 10 パートナーのパートナー別 ROI
dub-pp-cli partners leaderboard --by commission --top 10 --agent --select 'partnerId,partnerName,clicks,leads,sales,commission'
/partners/analytics のデータと、ローカルのコミッションおよび支払い情報を組み合わせます。エージェント向けにレスポンスを小さく保つには、ドット区切りのパスを指定して --select を使用してください。リーダーボードはデフォルトで列数の多い行を返します。
同期してから、月曜朝のヘルスチェックをすべて実行する
dub-pp-cli sync && dub-pp-cli health --json
レート制限の余裕、期限切れなのに有効なリンク、無効な宛先 URL、未確認のドメイン、レビュー待ちのバウンティ提出をまとめてレポートします。
認証の設定
dub-pp-cli は環境変数 DUB_API_KEY を読み取ります(Speakeasy の規約に準拠。以前のコミュニティ製 CLI との互換性のため、DUB_TOKEN も使用できます)。キーはワークスペースに紐付けられており、ワークスペースはキーから暗黙的に決まります。dub.co/settings/tokens からキーを取得し、dub-pp-cli doctor を実行して接続を確認してください。
dub-pp-cli doctor を実行して設定を確認してください。
エージェントモード
任意のコマンドに --agent を追加してください。次のオプションが有効になります:--json --compact --no-input --no-color --yes。
-
パイプ可能 — 標準出力には JSON、標準エラー出力にはエラーを出力します
-
フィルター可能 —
--selectでフィールドの一部を選択できます。ドット区切りのパスはネストされた構造をたどり、配列では各要素に対して処理します。詳細な API でコンテキストを小さく保つために重要です。dub-pp-cli commissions list --agent --select id,name,status -
プレビュー可能 —
--dry-runを指定すると、送信せずにリクエストを表示します -
オフライン対応 — 同期/検索コマンドでは、利用可能な場合にローカルの SQLite ストアを使用できます
-
非対話型 — プロンプトを表示せず、すべての入力をフラグで指定します
レスポンスのエンベロープ
ローカルストアまたは API から読み取るコマンドは、出力をデータの由来を示すエンベロープでラップします。
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
データには .results を、ライブデータかローカルデータかの確認には .meta.source を解析してください。人間が読みやすい N results (live) の概要は、標準出力がターミナルの場合にのみ標準エラー出力へ表示されます。パイプやエージェントで利用する場合、標準出力には純粋な JSON が出力されます。
エージェントからのフィードバック
あなた(またはエージェント)がこの CLI に問題があると気付いた場合は、記録してください。
dub-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
dub-pp-cli feedback --stdin < notes.txt
dub-pp-cli feedback list --json --limit 10
エントリーは ~/.dub-pp-cli/feedback.jsonl にローカル保存されます。DUB_FEEDBACK_ENDPOINT が設定され、かつ --send が指定されているか DUB_FEEDBACK_AUTO_SEND=true でない限り、POST されることはありません。デフォルトの動作はローカルのみです。
バグ報告ではなく、意外だったことを書いてください。短く、具体的に、1 行で記述してください。積み重なっていくのは、そうした情報です。
出力の送信先
すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて、または標準出力の代わりに、指定した送信先へ渡されます。そのため、エージェントはコマンド結果を手動でパイプ処理せずに振り分けられます。対応している送信先は 3 種類です。
| 送信先 | 動作 |
|---|---|
stdout | デフォルト。標準出力のみに書き込みます |
file:<path> | <path> に出力をアトミックに書き込みます(tmp + rename) |
webhook:<url> | 出力本文を URL に POST します(--compact 指定時は application/json または application/x-ndjson) |
未対応のスキームは、対応する送信先を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードが返され、URL と HTTP ステータスが標準エラー出力に記録されます。
名前付きプロファイル
プロファイルは、保存されたフラグ値のセットで、複数の呼び出しで再利用できます。スケジュールされたエージェントが毎回同じ設定で同じコマンドを実行する場合に使用します。これは HeyGen の「Beacon」パターンです。
dub-pp-cli profile save briefing --json
dub-pp-cli --profile briefing commissions list
dub-pp-cli profile list --json
dub-pp-cli profile show briefing
dub-pp-cli profile delete briefing --yes
明示的に指定したフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルト値より優先されます。agent-context は、available_profiles の下に利用可能なすべてのプロファイルを一覧表示するため、イントロスペクションを行うエージェントは実行時にそれらを検出できます。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 2 | 使用エラー(引数が正しくありません) |
| 3 | リソースが見つかりません |
| 4 | 認証が必要です |
| 5 | API エラー(上流の問題) |
| 7 | レート制限中(待機して再試行してください) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します:
- 空、
help、または--help→dub-pp-cli --helpの出力を表示します installで始まる →mcpで終わる場合は MCP のインストール、それ以外の場合は上記の「前提条件」を参照します- その他すべて → 直接使用(
--agentを指定して CLI コマンドとして実行します)
MCP サーバーのインストール
- MCP サーバーをインストールします:
go install github.com/mvanhorn/printing-press-library/library/other/dub/cmd/dub-pp-mcp@latest - Claude Code に登録します:
claude mcp add dub-pp-mcp -- dub-pp-mcp - 確認します:
claude mcp list
直接使用
- インストール済みか確認します:
which dub-pp-cli見つからない場合は、インストールを提案します(このスキルの冒頭にある「前提条件」を参照してください)。 - ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
--agentフラグを指定して実行します:dub-pp-cli <command> [subcommand] [args] --agent- 曖昧な場合は、サブコマンドのヘルプを確認します:
dub-pp-cli <command> --help。