Create a Why Change sales pitch for a named customer or a reusable segment pitch for a market. Produces sales-presentation.md and sales-proposal.md using the Corporate Visions methodology (Why Change, Why Now, Why You, Why Pay). Builds on cogni-portfolio propositions and solutions with web research. Use when the user mentions 'sales pitch', 'why change', 'acquisition pitch', 'create a pitch for [customer]', 'sales presentation', 'proposal for [customer]', 'pitch for [company]', 'new customer pitch', 'segment pitch', 'market pitch', 'reusable pitch', 'pitch for a segment', 'pitch template for [market]', or wants to create B2B sales materials for a named prospect or market segment — even if they don't say 'why change' explicitly.
From cogni-salesnpx claudepluginhub cogni-work/insight-wave --plugin cogni-salesThis skill is limited to using the following tools:
evals/evals.jsonreferences/output-specs.mdreferences/pitch-data-model.mdProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Create a "Why Change" sales pitch using the Corporate Visions methodology. Supports two modes:
Both modes produce two deliverables: sales-presentation.md (narrative arc) and sales-proposal.md (formal proposal with pricing).
This skill applies the Corporate Visions story arc defined in cogni-narrative:
cogni-narrative/skills/narrative/references/story-arc/corporate-visions/arc-definition.mdThe arc has four elements, each with detailed patterns the researcher agent reads and applies:
Run the discovery script to find available portfolios:
"${CLAUDE_PLUGIN_ROOT}/scripts/discover-portfolio.sh" --workspace "$(pwd)"
Present discovered portfolios to the user:
Portfolio projects found:
1. acme-cloud (4 products, 12 features, 3 markets, 8 propositions)
If only one portfolio: confirm automatically. If multiple: ask user to select.
Ask the user via AskUserQuestion:
"Are you creating a pitch for a named customer or a reusable segment pitch for a market?"
Customer mode:
Segment mode:
markets/*.json)segment_name from the selected market's display namecustomer_industry from the market's industry fieldCustomer mode: Read all markets from the selected portfolio (markets/*.json). Match customer_industry to market segments by vertical/industry alignment.
Segment mode: Market was already selected in Step 0.2 — skip this step.
Set market_slug in pitch-log.json.
Glob for **/tips-value-model.json in the workspace. If found:
tips_path in pitch-log.json (enables enriched evidence in all phases)tips_path: null)Inform the user: "Found TIPS project for {industry} — will enrich with strategic trend evidence" or "No TIPS data found — proceeding with portfolio data only."
Read products and features from the portfolio. Ask the user:
"Would you like to pitch the full portfolio or focus on specific products/features?"
solution_focus emptysolution_focusCustomer mode: Ask the user for key buyer roles:
Segment mode: Load buyer personas from the portfolio's customer profiles for this market (customers/{market}.json). If buyer personas exist, use them as defaults. Otherwise ask for typical titles in this segment.
Store titles in buying_center in pitch-log.json.
Check for .workspace-config.json in the working directory. If it has a language field, use it. Otherwise ask:
"Should the pitch be in English or German?"
Run the initialization script:
Customer mode:
"${CLAUDE_PLUGIN_ROOT}/scripts/init-pitch-project.sh" \
--customer-name "{customer_name}" \
--pitch-mode customer \
--language "{language}" \
--workspace "$(pwd)"
Segment mode:
"${CLAUDE_PLUGIN_ROOT}/scripts/init-pitch-project.sh" \
--segment-name "{segment_name}" \
--pitch-mode segment \
--language "{language}" \
--workspace "$(pwd)"
Then update pitch-log.json with all collected context (customer_domain, customer_industry, market_slug, portfolio_path, tips_path, company_name, solution_focus, buying_center).
-> Proceed immediately to Phase 1.
Delegate to the why-change-researcher agent:
Agent tool:
agent: why-change-researcher
prompt: |
project_path: {project_path}
phase: why-change
The agent will:
why-change-patterns.md from cogni-narrative (PSB structure, contrast patterns)01-why-change/research.json and 01-why-change/narrative.mdQuality Gate: Present the key findings to the user:
Phase 1: Why Change — Key Findings for {target}
Strategic themes driving this pitch:
1. [theme_name] — [why_change_angle] (source: tips|portfolio)
2. [theme_name] — [why_change_angle] (source: tips|portfolio)
3. ...
Unconsidered needs identified:
1. [headline] — [one-line summary with key evidence]
2. [headline] — [one-line summary]
3. [headline] — [one-line summary]
Claims registered: N (for verification)
Approve to continue, or provide feedback to revise.
The strategic themes come from theme-brief.json generated during Phase 2.5 of the researcher agent. Surfacing them here lets the user course-correct theme selection before subsequent phases build on these themes.
Use AskUserQuestion with options: "Approve and continue", "Revise with feedback".
If revise: re-invoke the researcher with user feedback appended to the prompt.
If approve: update pitch-log.json (phases_completed += ["why-change"], current_phase = "why-now").
-> Proceed immediately to Phase 2.
Delegate to the why-change-researcher agent:
Agent tool:
agent: why-change-researcher
prompt: |
project_path: {project_path}
phase: why-now
The agent will:
why-now-patterns.md from cogni-narrative (forcing functions, urgency quantification)02-why-now/research.json and 02-why-now/narrative.mdQuality Gate: Present timing triggers and cost of inaction summary. Same approve/revise pattern.
Update pitch-log.json. -> Proceed to Phase 3.
Delegate to the why-change-researcher agent:
Agent tool:
agent: why-change-researcher
prompt: |
project_path: {project_path}
phase: why-you
The agent will:
why-you-patterns.md from cogni-narrative (differentiators with IS-DOES-MEANS)03-why-you/research.json and 03-why-you/narrative.mdIS/DOES/MEANS semantics (critical): IS describes YOUR SOLUTION or capability ("Eine integrierte OT/IT-Sicherheitsplattform..."), NOT the customer's problem. The researcher generates IS cells by starting from solutions/{feature}--{market}.json capability descriptions and adapting them to the buyer's context — this prevents problem-language from leaking into IS cells. DOES states what the solution does for the buyer (outcomes with numbers, You-Phrasing). MEANS explains why competitors can't replicate it (moat: time, experience, network, certification).
Quality Gate: Present the differentiators table with IS/DOES/MEANS. Same approve/revise pattern as other phases.
Update pitch-log.json. -> Proceed to Phase 4.
Delegate to the why-change-researcher agent:
Agent tool:
agent: why-change-researcher
prompt: |
project_path: {project_path}
phase: why-pay
The agent will:
why-pay-patterns.md from cogni-narrative (compound cost calculation)04-why-pay/research.json and 04-why-pay/narrative.mdQuality Gate: Present business case summary with investment vs inaction ratio. Same approve/revise pattern.
Update pitch-log.json. -> Proceed to Phase 5.
Delegate to the pitch-synthesizer agent:
Agent tool:
agent: pitch-synthesizer
prompt: |
project_path: {project_path}
The agent will:
output/sales-presentation.md and output/sales-proposal.mdUpdate pitch-log.json (phases_completed += ["synthesize"], current_phase = "review").
-> Proceed immediately to Phase 5.5.
After the pitch-synthesizer produces deliverables, run a closed assess-revise-reassess loop using the pitch-review-assessor and pitch-revisor agents. This catches failures that per-phase quality gates miss — wrong buyer needs, incredible claims, thin differentiation, weak business case — before the pitch reaches the customer.
Skip condition: If the user explicitly said "skip review" during setup, skip this phase and proceed directly to Completion.
Delegate to the pitch-review-assessor agent:
Agent tool:
agent: pitch-review-assessor
prompt: |
project_path: {project_path}
The agent reads both deliverables, pitch-log.json, claims.json, and portfolio data. It evaluates
from three perspectives (target buyer, sales director, marketing director) and writes the
assessment to output/pitch-review.json.
Present results to the user:
Phase 5.5: Stakeholder Review — {target}
| Perspective | Score | Verdict |
|-------------|-------|---------|
| Target Buyer ({buyer_role}) | {score}/100 | {pass/warn/fail} |
| Sales Director | {score}/100 | {pass/warn/fail} |
| Marketing Director | {score}/100 | {pass/warn/fail} |
Overall: {accept/revise/reject} ({overall_score}/100)
{If critical_improvements exist: "Critical issues: ..." }
{If high_improvements exist: "Improvements identified: N high-priority" }
Verdict handling:
Archive the assessment: copy output/pitch-review.json to output/pitch-review-v1.json
Delegate to the pitch-revisor agent:
Agent tool:
agent: pitch-revisor
prompt: |
project_path: {project_path}
assessment_path: {project_path}/output/pitch-review-v1.json
The revisor applies surgical fixes to both deliverables, prioritized by severity (CRITICAL → HIGH).
It writes output/revision-log.json with details of what was changed and preserved.
Agent tool:
agent: pitch-review-assessor
prompt: |
project_path: {project_path}
Archive the second assessment as output/pitch-review-v2.json
Present comparison to the user:
Revision Results (Pass 2):
| Perspective | Before | After | Delta |
|-------------|--------|-------|-------|
| Target Buyer ({buyer_role}) | {v1_score} | {v2_score} | {delta} |
| Sales Director | {v1_score} | {v2_score} | {delta} |
| Marketing Director | {v1_score} | {v2_score} | {delta} |
Overall: {v2_verdict} ({v2_overall_score}/100, was {v1_overall_score}/100)
Fixes applied: {N} | Sections modified: {list}
Maximum 2 revision passes. If the second assessment is still "revise", present the scores
and proceed to Completion. Do not loop further — diminishing returns and oscillation risk
increase with each pass. The user can run /copywrite for additional polish.
Update pitch-log.json (phases_completed += ["review"], current_phase = "done").
-> Proceed to Completion.
Present the deliverables to the user:
Customer mode:
Pitch complete for {customer_name}!
Deliverables:
- {project_path}/output/sales-presentation.md (Why Change narrative)
- {project_path}/output/sales-proposal.md (formal proposal with pricing)
- {project_path}/output/pitch-review.json (stakeholder assessment)
Stakeholder Scores: Buyer {N}/100 | Sales {N}/100 | Marketing {N}/100
Claims registered: {N} — run `/claims verify` to validate sources.
Optional next steps:
- `/copywrite sales-presentation.md` — polish with cogni-copywriting
- `/pptx create sales-presentation.md` — generate slide deck via cogni-visual
Segment mode:
Segment pitch complete for {segment_name}!
Deliverables:
- {project_path}/output/sales-presentation.md (Why Change narrative — reusable)
- {project_path}/output/sales-proposal.md (segment proposal template — reusable)
- {project_path}/output/pitch-review.json (stakeholder assessment)
Stakeholder Scores: Buyer {N}/100 | Sales {N}/100 | Marketing {N}/100
Claims registered: {N} — run `/claims verify` to validate sources.
These deliverables serve as reusable templates for any customer in the {segment_name} segment.
To create a customer-specific pitch based on this template, run `/why-change` in customer mode.
Optional next steps:
- `/copywrite sales-presentation.md` — polish with cogni-copywriting
- `/pptx create sales-presentation.md` — generate slide deck via cogni-visual
If the user wants to continue a pitch that was interrupted:
pitch-status.sh on the project pathworkflow_state.current_phase and phases_completed"pricing_source": "industry_benchmark" in pitch-log.json"competitor_source": "web_research" in pitch-log.json