kopi-email-marketing
Brand-aware lifecycle email marketing for Klaviyo. Draft, analyze, and diagnose emails from a one-line prompt. Audit email marketing perform
Open source Repository Open in the app JSON README (API)
About
Brand-aware lifecycle email marketing for Klaviyo. Draft, analyze, and diagnose emails from a one-line prompt. Audit email marketing performance, find ideas for what to send next, generate on-brand images, and build multi-step flows, all in the voice and style your brand has already defined.
Details
- Kind
- Plugins
- Topic
- Marketing & analytics
- Publisher
- tryrendition
- Origin
- marketplace
- Category
- ferramentas
- Last push
- 2026-04-24T19:32:34Z
- Repository state
- ativo
- Language
- Shell
- License
- Apache-2.0
- Added
- 2026-08-30 01:48:58
- Updated
- 2026-08-30 01:48:58
- Origin id
tryrendition/kopi-email-marketing-plugin/kopi-email-marketing
README
# Kopi Email Marketing Plugin for Claude Brand-aware lifecycle email marketing for **Klaviyo**. Draft, analyze, and diagnose emails grounded in your brand's actual performance data — not generic best practices. ## Installation ### Claude Cowork (web / desktop app) Open **Customize → Browse plugins**, find *Kopi Email Marketing*, click **Install**. If your org's admin hasn't added this plugin yet, ask them to add `tryrendition/kopi-email-marketing-plugin` as a plugin source (via sync from GitHub) or upload the release zip (`kopi-email-marketing-plugin-v0.2.2.zip` from [Releases](https://github.com/tryrendition/kopi-email-marketing-plugin/releases)). ### Claude Code (CLI + IDE extensions) ``` /plugin marketplace add tryrendition/kopi-email-marketing-plugin /plugin install kopi-email-marketing@kopi ``` Or browse `/plugin > Discover` in Claude Code after adding the marketplace. ## What It Does Kopi plans, art-directs, and renders brand-consistent emails from your Klaviyo data. One connection replaces three tools: | Surface | What it gives you | |---------|-------------------| | **Drafting** | Compose emails that match your brand voice, palette, typography, and recent campaigns — from a one-line prompt | | **Auditing** | Audit campaign and flow performance, surface winners and bottlenecks, tie every recommendation to observed Klaviyo data | | **Ideas** | Surface high-value ideas grouped by category (core, flow, newsjacking, trending), prioritized by impact × speed | ## Authentication On first tool call, you'll complete an OAuth flow to connect your Kopi account. The MCP server handles tokens — no env vars, no manual setup. Requires a Kopi account ([sign up](https://www.trykopi.ai)). ## Plugin Components ### Skills Claude invokes these automatically based on what you ask, or you can invoke them explicitly via slash command. - **`/kopi-email-marketing:audit-brand <brand>`** — Run a full lifecycle email audit: performance health, campaigns, flows, and a prioritized 14-day action plan. Also triggers automatically when you ask to audit, analyze, review, or diagnose a brand's email program. - **`/kopi-email-marketing:surface-email-ideas <brand>`** — Find and rank email campaign ideas (core campaigns, flow updates, newsjacking, trending) and optionally draft the winner. Also triggers automatically when you ask what to send next. For drafting, editing, viewing, and job-status checks, Claude calls the MCP tools directly — no skill wrapper needed. ### MCP Server Connects to the Kopi remote MCP server at `https://www.trykopi.ai/mcp` over HTTP. 10 tools organized by domain: **Brand** - `list_brands` — Paginated list of accessible brands with email counts and roles. - `set_active_brand` — Switch the active brand. `mode: "set"` (default) resolves an existing brand by `brandId` or `query` (fuzzy match on name/domain). If no match, returns `status: "not_found"` with a prompt to retry. `mode: "create"` creates a new brand from a `url` (async, 1–3 min). - `get_context` — Returns the active brand plus a full briefing (performance, recent emails, ideas). Starting point for most questions. **Email** - `create_email` — Generate a new email from a natural-language prompt. Kopi plans, art-directs, and renders from brand settings. Returns a URL; generation takes 5–10 min async. - `edit_email` — Surgically edit an existing email in place (e.g., "shorten the intro"). Preserves colors, fonts, and structure. Returns the same URL updated; ~30–60 sec. - `view_email` — Inspect one email by URL or email ID. Returns subject, copy, generation strategy, design critique, and screenshot. - `check_status` — Check status of in-progress work (email generation, brand setup, async ops). **Analysis** - `get_email_performance` — Unified performance tool. `detail='summary'` returns program overview; `detail='campaigns'` or `detail='flows'` drills in with sorting and pagination. - `refresh_performance_data` — Recompute performance from Klaviyo (audience, campaigns, flows). Expensive — use only for fresh data or when data > 14 days old. **Ideas** - `get_email_ideas` — Read ideas (campaigns, flows, newsjacking, trending) with freshness metadata. `refresh=true` regenerates before returning. ## Example Usage **Draft an email from one line:** ``` Draft a welcome-series email for Armra that emphasizes the new flavor launch. ``` **Run a full audit (slash form):** ``` /kopi-email-marketing:audit-brand Dr. Squatch ``` **Run a full audit (natural language — same result):** ``` Audit Dr. Squatch's email program and tell me what to fix. ``` **Explore what to send next:** ``` What should we send this week for Nami Matcha? ``` **Diagnose a performance issue (triggers audit-brand):** ``` Why is our Klaviyo flow revenue down this month for Armra? ``` **Check async job status:** ``` What's the status of my in-flight Kopi jobs? ``` ## How Email Generation Works Kopi's `create_email` and `edit_email` tools are **asynchronous** — they return a URL immediately, but the email takes 5–10 minutes to render fully. Claude will tell you this every time; use `check_status` or `view_email` to check progress. ## Troubleshooting - **OAuth didn't open** — Ensure your Claude Code session has network access. First tool call opens the browser; subsequent sessions reuse the token. - **"Brand not found"** — Use `list_brands` to see what's accessible, then `set_active_brand` with a name or domain. Fuzzy matching works for partial names. - **Stale metrics** — If data is > 14 days old, run `refresh_performance_data` (1–3 min) or pass `refresh=true` to `get_email_ideas`. - **Plugin changes not loading** — Run `/reload-plugins` to pick up updates without restarting. ## Links - [Website](https://www.trykopi.ai) - [MCP Docs](https://www.trykopi.ai/mcp-docs) - [Support](mailto:support@trykopi.ai) ## License Apache-2.0. See [LICENSE](./LICENSE).