[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SQ01CS5AGSZCPEWRM8MZ3":3,"skill-same:01M71SQ01CS5AGSZCPEWRM8MZ3":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":36,"publishedAt":57,"linkOnly":58,"markdownContent":59,"markdownBody":60,"frontMatter":61,"refName":65,"commitSha":66,"skillDirectory":67,"forksCount":13,"repositoryHtmlUrl":68,"repositoryHomepageUrl":6,"ownerHtmlUrl":69,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":70,"install":71,"resources":84},"01M71SQ01CS5AGSZCPEWRM8MZ3","mailchimp-automation",null,"Automate Mailchimp email marketing including campaigns, audiences, subscribers, segments, and analytics via Rube MCP (Composio). Always search tools first for current schemas.","javiertarazon\u002Fide-agente-free-jt7-","javiertarazon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F153141207?v=4","01M71R52TB3S9HXKH6WSNT8A7V","01M71R52VG5KS2DKDDH4GDQ30A",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fmailchimp-automation\u002FSKILL.md",[17,22,25,28,33],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":29,"categoryName":30,"taxonomyType":31,"taxonomyTypeDesc":32},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",{"categoryNo":34,"categoryName":35,"taxonomyType":31,"taxonomyTypeDesc":32},"01JBSEEDCAT000000000000035","市场营销",[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56],"automation","mailchimp automation","mailchimp","via","first","schemas","for","email","campaigns","automate","Tools","Email Marketing","composio","analytics","marketing","segments","unknown","MCP","search","community","2026-11-10 13:02:02",false,"---\nname: mailchimp-automation\ndescription: \"Automate Mailchimp email marketing including campaigns, audiences, subscribers, segments, and analytics via Rube MCP (Composio). Always search tools first for current schemas.\"\nrequires:\n  mcp: [rube]\nrisk: unknown\nsource: community\n---\n\n# Mailchimp Automation via Rube MCP\n\nAutomate Mailchimp email marketing workflows including campaign creation and sending, audience\u002Flist management, subscriber operations, segmentation, and performance analytics through Composio's Mailchimp toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Mailchimp connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `mailchimp`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `mailchimp`\n3. If connection is not ACTIVE, follow the returned auth link to complete Mailchimp OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Send Email Campaigns\n\n**When to use**: User wants to create, configure, test, and send an email campaign.\n\n**Tool sequence**:\n1. `MAILCHIMP_GET_LISTS_INFO` - List available audiences and get list_id [Prerequisite]\n2. `MAILCHIMP_ADD_CAMPAIGN` - Create a new campaign with type, audience, subject, from name [Required]\n3. `MAILCHIMP_SET_CAMPAIGN_CONTENT` - Set HTML content for the campaign [Required]\n4. `MAILCHIMP_SEND_TEST_EMAIL` - Send preview to reviewers before live send [Optional]\n5. `MAILCHIMP_SEND_CAMPAIGN` - Send the campaign immediately [Required]\n6. `MAILCHIMP_SCHEDULE_CAMPAIGN` - Schedule for future delivery instead of immediate send [Optional]\n\n**Key parameters for MAILCHIMP_ADD_CAMPAIGN**:\n- `type`: \"regular\", \"plaintext\", \"rss\", or \"variate\" (required)\n- `recipients__list__id`: Audience\u002Flist ID for recipients\n- `settings__subject__line`: Email subject line\n- `settings__from__name`: Sender display name\n- `settings__reply__to`: Reply-to email address (required for sending)\n- `settings__title`: Internal campaign title\n- `settings__preview__text`: Preview text shown in inbox\n\n**Key parameters for MAILCHIMP_SET_CAMPAIGN_CONTENT**:\n- `campaign_id`: Campaign ID from creation step (required)\n- `html`: Raw HTML content for the email\n- `plain_text`: Plain-text version (auto-generated if omitted)\n- `template__id`: Use a pre-built template instead of raw HTML\n\n**Pitfalls**:\n- `MAILCHIMP_SEND_CAMPAIGN` is irreversible; always send a test email first and get explicit user approval\n- Campaign must be in \"save\" (draft) status with valid audience, subject, from name, verified email, and content before sending\n- `MAILCHIMP_SCHEDULE_CAMPAIGN` requires a valid future datetime; past timestamps fail\n- Templates and HTML content must include compliant footer\u002Funsubscribe merge tags\n- Mailchimp uses double-underscore notation for nested params (e.g., `settings__subject__line`)\n\n### 2. Manage Audiences and Subscribers\n\n**When to use**: User wants to view audiences, list subscribers, or check subscriber details.\n\n**Tool sequence**:\n1. `MAILCHIMP_GET_LISTS_INFO` - List all audiences with member counts [Required]\n2. `MAILCHIMP_GET_LIST_INFO` - Get details for a specific audience [Optional]\n3. `MAILCHIMP_LIST_MEMBERS_INFO` - List members with status filter and pagination [Required]\n4. `MAILCHIMP_SEARCH_MEMBERS` - Search by email or name across lists [Optional]\n5. `MAILCHIMP_GET_MEMBER_INFO` - Get detailed profile for a specific subscriber [Optional]\n6. `MAILCHIMP_LIST_SEGMENTS` - List segments within an audience [Optional]\n\n**Key parameters for MAILCHIMP_LIST_MEMBERS_INFO**:\n- `list_id`: Audience ID (required)\n- `status`: \"subscribed\", \"unsubscribed\", \"cleaned\", \"pending\", \"transactional\", \"archived\"\n- `count`: Records per page (default 10, max 1000)\n- `offset`: Pagination offset (default 0)\n- `sort_field`: \"timestamp_opt\", \"timestamp_signup\", or \"last_changed\"\n- `fields`: Comma-separated list to limit response size\n\n**Pitfalls**:\n- `stats.avg_open_rate` and `stats.avg_click_rate` are 0-1 fractions, NOT 0-100 percentages\n- Always use `status=\"subscribed\"` to filter active subscribers; omitting returns all statuses\n- Must paginate using `count` and `offset` until collected members match `total_items`\n- Large list responses may be truncated; data is under `response.data.members`\n\n### 3. Add and Update Subscribers\n\n**When to use**: User wants to add new subscribers, update existing ones, or bulk-manage list membership.\n\n**Tool sequence**:\n1. `MAILCHIMP_GET_LIST_INFO` - Validate target audience exists [Prerequisite]\n2. `MAILCHIMP_SEARCH_MEMBERS` - Check if contact already exists [Optional]\n3. `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` - Upsert subscriber (create or update) [Required]\n4. `MAILCHIMP_ADD_MEMBER_TO_LIST` - Add new subscriber (create only) [Optional]\n5. `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` - Bulk manage segment membership [Optional]\n\n**Key parameters for MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER**:\n- `list_id`: Audience ID (required)\n- `subscriber_hash`: MD5 hash of lowercase email (required)\n- `email_address`: Subscriber email (required)\n- `status_if_new`: Status for new subscribers: \"subscribed\", \"pending\", etc. (required)\n- `status`: Status for existing subscribers\n- `merge_fields`: Object with merge tag keys (e.g., `{\"FNAME\": \"John\", \"LNAME\": \"Doe\"}`)\n- `tags`: Array of tag strings\n\n**Key parameters for MAILCHIMP_ADD_MEMBER_TO_LIST**:\n- `list_id`: Audience ID (required)\n- `email_address`: Subscriber email (required)\n- `status`: \"subscribed\", \"pending\", \"unsubscribed\", \"cleaned\", \"transactional\" (required)\n\n**Pitfalls**:\n- `subscriber_hash` must be MD5 of the **lowercase** email; incorrect casing causes 404s or duplicates\n- Use `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` (upsert) instead of `MAILCHIMP_ADD_MEMBER_TO_LIST` to avoid duplicate errors\n- `status_if_new` determines status only for new contacts; existing contacts use `status`\n- Use `skip_merge_validation: true` to bypass required merge field validation\n- `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` manages static segment membership, not list membership\n\n### 4. View Campaign Reports and Analytics\n\n**When to use**: User wants to review campaign performance, open rates, click rates, or subscriber engagement.\n\n**Tool sequence**:\n1. `MAILCHIMP_LIST_CAMPAIGNS` - List sent campaigns with report summaries [Required]\n2. `MAILCHIMP_SEARCH_CAMPAIGNS` - Find campaigns by name, subject, or content [Optional]\n3. `MAILCHIMP_GET_CAMPAIGN_REPORT` - Get detailed performance report for a campaign [Required]\n4. `MAILCHIMP_LIST_CAMPAIGN_REPORTS` - Bulk fetch reports across multiple campaigns [Optional]\n5. `MAILCHIMP_LIST_CAMPAIGN_DETAILS` - Get link-level click statistics [Optional]\n6. `MAILCHIMP_GET_CAMPAIGN_LINK_DETAILS` - Drill into specific link click data [Optional]\n7. `MAILCHIMP_LIST_CLICKED_LINK_SUBSCRIBERS` - See who clicked a specific link [Optional]\n8. `MAILCHIMP_GET_SUBSCRIBER_EMAIL_ACTIVITY` - Get per-subscriber campaign activity [Optional]\n9. `MAILCHIMP_GET_CAMPAIGN_CONTENT` - Retrieve campaign HTML content [Optional]\n\n**Key parameters for MAILCHIMP_LIST_CAMPAIGNS**:\n- `status`: \"save\", \"paused\", \"schedule\", \"sending\", \"sent\"\n- `count` \u002F `offset`: Pagination (default 10, max 1000)\n- `since_send_time` \u002F `before_send_time`: ISO 8601 date range filter\n- `sort_field`: \"create_time\" or \"send_time\"\n- `fields`: Limit response fields for performance\n\n**Key parameters for MAILCHIMP_GET_CAMPAIGN_REPORT**:\n- `campaign_id`: Campaign ID (required)\n- Returns: opens, clicks, bounces, unsubscribes, timeseries, industry_stats\n\n**Pitfalls**:\n- `MAILCHIMP_LIST_CAMPAIGNS` only returns high-level `report_summary`; use `MAILCHIMP_GET_CAMPAIGN_REPORT` for detailed metrics\n- Draft\u002Funsent campaigns lack meaningful report data\n- When using `fields` parameter on LIST_CAMPAIGNS, explicitly request `send_time` and `report_summary` subfields\n- Pagination defaults are low (10 records); iterate with `count` and `offset` until `total_items` is covered\n- `send_time` is ISO 8601 with timezone; parse carefully\n\n## Common Patterns\n\n### ID Resolution\nAlways resolve names to IDs before operations:\n- **Audience name -> list_id**: `MAILCHIMP_GET_LISTS_INFO` and match by name\n- **Subscriber email -> subscriber_hash**: Compute MD5 of lowercase email in code\n- **Campaign name -> campaign_id**: `MAILCHIMP_SEARCH_CAMPAIGNS` with query\n- **Segment name -> segment_id**: `MAILCHIMP_LIST_SEGMENTS` with list_id\n\n### Pagination\nMailchimp uses offset-based pagination:\n- Use `count` (page size, max 1000) and `offset` (skip N records)\n- Continue until collected records match `total_items` from the response\n- Default `count` is 10; always set explicitly for bulk operations\n- Search endpoints max at 10 pages (300 results for 30\u002Fpage)\n\n### Subscriber Hash\nMany endpoints require `subscriber_hash` (MD5 of lowercase email):\n```\nimport hashlib\nsubscriber_hash = hashlib.md5(email.lower().encode()).hexdigest()\n```\n\n## Known Pitfalls\n\n### ID Formats\n- `list_id` (audience ID) is a short alphanumeric string (e.g., \"abc123def4\")\n- `campaign_id` is an alphanumeric string\n- `subscriber_hash` is an MD5 hex string (32 characters)\n- Segment IDs are integers\n\n### Rate Limits\n- Mailchimp enforces API rate limits; use batching for bulk subscriber operations\n- High-volume use of GET_MEMBER_INFO and ADD_OR_UPDATE_LIST_MEMBER can trigger throttling\n- Use `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` for bulk segment operations\n\n### Parameter Quirks\n- Nested parameters use double-underscore notation: `settings__subject__line`, `recipients__list__id`\n- `avg_open_rate` and `avg_click_rate` are 0-1 fractions, not percentages\n- `status_if_new` only applies to new contacts in upsert operations\n- `subscriber_hash` must be MD5 of lowercase email; wrong casing creates phantom records\n- Campaign `type` is required for creation; most common is \"regular\"\n- `MAILCHIMP_SEND_CAMPAIGN` returns HTTP 204 on success (no body)\n\n### Content and Compliance\n- Campaign HTML must include unsubscribe link and physical address (merge tags)\n- Content must be set via `MAILCHIMP_SET_CAMPAIGN_CONTENT` before sending\n- Test emails require campaign to have content already set\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List audiences | `MAILCHIMP_GET_LISTS_INFO` | `count`, `offset` |\n| Get audience details | `MAILCHIMP_GET_LIST_INFO` | `list_id` |\n| Create campaign | `MAILCHIMP_ADD_CAMPAIGN` | `type`, `recipients__list__id`, `settings__subject__line` |\n| Set campaign content | `MAILCHIMP_SET_CAMPAIGN_CONTENT` | `campaign_id`, `html` |\n| Send test email | `MAILCHIMP_SEND_TEST_EMAIL` | `campaign_id`, `test_emails` |\n| Send campaign | `MAILCHIMP_SEND_CAMPAIGN` | `campaign_id` |\n| Schedule campaign | `MAILCHIMP_SCHEDULE_CAMPAIGN` | `campaign_id`, `schedule_time` |\n| Get campaign info | `MAILCHIMP_GET_CAMPAIGN_INFO` | `campaign_id` |\n| Search campaigns | `MAILCHIMP_SEARCH_CAMPAIGNS` | `query` |\n| List campaigns | `MAILCHIMP_LIST_CAMPAIGNS` | `status`, `count`, `offset` |\n| Replicate campaign | `MAILCHIMP_REPLICATE_CAMPAIGN` | `campaign_id` |\n| List subscribers | `MAILCHIMP_LIST_MEMBERS_INFO` | `list_id`, `status`, `count`, `offset` |\n| Search members | `MAILCHIMP_SEARCH_MEMBERS` | `query`, `list_id` |\n| Get member info | `MAILCHIMP_GET_MEMBER_INFO` | `list_id`, `subscriber_hash` |\n| Add subscriber | `MAILCHIMP_ADD_MEMBER_TO_LIST` | `list_id`, `email_address`, `status` |\n| Upsert subscriber | `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` | `list_id`, `subscriber_hash`, `email_address`, `status_if_new` |\n| Batch members | `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` | `list_id`, `segment_id` |\n| List segments | `MAILCHIMP_LIST_SEGMENTS` | `list_id` |\n| Campaign report | `MAILCHIMP_GET_CAMPAIGN_REPORT` | `campaign_id` |\n| All reports | `MAILCHIMP_LIST_CAMPAIGN_REPORTS` | `count`, `offset` |\n| Link click details | `MAILCHIMP_LIST_CAMPAIGN_DETAILS` | `campaign_id`, `count` |\n| Subscriber activity | `MAILCHIMP_GET_SUBSCRIBER_EMAIL_ACTIVITY` | `campaign_id`, `subscriber_hash` |\n| Member recent activity | `MAILCHIMP_VIEW_RECENT_ACTIVITY` | `list_id`, `subscriber_hash` |\n| Campaign content | `MAILCHIMP_GET_CAMPAIGN_CONTENT` | `campaign_id` |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Mailchimp Automation via Rube MCP\n\nAutomate Mailchimp email marketing workflows including campaign creation and sending, audience\u002Flist management, subscriber operations, segmentation, and performance analytics through Composio's Mailchimp toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Mailchimp connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `mailchimp`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `mailchimp`\n3. If connection is not ACTIVE, follow the returned auth link to complete Mailchimp OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Send Email Campaigns\n\n**When to use**: User wants to create, configure, test, and send an email campaign.\n\n**Tool sequence**:\n1. `MAILCHIMP_GET_LISTS_INFO` - List available audiences and get list_id [Prerequisite]\n2. `MAILCHIMP_ADD_CAMPAIGN` - Create a new campaign with type, audience, subject, from name [Required]\n3. `MAILCHIMP_SET_CAMPAIGN_CONTENT` - Set HTML content for the campaign [Required]\n4. `MAILCHIMP_SEND_TEST_EMAIL` - Send preview to reviewers before live send [Optional]\n5. `MAILCHIMP_SEND_CAMPAIGN` - Send the campaign immediately [Required]\n6. `MAILCHIMP_SCHEDULE_CAMPAIGN` - Schedule for future delivery instead of immediate send [Optional]\n\n**Key parameters for MAILCHIMP_ADD_CAMPAIGN**:\n- `type`: \"regular\", \"plaintext\", \"rss\", or \"variate\" (required)\n- `recipients__list__id`: Audience\u002Flist ID for recipients\n- `settings__subject__line`: Email subject line\n- `settings__from__name`: Sender display name\n- `settings__reply__to`: Reply-to email address (required for sending)\n- `settings__title`: Internal campaign title\n- `settings__preview__text`: Preview text shown in inbox\n\n**Key parameters for MAILCHIMP_SET_CAMPAIGN_CONTENT**:\n- `campaign_id`: Campaign ID from creation step (required)\n- `html`: Raw HTML content for the email\n- `plain_text`: Plain-text version (auto-generated if omitted)\n- `template__id`: Use a pre-built template instead of raw HTML\n\n**Pitfalls**:\n- `MAILCHIMP_SEND_CAMPAIGN` is irreversible; always send a test email first and get explicit user approval\n- Campaign must be in \"save\" (draft) status with valid audience, subject, from name, verified email, and content before sending\n- `MAILCHIMP_SCHEDULE_CAMPAIGN` requires a valid future datetime; past timestamps fail\n- Templates and HTML content must include compliant footer\u002Funsubscribe merge tags\n- Mailchimp uses double-underscore notation for nested params (e.g., `settings__subject__line`)\n\n### 2. Manage Audiences and Subscribers\n\n**When to use**: User wants to view audiences, list subscribers, or check subscriber details.\n\n**Tool sequence**:\n1. `MAILCHIMP_GET_LISTS_INFO` - List all audiences with member counts [Required]\n2. `MAILCHIMP_GET_LIST_INFO` - Get details for a specific audience [Optional]\n3. `MAILCHIMP_LIST_MEMBERS_INFO` - List members with status filter and pagination [Required]\n4. `MAILCHIMP_SEARCH_MEMBERS` - Search by email or name across lists [Optional]\n5. `MAILCHIMP_GET_MEMBER_INFO` - Get detailed profile for a specific subscriber [Optional]\n6. `MAILCHIMP_LIST_SEGMENTS` - List segments within an audience [Optional]\n\n**Key parameters for MAILCHIMP_LIST_MEMBERS_INFO**:\n- `list_id`: Audience ID (required)\n- `status`: \"subscribed\", \"unsubscribed\", \"cleaned\", \"pending\", \"transactional\", \"archived\"\n- `count`: Records per page (default 10, max 1000)\n- `offset`: Pagination offset (default 0)\n- `sort_field`: \"timestamp_opt\", \"timestamp_signup\", or \"last_changed\"\n- `fields`: Comma-separated list to limit response size\n\n**Pitfalls**:\n- `stats.avg_open_rate` and `stats.avg_click_rate` are 0-1 fractions, NOT 0-100 percentages\n- Always use `status=\"subscribed\"` to filter active subscribers; omitting returns all statuses\n- Must paginate using `count` and `offset` until collected members match `total_items`\n- Large list responses may be truncated; data is under `response.data.members`\n\n### 3. Add and Update Subscribers\n\n**When to use**: User wants to add new subscribers, update existing ones, or bulk-manage list membership.\n\n**Tool sequence**:\n1. `MAILCHIMP_GET_LIST_INFO` - Validate target audience exists [Prerequisite]\n2. `MAILCHIMP_SEARCH_MEMBERS` - Check if contact already exists [Optional]\n3. `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` - Upsert subscriber (create or update) [Required]\n4. `MAILCHIMP_ADD_MEMBER_TO_LIST` - Add new subscriber (create only) [Optional]\n5. `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` - Bulk manage segment membership [Optional]\n\n**Key parameters for MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER**:\n- `list_id`: Audience ID (required)\n- `subscriber_hash`: MD5 hash of lowercase email (required)\n- `email_address`: Subscriber email (required)\n- `status_if_new`: Status for new subscribers: \"subscribed\", \"pending\", etc. (required)\n- `status`: Status for existing subscribers\n- `merge_fields`: Object with merge tag keys (e.g., `{\"FNAME\": \"John\", \"LNAME\": \"Doe\"}`)\n- `tags`: Array of tag strings\n\n**Key parameters for MAILCHIMP_ADD_MEMBER_TO_LIST**:\n- `list_id`: Audience ID (required)\n- `email_address`: Subscriber email (required)\n- `status`: \"subscribed\", \"pending\", \"unsubscribed\", \"cleaned\", \"transactional\" (required)\n\n**Pitfalls**:\n- `subscriber_hash` must be MD5 of the **lowercase** email; incorrect casing causes 404s or duplicates\n- Use `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` (upsert) instead of `MAILCHIMP_ADD_MEMBER_TO_LIST` to avoid duplicate errors\n- `status_if_new` determines status only for new contacts; existing contacts use `status`\n- Use `skip_merge_validation: true` to bypass required merge field validation\n- `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` manages static segment membership, not list membership\n\n### 4. View Campaign Reports and Analytics\n\n**When to use**: User wants to review campaign performance, open rates, click rates, or subscriber engagement.\n\n**Tool sequence**:\n1. `MAILCHIMP_LIST_CAMPAIGNS` - List sent campaigns with report summaries [Required]\n2. `MAILCHIMP_SEARCH_CAMPAIGNS` - Find campaigns by name, subject, or content [Optional]\n3. `MAILCHIMP_GET_CAMPAIGN_REPORT` - Get detailed performance report for a campaign [Required]\n4. `MAILCHIMP_LIST_CAMPAIGN_REPORTS` - Bulk fetch reports across multiple campaigns [Optional]\n5. `MAILCHIMP_LIST_CAMPAIGN_DETAILS` - Get link-level click statistics [Optional]\n6. `MAILCHIMP_GET_CAMPAIGN_LINK_DETAILS` - Drill into specific link click data [Optional]\n7. `MAILCHIMP_LIST_CLICKED_LINK_SUBSCRIBERS` - See who clicked a specific link [Optional]\n8. `MAILCHIMP_GET_SUBSCRIBER_EMAIL_ACTIVITY` - Get per-subscriber campaign activity [Optional]\n9. `MAILCHIMP_GET_CAMPAIGN_CONTENT` - Retrieve campaign HTML content [Optional]\n\n**Key parameters for MAILCHIMP_LIST_CAMPAIGNS**:\n- `status`: \"save\", \"paused\", \"schedule\", \"sending\", \"sent\"\n- `count` \u002F `offset`: Pagination (default 10, max 1000)\n- `since_send_time` \u002F `before_send_time`: ISO 8601 date range filter\n- `sort_field`: \"create_time\" or \"send_time\"\n- `fields`: Limit response fields for performance\n\n**Key parameters for MAILCHIMP_GET_CAMPAIGN_REPORT**:\n- `campaign_id`: Campaign ID (required)\n- Returns: opens, clicks, bounces, unsubscribes, timeseries, industry_stats\n\n**Pitfalls**:\n- `MAILCHIMP_LIST_CAMPAIGNS` only returns high-level `report_summary`; use `MAILCHIMP_GET_CAMPAIGN_REPORT` for detailed metrics\n- Draft\u002Funsent campaigns lack meaningful report data\n- When using `fields` parameter on LIST_CAMPAIGNS, explicitly request `send_time` and `report_summary` subfields\n- Pagination defaults are low (10 records); iterate with `count` and `offset` until `total_items` is covered\n- `send_time` is ISO 8601 with timezone; parse carefully\n\n## Common Patterns\n\n### ID Resolution\nAlways resolve names to IDs before operations:\n- **Audience name -> list_id**: `MAILCHIMP_GET_LISTS_INFO` and match by name\n- **Subscriber email -> subscriber_hash**: Compute MD5 of lowercase email in code\n- **Campaign name -> campaign_id**: `MAILCHIMP_SEARCH_CAMPAIGNS` with query\n- **Segment name -> segment_id**: `MAILCHIMP_LIST_SEGMENTS` with list_id\n\n### Pagination\nMailchimp uses offset-based pagination:\n- Use `count` (page size, max 1000) and `offset` (skip N records)\n- Continue until collected records match `total_items` from the response\n- Default `count` is 10; always set explicitly for bulk operations\n- Search endpoints max at 10 pages (300 results for 30\u002Fpage)\n\n### Subscriber Hash\nMany endpoints require `subscriber_hash` (MD5 of lowercase email):\n```\nimport hashlib\nsubscriber_hash = hashlib.md5(email.lower().encode()).hexdigest()\n```\n\n## Known Pitfalls\n\n### ID Formats\n- `list_id` (audience ID) is a short alphanumeric string (e.g., \"abc123def4\")\n- `campaign_id` is an alphanumeric string\n- `subscriber_hash` is an MD5 hex string (32 characters)\n- Segment IDs are integers\n\n### Rate Limits\n- Mailchimp enforces API rate limits; use batching for bulk subscriber operations\n- High-volume use of GET_MEMBER_INFO and ADD_OR_UPDATE_LIST_MEMBER can trigger throttling\n- Use `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` for bulk segment operations\n\n### Parameter Quirks\n- Nested parameters use double-underscore notation: `settings__subject__line`, `recipients__list__id`\n- `avg_open_rate` and `avg_click_rate` are 0-1 fractions, not percentages\n- `status_if_new` only applies to new contacts in upsert operations\n- `subscriber_hash` must be MD5 of lowercase email; wrong casing creates phantom records\n- Campaign `type` is required for creation; most common is \"regular\"\n- `MAILCHIMP_SEND_CAMPAIGN` returns HTTP 204 on success (no body)\n\n### Content and Compliance\n- Campaign HTML must include unsubscribe link and physical address (merge tags)\n- Content must be set via `MAILCHIMP_SET_CAMPAIGN_CONTENT` before sending\n- Test emails require campaign to have content already set\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List audiences | `MAILCHIMP_GET_LISTS_INFO` | `count`, `offset` |\n| Get audience details | `MAILCHIMP_GET_LIST_INFO` | `list_id` |\n| Create campaign | `MAILCHIMP_ADD_CAMPAIGN` | `type`, `recipients__list__id`, `settings__subject__line` |\n| Set campaign content | `MAILCHIMP_SET_CAMPAIGN_CONTENT` | `campaign_id`, `html` |\n| Send test email | `MAILCHIMP_SEND_TEST_EMAIL` | `campaign_id`, `test_emails` |\n| Send campaign | `MAILCHIMP_SEND_CAMPAIGN` | `campaign_id` |\n| Schedule campaign | `MAILCHIMP_SCHEDULE_CAMPAIGN` | `campaign_id`, `schedule_time` |\n| Get campaign info | `MAILCHIMP_GET_CAMPAIGN_INFO` | `campaign_id` |\n| Search campaigns | `MAILCHIMP_SEARCH_CAMPAIGNS` | `query` |\n| List campaigns | `MAILCHIMP_LIST_CAMPAIGNS` | `status`, `count`, `offset` |\n| Replicate campaign | `MAILCHIMP_REPLICATE_CAMPAIGN` | `campaign_id` |\n| List subscribers | `MAILCHIMP_LIST_MEMBERS_INFO` | `list_id`, `status`, `count`, `offset` |\n| Search members | `MAILCHIMP_SEARCH_MEMBERS` | `query`, `list_id` |\n| Get member info | `MAILCHIMP_GET_MEMBER_INFO` | `list_id`, `subscriber_hash` |\n| Add subscriber | `MAILCHIMP_ADD_MEMBER_TO_LIST` | `list_id`, `email_address`, `status` |\n| Upsert subscriber | `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` | `list_id`, `subscriber_hash`, `email_address`, `status_if_new` |\n| Batch members | `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` | `list_id`, `segment_id` |\n| List segments | `MAILCHIMP_LIST_SEGMENTS` | `list_id` |\n| Campaign report | `MAILCHIMP_GET_CAMPAIGN_REPORT` | `campaign_id` |\n| All reports | `MAILCHIMP_LIST_CAMPAIGN_REPORTS` | `count`, `offset` |\n| Link click details | `MAILCHIMP_LIST_CAMPAIGN_DETAILS` | `campaign_id`, `count` |\n| Subscriber activity | `MAILCHIMP_GET_SUBSCRIBER_EMAIL_ACTIVITY` | `campaign_id`, `subscriber_hash` |\n| Member recent activity | `MAILCHIMP_VIEW_RECENT_ACTIVITY` | `list_id`, `subscriber_hash` |\n| Campaign content | `MAILCHIMP_GET_CAMPAIGN_CONTENT` | `campaign_id` |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":53,"source":56,"requires":62,"description":7},{"mcp":63},[64],"rube","release\u002Fv4.2.11-panel-pro","a92ea02bcf7e2b3dbaf46d49696c29a3cb490d4f",".github\u002Fskills\u002Fmailchimp-automation","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-","https:\u002F\u002Fgithub.com\u002Fjaviertarazon","2026-07-12 07:10:45",{"source":8,"skillName":5,"commands":72,"prompt":82,"zipAvailable":83},[73,76,79],{"tool":74,"command":75},"npx","npx skills add javiertarazon\u002Fide-agente-free-jt7- --skill mailchimp-automation",{"tool":77,"command":78},"bunx","bunx skills add javiertarazon\u002Fide-agente-free-jt7- --skill mailchimp-automation",{"tool":80,"command":81},"pnpm","pnpm dlx skills add javiertarazon\u002Fide-agente-free-jt7- --skill mailchimp-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fmailchimp-automation\u002FSKILL.md",true,[],[86,114,130,150,164,186],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":57},"01M71TQ7Q6Z10VWF3C2H5X1KW9","zustand-store-ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reacti...","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzustand-store-ts\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[96,97,98,56,99,100,101,102,103,53,104,105,106,107,108,109,110,111,112,113],"zustand","store","zustand store ts","middleware","implementing","use","react state management","when","react","with","state","create","state management","typescript","action","management","separation","global",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":57},"01M71TQ5EAR40G6W0MV5ZDVEZT","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzoom-automation\u002FSKILL.md",[120],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[122,123,37,56,124,43,55,42,54,53,41,40,125,126,127,128,49,129,111,47],"zoom automation","zoom","creation","meeting","search tools","tracking","webinars","recordings",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":57},"01M71TQ29B1EYBCEAP1ZBGXQ1A","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzoho-crm-automation\u002FSKILL.md",[136],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[138,139,37,140,141,142,56,143,144,43,145,55,42,146,54,53,147,148,149,107],"crm automation","zoho crm automation","crm","zoho crm","zoho","leads","manage leads","manage","records","convert","tasks","contacts",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":57},"01M71TPZPMN60DH0XV58KVHY23","zendesk-automation","Automate Zendesk tasks via Rube MCP (Composio): tickets, users, organizations, replies. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzendesk-automation\u002FSKILL.md",[156],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[158,37,159,56,43,55,42,54,160,53,148,161,162,41,40,163,126,49,47,46],"zendesk automation","zendesk","organizations","replies","users","tickets",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":57},"01M71TPXDWKHKG4N6TVEPXWD0N","zapier-make-patterns","No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code. But no-code doesn't mean no-complexity ...","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzapier-make-patterns\u002FSKILL.md",[],[171,172,173,174,175,176,177,178,179,37,180,53,181,182,183,184,185,46],"zapier make patterns","zapier","patterns","make","No-Code","complexity","writing","spawner","business","workflow","code","integromat","apache","processes","but",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":195,"publishedAt":57},"01M71TPT5T10WXNKW9G7ZXZ27W","youtube-summarizer","Extract transcripts from YouTube videos and generate comprehensive, detailed summaries using intelligent analysis frameworks","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fyoutube-summarizer\u002FSKILL.md",[192],{"categoryNo":193,"categoryName":194,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[196,197,198,199,56,200,201,202,203,204,205,206,181,207,208,209,210,211,212,213],"summarizer","youtube","youtube summarizer","Video","content-analysis","frameworks","copilot","2025","github-copilot","extract transcripts","analysis","codex","cli","summaries","github","generate","summarization","2026"]