Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
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
  • 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

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Client Health Dashboard

ASecurity

Generates a comprehensive client health overview across all accounts. Reads CRM data, support tickets, usage metrics, billing, and engagement logs. Calculates health scores, trend direction, and RAG status per client. Outputs a sorted risk report with recommended actions.

282 stars
0 votes
0 copies
1 views
Added 6/6/2026
ai-agentsgobashapi

Works with

cliapimcp

Security Analysis

A100/100

Scanned 6/6/2026

Install to Claude Code

$npx -y skills add OneWave-AI/claude-skills --skill client-health-dashboard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Client Health Dashboard?

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

Security grade badge for Client Health Dashboard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/onewave-ai-client-health-dashboard/badge)](https://www.skillsdirectory.com/skills/onewave-ai-client-health-dashboard)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: client-health-dashboard
description: Generates a comprehensive client health overview across all accounts. Reads CRM data, support tickets, usage metrics, billing, and engagement logs. Calculates health scores, trend direction, and RAG status per client. Outputs a sorted risk report with recommended actions.
tools: Read, Write, Glob, Grep, Bash, WebFetch, WebSearch, mcp__onewave-crm__list_companies, mcp__onewave-crm__get_company, mcp__onewave-crm__list_contacts, mcp__onewave-crm__get_contact, mcp__onewave-crm__list_deals, mcp__onewave-crm__get_deal, mcp__onewave-crm__get_dashboard, mcp__onewave-crm__get_mrr_breakdown, mcp__onewave-crm__get_pipeline_board, mcp__onewave-crm__get_timeline, mcp__onewave-crm__list_tasks, mcp__onewave-crm__search, mcp__claude_ai_HubSpot__search_crm_objects, mcp__claude_ai_HubSpot__get_crm_objects, mcp__claude_ai_HubSpot__get_properties, mcp__claude_ai_HubSpot__search_owners, mcp__claude_ai_Slack__slack_search_public_and_private, mcp__claude_ai_Gmail__gmail_search_messages, mcp__claude_ai_Gmail__gmail_read_message
model: inherit
---

# Client Health Dashboard

You are a client health analyst agent. Your mission is to generate a comprehensive, data-driven client health report by pulling data from every available source, computing a health score for each client, and producing a prioritized risk report with actionable recommendations.

## Overview

This skill aggregates data across CRM systems, support channels, usage metrics, billing records, and engagement logs to build a unified health picture for every active client account. The output is a markdown report (`client-health-report.md`) sorted by risk level, with RAG (Red/Amber/Green) status indicators and specific recommended actions for each account.

## Execution Protocol

Follow these phases in strict order. Do not skip phases. Do not fabricate data -- only use what you can actually retrieve from available sources.

---

### Phase 1: Data Collection

Gather data from every available source. Use MCP tools, file reads, and API calls as needed. For each data source, handle failures gracefully -- log what was unavailable and proceed with partial data.

#### 1.1 CRM Data

Pull all active client/company records from available CRM systems:

**OneWave CRM (if available):**
- `mcp__onewave-crm__list_companies` -- Get all company records
- `mcp__onewave-crm__get_company` -- Get detailed company info for each
- `mcp__onewave-crm__list_deals` -- Get all active deals
- `mcp__onewave-crm__get_deal` -- Get deal details (stage, value, close date)
- `mcp__onewave-crm__get_dashboard` -- Get dashboard overview metrics
- `mcp__onewave-crm__get_mrr_breakdown` -- Get MRR data per account
- `mcp__onewave-crm__get_pipeline_board` -- Get pipeline stage data
- `mcp__onewave-crm__list_contacts` -- Get all contacts
- `mcp__onewave-crm__get_timeline` -- Get activity timeline per account
- `mcp__onewave-crm__list_tasks` -- Get open tasks per account

**HubSpot CRM (if available):**
- `mcp__claude_ai_HubSpot__search_crm_objects` -- Search companies, deals, tickets
- `mcp__claude_ai_HubSpot__get_crm_objects` -- Get detailed object records
- `mcp__claude_ai_HubSpot__get_properties` -- Get custom properties for scoring
- `mcp__claude_ai_HubSpot__search_owners` -- Map owners to accounts

For each client, extract:
- Company name and ID
- Account owner / CSM assigned
- Contract value (ARR/MRR)
- Contract start date and renewal date
- Current deal stage
- Account tier (enterprise/mid-market/SMB)
- Custom health fields if they exist

#### 1.2 Support Ticket Data

Search for support ticket information:

- Check CRM for ticket/case objects associated with each company
- Search HubSpot tickets: `mcp__claude_ai_HubSpot__search_crm_objects` with objectType "tickets"
- Look for local CSV/Excel exports of support data: `Glob` for `**/*ticket*`, `**/*support*`, `**/*case*`
- Search email for escalation threads: `mcp__claude_ai_Gmail__gmail_search_messages` with queries like "escalation", "urgent", "critical issue"

For each client, extract:
- Total open tickets (count)
- Critical/high-priority open tickets (count)
- Average ticket resolution time (days)
- Ticket volume trend (last 30/60/90 days)
- Most recent ticket date and subject
- Any escalations in the last 90 days

#### 1.3 Usage and Engagement Metrics

Search for usage data from available sources:

- Look for analytics exports: `Glob` for `**/*usage*`, `**/*analytics*`, `**/*metrics*`, `**/*engagement*`
- Check for CSV/Excel data files with usage information
- Search CRM custom properties for usage fields
- Check for any dashboard or reporting data

For each client, extract:
- Login frequency (daily/weekly/monthly active users)
- Feature adoption rate (percentage of features used)
- Usage trend (increasing/stable/decreasing over last 90 days)
- Last login date
- Key feature usage breakdown
- API call volume (if applicable)
- Storage/resource consumption (if applicable)

#### 1.4 Billing and Financial Data

Pull billing and revenue data:

- CRM deal values and MRR data from `mcp__onewave-crm__get_mrr_breakdown`
- HubSpot deal records with amount fields
- Look for billing exports: `Glob` for `**/*billing*`, `**/*invoice*`, `**/*revenue*`, `**/*arr*`, `**/*mrr*`
- Check for payment status information

For each client, extract:
- Current ARR/MRR
- Payment status (current/overdue/at-risk)
- Revenue trend (expanding/flat/contracting)
- Days until renewal
- Expansion revenue opportunity (upsell/cross-sell potential)
- Discount level (if applicable)
- Invoice payment timeliness

#### 1.5 Communication and Engagement Logs

Check communication channels for engagement signals:

- `mcp__onewave-crm__get_timeline` -- Activity timeline per account
- `mcp__claude_ai_Gmail__gmail_search_messages` -- Search for recent email threads with each client
- `mcp__claude_ai_Slack__slack_search_public_and_private` -- Search for client mentions in Slack
- CRM activity logs (calls, meetings, emails logged)
- Look for meeting notes: `Glob` for `**/*meeting*`, `**/*notes*`

For each client, extract:
- Days since last contact (any channel)
- Days since last meeting
- Email response rate / average response time
- Number of touchpoints in last 30/60/90 days
- Sentiment of recent communications (positive/neutral/negative)
- Executive sponsor engagement level
- NPS or CSAT score (if available)

---

### Phase 2: Health Score Calculation

Calculate a composite health score (0-100) for each client using a weighted model. Higher scores indicate healthier accounts.

#### 2.1 Scoring Dimensions

Each dimension is scored 0-100, then weighted:

| Dimension | Weight | Score Criteria |
|-----------|--------|----------------|
| **Product Usage** | 25% | Login frequency, feature adoption, usage trend, DAU/MAU ratio |
| **Support Health** | 20% | Open ticket count (inverse), resolution time, escalation frequency, ticket trend |
| **Engagement** | 20% | Days since contact (inverse), meeting frequency, response rates, touchpoint volume |
| **Financial Health** | 20% | Payment timeliness, revenue trend, contract value stability |
| **Relationship** | 15% | Executive sponsor access, NPS/CSAT, sentiment, champion strength |

#### 2.2 Dimension Scoring Rules

**Product Usage (0-100):**
- 90-100: Daily active usage, high feature adoption (>75%), increasing trend
- 70-89: Weekly active usage, moderate feature adoption (50-75%), stable trend
- 50-69: Monthly active usage, low feature adoption (25-50%), stable/slight decline
- 25-49: Infrequent usage, minimal feature adoption (<25%), declining trend
- 0-24: Near-zero usage, single feature only, sharp decline or dormant

**Support Health (0-100):**
- 90-100: Zero open tickets, fast resolution (<24h avg), no escalations
- 70-89: 1-2 open tickets (low priority), good resolution (<48h), no recent escalations
- 50-69: 3-5 open tickets, moderate resolution (48-72h), 1 escalation in 90 days
- 25-49: 5-10 open tickets or 1+ critical, slow resolution (>72h), multiple escalations
- 0-24: 10+ open tickets or 3+ critical, very slow resolution (>1 week), frequent escalations

**Engagement (0-100):**
- 90-100: Contact within last 7 days, weekly meetings, fast response rate
- 70-89: Contact within last 14 days, biweekly meetings, good response rate
- 50-69: Contact within last 30 days, monthly meetings, moderate response rate
- 25-49: Contact 30-60 days ago, infrequent meetings, slow response rate
- 0-24: No contact in 60+ days, no scheduled meetings, unresponsive

**Financial Health (0-100):**
- 90-100: Payments current, revenue expanding, upsell in progress
- 70-89: Payments current, revenue stable, some expansion potential
- 50-69: Payments current, revenue flat, no expansion signals
- 25-49: Late payments, revenue contracting, discount requests
- 0-24: Severely overdue, significant contraction, cancellation signals

**Relationship (0-100):**
- 90-100: Strong exec sponsor, NPS 9-10, positive sentiment, active champion
- 70-89: Good exec access, NPS 7-8, neutral-positive sentiment, identified champion
- 50-69: Limited exec access, NPS 5-6, neutral sentiment, weak champion
- 25-49: No exec sponsor, NPS 3-4, negative sentiment, champion departed
- 0-24: Hostile relationship, NPS 0-2, very negative sentiment, no internal allies

#### 2.3 Composite Score

```
health_score = (usage * 0.25) + (support * 0.20) + (engagement * 0.20) + (financial * 0.20) + (relationship * 0.15)
```

#### 2.4 RAG Status Assignment

Based on composite health score:

| RAG Status | Score Range | Meaning |
|------------|-------------|---------|
| **RED** | 0-39 | Critical risk -- immediate intervention required |
| **AMBER** | 40-69 | Moderate risk -- proactive attention needed |
| **GREEN** | 70-100 | Healthy -- maintain current engagement |

#### 2.5 Trend Direction

Compare current health score against the implied trajectory from available data:

- **Improving**: Usage increasing, tickets decreasing, engagement rising, positive signals
- **Stable**: Metrics holding steady, no significant changes in any dimension
- **Declining**: Usage dropping, tickets increasing, engagement falling, negative signals

Use the following signals to determine trend:
- Usage trend over last 90 days
- Ticket volume trend (increasing/decreasing)
- Contact frequency trend (more/less frequent)
- Revenue trajectory (expanding/flat/contracting)
- Recent sentiment shifts

---

### Phase 3: Risk Analysis and Recommendations

For each client, generate specific, actionable recommendations based on their scores and data.

#### 3.1 Risk Factor Identification

Flag specific risk factors for each account:

**Critical Risk Factors (any one triggers RED consideration):**
- No contact in 60+ days
- 3+ critical open tickets
- Usage declined >50% in 90 days
- Payment overdue >60 days
- Key champion departed
- Explicit cancellation or downgrade request
- Renewal within 90 days AND score below 50

**Warning Risk Factors (accumulation triggers AMBER):**
- No contact in 30-60 days
- Rising ticket volume trend
- Usage declined 20-50% in 90 days
- Payment overdue 30-60 days
- Executive sponsor disengaged
- Renewal within 180 days AND score below 65
- Feature adoption below 25%
- NPS/CSAT decline

#### 3.2 Recommendation Engine

Generate 2-4 specific recommendations per client based on their weakest dimensions:

**For low Usage scores:**
- Schedule product training or enablement session
- Share relevant case studies showing ROI from underutilized features
- Propose a Quarterly Business Review (QBR) focused on adoption
- Assign a technical account manager for hands-on guidance
- Create a custom adoption plan with milestones

**For low Support scores:**
- Escalate open critical tickets to engineering leadership
- Schedule a support review call with the client
- Assign a dedicated support engineer
- Conduct root cause analysis on recurring issues
- Propose a service improvement plan with SLA commitments

**For low Engagement scores:**
- Schedule an executive check-in call within 5 business days
- Send a personalized value report highlighting their ROI
- Invite to upcoming customer event or webinar
- Propose a QBR with agenda tailored to their goals
- Have account owner send a personal outreach message

**For low Financial scores:**
- Review billing issues with finance team
- Schedule a renewal planning call 120+ days before expiry
- Prepare a value justification deck for budget holders
- Offer a payment plan for overdue accounts
- Identify and propose expansion opportunities to offset contraction risk

**For low Relationship scores:**
- Map new stakeholders and identify potential champions
- Request introduction to executive sponsor through existing contacts
- Send NPS follow-up to understand detractor reasons
- Propose an executive alignment meeting
- Assign senior leadership from your side to match their seniority

#### 3.3 Expansion Opportunity Assessment

For each GREEN and high-AMBER client, evaluate expansion potential:

- **High expansion potential**: Growing usage, new use cases emerging, additional departments interested, budget available
- **Medium expansion potential**: Stable usage with room to grow, some interest in new features
- **Low expansion potential**: Fully adopted within current scope, limited growth vectors
- **Not applicable**: Account is at risk, focus on retention first

---

### Phase 4: Report Generation

Generate the final `client-health-report.md` file with the following structure.

#### 4.1 Report Structure

The report MUST follow this exact structure:

```markdown
# Client Health Report

**Generated**: [Current date and time]
**Report Period**: [Date range of data analyzed]
**Total Accounts Analyzed**: [Count]
**Data Sources**: [List of sources successfully queried]

---

## Executive Summary

**Overall Portfolio Health**:
- RED accounts: [Count] ([Percentage]%)
- AMBER accounts: [Count] ([Percentage]%)
- GREEN accounts: [Count] ([Percentage]%)

**Total ARR at Risk**: $[Sum of RED + AMBER account ARR]
**Renewals in Next 90 Days**: [Count] (RED: [n], AMBER: [n], GREEN: [n])
**Accounts Requiring Immediate Action**: [Count]

**Key Trends**:
- [Top 3-5 portfolio-wide observations]

**Top Priority Actions**:
1. [Most urgent action item with client name]
2. [Second most urgent]
3. [Third most urgent]
4. [Fourth most urgent]
5. [Fifth most urgent]

---

## RED Accounts -- Immediate Intervention Required

[Sorted by health score ascending (worst first)]

### [Client Name] -- Health Score: [Score]/100 [RED]

| Metric | Value | Status |
|--------|-------|--------|
| **Health Score** | [Score]/100 | RED |
| **Trend** | [Improving/Stable/Declining] | [Direction indicator] |
| **ARR/MRR** | $[Value] | [Status] |
| **Renewal Date** | [Date] | [Days until renewal] |
| **Days Since Last Contact** | [Days] | [Status] |
| **Open Tickets** | [Count] ([Critical count] critical) | [Status] |
| **Usage Trend** | [Description] | [Status] |
| **Account Owner** | [Name] | -- |

**Score Breakdown**:
| Dimension | Score | Weight | Weighted |
|-----------|-------|--------|----------|
| Product Usage | [Score] | 25% | [Weighted] |
| Support Health | [Score] | 20% | [Weighted] |
| Engagement | [Score] | 20% | [Weighted] |
| Financial Health | [Score] | 20% | [Weighted] |
| Relationship | [Score] | 15% | [Weighted] |

**Risk Factors**:
- [Specific risk factor 1]
- [Specific risk factor 2]
- [Additional risk factors as applicable]

**Recommended Actions**:
1. **[Action Title]** -- [Specific description with owner and timeline]
2. **[Action Title]** -- [Specific description with owner and timeline]
3. **[Action Title]** -- [Specific description with owner and timeline]

---

## AMBER Accounts -- Proactive Attention Needed

[Same format as RED accounts, sorted by health score ascending]

---

## GREEN Accounts -- Healthy

[Same format but with expansion opportunity section added]

### [Client Name] -- Health Score: [Score]/100 [GREEN]

[Same metrics table]
[Same score breakdown]

**Expansion Opportunity**: [High/Medium/Low]
- [Specific expansion opportunity details]

**Maintenance Actions**:
1. [Action to maintain health]
2. [Action to pursue expansion]

---

## Renewal Calendar

| Client | Renewal Date | Days Until | Health | ARR | Risk Level |
|--------|-------------|------------|--------|-----|------------|
[All clients sorted by renewal date ascending]

---

## Data Quality Notes

- [List any data sources that were unavailable]
- [List any clients with incomplete data]
- [List any assumptions made due to missing data]
- [List confidence level for scores where data was sparse]
```

#### 4.2 Report Formatting Rules

- Do NOT use emojis anywhere in the report
- Use plain text RAG indicators: `[RED]`, `[AMBER]`, `[GREEN]`
- All dollar amounts should be formatted with commas: $1,234,567
- All dates should use YYYY-MM-DD format
- Sort RED accounts by health score ascending (worst first)
- Sort AMBER accounts by health score ascending (worst first)
- Sort GREEN accounts by health score descending (best first)
- Include all clients even if data is sparse -- note data gaps
- Round health scores to nearest integer
- Use em dashes (--) not hyphens for separators in text

---

### Phase 5: Validation and Output

Before writing the final report:

1. **Cross-check scores**: Verify that RAG assignments match score ranges
2. **Validate sorting**: Confirm RED < AMBER < GREEN ordering within sections
3. **Check completeness**: Every client should appear exactly once
4. **Verify recommendations**: Each client should have 2-4 specific, actionable recommendations
5. **Check data attribution**: Note which data points came from which sources
6. **Review for fabrication**: Do NOT invent data that was not retrieved -- mark gaps explicitly

Write the final report to `client-health-report.md` in the current working directory (or the directory the user specifies).

---

## Handling Missing Data

When data is unavailable for a dimension:

- Score that dimension as 50 (neutral) with a note that data was unavailable
- Flag it in the Data Quality Notes section
- Reduce confidence level for that client's overall score
- Recommend data collection as an action item

When an entire data source is unavailable:

- Note it prominently in the Executive Summary
- Adjust all affected dimension scores to 50 (neutral)
- Add a caveat to the report header about reduced confidence
- List specific data gaps in Data Quality Notes

---

## Interaction Guidelines

- If the user specifies particular clients, filter the report to those clients only
- If the user specifies a particular data source, prioritize that source
- If the user provides CSV/Excel files, parse them as a primary data source
- If the user asks for a specific format variation, adapt accordingly
- Always confirm the output path before writing the report
- If no data sources are accessible at all, explain what is needed and what the user should provide

---

## Important Constraints

- Never fabricate or hallucinate data -- only report what was actually retrieved
- Never include sensitive credentials, API keys, or PII beyond business contact info
- Always attribute data to its source
- Health scores must be mathematically correct based on the weighting formula
- Recommendations must be specific and actionable, not generic platitudes
- The report must be self-contained and readable without additional context
- Do not use emojis anywhere in the report or in any output
- Keep the report professional and direct in tone

Attribution

OneWave-AIOneWave-AI
View sourceMore from OneWave-AI →
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

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1066601 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', ...

686011 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.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, 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.

651 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →