Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Health Tier Design

ASecurity

Design a transparent, explainable rule-based customer-success health tier (Green/Yellow/Red) from multi-source signals: signal selection, weighting, thresholds, per-signal evidence display, and tuning against actual past churn. Reach for this skill when designing a new health tier, refreshing one that has stopped predicting outcomes, or deciding how a Red account should explain itself. Domain-neutral — generalized from the EdTech partner-health-scoring pattern; no vertical assumptions.

7 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentsrustgoreactexpress

Works with

cli

Security Analysis

A100/100

Scanned 9/23/2026

$npx -y skills add mcorbett51090/RavenClaude --skill health-tier-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Health Tier Design?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Health Tier Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-health-tier-design/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-health-tier-design)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: health-tier-design
description: "Design a transparent, explainable rule-based customer-success health tier (Green/Yellow/Red) from multi-source signals: signal selection, weighting, thresholds, per-signal evidence display, and tuning against actual past churn. Reach for this skill when designing a new health tier, refreshing one that has stopped predicting outcomes, or deciding how a Red account should explain itself. Domain-neutral — generalized from the EdTech partner-health-scoring pattern; no vertical assumptions."
---

# Skill: Health-Tier Design

A customer-success health tier is useful only when it changes what the CS team does on Tuesday morning. A tier nobody acts on is decoration; a tier nobody can explain is distrusted. This skill keeps the tier transparent, explainable, and honest.

This is the **domain-neutral** generalization of the partner-health-scoring pattern — the reusable CS mechanics, with vertical specifics (K-12 / EdTech / LMS / segment calendars) stripped out. Used by `cs-analytics-architect` (designs the tier into the data model) and `churn-signal-analyst` (validates the signals + thresholds).

## Step 0 — One opinion up front: rule-based and explainable in phase 1

Phase 1 is a **transparent rule-based tier**, not a learned model. Every Red shows *why*. Anchor on the customer-success platform's native health score if the team already trusts it (pull it as-is; don't silently recompute), and surface extra signals *additively* as visible sub-indicators. A black-box ML score is a later option, never the phase-1 default — trust and adoption are the whole game early, and a tier nobody can read torpedoes both. See [`../../knowledge/cs-health-metrics-and-churn-indicators.md`](../../knowledge/cs-health-metrics-and-churn-indicators.md) §7.

## Step 1 — Define the outcome the tier predicts

A tier is a prediction of *something*. Pick the one that drives the most action:

- **Churn risk** — probability of non-renewal in the next 90 / 180 days (the usual phase-1 choice)
- **Expansion readiness** — probability the account is ready for a grow motion this quarter
- **Adoption trajectory** — directional (improving / flat / declining) regardless of absolute level
- **Composite "health"** — blended; least precise, most-loved by leadership; a fallback when nothing else fits

If tempted to say "all of them," pick the one that drives the most action. Composite is the fallback.

## Step 2 — Pick the signals (5-7 max; more is noise)

Choose signals that *predict the outcome*, not signals the dashboard happens to have. Domain-neutral signal categories:

| Category | Example signals |
|---|---|
| **Usage trend** | 30/60/90-day usage *slope* (not absolute level); rolling active count vs. baseline |
| **Health-score trend** | 7/30-day delta of the CSP's native score (direction beats the absolute number) |
| **Renewal proximity × engagement** | `days_to_renewal` *combined with* a down trend / low touch — never proximity alone |
| **Support load** | support volume + **P1/P2 rate** (rate matters more than raw volume); median first-response time |
| **Sentiment** | NPS with recency weighting; CSAT after support resolution |
| **Relationship strength** | champion / sponsor presence (1 champion = single point of failure); review attendance |
| **Collaboration signal** | escalation-keyword density; *dead-channel* detection (derived signals only, never raw bodies) |

> **Leading vs lagging gate:** before a signal enters the tier, classify it. A signal that moves *after* the churn decision (Closed-Lost opp, cancellation) is *lagging* — it is context on the dashboard, never a tier input. Only leading signals compose the tier.

