Claude
Skills
Sign in
Back

pp-dub

Included with Lifetime
$97 forever

Every Dub feature, plus offline search, agent-native output, and a local SQLite store no other Dub tool has. Trigger phrases: `shorten a link with Dub`, `audit my Dub links`, `find dormant Dub links`, `review Dub bounty submissions`, `Dub partner leaderboard`, `use dub-pp-cli`, `run dub-pp-cli`.

AI Agents

What this skill does

<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/marketing/dub/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

# Dub — Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `dub-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:

1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
   ```bash
   npx -y @mvanhorn/printing-press-library install dub --cli-only
   ```
2. Verify: `dub-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.

If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.3 or newer):

```bash
go install github.com/mvanhorn/printing-press-library/library/marketing/dub/cmd/dub-pp-cli@latest
```

If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.

## When to Use This CLI

Use dub-pp-cli when an agent or operator needs to manage Dub at workspace scale — bulk link operations, campaign-wide UTM rewrites, partner program audits, bounty triage, or local cross-resource analysis. The CLI's local SQLite store makes joins across links, analytics, partners, commissions, and bounties cheap and offline. Reach for dub-pp-cli over the official `dub-cli` when you need anything beyond link shortening or workspace config.

## Unique Capabilities

These capabilities aren't available in any other tool for this API.

### Local state that compounds
- **`links stale`** — Find archived, expired, or zero-traffic links across the workspace before they pile up.

  _Use this to clean up dormant short links before a portfolio review or before bulk-archiving. The /analytics endpoint can't filter links by 'no clicks in N days' in a single call._

  ```bash
  dub-pp-cli links stale --days 90 --json --select id,key,clicks,archived
  ```
- **`links drift`** — Detect links whose click rate dropped more than threshold percent week-over-week.

  _Catches dying campaigns before reporting deadlines. Use this in a weekly automation to surface attribution links that quietly stopped converting._

  ```bash
  dub-pp-cli links drift --window 7d --threshold 30 --json
  ```
- **`links duplicates`** — Find every link in the workspace pointing to the same destination URL.

  _Surfaces accidental duplicates from bulk-create overruns and consolidation candidates after a migration._

  ```bash
  dub-pp-cli links duplicates --json
  ```
- **`links lint`** — Audit short-key slugs for lookalike collisions, reserved-word violations, and brand-conflict hazards.

  _Use this before a brand campaign launch to catch lookalike slugs that confuse partners or get reserved-word treatment._

  ```bash
  dub-pp-cli links lint --json
  ```
- **`links rollup`** — Performance dashboard aggregated by tag or folder — clicks, leads, sales rolled up across every link wearing each label.

  _Use this to compare campaign performance across tag dimensions without reconciling 5 separate API calls._

  ```bash
  dub-pp-cli links rollup --by clicks --group-by tag --json
  ```
- **`funnel`** — Click-to-lead-to-sale conversion rates per link or campaign.

  _Surfaces where prospects drop off in your attribution funnel. Use before quarterly reporting to spot links with high clicks and low conversion._

  ```bash
  dub-pp-cli funnel --link mylink --min-clicks 50 --json
  ```
- **`customers journey`** — See every link a customer clicked, when they became a lead, and when they purchased — in one timeline.

  _Use this for QBR-style account reviews or to debug attribution issues for a specific customer._

  ```bash
  dub-pp-cli customers journey cust_abc123 --json
  ```

### Agent-native plumbing
- **`links rewrite`** — Show every link that would change and the exact patch BEFORE sending.

  _Use this before any campaign-wide rewrite. Diff preview prevents the worst class of bulk-mutation mistakes._

  ```bash
  dub-pp-cli links rewrite --match 'utm_source=oldcampaign' --replace 'utm_source=newcampaign' --dry-run
  ```
- **`health`** — Cross-resource Monday-morning report: rate-limit headroom, expired-but-active links, dead destination URLs, unverified domains, dormant tags, bounty submissions awaiting review.

  _Use this as the first thing every morning, or as a CI canary. Surfaces what needs attention without dashboard hopping._

  ```bash
  dub-pp-cli health --json
  ```
- **`since`** — What happened in the last N hours? Created, updated, deleted links plus partner approvals, new bounty submissions, and top-clicked entities.

  _Use this in agent loops to summarize workspace activity since the last check-in. Cheap and idempotent._

  ```bash
  dub-pp-cli since 24h --json
  ```

### Partner ops
- **`partners leaderboard`** — Rank partners by commission earned, conversion rate, and clicks generated.

  _Use this to identify top performers before a partner-tier review, or dormant partners worth deactivating._

  ```bash
  dub-pp-cli partners leaderboard --by commission --top 10 --json
  ```
- **`partners audit-commissions`** — Reconcile partners, commissions, bounties, and payouts to flag stale rates, missing payouts, and expired bounties still earning.

  _Run this before a payout cycle to catch billing surprises. Use in CI before any commission-rate migration._

  ```bash
  dub-pp-cli partners audit-commissions --json
  ```
- **`bounties triage`** — Group partner-submitted bounty proof by status, age, and bounty type. Surfaces backlog awaiting review.

  _Run weekly to keep bounty submissions from rotting. Bounty programs lose partner trust when submissions sit unreviewed._

  ```bash
  dub-pp-cli bounties triage --status pending --older-than 7d --json
  ```
- **`bounties payout-projection`** — Project upcoming payouts from approved-but-unpaid submissions multiplied by current commission rates.

  _Use this for finance/marketing planning. Surfaces upcoming payout liability before the next payout cycle._

  ```bash
  dub-pp-cli bounties payout-projection --window 30d --json
  ```

## Command Reference

**bounties** — Manage bounties


**commissions** — Manage commissions

- `dub-pp-cli commissions bulk-update` — Bulk update up to 100 commissions with the same status.
- `dub-pp-cli commissions list` — Retrieve a paginated list of commissions for your partner program.
- `dub-pp-cli commissions update` — Update an existing commission amount. This is useful for handling refunds (partial or full) or fraudulent sales.

**customers** — Manage customers

- `dub-pp-cli customers delete` — Delete a customer from a workspace.
- `dub-pp-cli customers get` — Retrieve a paginated list of customers for the authenticated workspace.
- `dub-pp-cli customers get-id` — Retrieve a customer by ID for the authenticated workspace. To retrieve a customer by external ID, prefix the ID with...
- `dub-pp-cli customers update` — Update a customer for the authenticated workspace.

**domains** — Manage domains

- `dub-pp-cli domains check-status` — Check if a domain name is available for purchase. You can check multiple domains at once.
- `dub-pp-cli domains create` — Create a domain for the authenticated workspace.
- `dub-pp-cli domains delete` — Delete a domain from a workspace. It cannot be undone. This will also delete all the links associated with the domain.
- `dub-pp-cli domains list` — Retrieve a paginated list of domains for the authenticated workspace.
- `dub-pp-cli domains register` — Register a domain for the authenticated workspac

Related in AI Agents