bi-usage-monitor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bi-usage-monitor (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.
Tracks product usage at the account level, detects meaningful changes in behaviour, and classifies trend direction against segment benchmarks. Part of the Book Intelligence foundation layer -- feeds data into the Health Score Engine, Risk Signal Detector, and Expansion Signal Detector.
This is a detection and surfacing skill. It observes, computes, and alerts. It never contacts customers or initiates any external action.
For each account, pull the following from the product analytics platform:
| Metric | Definition | Granularity |
|---|---|---|
| Active Users | Unique users with at least one session | Daily, Weekly, Monthly |
| Feature Adoption Breadth | Count of distinct features used / total available features | Weekly |
| Session Depth | Average actions per session | Daily |
| Key Workflow Completions | Core use-case workflows completed successfully | Daily |
| API Call Volume | Total API calls (if applicable) | Daily |
| Licence Utilisation | Active users / purchased seats | Weekly |
For each metric, compute the account's own 90-day rolling average as the baseline. This captures the account's normal behaviour, independent of segment benchmarks.
Calculate the delta: current_period_value - 90_day_rolling_average
Express as a percentage change: (delta / 90_day_rolling_average) * 100
Pull segment benchmarks from the shared benchmark dataset (see references/usage-benchmarks.md). Segment is defined by tier, company size band, and contract age cohort.
For each metric, classify the account's position relative to the segment:
For each metric, classify the trend based on the account's own baseline:
| Classification | Criteria |
|---|---|
| Growing | >10% above 90-day rolling average for current period |
| Stable | Within +/-10% of 90-day rolling average |
| Declining | >10% below 90-day rolling average for current period |
Scan for these specific patterns, which carry different urgency and interpretation:
Gradual Decline
Sudden Drop
Adoption Plateau
Breakout Growth
Seasonal Pattern
references/seasonal-patterns.mdFor declining patterns, check for correlating events:
Present correlations as hypotheses, not conclusions. The human interprets causation.
Produce a per-account usage profile and, if a pattern is detected, an alert.
Per-account usage profile:
{
"account_id": "string",
"period": "2026-03-10",
"metrics": {
"dau_mau_ratio": { "value": 0.42, "baseline_90d": 0.38, "delta_pct": 10.5, "segment_position": "above_median", "trend": "growing" },
"feature_adoption_breadth": { "value": 0.65, "baseline_90d": 0.61, "delta_pct": 6.6, "segment_position": "above_75th", "trend": "stable" },
"session_depth": { "value": 12.3, "baseline_90d": 14.1, "delta_pct": -12.8, "segment_position": "below_median", "trend": "declining" },
"key_workflow_completions": { "value": 847, "baseline_90d": 820, "delta_pct": 3.3, "segment_position": "above_median", "trend": "stable" },
"licence_utilisation": { "value": 0.78, "baseline_90d": 0.72, "delta_pct": 8.3, "segment_position": "above_median", "trend": "growing" }
},
"patterns_detected": [],
"overall_usage_trend": "stable"
}Pattern alert (generated only when a pattern is detected):
{
"account_id": "string",
"alert_type": "gradual_decline",
"severity": "high",
"evidence": {
"metric": "session_depth",
"current_value": 12.3,
"baseline_90d": 14.1,
"consecutive_declining_periods": 4,
"segment_position": "below_median"
},
"correlations": [
{ "type": "support_ticket", "detail": "P2 ticket opened 12 days ago re: performance issues" }
],
"suggested_investigation": "Session depth declining for 4 consecutive weeks. Possible product performance issue -- correlates with open P2 ticket. Verify with customer whether performance is impacting usage."
}Portfolio usage report (weekly):
| Condition | Action | Urgency |
|---|---|---|
| Sudden drop (>25% single period) | Alert CSM with data integrity note -- verify before acting | Immediate |
| Gradual decline (3+ periods) | Surface to CSM with correlation hypotheses | Same day |
| Adoption plateau (60+ days below median) | Flag for adoption review -- route to Product Adoption pillar | Weekly digest |
| Breakout growth (>30% sustained) | Surface to CSM as expansion signal -- route to Expansion Detector | Weekly digest |
See references/human-decision-guide.md for interpretation framework.
Required:
Downstream consumers:
bi-health-score (usage component input)bi-risk-detector (pattern alerts as risk signals)bi-expansion-detector (breakout growth as expansion signal)bi-account-brief (usage profile for account context)references/usage-benchmarks.md -- Metric definitions and benchmark thresholds by segmentreferences/seasonal-patterns.md -- Known seasonal patterns and suppression logicreferences/human-decision-guide.md -- How CSMs should interpret usage alerts~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.