Customer discovery
Skill codeeater/where-to-plai-plugin/plugins/where-to-plai/skills/customer-discovery
This skill should be used to run synthetic customer interviews and draft a "Compelling reason to buy" score for Worksheet 2 of the Market Opportunity Navigator. Triggers include "synthetic customer interviews", "draft a compelling-reason-to-buy score", "simulate customer feedback for this opportunity", "customer discovery for worksheet 2", "what would customers think of this opportunity", "interview synthetic personas about our offer". It derives diverse, web-grounded, skeptical personas, role-plays an interview with each, and returns a PRELIMINARY draft score plus assumptions and a real-interview kit — directional only, never a substitute for getting out of the building.From its SKILL.md
npx -y skills add codeeater/where-to-plai-plugin --skill customer-discoveryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.6 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Customer Discovery (experimental — "Framework plus")
Run synthetic customer discovery for one opportunity and produce a preliminary draft of Worksheet 2's Factor 1 — Compelling reason to buy, from grounded, deliberately skeptical synthetic personas.
Experimental "Framework plus" — read this first. Synthetic personas are, by default, sycophantic and ungrounded: an LLM will happily tell you your idea is great. This skill fights that (web-grounded personas, a skeptic/loyalist/laggard spread, explicit anti-agreeableness instructions), but it still produces a PRELIMINARY DRAFT to break the blank-page problem and to prep real interviews — it is not a substitute for getting out of the building. Real customer contact stays the gold standard. Keep the human in the loop.
Per the project owner's explicit decision, this skill does output a draft score for Compelling reason to buy (Low / Mid / High / Super High) that the team can accept or override — alongside the load-bearing assumptions and an interview kit for the real conversations.
How to run it — detect the engine first
Step 0 — capability check. Before anything else, check whether a Workflow tool is available on this surface. That one fact picks the engine: IF Workflow is available (Claude Code) → run the bundled workflow (Path A). IF it is NOT (Cowork / Agent-SDK and other surfaces) → run the in-skill fallback (Path B). Never block on the missing tool.
Path A — Workflow (Claude Code)
Call the bundled workflow (ships with the plugin — no install step):
Workflow({
scriptPath: "${CLAUDE_PLUGIN_ROOT}/workflows/wf-customer-discovery.js",
args: { opportunity: "<name/description>", value_prop: "<the compelling reason claimed>", workspace: "where-to-play" }
})
You may also pass application, customer and factor. The workflow: (1) one grounded agent derives 4–6 diverse personas via web search — separating the economic buyer from the user, and including a skeptic, an incumbent-loyalist and a laggard, not only the eager early adopter; (2) one agent per persona role-plays a realistic, non-sycophantic interview (real objections, status-quo inertia, "I already have a solution", budget reality); (3) one synthesis agent returns a draft score + honest red/orange/green confidence + rationale + key assumptions + a Mom-Test interview kit + a SYNTHETIC / directional-only note.
Path B — in-skill fallback (Cowork / Agent-SDK)
If Workflow is unavailable, degrade gracefully and reproduce the same flow yourself. (The customer personas are derived dynamically per opportunity — there are no bundled customer-persona agents to call, and the persona-explorer / persona-skeptic agents are idea/scoring-debate lenses, not customers — so generate the personas here rather than spawning fixed agent ids.)
- Generate 4–6 diverse, skeptical personas (buyer vs. user; include a skeptic, an incumbent-loyalist and a laggard), grounded with web search where you have it.
- Interview each persona — spawn them as subagents where supported, otherwise role-play each sequentially in-skill. Instruct each to resist agreeableness and voice real objections, switching barriers and budget reality.
- Synthesise the same output: a draft score (Low/Mid/High/Super High), honest red/orange/green confidence, rationale, key assumptions to validate, and a 5–8 question interview kit.
Note: in-skill role-play shares one context across personas (less isolation than separate subagents), so the personas are less independent — treat the fallback as lower rigor.
After it reports
- Present the draft to the team as a starting point, not a verdict: the proposed Compelling reason to buy score (Low / Mid / High / Super High) with its red / orange / green confidence, the rationale, the diverging buyer-vs-user signals, and the switching barriers.
- Write it into the workspace. Put the draft score + confidence into the Factor 1 section of
where-to-play/02_attractiveness-map/<opportunity>.md(or acustomer-discoverynote beside it), clearly labelled SYNTHETIC / DRAFT. Add the key assumptions towhere-to-play/assumptions.md. - Feed the revisit loop: draft now → run the interview kit with real customers → re-score. Route the (re)scoring itself to the
attractiveness-mapskill — the team sets the final score, never this skill.
Boundaries
- Experimental "Framework plus" — the draft score is provisional and synthetic, a prompt to learn, not a decision. The team accepts or overrides.
- Never let synthetic feedback stand in for real customer contact; the interview kit exists precisely to get the team out of the building.
- Canonical terminology only: Compelling reason to buy; scores Low / Mid / High / Super High; confidence red / orange / green.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.