What This Skill Does
Every time you want to promote a lead magnet, podcast episode, or free resource on Instagram, you need to set up a ManyChat funnel — create a keyword trigger, write DM copy, add link buttons, and publish the flow. It's repetitive, fiddly work that eats 15–20 minutes each time.
This Claude Code skill automates the entire process. You type one command, Claude writes the DM copy in your voice, then drives ManyChat's interface to build and activate the funnel for you.
Without the skill
- Open ManyChat, duplicate template manually
- Write 3 DM messages from scratch
- Click through each step, paste copy, add buttons
- Set the keyword trigger
- Rename, activate, test
- ~15–20 minutes per funnel
With the skill
- Type
/manychat KEYWORD for resource name - Claude generates DM copy in your voice
- Approve the copy, Claude does the rest
- Flow is live in your ManyChat account
- Logged automatically for your records
- ~2–3 minutes, mostly waiting
What can you promote with this?
Lead magnets, free resources, podcast episodes, workshop replays, checklists, templates — anything you'd normally deliver via a comment-to-DM funnel on Instagram.
How It Works
The skill follows a five-step flow. You handle the creative decisions (keyword, approval), and Claude handles all the clicking and typing inside ManyChat.
The Funnel Structure
Every funnel the skill creates follows this proven structure:
1. Keyword Trigger
Someone comments your keyword on a post (e.g. "CHECKLIST")
2. Comment Reply
Auto-reply telling them to check their DMs (randomised from your template)
3. Opening DM
Teaser message with a button — builds excitement before delivering
4. Link Delivery
The actual resource link as a button — no inline URLs cluttering the message
5. Follow-up Nudge
If they don't click, a gentle reminder goes out after a set delay
You give Claude the details
Content name, keyword, resource URL, and content type. Or just run the command and Claude will ask for what it needs.
Claude writes the DM copy
Three messages (opening, link delivery, follow-up) written in your brand voice using your voice guide file. You get 2–3 options for each.
You approve the copy
Pick your favourite options or ask for tweaks. Nothing touches ManyChat until you say go.
Claude builds the funnel
Using browser automation (Playwright), Claude duplicates your template flow, swaps in the copy, sets the keyword, and activates everything.
Flow goes live
Your funnel is active and logged. Test it by commenting the keyword from a different account.
What You Need
Before you can use this skill, you'll need a few things set up. Nothing complicated — just the right accounts and one template flow.
Why Playwright?
The skill uses Playwright (a browser automation tool) to control ManyChat's interface directly — clicking buttons, filling in text, navigating pages. This is done via an MCP server that connects to Claude Code. You don't need to write any code yourself. It's essentially Claude using ManyChat the same way you would, just faster.
Why ManyChat Pro?
The free ManyChat plan limits you to basic features. Pro unlocks keyword triggers, custom automations, and the flow builder — all of which this skill relies on. If you're using comment-to-DM funnels regularly, Pro pays for itself quickly.
Setup Guide
There are three things to set up before your first run: a template flow in ManyChat, your reference files, and the skill file itself.
Step 1: Create your template flow in ManyChat
Why a template flow?
The skill duplicates this template every time you create a new funnel. The structure (comment replies, DM sequence, follow-up timing) stays the same — only the keyword, copy, and link change. This means your funnels are consistent, and you set up the flow structure once.
Step 2: Create your reference files
Save these files in your Claude Code skill folder at ~/.claude/skills/manychat/references/
Step 3: Create your funnel log
~/.claude/skills/manychat/funnel-log.md with a simple table header:
| Date | Keyword | Content Name | Resource URL | Flow Name | Status | |------|---------|-------------|-------------|-----------|--------|
The skill appends a row here every time it creates a funnel. Handy for tracking what's live and avoiding duplicate keywords.
The Skill File
This is the actual Claude Code skill. Copy the entire block below and save it as SKILL.md in ~/.claude/skills/manychat/
How to install a Claude Code skill
If this is your first skill, create the folder structure first:
- Open your terminal
- Run:
mkdir -p ~/.claude/skills/manychat/references - Copy the skill file below into
~/.claude/skills/manychat/SKILL.md - Add your reference files to the
references/folder - Restart Claude Code — the skill will be available as
/manychat
--- name: manychat description: Create ManyChat comment-to-DM funnels for Instagram using browser automation. Use when you need to "create a funnel," "set up a comment trigger," "ManyChat flow," "comment to DM," "keyword trigger," or "DM funnel." user-invocable: true allowed-tools: Read, Write, Edit, mcp__playwright__browser_navigate, mcp__playwright__browser_click, mcp__playwright__browser_type, mcp__playwright__browser_fill_form, mcp__playwright__browser_snapshot, mcp__playwright__browser_take_screenshot, mcp__playwright__browser_wait_for, mcp__playwright__browser_evaluate, mcp__playwright__browser_run_code, mcp__playwright__browser_press_key, mcp__playwright__browser_hover, mcp__playwright__browser_handle_dialog, mcp__playwright__browser_tabs, mcp__playwright__browser_navigate_back, mcp__playwright__browser_select_option, mcp__playwright__browser_close argument-hint: <keyword> for <content description> --- # ManyChat Funnel Creator Duplicate a template flow in ManyChat, swap in new copy and keyword, activate it. Fully automated via Playwright. ## How the Template Flow Works Before using this skill, you need a reusable template flow set up in ManyChat. The template has this structure (comment replies and flow structure stay the same every time — only the content-specific parts change): 1. **Trigger:** Comment/story reply/DM containing a keyword (e.g. "FREEBIE") 2. **Comment reply** (stays the same): A short reply telling them to check their DMs 3. **Opening DM:** Teaser message + button (e.g. "Hey! Want the FREE [resource]?" → button "Yes please!") 4. **Link DM:** Delivers the actual link (e.g. "Here you go!" + URL button) 5. **Follow-up DM:** Nudge if they don't click **What changes each time:** keyword, opening DM text, button label, link DM text + URL, follow-up DM text. Comment replies stay the same. --- ## Setup: What You Need Before Using This Skill ### 1. Create Your Template Flow Build a single "master" flow in ManyChat that you'll duplicate every time. It should include: - A keyword trigger (use a placeholder like "TEMPLATE") - 2-3 randomised comment replies (e.g. "Check your DMs!" / "Sent! Check your DMs") - An opening DM step with a button - A link delivery DM step with a button - A follow-up DM step (triggered if they don't click within a set time) Put this template in its own folder (e.g. a folder called "templates") so it's easy to find and stays untouched. ### 2. Create Your Reference Files Create these files in your Claude skill folder (`~/.claude/skills/manychat/references/`): **voice-guide.md** — Your brand voice rules for DM copy. Include: - How you talk (casual? professional? emoji-heavy?) - Words/phrases you always use - Words/phrases you never use - Example DMs that sound like you **ui-selectors.md** — Notes on ManyChat's UI elements (button locations, menu names). Update this whenever ManyChat changes their interface. **podcast-config.md** (optional, podcast only) — Your podcast show URLs: ``` Spotify: https://open.spotify.com/show/YOUR_SHOW_ID Apple: https://podcasts.apple.com/YOUR_SHOW_URL YouTube: https://youtube.com/@YOUR_CHANNEL ``` ### 3. Create Your Funnel Log Create `~/.claude/skills/manychat/funnel-log.md` with this header: ``` | Date | Keyword | Content Name | Resource URL | Flow Name | Status | |------|---------|-------------|-------------|-----------|--------| ``` --- ## Step 1: Gather Info User may provide input as `$ARGUMENTS` (e.g. `/manychat CHECKLIST for AI tools checklist`). Ask for anything not provided: - **Content name** — what the resource is (e.g. "AI Tools Checklist", "Podcast Ep 47") - **Content type** — podcast / lead magnet / free resource / workshop replay - **Keyword** — trigger word (e.g. "CHECKLIST"). Must be uppercase. - **Resource URL** — the link to deliver (skip if podcast — we'll scrape it) - **Custom DM copy** (optional) — or let the skill write it in your voice --- ## Step 2 (Podcast Only): Scrape Episode Links Only runs when content type is "podcast". Read show URLs from `references/podcast-config.md`. **Spotify:** 1. Navigate to the Spotify show page 2. Snapshot to find the latest (top) episode 3. Click the episode to get its URL (`https://open.spotify.com/episode/...`) 4. Note the episode title **Apple Podcasts:** 1. Navigate to the Apple Podcasts show page 2. Snapshot to find the latest episode 3. Click to get its URL (`https://podcasts.apple.com/.../id...?i=EPISODE_ID`) Confirm with user: "Latest episode is [title] — is that the right one?" --- ## Step 3: Generate Copy Generate copy for the **three parts that change** (comment replies stay the same): ### Opening DM (2-3 options) - Short question that builds excitement - Include a button label - e.g. "Hey! Want the FREE [resource]?" → button "Yes please!" ### Link DM (2-3 options) - Short, friendly — they've already said yes - **NO inline URLs in the message body** — all links go as BUTTONS - For podcasts: add buttons for each platform (e.g. YouTube, Spotify, Apple Podcasts) - For lead magnets: add 1 button with the resource URL - Button labels max 20 characters ### Follow-up DM (1-2 options) - Gentle nudge if they don't click - Not pushy - **NO inline URLs** — refer them back to the buttons - e.g. "Hey! Did you get a chance to check out [resource]? Tap the button above to grab it" **Rules:** Write in YOUR voice. Read `references/voice-guide.md` for tone and style. Keep DMs short and conversational. Present all copy grouped by section. Wait for approval before touching ManyChat. --- ## Step 4: Browser Automation Once copy is approved, automate ManyChat setup via Playwright. ### Rules - Snapshot after EVERY action to verify - Never type passwords — ask the user to handle login/SSO manually - If stuck: screenshot + snapshot, describe what failed, ask to retry/skip/abort - Wait for elements to load (ManyChat is a React SPA — elements may take a moment) ### 4a. Login Check 1. Navigate to `https://manychat.com/` 2. Snapshot — if logged in, continue. If not, navigate to login and ask the user to handle authentication manually. Wait for confirmation. ### 4b. Navigate to Flows 1. Navigate to automations/flows page 2. Snapshot to verify ### 4c. Duplicate Template 1. Navigate to the template folder inside Automations 2. Find the template flow, click 3-dot menu → Duplicate 3. Snapshot to confirm ### 4d. Move Flow Out of Template Folder 1. The duplicated flow will be inside the template folder — it needs to be moved out 2. Click the 3-dot menu on the duplicated flow → "Move to" → select the root/general automations folder 3. Only the original template should remain in the template folder 4. Snapshot to verify the flow is now in the general folder ### 4e. Rename Flow 1. Rename to: `[KEYWORD] - [Content Name] - [DD/MM/YYYY]` 2. Snapshot to verify ### 4f. Set Keyword 1. Open the flow editor 2. Click the trigger step → open settings 3. Change the placeholder keyword to the new keyword 4. Save, snapshot to verify ### 4g. Edit Opening DM 1. Find the opening DM step 2. Update the message text with approved copy 3. Update the button label 4. Save, snapshot to verify ### 4h. Edit Link DM 1. Find the link delivery step 2. Update message text with approved copy — **NO inline URLs in the text body** 3. Edit the existing link button (click it to open modal, update label + URL) 4. Add additional link buttons via "Add a link" button if needed (e.g. for podcasts: YouTube, Spotify, Apple) 5. Button labels max 20 chars. Save each button via its modal. 6. Snapshot to verify ### 4i. Edit Follow-up DM 1. Find the follow-up step 2. Update message text with approved copy 3. Save, snapshot to verify ### 4j. Activate 1. Click Publish/Activate 2. Handle any confirmation dialog 3. Snapshot + screenshot for records Confirm: "Flow is live! Keyword: [KEYWORD]. Test it by commenting on a post from a different account." --- ## Step 5: Log It Append to `~/.claude/skills/manychat/funnel-log.md`: ``` | [DD/MM/YYYY] | [KEYWORD] | [Content Name] | [Resource URL] | [Flow Name] | Active | ``` --- ## Step 6: After Delivering > "Want me to tweak the copy, or are you good to go?" --- ## Error Handling - **Login:** Never type passwords. Ask the user to handle authentication manually. - **Element not found:** Screenshot + snapshot → describe what's visible → try alternatives → ask user after 2 attempts. - **UI changed:** Try to adapt, update `references/ui-selectors.md` if successful, offer manual handoff if not. - **Flow editor too complex:** Try `browser_run_code` for precise Playwright scripts. Last resort: manual handoff for editor-specific steps. --- ## Quality Checks Before browser automation: - Keyword uppercase and memorable? Not already used? (check `funnel-log.md`) - DM copy under 500 chars? Sounds like you? - URL valid? - Copy matches your brand voice? --- ## Customisation Guide Make this skill yours by updating these things: 1. **Template flow name** — Replace references to "LEADMAGNET TEMPLATE" with whatever you name your template flow 2. **Template folder name** — Update if your folder is called something other than "templates" 3. **Placeholder keyword** — Update what keyword your template uses as the default (e.g. "TEMPLATE", "STARTER") 4. **Comment replies** — Customise the randomised comment replies in your template flow to match your voice 5. **voice-guide.md** — This is the most important file. Fill it with YOUR voice, YOUR phrases, YOUR vibe. 6. **Content types** — Add or remove content types based on what you actually promote (e.g. if you don't have a podcast, remove the podcast steps entirely) 7. **Button labels** — Update the example button labels to match your style 8. **Naming convention** — Change the flow naming format in Step 4e if you prefer a different structure --- ## Continuous Improvement Update this skill as you go: - UI changes → update `references/ui-selectors.md` - Copy preferences → update `references/voice-guide.md` - Workflow tweaks → simplify this file
Pro tip: Test before going live
After installing the skill, run it once with a test keyword (e.g. "TEST123") and a dummy URL. This lets you see the full flow — copy generation, browser automation, activation — without risking a real funnel. Delete the test flow when you're done.
Customise It
The skill is designed to be adapted to your brand. Here are the key things to personalise:
Voice Guide
The most important file. Write down how you talk — casual or formal, emoji usage, phrases you love, phrases you'd never say. The more specific, the better Claude's copy will sound.
Template Flow
Your ManyChat template is the foundation. Set up comment replies that match your brand, pick a follow-up delay that works for your audience, and structure the DM sequence how you like.
Naming Convention
The default naming format is [KEYWORD] - [Name] - [Date]. Change it to whatever helps you stay organised in ManyChat.
Content Types
The skill handles podcasts, lead magnets, free resources, and workshop replays. Remove types you don't use, or add new ones (e.g. "course launch", "affiliate link").
Button Labels
Update the example button labels in the skill to match your style. "Hell yeah!" might not be your vibe — swap in what feels right. Max 20 characters.
UI Selectors
ManyChat updates their interface periodically. Keep ui-selectors.md current so the browser automation doesn't break. Update whenever you notice changes.
Tips & Gotchas
A few things to keep in mind as you start using the skill:
No inline URLs in DMs
Instagram can suppress messages that contain raw URLs. Always deliver links as buttons, never pasted into the message text. The skill enforces this, but keep it in mind if you're tweaking copy manually.
Button labels: 20 characters max
ManyChat truncates button labels longer than 20 characters. Keep them punchy — "Grab it" works better than "Click here to download the resource" anyway.
Login is manual
The skill will never type your password. If you're not already logged into ManyChat in the browser, Claude will pause and ask you to handle authentication. This is intentional — your credentials stay yours.
Check your funnel log
Before choosing a keyword, the skill checks funnel-log.md for duplicates. If you've manually created funnels outside the skill, add them to the log so you don't accidentally reuse a keyword.
ManyChat UI changes
ManyChat is a React SPA that updates its interface regularly. If the browser automation gets stuck, Claude will screenshot what it sees and ask for help. After resolving the issue, update ui-selectors.md so the fix persists.
This skill gets better over time
Every time you run it, you can refine your voice guide, update UI selectors, and tweak the skill file. Think of it as a living system — the more you use it, the faster and more accurate it gets.
Ready to go deeper?
Take your skills to the next level with these resources.
Wright Mode Membership
Join a community of women entrepreneurs implementing AI and automation in their businesses. Live calls, templates, and ongoing support.
Claude Masterclass
Learn how to use Claude like a pro. From prompting fundamentals to building real workflows that save hours every week.
Claude Code Masterclass
Go beyond the chat interface. Build automations, process data, and create tools with Claude Code — no developer experience needed.