# Dub

Read and write Dub: manage short links and read their click analytics; record lead or...

- Repository: https://github.com/Anil-matcha/awesome-muse-connectors (1403 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-13
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Anil-matcha/awesome-muse-connectors --skill dub -g -a claude-code -y`
Codex: `npx skills add Anil-matcha/awesome-muse-connectors --skill dub -g -a codex -y`
Cursor: `npx skills add Anil-matcha/awesome-muse-connectors --skill dub -g -a cursor -y`
Gemini CLI: `npx skills add Anil-matcha/awesome-muse-connectors --skill dub -g -a gemini-cli -y`

## Description

Read and write Dub: manage short links and read their click analytics; record lead or sale conversions. Trigger phrases: dub, short links.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Dub

## Purpose
Manage Dub short links: list links, create new ones, update or delete them, read click analytics, and record lead or sale conversions against a click. Use when the user mentions Dub or short links.

## Tooling
All commands go through `bin/dub.py`:

```bash
bin/dub.py auth                                                  # verify the API key
bin/dub.py links --limit 25                                      # list links
bin/dub.py create --url "https://example.com/long" --key "launch"  # new short link
bin/dub.py update --id "clvabc123" --url "https://example.com/new"  # edit a link
bin/dub.py delete --id "clvabc123"                               # delete a link
bin/dub.py analytics --link-id "clvabc123"                       # click analytics
bin/dub.py track-lead --click-id "abc123"                        # record a lead
bin/dub.py track-sale --click-id "abc123" --amount 4900          # record a sale
```

Dub paths are unversioned: the base is `https://api.dub.co` with no `/v2`. The link id for `update` and `delete` is the `id` field from `links`. `--amount` on `track-sale` is in cents.

## Auth
- Provider id: `dub` (credential is collected as `custom.dub`)
- Collection: API key (`dub_...`) via the secure credential flow (`credentials.request_api_access`); created in the Dub dashboard under API keys
- Allowed hosts: `api.dub.co`
- Status check: `bin/dub.py auth` (must return `"ok": true`)

## Operating Rules
1. `create`, `update`, `delete`, `track-lead`, and `track-sale` are writes: confirm with the user first, unless standing permission exists. Deleting a link breaks its short URL.
2. Dub keys are per workspace; a key from one workspace cannot touch another.
3. On HTTP 429, back off and honor the `Retry-After` header before retrying.
4. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the key value.

## Files
- SKILL.md
- bin/dub.py

The rest: https://github.com/Anil-matcha/awesome-muse-connectors/blob/HEAD/connectors/dub/SKILL.md
