bi-risk-detector — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bi-risk-detector (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Monitors risk indicators across the portfolio and generates prioritised alerts. Part of the Book Intelligence detection layer -- consumes data from the Health Score Engine and Usage Pattern Monitor, produces a ranked risk queue for human triage.
This is a detection and prioritisation skill. It identifies signals, scores severity, and ranks accounts for human attention. It never initiates customer contact, triggers save plays, or makes intervention decisions. Those are human territory.
The risk signal registry defines every signal the detector monitors. Each signal has a type, a severity weight, a detection method, and evidence requirements.
| Signal | Detection Source | Severity (1-5) | Evidence Required |
|---|---|---|---|
| Health score below 65 | Health Score Engine | 3 | Composite score, component breakdown |
| Health score rapid decline (>10pts/7d) | Health Score Engine | 4 | Score delta, timeline, component drivers |
| Usage gradual decline (3+ periods) | Usage Pattern Monitor | 3 | Metric, baseline, delta, duration |
| Usage sudden drop (>25% single period) | Usage Pattern Monitor | 4 | Metric, prior value, current value |
| Adoption plateau (60+ days below median) | Usage Pattern Monitor | 2 | Metric, segment position, duration |
| Support volume spike (>2x 90-day average) | Support platform | 3 | Ticket count, severity mix, topics |
| CSAT/NPS decline (below segment 25th) | Survey tool | 3 | Score, prior score, segment benchmark |
| Signal | Detection Source | Severity (1-5) | Evidence Required |
|---|---|---|---|
| Champion departure | CRM contact change, LinkedIn | 5 | Contact name, role, departure date |
| Executive sponsor change | CRM contact change | 4 | Old sponsor, new sponsor (if known) |
| Declined meetings (2+ in 30 days) | Calendar integration | 3 | Meeting dates, attendees, decline count |
| No-reply streak (3+ CSM emails unanswered) | Email/CRM activity | 3 | Email dates, subjects, days since last reply |
| P1 support escalation | Support platform | 4 | Ticket ID, issue summary, duration open |
| Competitor mention | Support tickets, call transcripts | 4 | Source, context, competitor named |
| Contract objection or delay | CRM opportunity stage | 3 | Opportunity ID, stage, days stalled |
| Payment overdue (>30 days) | Billing system | 3 | Invoice ID, amount, days overdue |
See references/signal-registry.md for the full registry with detection logic and tuning guidance.
For each trigger (event or scheduled metric check):
Multiple signals on the same account within a 14-day window amplify severity:
Clustering is the strongest predictor of near-term churn. A single declining metric is a watch item. Three signals converging on one account is urgent.
Signals carry more urgency when renewal is near:
Produce a ranked list of all accounts with active risk signals, ordered by:
For each account in the risk queue, produce an alert brief:
{
"account_id": "string",
"account_name": "string",
"risk_score": 4.5,
"arr": 85000,
"days_to_renewal": 67,
"health_score": 58,
"active_signals": [
{
"signal": "Usage gradual decline",
"severity": 3,
"evidence": "Session depth declining 4 consecutive weeks, now 22% below 90-day baseline",
"first_detected": "2026-02-15",
"source": "bi-usage-monitor"
},
{
"signal": "Champion departure",
"severity": 5,
"evidence": "Jane Smith (VP Product) left the company per LinkedIn update 2026-02-28",
"first_detected": "2026-03-01",
"source": "crm-contact-change"
}
],
"cluster_amplification": true,
"temporal_adjustment": 1.0,
"suggested_investigation": "Champion departure coincides with usage decline. New sponsor unknown. Priority: identify new stakeholder and assess relationship continuity before renewal window.",
"handoff_urgency": "immediate"
}Do not re-alert on the same signal unless:
Produce a daily summary for the CSM:
Every risk alert surfaces to human for triage. The agent does not act on risk.
| Signal Type | Routing | Urgency |
|---|---|---|
| Champion departure | Direct alert to CSM + notification to CS leadership | Immediate |
| Competitive displacement signal | Direct alert to CSM | Immediate |
| P1 support escalation | Direct alert to CSM | Same day |
| Health score rapid decline | Direct alert to CSM | Same day |
| Clustered signals (3+) | Direct alert to CSM + flag for manager review | Same day |
| Single metric-based signal | Daily digest | Next business day |
| Adoption plateau | Weekly digest | Weekly |
The human decides: investigate, escalate, trigger a save play, monitor, or dismiss. See references/human-decision-guide.md.
Required:
bi-health-score (composite and component scores, trends)bi-usage-monitor (pattern alerts)Optional but high-value:
Downstream consumers:
bi-account-brief (active risk signals for account context)bi-segment-trends (aggregate risk by segment)references/signal-registry.md -- Full signal definitions, detection logic, and tuning guidancereferences/severity-calibration.md -- How to adjust severity weights based on historical churn datareferences/human-decision-guide.md -- How CSMs should triage and respond to risk alerts~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.