Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Identifies upsell and cross-sell opportunities within existing customer accounts. Analyzes product usage, feature gaps, team growth, industry benchmarks, and competitive pressure to surface revenue expansion plays scored by potential, effort, and likelihood. Generates an expansion-playbook.md with account-by-account opportunities, recommended pitch, timing, and approach.
.claude/skills/onewave-ai-expansion-revenue-finder/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -48% | 0% |
Analyze a customer portfolio and identify every viable upsell, cross-sell, and expansion opportunity, then rank them by revenue potential, effort, and probability of success so the account team knows exactly where to focus. Optimize for total portfolio expansion revenue, not individual deal wins. Ground every recommendation in data signals, not wishful thinking.
references/data-inputs.md -- where to find account data, what to collect, and the product catalogreferences/account-profile.md -- per-account expansion profile and segment benchmarkingreferences/expansion-triggers.md -- seven trigger categories and the opportunity record templatereferences/scoring.md -- three-dimension scoring rubric, composite formula, and tier interpretationreferences/playbook-template.md -- the full expansion-playbook.md output structurereferences/rules-and-edge-cases.md -- behavioral rules and edge-case handlingreferences/data-inputs.md. If no structured data exists, ask the user to describe their accounts and note reduced scoring confidence.references/account-profile.md. Without external benchmarks, use the portfolio's top quartile as the benchmark.references/expansion-triggers.md. Flag underutilization as a separate "activation opportunity," not an upsell.references/scoring.md.expansion-playbook.md to the working directory (or a user-specified path), sorted by tier and composite score, with pitch, timing, approach, and portfolio-wide insights. See references/playbook-template.md.Apply the behavioral rules and edge-case handling throughout. See references/rules-and-edge-cases.md.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 18,689 | 35,988 | +93% | 1 | 1 | 0% | 2,652 | 3,385 | +28% | 0 | 0 | — |
case-02 | fail→fail | 22,816 | 3,234 | -86% | 1 | 1 | 0% | 2,907 | 711 | -76% | 0 | 0 | — |
case-03 | fail→fail | 25,707 | 1,430 | -94% | 1 | 1 | 0% | 3,937 | 707 | -82% | 0 | 0 | — |
case-04 | pass→pass | 13,869 | 13,652 | -2% | 1 | 1 | 0% | 2,088 | 2,518 | +21% | 0 | 0 | — |
case-05 | fail→pass | 11,134 | 8,973 | -19% | 1 | 1 | 0% | 1,604 | 1,693 | +6% | 0 | 0 | — |
case-14 | fail→pass | 5,004 | 1,889 | -62% | 1 | 1 | 0% | 655 | 758 | +16% | 0 | 0 | — |
case-06 | pass→pass | 11,321 | 6,978 | -38% | 1 | 1 | 0% | 1,705 | 1,598 | -6% | 0 | 0 | — |
case-07 | pass→pass | 13,194 | 6,942 | -47% | 1 | 1 | 0% | 1,872 | 1,612 | -14% | 0 | 0 | — |
case-08 | pass→pass | 9,277 | 8,262 | -11% | 1 | 1 | 0% | 1,319 | 1,724 | +31% | 0 | 0 | — |
case-09 | fail→pass | 10,486 | 5,853 | -44% | 1 | 1 | 0% | 1,437 | 1,362 | -5% | 0 | 0 | — |
case-10 | pass→pass | 11,618 | 4,694 | -60% | 1 | 1 | 0% | 1,871 | 1,278 | -32% | 0 | 0 | — |
case-11 | fail→fail | 14,008 | 3,112 | -78% | 1 | 1 | 0% | 2,198 | 981 | -55% | 0 | 0 | — |
case-12 | pass→pass | 14,832 | 10,321 | -30% | 1 | 1 | 0% | 2,135 | 1,862 | -13% | 0 | 0 | — |
case-13 | pass→pass | 16,261 | 12,232 | -25% | 1 | 1 | 0% | 2,067 | 2,276 | +10% | 0 | 0 | — |
case-15 | fail→pass | 13,476 | 7,980 | -41% | 1 | 1 | 0% | 2,005 | 1,665 | -17% | 0 | 0 | — |
case-16 | fail→pass | 15,392 | 4,852 | -68% | 1 | 1 | 0% | 2,244 | 1,160 | -48% | 0 | 0 | — |
case-17 | fail→pass | 15,414 | 12,190 | -21% | 1 | 1 | 0% | 2,267 | 2,332 | +3% | 0 | 0 | — |
case-18 | pass→pass | 8,751 | 4,112 | -53% | 1 | 1 | 0% | 1,326 | 1,109 | -16% | 0 | 0 | — |
case-19 | pass→pass | 7,150 | 4,048 | -43% | 1 | 1 | 0% | 1,040 | 1,112 | +7% | 0 | 0 | — |
case-20 | fail→fail | 16,375 | 8,760 | -47% | 1 | 1 | 0% | 2,285 | 1,889 | -17% | 0 | 0 | — |
case-21 | pass→pass | 7,269 | 5,489 | -24% | 1 | 1 | 0% | 1,073 | 1,341 | +25% | 0 | 0 | — |
case-22 | pass→pass | 8,773 | 4,335 | -51% | 1 | 1 | 0% | 1,384 | 1,278 | -8% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.