Install any skill in seconds. Free to start, no credit card required.
Get Started Free →mvanhorn/pp-emailoctopus
Every EmailOctopus v2 endpoint, plus the cross-list joins, churn diffs, and rate-budgeted bulk operations the API... Trigger phrases: `manage my EmailOctopus list`, `sync subscribers to EmailOctopus`, `EmailOctopus campaign report`, `find cold subscribers`, `dedupe my email lists`, `use emailoctopus`, `run emailoctopus`.
Passed 3 of 8 test cases with the skill, and 1 of 8 without it.
and 7 more in the full report
5 fixed2 passed either way14 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
I have a local CSV file at ./new_users.csv that needs to be imported into EmailOctopus list list_abc123. Map the 'Email' column to email and 'Plan' column to tag.plan. Pre-flight check the diff without making actual upstream changes.
| Checked | Without skill | With skill |
|---|---|---|
| Invokes emailoctopus-pp-cli contacts sync-csv for file ./new_users.csv. | Missed | Passed |
| Includes the --dry-run flag. | Missed | Passed |
The instructions your model reads when the skill loads.
This skill drives the emailoctopus-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
npx -y @mvanhorn/printing-press-library install emailoctopus --cli-only
emailoctopus-pp-cli --version$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.6 or newer):
go install github.com/mvanhorn/printing-press-library/library/marketing/emailoctopus/cmd/emailoctopus-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.
Use this CLI when an agent or operator needs the full EmailOctopus v2 surface — lists, contacts, tags, custom fields, campaign reports, and automation triggers — plus the local-join queries the hosted API can't answer (cross-list duplicates, per-contact engagement scoring, list churn since the last snapshot, tag set-algebra). Especially valuable for indie newsletter operators, small-SaaS growth engineers, and agencies running many client lists, since it works offline once synced and paces all mutations under the documented 10 req/sec rate limit.
These capabilities aren't available in any other tool for this API.
contacts engagement — Score every contact by opens, clicks, and inactive-since across all campaigns. The API has no engagement-history endpoint; we synthesize it locally.
Pick this when an agent needs to find cold subscribers, build a reactivation cohort, or score engagement without paginating every campaign report by hand.
emailoctopus-pp-cli contacts engagement --list <list_id> --inactive-since 90d --json
contacts dedupe — Find contacts that appear on multiple lists in the account, optionally consolidating them onto one canonical list.
Pick this when an agent needs to clean up subscriber duplication, audit list sprawl, or plan a merge across multiple lists.
test cases passed, vs 1 / 8 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.