Skip to content

Add win-loss-analyzer skill for B2B SaaS buyer-direct interview programs - #47

Closed
Karanjot786 wants to merge 2 commits into
mainfrom
add-win-loss-analyzer
Closed

Add win-loss-analyzer skill for B2B SaaS buyer-direct interview programs#47
Karanjot786 wants to merge 2 commits into
mainfrom
add-win-loss-analyzer

Conversation

@Karanjot786

@Karanjot786 Karanjot786 commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds win-loss-analyzer skill: a complete win/loss program for B2B SaaS and developer-first companies
  • Built on the verified finding that CRM loss reasons diverge from actual buyer reasoning 50-70% of the time, making buyer-direct interviews the only reliable signal source
  • Includes a PLG-specific track for trial conversion losses that never appear in CRM deal records

What the skill covers

  • CRM self-report bias problem with a three-row table showing what each party says and why it diverges from reality
  • Deal selection criteria: which deals to interview, stage filter, ACV floor, and the 30-60 day recall window
  • Full interview guide: broad narrative openers, four core topic areas (product, sales, pricing, competitive), follow-up probe patterns, and the 5 Whys technique
  • Driver tagging taxonomy with six categories (Pricing, Product, Sales Experience, Support, Competitive, Value/Fit) and sentiment tracking per interview
  • Deal metadata capture schema ready for Notion, Airtable, or a Google Sheet
  • Founder-scale cadence: 5 interviews/month, no analyst required, with weekly sales digests and monthly product readouts
  • Pattern detection by outcome, segment, competitor, and deal stage
  • Insight routing table: which finding goes to which team with what action

Key research finding

CRM "price" as a loss reason is almost always a proxy for something else. The 5 Whys technique applied in a buyer-direct interview moves "price was too high" to "per-seat model doesn't fit our headcount spikes" to "CFO needs predictable fixed costs" in three steps. That is an actionable pricing structure decision, not a price objection.

Test plan

  • validate-pr.ts passes: win-loss-analyzer is valid
  • build-registry.ts updated packages/cli/registry.json
  • update-readme.ts regenerated root README
  • update-contributing.ts updated CONTRIBUTING.md
  • 4 eval test cases in evals/evals.json covering: CRM bias and program setup, post-deal interview questions, PLG trial conversion losses, and pattern detection from existing interview notes

Builds a complete win/loss analysis program grounded in the CRM
self-report bias problem: CRM loss reasons diverge from actual buyer
reasoning 50-70% of the time, making buyer-direct interviews the only
reliable signal source.

Covers interview design (broad-to-narrow narrative funnel, four core
topic areas, follow-up probe patterns, 5 Whys technique), driver
tagging taxonomy with six categories and sentiment tracking, deal
metadata schema, and a founder-scale cadence with routing rituals.
Includes a PLG-specific track for trial conversion losses that never
appear in CRM deal records.
@Karanjot786
Karanjot786 force-pushed the add-win-loss-analyzer branch from 459514a to 137b4ef Compare June 18, 2026 16:37
@greptile-apps

greptile-apps Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds the win-loss-analyzer skill — a structured buyer-direct interview program for B2B SaaS win/loss analysis — including SKILL.md, README.md, evals, and the corresponding registry and root README updates.

  • skills/win-loss-analyzer/SKILL.md contains the full program: CRM bias explanation, deal selection criteria, interview guide with 5 Whys probes, driver tagging taxonomy, deal metadata schema, a founder-scale cadence, and an insight routing table.
  • packages/cli/registry.json gains a new entry (correctly alphabetized) and README.md counters are bumped from 61 to 62; all five referenced complementary skills (competitor-pr-finder, gh-issue-to-demand-signal, pricing-finder, map-your-market, outreach-sequence-builder) exist in the repo.
  • The registry entry ships with \"tags\": [], which is the only deviation from the majority of skill entries that carry at least one tag.

Confidence Score: 4/5

Safe to merge — this is a purely additive documentation skill with no executable code paths affected.

All referenced complementary skills exist, the registry entry is correctly alphabetized, and the counter updates are consistent across README.md. The only gap is the empty tags array in the registry entry, which limits discoverability through the CLI's category filter but doesn't break anything.

