t0ddc3by/claude-for-customer-success/downgrade-analysis
Claude Code and agent skill by t0ddc3by/claude-for-customer-success
- community
Checking that the SKILL.md file is still in the repository.
Analyzes customer contract downgrade requests (contraction only) and produces a value chain failure map, counter-proposal inputs, and recommended response strategy for CSM/AM negotiation. Scoped to contraction scenarios — full cancellation redirected to renewals:churn-rca.
Install
npx vskill@latest install t0ddc3by/claude-for-customer-success/downgrade-analysisSKILL.md
/renewals:downgrade-analysis [VALIDATED]
Overview
Use when:
- A customer has requested a contract reduction, tier downgrade, seat reduction, module removal, or ARR contraction
- A CSM or AM needs structured analysis of the downgrade driver before entering negotiation
- Preparing a counter-proposal or escalation brief for a renewal at risk of contracting
Do NOT use for:
- Full contract cancellations, terminations, or "cancel everything" requests → use
renewals:churn-rca - Expansion or upsell analysis
- Renewal risk scoring without a specific downgrade request in hand
- Post-mortem analysis after a downgrade has already closed
Typical activation:
"Run downgrade analysis for Acme Corp — they want to cut from 500 to 200 seats, saying the team shrank.""Analyze this downgrade request: customer says they're switching to a cheaper tool."/renewals:downgrade-analysis— then provide operation inputs when prompted
Churn boundary: If the request contains signals of full contract cancellation ("cancel everything," "terminate contract," "no longer proceeding," "shut down the account"), this skill redirects to renewals:churn-rca. Partial reduction of any kind — seats, modules, tier, spend — is in scope.
Use When
- A customer has requested a contract reduction, tier downgrade, seat reduction, module removal, or ARR contraction
- A CSM or AM needs structured analysis of the downgrade driver before entering negotiation
- Preparing a counter-proposal or escalation brief for a renewal at risk of contracting
Do NOT Use For
- Full contract cancellations, terminations, or "cancel everything" requests → use
renewals:churn-rca - Expansion or upsell analysis
- Renewal risk scoring without a specific downgrade request in hand
- Post-mortem analysis after a downgrade has already closed
Typical Activation
"Run downgrade analysis for Acme Corp — they want to cut from 500 to 200 seats, saying the team shrank.""Analyze this downgrade request: customer says they're switching to a cheaper tool."/renewals:downgrade-analysis— then provide operation inputs when prompted
Pre-flight
- Confirm account context (company name, CSM/AM, current contract, renewal date)
- Identify the specific analysis goal (new analyze or update to existing DGA)
- Note any prior analysis or existing documentation to reference
- Check
~/.claude/plugins/config/claude-for-customer-success/company-profile.mdfor company segment and escalation context (company-profile.mdis a runtime config dependency, not a reference file)
G-code dependency: All G-code guardrails referenced in this skill (G1–G9) are defined in the CLAUDE.md config loaded above. If Pre-flight halts or config is missing, G-codes are undefined — do not proceed with partial config.
Operations
This skill supports two operations: analyze and update.
Operation: analyze
Creates a new downgrade analysis record and writes it to disk.
Input fields:
| Field | Type | Required | Description | |
|---|---|---|---|---|
| operation | string | Yes | Must be "analyze" | |
| account_name | string | Yes | Account name — used for file path and display | |
| csm_name | string | Yes | CSM or AM initiating the analysis | |
| downgrade_request | string | Yes | Free-text description of what the customer wants to reduce | |
| current_contract | string | No | Current tier, product name, or ARR | |
| driver_category | string | No | One of: budget_pressure, reduced_scope, feature_underutilization, competitive_pressure, dissatisfaction. Inferred if omitted. | |
| ocv_snapshot | string | No | OCV/outcome data snapshot — advisory signal for value delivery correlation | |
| notes | string | No | Additional CSM/AM context |
Auto-generated fields (immutable after creation):
dga_id:DGA-[ACCT]-[YYYYMMDD]-[SEQ]— ACCT is first 8 chars of safe_account uppercased, SEQ is 3-digit sequence starting 001created_at: ISO 8601 datetimecreated_by: session user
Scope redirect — full churn detection: If downgrade_request contains any of the following signals, return the redirect message and do not create a file:
- "cancel everything" / "cancel the contract" / "cancel our subscription"
- "terminate contract" / "terminate the agreement"
- "no longer proceeding" / "shutting down" / "going out of business"
- "end our relationship" / "close the account"
Redirect message (exact):
Driver category inference (when `driver_category` not provided):
| Signal vocabulary in request | Inferred category | |
|---|---|---|
| cost, price, budget, expensive, afford, overpaying, ROI, justify spend | budget_pressure | |
| fewer users, less volume, smaller team, headcount, reduced seats, team shrank | reduced_scope | |
| not using, don't need all features, too complex, not adopted, only using part | feature_underutilization | |
| competitor, alternative, switching, vendor, cheaper tool, evaluating others | competitive_pressure | |
| problems, unhappy, support, broken, frustrated, disappointed, not working | dissatisfaction |
Mixed-signal handling: if two or more categories are signaled, identify the primary (strongest/most explicit signal) and note secondary signals in the analysis. Load references/downgrade-driver-taxonomy.md for full heuristics.
Analysis output structure:
Output file path: context/downgrade-analysis-[safe_account]-[YYYY-MM-DD].md
Operation: update
Appends new information to an existing downgrade analysis. Never overwrites prior content.
Input fields:
| Field | Type | Required | Description | |
|---|---|---|---|---|
| operation | string | Yes | Must be "update" | |
| dga_id | string | Yes | Target analysis ID (e.g., DGA-ACMECORP-20260517-001) | |
| additional_context | string | Yes | New information to append | |
| revised_driver_category | string | No | If new info changes driver classification — one of the 5 valid categories | |
| ocv_snapshot | string | No | Updated OCV data — appended alongside prior snapshot | |
| notes | string | No | Additional notes |
Immutable fields — update rejected if provided as modifications: dga_id, created_at, created_by, account_name
Error message format:
Update block format (appended to file):
Output Format
File naming convention
context/downgrade-analysis-[safe_account]-[YYYY-MM-DD].md
safe_account derivation (file paths only — never used for display)
- Lowercase the full
account_name - Replace all non-alphanumeric characters with
- - Collapse consecutive hyphens to a single hyphen
- Trim to 30 characters maximum
Examples:
Acme Corp→acme-corpO'Brien & Associates, LLC→o-brien-associates-llc(trimmed if over 30 chars)
Output file YAML frontmatter
Reasoning Protocol
Before generating output, apply these primers:
- CLASSIFY: What type of downgrade analysis request is this?
- New Analysis (
analyze): New downgrade request — driver classification, value chain failure map, counter-proposal inputs, response strategy. - Update (
update): Append new context to an existing DGA record — preserve prior analysis verbatim, append as numbered update block.
- CONSTRAINTS: What limits the solution space?
- G4: Escalation triggers must be specific and actionable — not generic "escalate to your manager."
- G5: Counter-proposal inputs (walk-away figures, concession authority, competitive analysis) are CSM/AM internal use only — never include in customer-facing output.
- Never infer driver category from a single ambiguous signal — require clear signal vocabulary match or flag as mixed-signal.
- EXPERT CHECK: What would a veteran renewals specialist verify first?
- Is the value chain failure classification (Missing link / Broken link / Non-value-chain) correctly matched to the driver category and OCV data?
- Does the recommended response strategy address the actual driver — not the surface objection?
- ANTI-PATTERNS: Common mistakes to avoid:
- Accepting the stated downgrade reason as the root driver without checking for secondary signals in the vocabulary.
- Classifying a budget cut as a value chain failure when it is a non-value-chain driver (external mandate).
- Generating escalation triggers that are time-based but not tied to a specific outcome or escalation owner.
- Proceeding to counter-proposal without first checking for full-churn signals — always run the redirect check first.
- Modifying immutable fields (dga_id, created_at, created_by, account_name) in update operations — these are locked at creation.
After execution, verify:
- Did the full-churn signal check run before any analysis?
- Is the value chain failure classification consistent with the driver category and OCV evidence?
- Are escalation triggers specific (condition, owner, timeframe)?
- Confidence: [High] when account data is complete and driver vocabulary is unambiguous / [Medium] when partial data or mixed signals / [Low] if inputs are manual or inferred
For analyze operations
Step 1 — Full-churn signal check Scan downgrade_request for cancellation vocabulary. If found, return scope redirect message and stop. Do not create a file.
Step 2 — Derive safe_account Apply the 4-step derivation: lowercase → replace non-alphanumeric with - → collapse hyphens → trim to 30 chars. Confirm derivation before using in file path.
Step 3 — Driver category resolution If driver_category is provided: validate against the 5-category enum. If invalid, return error and stop. If driver_category is not provided: scan downgrade_request for signal vocabulary per inference table. Identify primary category. Note secondary signals. Set driver_source to inferred.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingrenewals/skills/downgrade-analysis/SKILL.md
Popularity
- Repository stars
- 62
- Repository forks
- 21
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/t0ddc3by/claude-for-customer-success/downgrade-analysis)