Claude
Skills
Sign in
Back

pp-mailchimp

Included with Lifetime
$97 forever

Every Mailchimp endpoint plus the workflow commands the API forces you to compose yourself. Trigger phrases: `subscribe to mailchimp`, `add a contact to mailchimp`, `send a mailchimp campaign`, `mailchimp campaign performance`, `import contacts to mailchimp`, `audit mailchimp segments`, `mailchimp deliverability`, `use mailchimp`, `run mailchimp`.

Ads & Marketing

What this skill does

<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/marketing/mailchimp/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/". -->

# Mailchimp — Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `mailchimp-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 mailchimp --cli-only
   ```
2. Verify: `mailchimp-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/mailchimp/cmd/mailchimp-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

Reach for this CLI when you need to drive Mailchimp from a terminal or agent and the workflow spans more than one endpoint: subscribing a contact with tags, importing a CSV through the batch endpoint, measuring whether a campaign worked, or auditing segment hygiene. The local SQLite cache makes the audience SQL-queryable, which is impossible through the dashboard or the SDK. The MCP surface uses code orchestration over 291 endpoints in ~1K tokens, so an agent can reach any Mailchimp endpoint without bloating its tool list.

## Unique Capabilities

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

### Workflow composition
- **`subscribe`** — Upsert a member by email and apply tags in a single command. Auto-computes the MD5 subscriber hash so you never see it.

  _When an agent needs to add a contact with tags, this is one call instead of three with MD5 hashing in the middle._

  ```bash
  mailchimp-pp-cli subscribe [email protected] --list a1b2c3d4e5 --tags vip,onboarding --merge FNAME=Alice
  ```
- **`bulk-subscribe`** — Read a CSV, fan out through Mailchimp's /batches endpoint (the official 10-concurrent-connection escape hatch), poll until done, decode the tar.gz of JSONL results within the 10-minute response URL window, and print per-row outcomes.

  _When an agent needs to subscribe more than ~50 contacts at once, this is the only safe path that respects rate limits and gives back actionable per-row results._

  ```bash
  mailchimp-pp-cli bulk-subscribe --csv contacts.csv --list a1b2c3d4e5 --tags newsletter --watch
  ```

### Local joins that compound
- **`digest`** — Single-campaign mode (digest <id>) joins report + email-activity + ecommerce-product-activity into one summary with opens/clicks/bounces/revenue + top-clicked links + top-converted products. Rollup mode (digest --last N or --week) renders a multi-campaign summary table with aggregate stats. --md renders either as paste-ready markdown.

  _Use digest <id> for per-campaign analysis; use digest --last N for a weekly rollup. --md is the paste-into-doc shape both personas need._

  ```bash
  mailchimp-pp-cli digest --last 5 --md
  ```
- **`segments audit`** — Find empty segments, segments that haven't grown in 90 days, and segments not referenced by any recent campaign. Reads the segments endpoint and joins with member counts from the local SQLite store.

  _When cleaning up an audience or auditing segmentation hygiene, this surfaces what's dead in one call._

  ```bash
  mailchimp-pp-cli segments audit --list a1b2c3d4e5 --json
  ```
- **`attribution`** — Join a campaign's e-commerce product activity report with synced store orders to compute attributed revenue, top products by attributed revenue, and conversion rate (orders divided by opens).

  _When measuring whether a campaign drove revenue, this is the single command._

  ```bash
  mailchimp-pp-cli attribution 7f8a9b0c1d --store mystore --json
  ```
- **`deliverability`** — Roll up domain-performance reports across the last N campaigns. Surfaces per-domain (gmail.com, yahoo.com, outlook.com) bounce, spam, open, and click rates. Highlights domains performing below the account average.

  _When investigating a deliverability dip, this shows you which inbox providers are degrading without clicking through 10 separate report pages._

  ```bash
  mailchimp-pp-cli deliverability --last 10 --json
  ```
- **`compare`** — Side-by-side metric diff for two campaigns. Fetches both campaigns' report + email-activity in parallel, renders open rate / CTR / click-to-open / bounces / unsubscribes / revenue with a winner per metric, computes delta, and surfaces top differences (subject line, send time, audience size). --md renders as paste-ready markdown.

  _When you ask 'which campaign won?' or 'did the change work?', this is the single command. The --md mode pastes into a weekly review doc._

  ```bash
  mailchimp-pp-cli compare 7f8a9b0c1d 8c9d0e1f2a --md
  ```

### Operational safety
- **`send-checked`** — Run the official send-checklist before sending. Exits 2 with the failing items if any have type=error or is_ready=false; otherwise sends.

  _When sending campaigns from a pipeline, this is the safe default — broken campaigns don't ship silently._

  ```bash
  mailchimp-pp-cli send-checked 7f8a9b0c1d
  ```

## Command Reference

**account-exports** — Manage account exports

- `mailchimp-pp-cli account-exports get` — Get a list of account exports for a given account.
- `mailchimp-pp-cli account-exports get-id` — Get information about a specific account export.
- `mailchimp-pp-cli account-exports post` — Create a new account export in your Mailchimp account.

**activity-feed** — Manage activity feed

- `mailchimp-pp-cli activity-feed` — Return the Chimp Chatter for this account ordered by most recent.

**audiences** — Manage audiences

- `mailchimp-pp-cli audiences get-contacts` — Get information about all audiences in the account.
- `mailchimp-pp-cli audiences get-id` — Get information about a specific audience.

**authorized-apps** — Manage authorized apps

- `mailchimp-pp-cli authorized-apps get` — Get a list of an account's registered, connected applications.
- `mailchimp-pp-cli authorized-apps get-id` — Get information about a specific authorized application.

**automations** — Manage automations

- `mailchimp-pp-cli automations get` — Get a summary of an account's classic automations.
- `mailchimp-pp-cli automations get-id` — Get a summary of an individual classic automation workflow's settings and content. The `trigger_settings` object...
- `mailchimp-pp-cli automations post` — Create a new classic automation in your Mailchimp account.

**batch-webhooks** — Manage batch webhooks

- `mailchimp-pp-cli batch-webhooks delete-id` — Remove a batch webhook. Webhooks will no longer be sent to the given URL.
- `mailchimp-pp-cli batch-webhooks get` — Get all webhooks that have been configured for batches.
- `mailchimp-pp-cli batch-webhooks get-batchwebhooks` — Get information about a specific batch webhook.
- `mailchimp-pp-cli batch-webhooks patch` — Update a webhook that will fire whenever any batch request completes processing.
- `mailchimp-pp-cli batch-webhooks post` — Configure a webhook that will fire whenever any batch request completes processing. You may only have a maximum of...

**batches** — Manage batches

- `mailchimp-pp-cli batches delete-id` — Stops a batch request from running. Since only one batch request is run at a time, this can be used to cancel a long...
- `mailchimp-pp-cli batches 

Related in Ads & Marketing