packages/cli/registry.json — the empty tags field is the one thing worth a second look before merge.

Important Files Changed

Filename Overview
skills/win-loss-analyzer/SKILL.md New skill file with comprehensive win/loss interview program. Frontmatter, structure, and all five referenced complementary skills are valid and present in the repo.
skills/win-loss-analyzer/README.md Standard install README matching the template used by other skills; no structural issues.
packages/cli/registry.json New entry correctly inserted in alphabetical order between where-your-customer-lives and yc-intent-radar-skill, but tags is empty while most other entries carry at least one tag.
skills/win-loss-analyzer/evals/evals.json Four eval cases covering CRM bias, post-deal interview questions, PLG trial losses, and pattern detection. Format is consistent with the simpler eval style used by other skills in the repo.
README.md Counter bumped from 61 to 62 in the badge URL, badge label, and prose copy; new table row appended at the end of the skills list.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Deal Closes] --> B{In CRM?}
    B -- Yes --> C[Apply Selection Filters\nstage · ACV floor · 30-60d window]
    B -- No / PLG Trial --> D[Separate PLG Track\nchurned high-fit trial users]
    C --> E[Schedule Buyer-Direct Interview\nnot the rep who worked the deal]
    D --> E
    E --> F[Run Interview\nnarrative opener → 4 core areas\n5 Whys probes]
    F --> G[Tag Drivers 3-5 per deal\nPricing · Product · Sales · Support · Competitive · Value]
    G --> H[Log to Notion / Airtable / Sheet\ndeal metadata + key quotes]
    H --> I{Pattern\ndetected?}
    I -- No: fewer than 8-10 matching --> J[Continue accumulating interviews]
    J --> E
    I -- Yes --> K[Route Insight]
    K --> L[Product\nmissing feature · ICP mismatch · PLG activation]
    K --> M[Sales\nprocess friction · battlecard update]
    K --> N[Marketing\npricing page · ICP tightening]
    K --> O[Exec / Founders\nquarterly report · win-rate by segment]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Deal Closes] --> B{In CRM?}
    B -- Yes --> C[Apply Selection Filters\nstage · ACV floor · 30-60d window]
    B -- No / PLG Trial --> D[Separate PLG Track\nchurned high-fit trial users]
    C --> E[Schedule Buyer-Direct Interview\nnot the rep who worked the deal]
    D --> E
    E --> F[Run Interview\nnarrative opener → 4 core areas\n5 Whys probes]
    F --> G[Tag Drivers 3-5 per deal\nPricing · Product · Sales · Support · Competitive · Value]
    G --> H[Log to Notion / Airtable / Sheet\ndeal metadata + key quotes]
    H --> I{Pattern\ndetected?}
    I -- No: fewer than 8-10 matching --> J[Continue accumulating interviews]
    J --> E
    I -- Yes --> K[Route Insight]
    K --> L[Product\nmissing feature · ICP mismatch · PLG activation]
    K --> M[Sales\nprocess friction · battlecard update]
    K --> N[Marketing\npricing page · ICP tightening]
    K --> O[Exec / Founders\nquarterly report · win-rate by segment]
Loading

Comments Outside Diff (1)

  1. packages/cli/registry.json, line 587-594 (link)

    P2 Missing tags for discoverability

    The tags field is empty ([]), while skills like app-store-review-arbitrage, blog-cover-image-cli, and brand-alchemy carry tags such as "Copywriting" or "Branding". The CLI's list command uses these tags to filter and group skills, so a user searching by a sales or GTM category won't surface this skill. Appropriate tags would be something like "Sales", "GTM", or "Competitive Intelligence".

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Reviews (1): Last reviewed commit: "refactor: streamline compatibility forma..." | Re-trigger Greptile

@Karanjot786
Karanjot786 requested a review from farizanjum June 19, 2026 03:13
@farizanjum

Copy link
Copy Markdown
Contributor

Closing this PR. The win-loss-analyzer skill is a buyer-interview methodology doc, not a capability. Interview frameworks are better delivered as a blog post or Notion template, not an agent skill.

@farizanjum farizanjum closed this Jul 3, 2026
@farizanjum
farizanjum deleted the add-win-loss-analyzer branch July 3, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants