claude-lifecycle

Lifecycle marketing and CRM strategy as a Claude Code skill: customer journey design, behavioral segmentation, lifecycle messaging and channel copy for email, push, SMS, in-app and WhatsApp.

Journeys are a function of your data: most tools pretend otherwise. A store tracking add_to_cartpurchase can run a branched 8-step cart recovery; a startup with three tracked events cannot. claude-lifecycle is a Claude Code plugin that scores what your data actually supports first, then generates a portfolio of customer journeys (onboarding and activation, retention, churn prevention, win-back), plus rule-checked, sector-aware CRM copy for every step, sized to that reality instead of a template.

validate license claude-code patterns industries

claude-lifecycle journey canvas: a channel-colored customer journey tree, generated from a real data quality score with entry rules, branching decisions, and per-step detail

Live output from the zero-install demo: every card, color, and number on this canvas comes from the sample dataset, not a mockup.


Why this exists

Every lifecycle tool ships the same five template flows, regardless of what data backs them. Handing a startup with three tracked events the same branching journey as a mature e-commerce store produces automations that can neither trigger nor be measured. This engine makes that constraint explicit instead of hiding it:

  • Data quality is scored, not assumed. A 0–100 Data Quality Score decides whether you get 3-step time-based flows or 10+ step behavioral branching.
  • Journeys are a portfolio, not a listicle. Eligibility is computed per pattern from required-event signatures; what your data can't support becomes a tracking plan telling you exactly which events unlock which journeys.
  • Copy is an engineered artifact. Channel files carry hard limits and banned words; sector lexicons decide vocabulary; a reviewer agent adversarially checks every message before you see it.

Questions this answers

  • Which lifecycle journeys can my analytics data actually support today?
  • What events do I need to start tracking before cart recovery, win-back or replenishment can work at all?
  • How deep should a journey be — three time-based steps, or ten with behavioural branching?
  • What belongs in a welcome, onboarding, retention, churn-prevention or win-back flow for my sector?
  • How do I write CRM copy that respects each channel's character limits, banned words, consent rules and quiet hours?
  • How do I measure a lifecycle journey honestly, holdout group included?
  • How do I turn a journey's audience into a BigQuery query or a CDP trait?
  • We are switching CRM tools — how do I describe our journeys in a way that survives the move?

How it works

claude-lifecycle pipeline: data input tiers feed a Connect stage that scores a 0-100 Data Quality Score, then Map turns events into a stage map, a gap check routes to a short Intake or straight to the Journeys portfolio engine, which produces both Copy and a Tracking Plan, converging on Export

Full walkthrough with design decisions: docs/architecture.md

Zero-install demo: the two HTML deliverables, rendered with sample data: journey canvas · channel copy canvas

Quickstart

# as a Claude Code plugin (marketplace or local)
/plugin install claude-lifecycle

# or clone and use as a project
git clone https://github.com/ali-demirbas/claude-lifecycle && cd claude-lifecycle && claude

# or install individual skills with the skills CLI (https://skills.sh)
npx skills add ali-demirbas/claude-lifecycle --all

Already have ab-test-playbook too? Add claude-skills once instead of each repo separately: /plugin marketplace add ali-demirbas/claude-skills.

Using Gemini CLI instead? .gemini/extensions/claude-lifecycle/ ships the same skills, rules and agents, generated from the same source files by scripts/build_gemini.py:

git clone https://github.com/ali-demirbas/claude-lifecycle.git
cd claude-lifecycle/.gemini/extensions/claude-lifecycle && gemini extensions link .

Then, inside Claude Code:

/lifecycle connect          # score your data (GA4 via MCP, or point at a CSV)
/lifecycle journeys         # generate the portfolio
/lifecycle copy             # channel copy for the generated journeys

No data at all? "/lifecycle journeys, my sector is fintech, no data" works too: you get the sector playbook's priority journeys in their simple form, plus the tracking plan that upgrades them.

The three tiers

Tier You have You get
T1 GA4 connected (MCP) Behavioral triggers, multi-branch journeys (7–12 steps where data supports it), volume-aware conflict review
T2 CSV / analytics export Behavioral triggers, limited branching (4–7 steps)
T3 Just your industry Playbook-driven starter portfolio (3–5 step flows) + a tracking plan to graduate to T1

What's inside

skills/ 11 skills: lifecycle routes; connect → map → intake → journeys → copy → export, plus audit, results (the measurement loop), audience (BigQuery SQL / CDP traits from journey audiences), and qa (trigger test payloads, positive and negative)
agents/ 4 subagents: event-analyst, journey-architect, and the copy-writer / copy-reviewer adversarial pair
knowledge/journey-patterns/ 26 patterns (lead-nurture, care-alert, abandoned-cart, trial-conversion, churn-prevention, winback, channel-opt-in, gamified-rewards, …) each with a required-event signature and DQS-tied depth scaling
knowledge/industries/ 9 sector playbooks: funnel, event expectations, pattern priorities, timing. Add yours: it's a content PR, not code
knowledge/lexicons/ Sector word choice: use/avoid tables, urgency rules, banned lists, regulated-context flag, plus locales/ language overlays (per-language voice, emotion calibration, market red lines)
knowledge/brands/ Company config layer: per-brand tone, incentive policy, channels; rules inherit Company → Sector → Global, strictest compliance wins
knowledge/channels/ Hard rules for email, push, SMS, in-app, WhatsApp: limits, spam lists, consent, quiet hours
templates/ Mandatory output formats + journey.schema.json, the CRM-agnostic journey definition
examples/ Full end-to-end outputs for each tier

Example output (excerpt)

A T1 e-commerce run produces a portfolio like:

# Journey Stage Priority Depth Status
1 Cart recovery Revenue P0 8 steps, branched ✅ generated
2 Browse abandonment Revenue P0 4 steps ✅ generated
3 Post-purchase → 2nd order Retention P0 6 steps ✅ generated
4 Winback (lapsed buyers) Winback P0 5 steps ✅ generated
5 Replenishment Revenue P1 n/a 🔒 blocked (missing item-level items params)

…where every ✅ is a full journey doc (trigger, audience, exit criteria, step table, KPIs + holdout, Mermaid diagram) and every 🔒 lands in the tracking plan with the event that unlocks it. See examples/ecommerce-full-ga4/.

Design principles

  1. One engine, data-driven sectors. No if industry == "fintech" in skills; sector behavior lives in playbook/lexicon files, so extending the engine is a content contribution.
  2. Deterministic where it matters. Eligibility, prioritization, and depth follow written rules (DQS rubric); the model's creativity goes into copy and sequencing, not into deciding whether a journey is possible.
  3. Honest by construction. No fabricated benchmarks, no fake urgency, no journeys pretending untracked events exist. The never-do lists in every skill are load-bearing.

Real-world validation

Beyond the eval suite, see docs/real-world-validation.md for what happened when someone ran this against a real product: what held up, and what gaps it surfaced that got folded back into the engine.

Contributing

New industries, patterns, and sharper channel rules are welcome; see CONTRIBUTING.md and docs/adding-an-industry.md. Run bash scripts/validate.sh before opening a PR.

License

MIT