pp-mailchimp
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`.
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
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".