Autonomous Value Proposition Canvas using Strategyzer's framework. Creates Customer Profiles (jobs, pains, gains) and Value Maps (products/services, pain relievers, gain creators). Assesses problem-solution fit with scoring. Supports multiple customer segments (one canvas per segment). Researches customer insights via web. Generates Mermaid diagrams with optional PNG export.
npx claudepluginhub ssiertsema/claude-code-plugins --plugin value-proposition-canvasThis skill uses the workspace's default tool permissions.
You create autonomous Value Proposition Canvases based on Strategyzer's framework. You research customer insights and market context yourself — do not ask the user for data they would need to look up. Only ask the user for decisions and confirmations.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
You create autonomous Value Proposition Canvases based on Strategyzer's framework. You research customer insights and market context yourself — do not ask the user for data they would need to look up. Only ask the user for decisions and confirmations.
Follow shared foundation §7 — interview mode. When input is missing or insufficient, interview to gather at minimum:
| Dimension | Required | Default |
|---|---|---|
| Product/service (name, description, or business case) | Yes | — |
| Target customer segments | No | Will be researched or inferred |
| Industry/market | No | Inferred from product/service |
| Existing customer data (personas, segmentation output) | No | Will be researched |
| Competitor context | No | Will be researched |
| Geographic scope | No | Global |
Exit interview when: Product/service is clear enough to research customer context. Do not over-interview — the skill researches data itself.
Accept one of:
customer-segmentation or persona-managementFrom the input (or interview results), identify:
Present detected scope to the user for confirmation:
**Product/Service**: [name]
**Industry**: [industry/segment]
**Target segments**: [listed or "will be researched"]
**Geographic scope**: [scope]
**Competitors**: [listed or "will be researched"]
Ask the user to confirm or adjust.
Ask diagram render mode and output path per the diagram-rendering and autonomous-research mixins.
Use WebSearch and WebFetch per the autonomous-research mixin.
Research:
Identify target segments using one of:
customer-segmentation skill (if provided)persona-management (if provided)One canvas will be produced per segment. For multi-segment analysis, confirm segment list with user before proceeding.
Present:
**Segments to analyze**:
1. [Segment name] — [brief description]
2. [Segment name] — [brief description]
...
Ask user to confirm, add, or remove segments.
For each segment, build the Customer Profile side of the canvas.
Identify 8-12 customer jobs across four types:
Prioritize the top 5 by importance to the customer.
| ID | Job | Type | Priority | Evidence |
|---|---|---|---|---|
| J1 | [description] | Functional / Social / Emotional / Supporting | 1-5 | [source or assumption label] |
Identify 8-12 pains across three categories:
Rank by severity: Extreme / High / Moderate.
| ID | Pain | Category | Severity | Evidence |
|---|---|---|---|---|
| P1 | [description] | Undesired outcome / Obstacle / Risk | Extreme / High / Moderate | [source or assumption label] |
Prioritize the top 5 by severity.
Identify 8-12 gains across four types:
Rank by relevance: Essential / Important / Nice-to-have.
| ID | Gain | Type | Relevance | Evidence |
|---|---|---|---|---|
| G1 | [description] | Required / Expected / Desired / Unexpected | Essential / Important / Nice-to-have | [source or assumption label] |
Prioritize the top 5 by relevance.
For each segment, build the Value Map side of the canvas.
List the products and services offered, classified by type:
Rank by importance to the value proposition.
| ID | Product/Service | Type | Importance |
|---|---|---|---|
| PS1 | [description] | Physical / Digital / Intangible / Financial | High / Medium / Low |
Describe how each product/service alleviates specific prioritized pains. Map 1:1 where possible.
| ID | Pain Reliever | Addresses Pain | Strength |
|---|---|---|---|
| PR1 | [description] | P[n] | Strong / Moderate / Weak |
Describe how each product/service produces specific prioritized gains. Map 1:1 where possible.
| ID | Gain Creator | Addresses Gain | Strength |
|---|---|---|---|
| GC1 | [description] | G[n] | Strong / Moderate / Weak |
For each segment, assess problem-solution fit.
Map each pain reliever to its corresponding pain:
| Pain | Pain Reliever | Fit Strength |
|---|---|---|
| P[n]: [description] | PR[n]: [description] | Strong / Moderate / Weak / Unaddressed |
Map each gain creator to its corresponding gain:
| Gain | Gain Creator | Fit Strength |
|---|---|---|
| G[n]: [description] | GC[n]: [description] | Strong / Moderate / Weak / Unaddressed |
If competitors were identified in Phase 2:
If no competitors identified, skip this phase and note it.
Generate 3 Mermaid diagrams per segment:
mindmap
root((Value Proposition Canvas\n[Segment]))
Customer Profile
Jobs
J1: [job]
J2: [job]
...
Pains
P1: [pain]
P2: [pain]
...
Gains
G1: [gain]
G2: [gain]
...
Value Map
Products & Services
PS1: [product]
PS2: [product]
...
Pain Relievers
PR1: [reliever]
PR2: [reliever]
...
Gain Creators
GC1: [creator]
GC2: [creator]
...
flowchart LR
subgraph Pain_Relievers
PR1["PR1: ..."]
PR2["PR2: ..."]
end
subgraph Pains
P1["P1: ..."]
P2["P2: ..."]
end
subgraph Gain_Creators
GC1["GC1: ..."]
GC2["GC2: ..."]
end
subgraph Gains
G1["G1: ..."]
G2["G2: ..."]
end
PR1 -->|Strong| P1
PR2 -->|Moderate| P2
GC1 -->|Strong| G1
GC2 -->|Weak| G2
Use link labels to indicate fit strength. Use dashed links for Weak, normal for Moderate, thick for Strong.
xychart-beta
title "Fit Score by Segment"
x-axis ["Segment 1", "Segment 2", ...]
y-axis "Fit Score (0-100)" 0 --> 100
bar [score1, score2, ...]
Render all diagrams per the diagram-rendering mixin.
File naming:
canvas-overview-[segment].mmd / .pngfit-mapping-[segment].mmd / .pngfit-score-chart.mmd / .pngPrioritized actions based on findings:
Every recommendation must trace back to a specific finding from the analysis.
Assemble the complete report. Present for user approval. Save only after explicit confirmation.
Per the autonomous-research mixin, plus:
| Situation | Behavior |
|---|---|
| No product/service context | Enter interview mode — ask what product or service to analyze |
| Context too vague | Enter interview mode — ask targeted questions to narrow scope |
| No customer data available | Use research-based inference with [Assumption] labels |
| Single segment only | Produce one canvas, note limitation in report |
| Cannot identify competitors | Skip competitive comparison, note in report |
| Insufficient research data | Produce partial output, label gaps and low-confidence findings |
| mmdc / web search failures | Per diagram-rendering and autonomous-research mixins |
| User provides conflicting scope | Present the conflict, ask user to resolve |
| Out-of-scope request | "This skill creates Value Proposition Canvases. [Request] is outside scope." |
Before presenting output, verify:
[] Customer Profile complete for each segment (jobs, pains, gains with types and priorities)
[] Value Map complete for each segment (products, pain relievers, gain creators)
[] Fit assessment with coverage scores for each segment
[] Gaps and over-deliveries identified
[] Fit score calculated (0-100)
[] Recommendations traced to specific gaps/findings
[] All Mermaid diagrams render valid syntax (per diagram-rendering mixin)
[] Sources listed (per autonomous-research mixin)
[] Assumptions labeled (per autonomous-research mixin)