**Anti-pattern:** picking signals the dashboard *has* rather than signals that *predict*. If a category isn't predictive, leaving it out is correct. Fewer, sharper signals beat more, fuzzier ones.

## Step 3 — Weight the signals

**Equal-weighting is rarely right** — different signals predict with different strength. Tune weights / threshold cut-points against historical churn when you have it; use cohort comparison when you don't.

**Anti-pattern:** weighting by which department lobbied hardest (the "leadership-loves-NPS-so-NPS-is-30%" pattern) produces a tier that looks comprehensive and predicts nothing.

When the native CSP score is the anchor, you may not need explicit weights at all in phase 1 — the anchor *is* the score, and the additive signals are surfaced as their own visible sub-indicators. Defer a custom weighted composite until those sub-signals demonstrably diverge from the anchor.

## Step 4 — Set the thresholds and write the rule

Express the tier as a **readable boolean rule** over the leading signals, with named threshold values:

```
Red    := health_score_trend_30d = down
          AND days_to_renewal < 90
          AND (support_p1_p2_rate_30d > t_support OR escalation_signal_7d > t_escalation)
Yellow := any single leading signal tripped AND renewal not imminent
Green  := otherwise
```

- **Renewal proximity is a gate, not a term** — it multiplies urgency; it never stands alone as risk.
- **Thresholds are tuned against real churn, not guessed** (Step 6). A threshold you can't back-test is a guess wearing a number — mark it **provisional** and schedule the retune.

## Step 5 — Per-signal evidence display (every Red shows why)

The tier is useless to the leader and unconvincing to the account if it says "Red" with no reason. The **explainability contract**: every Red (and Yellow) carries its 2-3 driving signals, each with:

- the **signal name**
- its **value**
- the **threshold** it crossed
- the **window** measured

This ships *with* the tier, not as an afterthought. It is the single biggest driver of CS-team adoption.

## Step 6 — Tune against actual past churn

- **When historical outcomes exist:** back-test against the last renewal cycle. Did the Red list match the accounts that actually churned? Did any **Green account churn** (a *signal gap* — the most valuable finding; it names the missing signal)? Did a signal **correlate but not predict** (drop it — noise dressed as signal)?
- **When they don't:** start from a documented default, mark it provisional, retune after cycle 1.
- **Refresh each cycle.** A tier never refreshed against outcomes is suspect by default.

## Step 7 — Independent red-flag triggers (alongside the tier, not inside it)

A composite reacts too slowly to a sudden event. Independent fast triggers fire a recovery motion *immediately*, regardless of the tier's color:

- Active-user count drops sharply week-over-week
- Named champion departs / sponsor lost
- N+ consecutive support escalations to leadership tier
- Account explicitly states "we're evaluating alternatives"

These run beside the tier and key the renewal/save workflow (see [`../renewal-workflow-design/SKILL.md`](../renewal-workflow-design/SKILL.md)).

## What this skill does NOT cover

- Building the pipeline / warehouse / connectors that source the signals → `data-platform`
- Building the dashboard UI / BI surface that renders the tier → `data-platform/dashboard-builder`
- The renewal-risk workflow + save-play triggers the tier feeds → [`../renewal-workflow-design/SKILL.md`](../renewal-workflow-design/SKILL.md)
- Segment-specific overlays (budget cycles, academic calendars) → a vertical plugin (e.g. `edtech-partner-success`)

## References

- Knowledge: [`../../knowledge/cs-health-metrics-and-churn-indicators.md`](../../knowledge/cs-health-metrics-and-churn-indicators.md)
- Companion skill: [`../renewal-workflow-design/SKILL.md`](../renewal-workflow-design/SKILL.md)
- Template: [`../../templates/cs-health-data-model.md`](../../templates/cs-health-data-model.md)
- Generalized from: [`../../../edtech-partner-success/skills/partner-health-scoring/SKILL.md`](../../../edtech-partner-success/skills/partner-health-scoring/SKILL.md)

Attribution

mcorbett51090mcorbett51090
View sourceSee grades on GitHubMore from mcorbett51090 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →