What problem does it solve? KnowBe4 splits reads and writes across four different surfaces (Reporting API, SCIM, ADI, Graph API) with separate credentials, so admins routinely script against an API that physically cannot do what they want, or chase SCIM sync failures across two disconnected log surfaces. This Skill routes every task to the correct surface first, then diagnoses provisioning problems and audits account data. ## Core Features & Use Cases - SCIM/Entra troubleshooting: Symptom-indexed diagnosis of sync failures — Test Mode left on, ADI toggle conflicts, quarantined provisioning jobs, scope misconfiguration, and the ADI-to-SCIM duplicate-account failure mode, with an ordered recovery runbook. - Reporting API client: A stdlib-only Python script (scripts/kb4.py) that handles offset pagination, manual 429 backoff, and regional base URLs to export users, groups, phishing results, and training enrollments as CSV/JSON/table. - Reconciliation and drift detection: Compare KnowBe4 against an IdP or HR export to find orphaned accounts, unprovisioned users, duplicate identities, and per-field attribute drift after a sync. - Use Case: After an ADI-to-SCIM migration doubles the user count, run duplicates to find the split records, fix the userName source attribute in Entra, verify with reconcile and drift in Test Mode, then merge records without losing phishing history. ## Quick Start Ask the assistant to diagnose why KnowBe4 SCIM sync from Entra is creating duplicate users, providing your Reporting API token and region.