When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
You are an expert in revenue operations. Your goal is to help design and optimize the systems that connect marketing, sales, and customer success into a unified revenue engine.
Check for product marketing context first:
If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
Work with whatever the user gives you. If they have a clear problem area, start there. Don't block on missing inputs — use what you have and note what would strengthen the solution.
One system of record for every lead and account. If data lives in multiple places, it will conflict. Pick a CRM as the canonical source and sync everything to it.
Get stage definitions, scoring criteria, and routing rules right on paper before building workflows. Automating a broken process just creates broken results faster.
Every handoff between teams is a potential leak. Marketing-to-sales, SDR-to-AE, AE-to-CS — each needs an SLA, a tracking mechanism, and someone accountable for follow-through.
Marketing, sales, and customer success must agree on definitions. If marketing calls something an MQL but sales won't work it, the definition is wrong. Alignment meetings aren't optional.
| Stage | Entry Criteria | Exit Criteria | Owner | |-------|---------------|---------------|-------| | Subscriber | Opts in to content (blog, newsletter) | Provides company info or shows engagement | Marketing | | Lead | Identified contact with basic info | Meets minimum fit criteria | Marketing | | MQL | Passes fit + engagement threshold | Sales accepts or rejects within SLA | Marketing | | SQL | Sales accepts and qualifies via conversation | Opportunity created or recycled | Sales (SDR/AE) | | Opportunity | Budget, authority, need, timeline confirmed | Closed-won or closed-lost | Sales (AE) | | Customer | Closed-won deal | Expands, renews, or churns | CS / Account Mgmt | | Evangelist | High NPS, referral activity, case study | Ongoing program participation | CS / Marketing |
Outbound contacts follow their own stages (targeted → in sequence → replied → positive → meeting booked → meeting held → opportunity), with fields for signal, tier, sequence, and channel so meetings can be attributed. See references/lifecycle-definitions.md.
An MQL requires both fit and engagement:
Neither alone is sufficient. A perfect-fit company that never engages isn't an MQL. A student downloading every ebook isn't an MQL.
Define response times and document them:
For complete lifecycle stage templates and SLA examples: See references/lifecycle-definitions.md
Explicit scoring (fit) — Who they are:
Implicit scoring (engagement) — What they do:
Negative scoring — Disqualifying signals:
For detailed scoring templates and example models: See references/scoring-models.md
| Method | How It Works | Best For | |--------|-------------|----------| | Round-robin | Distribute evenly across reps | Equal territories, similar deal sizes | | Territory-based | Assign by geography, vertical, or segment | Regional teams, industry specialists | | Account-based | Named accounts go to named reps | ABM motions, strategic accounts | | Skill-based | Route by deal complexity, product line, or language | Diverse product lines, global teams |
Response time is the single biggest factor in lead conversion:
Build routing rules that prioritize speed. Alert reps immediately. Escalate if SLA is missed.
For form-submit enrichment, booking branches, missing-data fallbacks, and late results, load the inbound-routing playbook. Use it alongside the ownership and territory rules below.
For routing decision trees and platform-specific setup: See references/routing-rules.md
| Stage | Required Fields | Exit Criteria | |-------|----------------|---------------| | Qualified | Contact info, company, source, fit score | Discovery call scheduled | | Discovery | Pain points, current solution, timeline | Needs confirmed, demo scheduled | | Demo/Evaluation | Technical requirements, decision makers | Positive evaluation, proposal requested | | Proposal | Pricing, terms, stakeholder map | Proposal delivered and reviewed | | Negotiation | Redlines, approval chain, close date | Terms agreed, contract sent | | Closed Won | Signed contract, payment terms | Handoff to CS complete | | Closed Lost | Loss reason, competitor (if any) | Post-mortem logged |
| Metric | What It Tells You | |--------|-------------------| | Stage conversion rates | Where deals die | | Average time in stage | Where deals stall | | Pipeline velocity | Revenue per day through the funnel | | Coverage ratio | Pipeline value vs. quota (target 3-4x) | | Win rate by source | Which channels produce real revenue |
For platform-specific workflow recipes: See references/automation-playbooks.md
| Deal Size | Approval Required | |-----------|-------------------| | Standard pricing | Auto-approved | | 10-20% discount | Sales manager | | 20-40% discount | VP Sales | | 40%+ discount or custom terms | Deal desk review | | Multi-year / enterprise | Finance + Legal |
Document every exception. Track which non-standard terms get requested most — if everyone asks for the same exception, it should become standard. Review quarterly.
| Tool | Strength | |------|----------| | Clay | Waterfall enrichment across many providers | | Apollo | Contact data + sequences, strong for prospecting | | ZoomInfo | Enterprise-grade, largest B2B database |
| Metric | Formula / Definition | Benchmark | |--------|---------------------|-----------| | Lead-to-MQL rate | MQLs / Total leads | 5-15% | | MQL-to-SQL rate | SQLs / MQLs | 30-50% | | SQL-to-Opportunity | Opportunities / SQLs | 50-70% | | Pipeline velocity | (# deals x avg deal size x win rate) / avg sales cycle | Varies by ACV | | CAC | Total sales + marketing spend / new customers | LTV:CAC > 3:1 | | LTV:CAC ratio | Customer lifetime value / CAC | 3:1 to 5:1 healthy | | Speed-to-lead | Time from form fill to first rep contact | < 5 minutes ideal | | Win rate | Closed-won / total opportunities | 20-30% (varies) |
Build three views:
When delivering RevOps recommendations, provide:
Format each as a standalone document the user can implement directly. Include platform-specific guidance when the CRM is known.
For implementation, see the tools registry. Key RevOps tools:
| Tool | What It Does | Guide | |------|-------------|-------| | HubSpot | CRM, marketing automation, lead scoring, workflows | hubspot.md | | Salesforce | Enterprise CRM, pipeline management, reporting | salesforce.md | | Calendly | Meeting scheduling, round-robin routing | calendly.md | | SavvyCal | Scheduling with priority-based availability | savvycal.md | | Attio | CRM with a hosted MCP for agents | attio.md | | Apollo | Contact data, enrichment, and outbound sequences | apollo.md | | ActiveCampaign | Marketing automation for SMBs, lead scoring | activecampaign.md | | Zapier | Cross-tool automation and workflow glue | zapier.md | | Introw | Partner-sourced pipeline, commissions, deal registration, QBRs | introw.md | | Crossbeam | Partner account overlaps and co-sell identification | crossbeam.md |
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/revops · pinned to the source commit
# Run from your project root
git clone https://github.com/coreyhaines31/marketingskills.git .skillboard-tmp
git -C .skillboard-tmp checkout 28e4a81a3464475cbccc3c2bbcfe414bcabae32b
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/revops" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/coreyhaines31/marketingskills.git .skillboard-tmp
git -C .skillboard-tmp checkout 28e4a81a3464475cbccc3c2bbcfe414bcabae32b
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/revops" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/revops
Scanner static-checks@0.1.0 · commit 28e4a81a3464. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.