> Define lifecycle stages and marketing → sales / CSM handoff rules for leads captured by GTM channels during PRD v0.8 Deployment & Ops. Triggers on requests to set up lead lifecycle, define MQL/SQL criteria, build handoff process, or when user asks "what's an MQL?", "marketing to sales handoff", "lead lifecycle", "lead routing", "RevOps", "MOPS", "marketing operations". Outputs BR-MOPS-* lifecycle rules and GTM-MOPS-* handoff flow entries.
npx skills add https://github.com/mattgierhart/PRD-driven-context-engineering --skill prd-v08-marketing-ops-handoff
Position in workflow: v0.8 Monitoring Setup → v0.8 Marketing-Ops Handoff → v0.9 Launch Channels (ORB), v0.9 Cold Outreach
Default is standard. See .claude/rules/08-skill-execution-modes.md for selection logic.
| Mode | What this skill produces |
|------|--------------------------|
| quick | 3-stage lifecycle (Anonymous → Lead → Customer); single handoff rule; SLA per stage |
| standard | Full 5-stage lifecycle (Anonymous → MQL → SQL → Opportunity → Customer); entry/exit criteria; handoff payload spec; SLAs |
| deep | Full lifecycle + per-segment routing (by ICP / region / size); scoring model; rejection-loop rules; SLA monitoring + escalation |
Defines the lifecycle stages a lead passes through from first touch to customer (or churn), plus the handoff rules at each transition. Without this, marketing-captured leads get dropped, double-worked, or never followed up. With this, you have an auditable definition of who owns what at each moment.
This skill applies primarily to B2B and prosumer products with a human-touch sales motion (founder-led sales, BDR/SDR teams, customer-success-led expansion). Pure self-serve products use a simpler version: lifecycle = Anonymous → Trial → Paid, with no human handoff.
B2B SaaS, $200/month entry price, sales-assisted motion.
| Stage | Entry criteria | Exit criteria | Owner | SLA |
|-------|----------------|---------------|-------|-----|
| Anonymous | Any first touch | Filled form OR signed up | Marketing | n/a |
| MQL | Filled high-intent form (demo request, pricing page) | BDR qualifies in OR disqualifies | BDR | 1 business hour |
| SQL | BDR confirms fit + intent | AE accepts OR rejects | BDR → AE | 30 min |
| Opportunity | AE held discovery, budget + authority confirmed | Closed-won OR closed-lost | AE | 24 hr per touch |
| Customer | Closed-won contract signed | Churn OR expand | CS | Onboarding kickoff <1 business day |
Handoff payload at MQL → SQL (BDR → AE):
Rejection routing at SQL → AE rejection ("too small"): lead returns to MQL queue with "small-team" tag; BDR can re-engage in 90 days if size signal changes.
| Trigger | Mode |
|---------|------|
| B2B / sales-assisted product, pre-launch | standard |
| Hybrid PLG + Sales motion | deep |
| Pure self-serve consumer product | skip — overkill |
| Adding human sales to existing self-serve | standard |
| Sales velocity issues (leads dying in queue) | deep (rebuild with SLAs) |
| Pre-Series A audit (investor wants to see process) | deep |
> When this skill runs before v0.9, channel and offer references use placeholders that get reconciled when v0.9 finalizes.
SoT/SoT.BUSINESS_RULES.mdBR-MOPS-XXX: Lifecycle Stage — [Stage name]
Type: Lifecycle-Stage
Order: [#]
Status: Active
Stage: [Anonymous | Signup | Activated | MQL | SQL | Opportunity | Customer | Expansion]
Entry criteria:
- [Criterion 1 — e.g., "Filled out demo request form"]
- [Criterion 2 — e.g., "Reached usage threshold X"]
Exit criteria (progression):
- To [next stage]: [Criterion]
Exit criteria (disqualification):
- [Criterion that routes back to earlier stage or out]
Owner: [Marketing automation | BDR/SDR | AE | CS | Founder]
SLA:
Response time after entering this stage: [duration]
Escalation: [What happens if SLA missed]
Linked IDs: PER-XXX (fit signals), GTM-YYY (source channels), BR-PRICING-ZZZ (tier threshold), KPI-AAA (conversion rate)
GTM-MOPS-XXX: Handoff — [Stage A] → [Stage B]
Type: Handoff
Status: Active
From: [Stage A] (owner: ...)
To: [Stage B] (owner: ...)
Trigger: [Specific event — e.g., "BDR marks lead as Qualified in CRM"]
Payload (what context transfers):
- Source: [GTM-* channel]
- Touchpoint history: [What they engaged with]
- Best-fit signals: [Firmographic + behavioral match]
- Disqualifiers: [Anything that ruled out earlier stages]
- Open questions: [What new owner should clarify]
Rejection rule:
Condition: [When does the new owner reject this handoff?]
Routing: [Where does the rejected lead go? Nurture / disqualified / requeue]
Re-engagement: [Conditions under which this lead can return]
SLA: [Response time required from new owner]
Linked IDs: BR-MOPS-AAA (Stage A rule), BR-MOPS-BBB (Stage B rule)
| Pattern | Signal | Fix |
|---------|--------|-----|
| MQL = "anyone who filled a form" | High-volume MQLs with 1% SQL conversion | Tighten MQL entry criteria; add fit-signal scoring |
| No rejection routing | Leads die when SQL → AE rejects | Define where rejected leads go (nurture, disqualified, requeue) |
| SLA without escalation | "Respond in 1 hour" with no consequence if missed | SLA must have an escalation path |
| Handoff without payload | New owner asks "who is this?" | Mandatory payload fields at every handoff |
| Stages without owners | "We'll figure out who handles SQLs later" | One owner per stage; named role minimum |
| Lifecycle for self-serve | $20/month consumer product with MQL/SQL/OPP | Use Signup → Activated → Paid; no human handoff |
| No SLA monitoring | SLAs exist on paper, missed in practice | Drift-monitor SLA via MON-DRIFT- |
Before activating handoff:
| Consumer | What it uses | Example |
|----------|--------------|---------|
| Launch Channels (ORB) | Each channel's leads enter the lifecycle at Anonymous | GTM-002 (Product Hunt) → Anonymous → MQL routing |
| Cold Outreach (Tiered) | Tier 1/2/3 sequences map to lifecycle stages | Tier 1 = SQL-tier ABM; Tier 3 = MQL nurture |
| Launch Metrics | Stage conversion rates become KPI- entries | KPI-MQL-to-SQL-conversion |
| Feedback Loop Setup | Rejected leads' "why we passed" reasons feed CFD- | Pattern: "too small" rejections → CFD- pricing signal |
| Drift Monitoring | SLA drift catches process decay | MON-DRIFT-MQL-response-SLA |
marketing-ops and revenue-operations skills (claude-skills)references/ — lifecycle shapes vary; this skill encodes the discipline, not a specific shape)Take mattgierhart/prd-v08-marketing-ops-handoff from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.