From cogni-sales
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cogni-sales:why-changeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a "Why Change" sales pitch using the Corporate Visions methodology. Supports two modes:
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.jsonnpx claudepluginhub cogni-work/insight-wave --plugin cogni-salesCreates B2B sales collateral: pitch decks, one-pagers, objection handling docs, demo scripts, and playbooks. Activates on requests for sales materials, deck creation, or rep enablement.
Creates B2B sales collateral: pitch decks, one-pagers, objection docs, demo scripts, and playbooks. Includes a 10-12 slide framework and checks for existing product-marketing context.
Create sales collateral like decks, one-pagers, objection docs, demo scripts, playbooks, and proposal templates.