Skip to content
Development
Skill

/cm-growth-hacking

Bottom-sheet and popup growth system: booking CTAs, calendars, lead capture, surveys, re-engagement, with CRO tracking hooks. Zero-deps; works static or dynamic sites. Works with cm-booking-calendar, cm-ads-tracker, cm-google-form, cm-readit, cm-ux-master.

From plugin
cm
5662 skills8 agents11 commands3 hooks
+1

Claude Code

$ npx -y skills add tody-agent/codymaster --skill cm-growth-hacking --agent claude-code

SKILL.md

cm-growth-hacking.SKILL.md
name: cm-growth-hacking
description: "Bottom-sheet and popup growth system: booking CTAs, calendars, lead capture, surveys, re-engagement, with CRO tracking hooks. Zero-deps; works static or dynamic sites. Works with cm-booking-calendar, cm-ads-tracker, cm-google-form, cm-readit, cm-ux-master."
allowed-tools: Read, Write, Edit, Glob, Grep, Browser
version: 1.0
priority: HIGH
skills:
  - cm-booking-calendar
  - cm-ads-tracker
  - cm-google-form
  - cm-readit
  - cm-ux-master

CM Growth Hacking

> **Bottom Sheet + Calendar + Trigger + Tracking = Growth Hacking Engine.** > Đa ngành, đa mục đích, zero dependencies. > 1 skill = mọi growth hacking pattern bạn cần.

---

🎯 When to Use

| Trigger | Action | |---------|--------| | User says "bottom sheet", "popup" | Activate — start Phase 1 | | User says "đặt lịch popup", "booking bottom sheet" | Activate — focus booking sheet | | User says "lead capture", "exit intent" | Activate — focus lead capture | | User says "nhắc lịch", "google calendar", "apple calendar" | Activate — focus calendar CTA | | User says "flash sale popup", "countdown" | Activate — focus promo sheet | | User says "survey", "đánh giá", "feedback" | Activate — focus survey sheet | | User says "tăng conversion", "giảm bounce" | Activate — explain + build |

---

📖 Selective Reading Rule (MANDATORY)

| File | Status | When to Read | |------|--------|--------------| | [bottom-sheet-engine.md](bottom-sheet-engine.md) | 🔴 REQUIRED | Any bottom sheet implementation | | [trigger-system.md](trigger-system.md) | 🔴 REQUIRED | Setting up when/how sheets appear | | [calendar-integration.md](calendar-integration.md) | ⚪ Optional | When sheet includes calendar CTA | | [tracking-events.md](tracking-events.md) | ⚪ Optional | When tracking engagement events |

> 🔴 **Always read `bottom-sheet-engine.md` + `trigger-system.md` first.**

---

🧭 Quick Decision Tree

"I need an engagement popup"
│
├─ Booking / Appointment
│  └─ bottom-sheet-engine + calendar-integration + cm-booking-calendar
│     └─ Form → Sheet: cm-google-form
│     └─ Post-submit: Calendar CTA (GCal + ICS)
│
├─ Lead Capture / Exit Intent
│  └─ bottom-sheet-engine + trigger-system (exit-intent)
│     └─ Form → Sheet: cm-google-form
│     └─ Tracking: cro_lead_capture
│
├─ Flash Sale / Promo
│  └─ bottom-sheet-engine + trigger-system (timer)
│     └─ Countdown timer + CTA
│     └─ Optional: Calendar deadline
│
├─ Survey / Feedback
│  └─ bottom-sheet-engine + trigger-system (post-interaction)
│     └─ Star rating or NPS
│     └─ Form → Sheet: cm-google-form
│
├─ Event / Webinar Registration
│  └─ bottom-sheet-engine + calendar-integration
│     └─ Register → Add to Calendar
│     └─ Tracking: cro_event_register
│
├─ Re-engagement (Return Visitor)
│  └─ bottom-sheet-engine + trigger-system (return-visitor)
│     └─ "Welcome back" + personalized CTA
│
└─ Chat / Contact CTA
   └─ bottom-sheet-engine + trigger-system (scroll)
      └─ Zalo / Messenger / Hotline buttons

---

📋 6-Phase Workflow

Phase 1: DISCOVER → Scan site, detect industry, identify existing popups/forms
Phase 2: SOCRATIC GATE → Ask strategic questions (max 5)
Phase 3: CONFIGURE → Select engagement pattern + customize
Phase 4: BUILD → Generate bottom sheet + triggers + calendar + tracking
Phase 5: INTEGRATE → Wire to site + link skills
Phase 6: VERIFY → Test all interactions + tracking events

