{
  "skill_name": "sales-icp-definition",
  "evals": [
    {
      "id": 1,
      "prompt": "We're Kettlebridge, B2B SaaS selling compliance training to mid-size logistics firms. I've got 23 closed-won deals in the CRM, all tagged clean with won/lost reasons plus churn flags. I want a regression-based weighted scoring rubric so we can score accounts out of 100. Our head of analytics can run the regression herself, she did it at her last company, so effort isn't the blocker. I need it by Friday because we're carving territories for Q4 and the reps need a list.",
      "expected_output": "A refusal to build regression weighting at 23 deals, routed instead to founder-led discovery plus an equal-weighted checklist, with graduation waypoints, an anti-ICP, and a dated plan to retro-score at ~50 deals.",
      "files": [],
      "expectations": [
        "States regression-based weighting is unavailable at 23 closed-won deals and names the 100-150+ closed-won threshold it requires",
        "Routes the work to founder-led discovery paired with an equal-weighted checklist, the prescribed treatment for the ~20-50 deal band",
        "Produces no rubric in which criteria carry differentiated numeric weights",
        "Names the Friday territory-carve deadline as an independent reason to demote regression, separate from the deal-volume constraint",
        "Acknowledges the in-house analyst lowers regression's effort cost, yet still declines to promote regression on that basis",
        "States the graduation waypoints - ~10-20 deals for a qualitative hypothesis, ~50 for an equal-weighted rubric, 100-150+ for regression - as one path rather than competing thresholds",
        "Includes an anti-ICP naming accounts disqualified despite looking attractive on paper",
        "Commits to a dated plan to run retro-scoring at ~50 deals instead of claiming the checklist is already validated",
        "Delivers both a one-paragraph ICP statement and a pass/fail criteria checklist, not one without the other",
        "Asks clarifying questions one at a time before proposing an artifact rather than returning it as one finished block"
      ]
    },
    {
      "id": 2,
      "prompt": "Nordhaven Systems here. Our ICP today is US mid-market third-party logistics providers, 50-400 employees, running a legacy warehouse management system. We just closed our first two deals in Germany with automotive manufacturers and leadership wants to go after that market properly next year. Can you widen the ICP so German automotive fits inside it? I really don't want two separate documents floating around, the field gets confused enough as it is and the SDRs will just work whichever one they opened last.",
      "expected_output": "A separate ICP for the German automotive market rather than a widened existing one, with the primary/secondary distinction, a per-segment rubric, and a version/changelog entry.",
      "files": [],
      "expectations": [
        "Builds a separate ICP for the German automotive-manufacturing market instead of widening the existing 3PL profile",
        "States that entering a new market produces a separate ICP, never a broadened one",
        "Names market entry as an off-cycle trigger that overrides the normal refresh calendar",
        "Prescribes one rubric per major segment rather than one rubric stretched across both markets",
        "Answers the \"two documents will confuse the field\" objection directly rather than complying with it",
        "Distinguishes a primary segment from an acceptable secondary segment so the field can tell \"out of focus\" from \"disqualified\"",
        "Flags \"German automotive manufacturers\" as a market segment rather than an ICP, because on its own it disqualifies nothing",
        "Records a version number and a changelog entry describing what changed and why",
        "Notes the new-market profile cannot inherit the 3PL rubric's weights, because the German deal history that would justify them does not exist yet",
        "Names an owner for each of the two profiles"
      ]
    },
    {
      "id": 3,
      "prompt": "I'm VP Sales at Brightfold and the board deck is due Thursday. I want one slide proving that tightening our ICP pays off. Here's what I've collected: SiriusDecisions found companies with a defined ICP get 68% higher win rates; New Breed grew average deal size 83% after narrowing; Lavu went from $10M to $40M+ ARR after focusing. Our consultant says we should expect win rates of 60-65% once we're focused, we're at 24% today on roughly $30K deals. My RevOps lead also found a stat that quarterly ICP refreshers convert 20-35% better from MQL to closed-won than annual ones. Write the slide.",
      "expected_output": "A slide that grades each supplied figure - rejecting the 68% orphan citation, labelling the self-reported and unverified case studies, sanity-checking the 60-65% projection against the 20-30% baseline - and substitutes the company's own ICP-fit win-rate comparison as evidence.",
      "files": [],
      "expectations": [
        "Refuses to present the 68% higher-win-rate figure as fact",
        "Identifies the 68% figure as an orphan citation never traced to a published report despite its attribution",
        "Labels the +83% average-deal-size figure as a first-party self-report published by the company itself",
        "Labels the $10M-to-$40M+ ARR figure as a claimed outcome that is not independently verified",
        "Checks the consultant's 60-65% projection against an independent mid-market B2B SaaS win-rate baseline of roughly 20-30%",
        "Declines to adopt the 60-65% projection as an expected outcome",
        "Keeps the direction of the quarterly-versus-annual refresh claim while dropping its 20-35% figure as a single-source vendor number",
        "Attaches a source and a year to every benchmark that survives into the slide",
        "Invents no replacement statistic in place of the rejected 68% figure",
        "Proposes the company's own win rate on ICP-fit versus non-fit accounts as the evidence to show the board instead"
      ]
    },
    {
      "id": 4,
      "prompt": "Solterra Home. We install residential solar, average job is $24,000, about 900 completed installs over four years. We also run a commercial arm doing rooftop systems for small businesses, roughly 40% of revenue. Marketing wants an ICP doc so they can go buy a list: company size bands, industry codes, revenue brackets, the same shape we used at my last company. Build it for us.",
      "expected_output": "Two separate profiles - a demographic/psychographic household profile for the residential side treated as a high-consideration purchase with distributed decision roles, and a separate B2B profile for the commercial arm - with the firmographic list-buying request declined for the residential side.",
      "files": [],
      "expectations": [
        "Builds a demographic and psychographic profile of the person or household for the residential side rather than firmographic criteria",
        "States that B2C has no firmographic layer from which to build a company-level ICP",
        "Classifies a $24,000 residential solar purchase as high-consideration rather than low-involvement",
        "Maps household decision roles - initiator, influencer, decider, buyer, user, gatekeeper - for the residential side",
        "Notes those roles shift from purchase to purchase rather than being fixed per household",
        "Produces two separate profiles, one per side of the business, rather than one blended profile",
        "States explicitly that a company selling both B2C and B2B gets a profile per side, never a blend",
        "Declines to supply the requested firmographic list-buying criteria for the residential segment",
        "Builds the residential profile from actual completed-install data rather than assumed demographics",
        "Carries disqualifiers, a validation step and a refresh cadence into the B2C profile as well as the B2B one"
      ]
    },
    {
      "id": 5,
      "prompt": "Verrick Labs, we sell clinical-trial site management software, 180 closed deals in the CRM over three years. Here's the fit model I drafted, 100 points total: 30 pts if the company has 200-2000 employees, 25 pts if they're biotech or pharma, 20 pts if they raised a Series B or later in the last 9 months, 15 pts if a contact has opened 3 or more of our emails or booked a demo, 10 pts if they're US-based. Score of 60+ means work the account. Do the weights look right to you?",
      "expected_output": "A critique separating the funding trigger from qualification, moving the contact-engagement criterion out to lead scoring, expanding the criteria set into the 8-15 range with technographic coverage, and adding first-class disqualifier deductions mined from matched-but-lost deals.",
      "files": [],
      "expectations": [
        "Identifies the Series B funding criterion as a buying trigger and states triggers decide which qualified accounts to pursue first, not which accounts qualify",
        "Keeps the funding signal in the rubric's intent category as a scoring signal rather than deleting it outright",
        "Requires the artifact to state the qualify-versus-prioritize distinction explicitly",
        "Identifies \"opened 3 or more emails or booked a demo\" as contact-level engagement readiness rather than account-level structural fit",
        "Removes that criterion from the ICP rubric and assigns it to lead scoring",
        "States the ICP scores the account on structural fit before any engagement",
        "Flags five criteria as too few and names 8-15 criteria as the target range",
        "States that fewer than 8 criteria usually cannot differentiate accounts",
        "Adds disqualifiers as first-class point deductions rather than notes or afterthoughts",
        "Sources candidate disqualifiers from lost deals that matched the firmographic criteria",
        "Notes the draft carries no technographic criteria and adds that category"
      ]
    },
    {
      "id": 6,
      "prompt": "Palladane. We retro-scored 80 closed deals against the new fit rubric. Results: accounts scoring 70+ won 61% of the time, 45-69 won 58%, under 45 won 54%. Pretty consistent across the board, which feels like a good sign to me, the model looks stable. We weighted everything against average contract value since that's the number the CFO cares about. We sell a $12K mid-market plan and a $300K enterprise deal off this one rubric. Can we roll it out to the SDR team Monday?",
      "expected_output": "A rejection of the rollout: the flat band spread shows the rubric is not predictive, the weights get revised and re-run against a blended target variable, and the mid-market and enterprise motions get separate rubrics.",
      "files": [],
      "expectations": [
        "Reads the 61%/58%/54% spread as no material separation between bands, contradicting the user's \"stable model\" interpretation",
        "Declines to roll the rubric out to the SDR team",
        "Prescribes revising the weights and re-running the retro-scoring pass rather than shipping and monitoring in production",
        "States a rubric whose high scorers do not close at a materially better rate than low scorers is not predictive yet",
        "Identifies average contract value as the wrong sole target variable",
        "Prescribes weighting against a blend of outcomes - win rate, retention, expansion, time-to-value - rather than contract value alone",
        "Warns that optimizing on deal size alone rewards large but poor-fit logos",
        "Separates largest customers from best customers as two different axes",
        "Prescribes one rubric per major segment for the $12K mid-market and $300K enterprise motions rather than one stretched across both",
        "Requires the retro-scoring result to be reported inside the ICP artifact itself"
      ]
    },
    {
      "id": 7,
      "prompt": "Mesa Loop, pre-Series-A dev tooling company, 9 paying customers. Three are design partners, founders I've known for years, and they give us by far the clearest feedback, so I built the profile off them: Series A to B dev tool companies, 30-80 engineers, Go and Kubernetes shops. The odd thing is our loudest inbound is two enormous fintechs with thousands of engineers, completely outside that profile, so we've been politely ignoring them. Growth has been flat two quarters running and the board wants us to open up to broader mid-market. Draft me the ICP.",
      "expected_output": "A founder-led hypothesis that treats the design-partner sample as biased and Low confidence, follows the fintech pull signal instead of ignoring it, refuses the board's broadening instruction, and ships an anti-ICP alongside.",
      "files": [],
      "expectations": [
        "Flags the three long-known design partners as a biased sample and names the overfitting risk",
        "Prescribes interviewing beyond the design partners before the hypothesis is written",
        "Grades design-partner-only claims as Low confidence",
        "Treats the first five arms-length deals as the hypothesis's real test",
        "Treats the unexplained fintech inbound as a pull signal to follow even though it contradicts the planned profile, rather than noise to ignore",
        "Captures early-adopter answers verbatim and notes their exact phrasing doubles as future messaging",
        "Rejects the board's instruction to broaden and recommends sharpening the profile instead",
        "States that widening an ICP because growth targets were missed is usually the wrong direction before Series B",
        "Produces an anti-ICP naming who is disqualified despite looking attractive on paper",
        "Warns the user that turning down attractive-looking \"maybe\" deals will feel costly pre-revenue"
      ]
    },
    {
      "id": 8,
      "prompt": "Havenlight, Series C. Our ICP doc says \"mid-market B2B companies in North America with 100-1000 employees.\" Reps chase literally everything, the SDR target list is 41,000 accounts, and MQL-to-SQL has slid to 11% so the AEs have basically stopped working marketing leads. The doc was written 14 months ago in a two-day offsite by eight people and nobody owns it now. There's also a batch of accounts that score perfectly on the sheet and just never move, we've worked some of them for a year. Fix this.",
      "expected_output": "A diagnosis against the documented failure modes - segment-not-ICP, no owner, stale scoring below the ~15% tripwire - then a rebuild with a named owner, stacked refresh cadences, off-cycle triggers, and switching forces to explain the stuck high scorers.",
      "files": [],
      "expectations": [
        "Diagnoses \"mid-market B2B companies in North America with 100-1000 employees\" as a market segment rather than an ICP",
        "States the current statement is too large to disqualify anything",
        "Applies the check of whether the profile disqualifies roughly 70% of inbound",
        "Applies the check that an ICP should be a small fraction of TAM, typically 5-15%",
        "Reads the 11% MQL-to-SQL rate against the ~15% tripwire and calls the scoring stale",
        "Assigns a named owner and identifies the committee-written, unowned artifact as a documented failure mode",
        "Prescribes all three refresh cadences together - quarterly light review, annual full rebuild, monthly drift tripwires - rather than choosing one",
        "Lists off-cycle triggers that override the calendar cadence",
        "Adds a version number and changelog to the rebuilt artifact",
        "Explains the perfectly-scoring, non-moving accounts through switching forces - push, pull, habit, anxiety, from Bob Moesta's jobs-to-be-done switching framework - rather than by adjusting their fit scores",
        "States that fit explains who could buy while the switching forces explain why a fit account still does not move"
      ]
    },
    {
      "id": 9,
      "prompt": "Rowanmere Analytics. 60 closed-won deals, all tagged. The problem is there's no firmographic pattern at all: our customers run from 40 people to 9,000, across insurance, gaming, logistics, everywhere, US and EU. What we do have is 40 recorded win/loss interviews and they're rich, our head of CS ran them properly. Separately, nobody internally agrees on what makes us different from Quillstack, our main competitor. Ask three people, get three answers. We need the ICP before planning season starts.",
      "expected_output": "A profile derived through SPICED from the interview material rather than from firmographics, with Dunford's positioning-first sequence run because differentiation is unclear, analyst-defined weighting at 60 deals, and candidate hypotheses presented for approval before building.",
      "files": [],
      "expectations": [
        "Selects SPICED as the derivation method, given rich win/loss interview material and weak firmographic patterns",
        "Names all five SPICED elements: situation, pain, impact, critical event, decision",
        "States SPICED reverse-engineers the profile from why customers actually bought rather than starting from firmographics",
        "Invokes April Dunford's positioning-first approach because the company's differentiation is unclear",
        "Works Dunford's steps in order: competitive alternatives, unique attributes, the value those attributes create given the alternatives, the customers who care most about that value, market category",
        "States that positioning and the ICP are derived together rather than sequentially",
        "Notes a fuzzy ICP is often a positioning problem rather than a targeting problem",
        "Sets analyst-defined weighting as the rung, because 60 closed-won deals sits below the 100-150+ regression bar",
        "Anchors the profile on the problem and the value delivered rather than on firmographic descriptors",
        "Presents 2-3 candidate ICP hypotheses with trade-offs and one explicit recommendation, and gets approval on one before building the artifact"
      ]
    }
  ],
  "trigger_queries": [
    { "query": "Define our ICP", "should_trigger": true },
    { "query": "Who should we be selling to?", "should_trigger": true },
    { "query": "Build an ICP scoring rubric for our sales team", "should_trigger": true },
    { "query": "Our reps are chasing everything and closing nothing", "should_trigger": true },
    { "query": "help me figure out our ideal customer profile", "should_trigger": true },
    { "query": "We're entering the Nordics next quarter, do we update the customer profile?", "should_trigger": true },
    { "query": "What does our best-fit customer actually look like?", "should_trigger": true },
    { "query": "Our target account list is 60,000 rows and the SDRs hate it", "should_trigger": true },
    { "query": "Write the ideal customer profile for our Series A fintech", "should_trigger": true },
    { "query": "I need a pass/fail checklist reps can use to decide if an account is worth working", "should_trigger": true },
    { "query": "Which kinds of companies actually keep renewing with us?", "should_trigger": true },
    { "query": "We keep winning deals that look nothing like who we said we'd sell to", "should_trigger": true },
    { "query": "Our targeting is too broad", "should_trigger": true },
    { "query": "Can you put together a buyer profile document that marketing and sales can share?", "should_trigger": true },
    { "query": "how do we decide which accounts are out of profile", "should_trigger": true },
    { "query": "Draft the anti-ICP for our startup", "should_trigger": true },
    { "query": "Our ICP hasn't been touched in over a year, what do we do about it", "should_trigger": true },
    { "query": "Define the target customer for our residential solar business", "should_trigger": true },
    { "query": "We sell to everyone and it isn't working", "should_trigger": true },
    { "query": "Set up a weighted fit score for accounts before any engagement happens", "should_trigger": true },
    { "query": "What should disqualify an account even when it looks good on paper?", "should_trigger": true },
    { "query": "MQL to SQL dropped to 12% and the reps are ignoring marketing leads entirely", "should_trigger": true },
    { "query": "Help me write the one-paragraph statement of who we sell to", "should_trigger": true },
    { "query": "how often should we revisit who we're targeting", "should_trigger": true },
    { "query": "We only have 15 customers, can we say anything about the pattern yet?", "should_trigger": true },
    { "query": "The board asked who our ideal customer is and I gave three different answers last week", "should_trigger": true },
    { "query": "Profile our best customers so we can go find more like them", "should_trigger": true },
    { "query": "Should we narrow down or open up who we go after?", "should_trigger": true },
    { "query": "our founder says we sell to modern product teams, that feels way too vague", "should_trigger": true },
    { "query": "Build the demographic and psychographic profile of our typical buyer", "should_trigger": true },
    { "query": "I want to know which accounts we should stop wasting time on", "should_trigger": true },
    { "query": "Turn our closed-won data into targeting criteria", "should_trigger": true },
    { "query": "define target customer", "should_trigger": true },
    { "query": "what's the difference between our ICP and our personas", "should_trigger": true },
    { "query": "We sell both B2B and B2C, do we need two customer profiles?", "should_trigger": true },
    { "query": "We just changed our pricing and packaging, does that change who we should target?", "should_trigger": true },
    { "query": "Give me the criteria marketing should use to build the account list", "should_trigger": true },
    { "query": "who buys this product and why do they buy it", "should_trigger": true },
    { "query": "put together the customer fit criteria before we do the territory carve", "should_trigger": true },
    { "query": "Our scoring model says these accounts are perfect but not one of them moves", "should_trigger": true },
    { "query": "We landed a huge logo that churned in a year, how do we stop repeating that?", "should_trigger": true },
    { "query": "Design our account segmentation model with fit and readiness as separate axes", "should_trigger": false },
    { "query": "How do we split accounts into segments for coverage planning?", "should_trigger": false },
    { "query": "Map the whitespace across our existing account base", "should_trigger": false },
    { "query": "Where should the Tier 1 and Tier 2 cutoffs sit on our fit score?", "should_trigger": false },
    { "query": "How many accounts should each AE carry in each tier?", "should_trigger": false },
    { "query": "Design the touch cadence and QBR frequency per account tier", "should_trigger": false },
    { "query": "Estimate our TAM, SAM and SOM for the European market", "should_trigger": false },
    { "query": "How big is the market for warehouse robotics software?", "should_trigger": false },
    { "query": "Size the market bottom-up from our named account list", "should_trigger": false },
    { "query": "Build a lead scoring model based on email opens and pricing page visits", "should_trigger": false },
    { "query": "Score inbound contacts on how ready they are to talk to sales", "should_trigger": false },
    { "query": "Should we run product-led or sales-led growth?", "should_trigger": false },
    { "query": "We're exiting founder-led sales, what motion comes next?", "should_trigger": false },
    { "query": "Set quotas for next year using ramped rep equivalents", "should_trigger": false },
    { "query": "How much over-assignment cushion should we build into quotas?", "should_trigger": false },
    { "query": "Turn these prospect signals into personalization angles for my outreach", "should_trigger": false },
    { "query": "Write a personalized opening line for this prospect based on their funding round", "should_trigger": false },
    { "query": "Build a discovery question set for a 30-minute first call", "should_trigger": false },
    { "query": "What should I ask to uncover pain on a qualification call?", "should_trigger": false },
    { "query": "Score this deal against MEDDPICC", "should_trigger": false },
    { "query": "Is this opportunity actually qualified? Here are my call notes", "should_trigger": false },
    { "query": "Who's the economic buyer in this deal based on these call notes?", "should_trigger": false },
    { "query": "Map the stakeholders on the Ridgeline opportunity", "should_trigger": false },
    { "query": "Review these deal notes for qualification red flags", "should_trigger": false },
    { "query": "Should we run pods or an assembly line sales org?", "should_trigger": false },
    { "query": "What's the right SDR to AE ratio at our stage?", "should_trigger": false },
    { "query": "Design the pay mix and accelerators for our AE comp plan", "should_trigger": false },
    { "query": "Write the interview loop and scorecard for hiring SDRs", "should_trigger": false },
    { "query": "How do I get promoted from SDR to AE?", "should_trigger": false },
    { "query": "Generate and score subject line variants for this cold email", "should_trigger": false },
    { "query": "Check my SPF and DKIM setup before we start sending", "should_trigger": false },
    { "query": "Write me a 20-second cold call opener for a CFO", "should_trigger": false },
    { "query": "Plan a 12-touch outbound cadence across email and LinkedIn", "should_trigger": false },
    { "query": "They said we're too expensive, what do I say back?", "should_trigger": false },
    { "query": "How much pipeline do we need to hit a $4M quarter?", "should_trigger": false },
    { "query": "Turn these call notes into a recap email with next steps", "should_trigger": false },
    { "query": "Plan which concessions I can trade in this renewal negotiation", "should_trigger": false },
    { "query": "Score this call transcript against our call rubric", "should_trigger": false },
    { "query": "Build the ROI and business case for this deal", "should_trigger": false },
    { "query": "Write persona messaging for our VP of Engineering buyer persona", "should_trigger": false },
    { "query": "Build a customer health score to flag churn risk in our existing accounts", "should_trigger": false }
  ]
}
