diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index e35a2f8..dcf195b 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "activecampaign", "displayName": "ActiveCampaign", - "version": "0.2.0", + "version": "0.3.0", "description": "Marketing automation, CRM, and email marketing powered by ActiveCampaign. Manage contacts, campaigns, automations, deals, and get AI-powered marketing insights — all from Claude.", "author": { "name": "ActiveCampaign", diff --git a/CHANGELOG.md b/CHANGELOG.md index 41c5288..40b3717 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,20 @@ All notable changes to the ActiveCampaign plugin are documented here. This project follows [Semantic Versioning](https://semver.org/). +## [0.3.0] — Agent Plugins standard adoption + +### Added +- **Portable `plugin.json` manifest** at the repo root, conforming to the open [Agent Plugins specification v1.0.0](https://agent-plugins.org/), so the plugin is recognizable by any compliant client — not just Claude. +- `license` and `compatibility` frontmatter on all six skills per the [Agent Skills specification](https://agentskills.io/), flagging the ActiveCampaign MCP server requirement for clients installing the skills standalone. +- README: compatibility matrix (portable vs. Claude Code-specific components) and setup instructions for Codex, Cursor, and other Agent Skills / MCP clients. + +### Changed +- README reframed from Claude-only to the cross-client Agent Plugins format. + +### Notes +- No portable `mcp.json` is shipped: the Agent Plugins v1 MCP format requires a fixed server URL, and ActiveCampaign MCP Server URLs are per-account. Claude Code continues to collect the URL via `userConfig`; other clients configure the MCP server directly (see README Setup). +- Claude Code behavior is unchanged — `.claude-plugin/plugin.json`, `.mcp.json`, commands, agents, and skills all work exactly as in 0.2.0. + ## [0.2.0] — launch preparation ### Added diff --git a/README.md b/README.md index 9d48d93..10189fa 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ -# ActiveCampaign Plugin for Claude +# ActiveCampaign Agent Plugin -Bring your ActiveCampaign marketing automation, CRM, and email marketing into Claude. This plugin adds ActiveCampaign domain expertise, guided workflows, intelligent reporting, and safe write operations on top of ActiveCampaign's MCP server, so Claude can analyze your account, plan your marketing, and make changes for you, all in plain conversation. +Bring your ActiveCampaign marketing automation, CRM, and email marketing into your AI agent. This plugin adds ActiveCampaign domain expertise, guided workflows, intelligent reporting, and safe write operations on top of ActiveCampaign's MCP server, so your agent can analyze your account, plan your marketing, and make changes for you, all in plain conversation. -**Works with both Claude Code and Claude Co-Work.** +**Packaged in the open [Agent Plugins](https://agent-plugins.org/) format.** The full experience runs in Claude Code and Claude Co-Work; the skills and MCP connection are portable to any client that supports [Agent Skills](https://agentskills.io/) and MCP — including Codex and Cursor. See [Compatibility](#compatibility). --- ## Table of Contents - [What's in the Plugin](#whats-in-the-plugin) +- [Compatibility](#compatibility) - [What the Plugin Can and Can't Do](#what-the-plugin-can-and-cant-do) - [Setup](#setup) - [How It Works](#how-it-works) @@ -55,6 +56,23 @@ Type these directly. They produce read-only reports. --- +## Compatibility + +This repository follows the [Agent Plugins specification v1.0.0](https://agent-plugins.org/) — an open, vendor-neutral format for packaging agent extensions. + +| Component | Portability | Notes | +|-----------|-------------|-------| +| `plugin.json` | Portable ([Agent Plugins](https://agent-plugins.org/) manifest) | Identifies the plugin for any compliant client | +| `skills/` | Portable ([Agent Skills](https://agentskills.io/)) | The six skills work in any skills-capable client — Claude, Codex, Cursor, and others | +| MCP connection | Per-client setup | Your MCP server URL is unique to your account, so each client configures it directly (see [Setup](#setup)) | +| `commands/` | Claude Code only | Slash commands aren't part of the portable standard yet | +| `agents/` | Claude Code only | Subagents aren't part of the portable standard yet | +| `.claude-plugin/`, `.mcp.json` | Claude Code only | Claude Code's native plugin manifest and MCP config | + +The plugin intentionally ships no portable `mcp.json`: the Agent Plugins v1 MCP format requires a fixed server URL, and your ActiveCampaign MCP Server URL is per-account. Claude Code collects the URL at install time; other clients add the server through their own MCP configuration. + +--- + ## What the Plugin Can and Can't Do ### Can read @@ -77,20 +95,53 @@ Every change follows a **read → preview → confirm → execute → verify** f ## Setup +Every setup path needs your **ActiveCampaign MCP Server URL**. Find it in your ActiveCampaign account under **Settings > Developer > MCP**. It looks like `https://yoursubdomain.activehosted.com/api/agents/mcp/http`. + +### Claude Code / Claude Co-Work + 1. **Install** the ActiveCampaign plugin. -2. **Enter your ActiveCampaign MCP Server URL** when prompted. Find it in your ActiveCampaign account under **Settings > Developer > MCP**. It looks like `https://yoursubdomain.activehosted.com/api/agents/mcp/http`. +2. **Enter your ActiveCampaign MCP Server URL** when prompted. 3. **Authorize** Claude to access your ActiveCampaign account (OAuth). 4. **Start using it** — ask a question, run a command, or ask Claude to set something up. +### Codex, Cursor, and other Agent Skills clients + +The portable pieces are the six skills and the MCP connection: + +1. **Install the skills.** Each folder under `skills/` is a self-contained [Agent Skill](https://agentskills.io/). Copy the folders into your client's skills directory (for example `~/.codex/skills/` for Codex — check your client's documentation for the exact location). +2. **Connect the MCP server** through your client's MCP configuration, using your account's URL. For example, in Cursor's `mcp.json`: + + ```json + { + "mcpServers": { + "activecampaign": { + "url": "https://yoursubdomain.activehosted.com/api/agents/mcp/http" + } + } + } + ``` + + Or in Codex's `~/.codex/config.toml`: + + ```toml + [mcp_servers.activecampaign] + url = "https://yoursubdomain.activehosted.com/api/agents/mcp/http" + ``` + + Syntax varies by client and version — see your client's MCP documentation. +3. **Authorize** access (OAuth) when your client first connects to the server. + +> The `/activecampaign:*` commands and the two agents are Claude Code features and won't appear in other clients; the skills carry the core expertise everywhere. + --- ## How It Works -The plugin connects Claude to ActiveCampaign through ActiveCampaign's MCP server. From there: +The plugin connects your agent to ActiveCampaign through ActiveCampaign's MCP server. From there: -- **Skills** add ActiveCampaign expertise so Claude uses the right data in the right order, with marketing best practices built in. -- **Commands** run pre-built reporting workflows. -- **Agents** handle multi-step tasks. +- **Skills** add ActiveCampaign expertise so the agent uses the right data in the right order, with marketing best practices built in. +- **Commands** run pre-built reporting workflows (Claude Code). +- **Agents** handle multi-step tasks (Claude Code). Reading your data is seamless. Anything that **changes** your account is always previewed for your confirmation first and gated by a permission prompt — so nothing is modified without your explicit go-ahead. diff --git a/plugin.json b/plugin.json new file mode 100644 index 0000000..13f577d --- /dev/null +++ b/plugin.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", + "name": "activecampaign", + "version": "0.3.0", + "description": "Marketing automation, CRM, and email marketing powered by ActiveCampaign. Manage contacts, campaigns, automations, deals, and get AI-powered marketing insights from your AI agent.", + "author": { + "name": "ActiveCampaign", + "email": "amurrey@activecampaign.com", + "url": "https://www.activecampaign.com" + }, + "homepage": "https://www.activecampaign.com", + "repository": "https://github.com/ActiveCampaign/activecampaign-plugin", + "license": "MIT", + "keywords": ["marketing", "automation", "crm", "email", "campaigns", "deals", "contacts"] +} diff --git a/skills/automation-builder/SKILL.md b/skills/automation-builder/SKILL.md index 3fb3071..093b4b9 100644 --- a/skills/automation-builder/SKILL.md +++ b/skills/automation-builder/SKILL.md @@ -1,6 +1,8 @@ --- name: automation-builder description: Design, troubleshoot, and optimize marketing automations. Use when the user wants to build workflows, set up triggers, create drip sequences, or debug why an automation isn't working. +license: MIT +compatibility: Requires a connection to your ActiveCampaign account's MCP server (ActiveCampaign > Settings > Developer > MCP). allowed-tools: Read, Grep, Glob, mcp__activecampaign__list_automations, mcp__activecampaign__list_contact_automations, mcp__activecampaign__get_contact_automation, mcp__activecampaign__list_contacts, mcp__activecampaign__list_tags, mcp__activecampaign__list_lists, mcp__activecampaign__list_contact_custom_fields, mcp__activecampaign__list_contact_field_values, mcp__activecampaign__list_campaigns --- diff --git a/skills/campaign-strategist/SKILL.md b/skills/campaign-strategist/SKILL.md index 79bb3f9..1321464 100644 --- a/skills/campaign-strategist/SKILL.md +++ b/skills/campaign-strategist/SKILL.md @@ -1,6 +1,8 @@ --- name: campaign-strategist description: Plan, create, optimize, and troubleshoot email campaigns. Use when the user wants to send a campaign, plan email content, choose audiences, or improve campaign performance. +license: MIT +compatibility: Requires a connection to your ActiveCampaign account's MCP server (ActiveCampaign > Settings > Developer > MCP). allowed-tools: Read, Grep, Glob, mcp__activecampaign__list_campaigns, mcp__activecampaign__get_campaign, mcp__activecampaign__get_campaign_links, mcp__activecampaign__list_contacts, mcp__activecampaign__get_contact, mcp__activecampaign__list_lists, mcp__activecampaign__list_tags, mcp__activecampaign__list_contact_custom_fields, mcp__activecampaign__list_contact_field_values, mcp__activecampaign__list_email_activities, mcp__activecampaign__list_automations, mcp__activecampaign__list_contact_automations --- diff --git a/skills/contact-operations/SKILL.md b/skills/contact-operations/SKILL.md index 6587fb3..d9ca668 100644 --- a/skills/contact-operations/SKILL.md +++ b/skills/contact-operations/SKILL.md @@ -1,6 +1,8 @@ --- name: contact-operations description: Manage contacts, lists, tags, segments, and custom fields. Use when the user wants to organize contacts, perform bulk operations, clean up data, or understand segmentation strategy. +license: MIT +compatibility: Requires a connection to your ActiveCampaign account's MCP server (ActiveCampaign > Settings > Developer > MCP). allowed-tools: Read, Grep, Glob, mcp__activecampaign__list_contacts, mcp__activecampaign__get_contact, mcp__activecampaign__get_contact_tags, mcp__activecampaign__get_contact_list_memberships, mcp__activecampaign__list_tags, mcp__activecampaign__get_tag, mcp__activecampaign__list_lists, mcp__activecampaign__get_list, mcp__activecampaign__list_contact_custom_fields, mcp__activecampaign__get_contact_custom_field, mcp__activecampaign__list_contact_field_values, mcp__activecampaign__get_contact_field_value, mcp__activecampaign__list_groups, mcp__activecampaign__list_automations --- diff --git a/skills/deals-crm/SKILL.md b/skills/deals-crm/SKILL.md index c968c55..47b9afc 100644 --- a/skills/deals-crm/SKILL.md +++ b/skills/deals-crm/SKILL.md @@ -1,6 +1,8 @@ --- name: deals-crm description: Manage the sales CRM in ActiveCampaign — deals, pipelines, stages, deal notes, owner assignment, and custom objects. Use when the user wants to create or update deals, build or reorganize a pipeline, move deals between stages, reassign deal owners, add notes, or model custom data with custom objects. +license: MIT +compatibility: Requires a connection to your ActiveCampaign account's MCP server (ActiveCampaign > Settings > Developer > MCP). allowed-tools: Read, Grep, Glob, mcp__activecampaign__list_deals, mcp__activecampaign__get_deal, mcp__activecampaign__list_deal_activities, mcp__activecampaign__list_deal_pipelines, mcp__activecampaign__get_deal_pipeline, mcp__activecampaign__list_deal_stages, mcp__activecampaign__get_deal_stage, mcp__activecampaign__list_custom_object_schemas, mcp__activecampaign__list_contacts, mcp__activecampaign__get_contact, mcp__activecampaign__list_groups --- diff --git a/skills/deliverability-advisor/SKILL.md b/skills/deliverability-advisor/SKILL.md index f406f08..a31a82e 100644 --- a/skills/deliverability-advisor/SKILL.md +++ b/skills/deliverability-advisor/SKILL.md @@ -1,6 +1,8 @@ --- name: deliverability-advisor description: Diagnose and fix email deliverability issues. Use when the user mentions emails going to spam, high bounce rates, domain authentication (SPF/DKIM/DMARC), or sender reputation problems. +license: MIT +compatibility: Requires a connection to your ActiveCampaign account's MCP server (ActiveCampaign > Settings > Developer > MCP). allowed-tools: Read, Grep, Glob, mcp__activecampaign__list_campaigns, mcp__activecampaign__get_campaign, mcp__activecampaign__list_email_activities, mcp__activecampaign__list_contacts, mcp__activecampaign__get_contact, mcp__activecampaign__list_lists, mcp__activecampaign__list_tags --- diff --git a/skills/reporting-analyst/SKILL.md b/skills/reporting-analyst/SKILL.md index 53b8f92..1978025 100644 --- a/skills/reporting-analyst/SKILL.md +++ b/skills/reporting-analyst/SKILL.md @@ -1,6 +1,8 @@ --- name: reporting-analyst description: Analyze campaign performance, automation results, email metrics, and engagement trends. Use when the user asks about how campaigns performed, wants reports, or asks about marketing analytics. +license: MIT +compatibility: Requires a connection to your ActiveCampaign account's MCP server (ActiveCampaign > Settings > Developer > MCP). allowed-tools: Read, Grep, Glob, mcp__activecampaign__list_campaigns, mcp__activecampaign__get_campaign, mcp__activecampaign__get_campaign_links, mcp__activecampaign__list_email_activities, mcp__activecampaign__list_contacts, mcp__activecampaign__list_automations, mcp__activecampaign__list_contact_automations, mcp__activecampaign__get_contact_automation, mcp__activecampaign__list_deals, mcp__activecampaign__get_deal, mcp__activecampaign__list_deal_activities, mcp__activecampaign__list_deal_pipelines, mcp__activecampaign__list_deal_stages ---