> 🔴 **Rule:** NEVER skip Phase 1 & 2. Always scan first, ask second.

---

Phase 1: DISCOVER

Scan the website to understand:

# Find existing popups/modals/sheets
grep -ri "modal\|popup\|bottom-sheet\|overlay\|dialog" --include="*.html" --include="*.astro" --include="*.css" .

# Find existing forms
grep -ri "data-form-type\|onsubmit\|<form" --include="*.html" --include="*.astro" .

# Find existing calendar code
grep -ri "VCALENDAR\|google.com/calendar\|\.ics\|VEVENT" --include="*.js" --include="*.html" .

# Find existing tracking
grep -ri "dataLayer\|fbq\|ttq\|gtag" --include="*.js" --include="*.html" .

**Output:** Discovery Report with detected industry, existing UI, and recommended pattern.

---

Phase 2: SOCRATIC GATE

> 🔴 **MANDATORY.** Ask ALL in ONE message. Max 5 questions.

1. **Mục tiêu chính** — Bạn muốn popup/bottom sheet để làm gì? (đặt lịch / thu lead / khuyến mãi / survey / khác) 2. **Trigger** — Khi nào hiện? (ngay khi vào trang / scroll X% / sau X giây / khi sắp thoát / click nút) 3. **Nội dung** — Trong popup cần gì? (form / calendar CTA / countdown / rating / nút chat) 4. **Calendar** — Có cần thêm Google Calendar / Apple Calendar không? Nhắc trước bao lâu? 5. **Tracking** — Đang chạy ads platform nào? (Facebook / TikTok / Google / không)

---

Phase 3: CONFIGURE

Based on answers, select from `references/engagement-patterns.md` and build config:

const ENGAGEMENT_CONFIG = {
  type: 'booking',           // booking | lead | promo | survey | event | chat | reengagement
  trigger: {
    type: 'scroll',          // scroll | time | exit | click | return | interaction
    value: 0.3,              // scroll % or ms or selector
    delay: 0,                // additional delay after trigger
  },
  sheet: {
    size: 'standard',        // compact | standard | full
    title: 'Đặt Lịch Khám',
    icon: '📅',
    dismissible: true,
    swipeToDismiss: true,
  },
  calendar: {
    enabled: true,
    providers: ['gcal', 'ics'],  // gcal | ics | outlook
    reminderMinutes: [1440, 120], // 1 day + 2 hours before
    location: 'Google Maps URL',
  },
  tracking: {
    events: ['cro_sheet_shown', 'cro_booking_submit', 'cro_calendar_add'],
    conversionValue: 500000,
    currency: 'VND',
  },
  session: {
    dismissKey: 'eng_booking_dismissed',
    storage: 'sessionStorage',   // sessionStorage | localStorage
    maxShowPerSession: 1,
  }
};

---

Phase 4: BUILD

Read and use templates from `templates/` directory:

| Template | Purpose | |----------|---------| | `templates/bottom-sheet.css

Read more
@tody-agent
Ships withcm

"I can't write code. But in 6 months, I shipped 12 real products using AI. CodyMaster is everything I learned — so you don't have to repeat my mistakes." — Tody Le, Head of Product, Creator of CodyMaster 50+ skills. One install.

5662 skills8 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
56
Star history of tody-agent/codymaster on GitHub, a chart by star-history.com

Other skills on cm.

cm-autopilot

cm-autopilot

Easy-to-use conversational CLI (Claude Code style) for non-technical users to spawn parallel AI tasks supervised by a visual web…

@tody-agent@tody-agentInstall Skill
cm-brainstorm-idea

cm-brainstorm-idea

Strategic analysis gate for existing products — multi-dimensional evaluation (tech, product, design, business) using Design…

@tody-agent@tody-agentInstall Skill
cm-browse

cm-browse

Fallback local Playwright daemon for real-browser visual QA / screenshots / smoke. Use ONLY when the host platform has no native…

@tody-agent@tody-agentInstall Skill
cm-clean-code

cm-clean-code

Code hygiene gate — detect and eliminate dead code, duplicates, naming mess, and code smells. TRIZ-powered. Run after features,…

@tody-agent@tody-agentInstall Skill
cm-code-review

cm-code-review

Full review lifecycle — request reviews, handle feedback with technical rigor, and complete branch integration. Use when…

@tody-agent@tody-agentInstall Skill
cm-codeintell

cm-codeintell

Unified code intelligence — routes to Skeleton Index, CodeGraph, Architecture Diagram, or Smart Context Builder based on task…

@tody-agent@tody-agentInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about cm-growth-hacking.

Which coding agents can use cm-growth-hacking?
cm-growth-hacking installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.