Skip to content
Back to skills

Rostering Data Quality

ASecurity

Diagnose rostering / SIS / LMS data-sync issues in EdTech contexts — K-12 (Clever, ClassLink, OneRoster), higher-ed (SIS/LMS), corporate L&D (HRIS/LMS). When to escalate to product vs coach the partner's admin. Reach for this skill when a partner says "the data isn't right" or when partner-engagement metrics drop without an obvious user-side cause.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsrustgoazuresecuritydocumentation

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add mcorbett51090/RavenClaude --skill rostering-data-quality --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rostering Data Quality?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rostering Data Quality
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-rostering-data-quality/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-rostering-data-quality)

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

Download with Pro
SKILL.md
---
name: rostering-data-quality
description: Diagnose rostering / SIS / LMS data-sync issues in EdTech contexts — K-12 (Clever, ClassLink, OneRoster), higher-ed (SIS/LMS), corporate L&D (HRIS/LMS). When to escalate to product vs coach the partner's admin. Reach for this skill when a partner says "the data isn't right" or when partner-engagement metrics drop without an obvious user-side cause.
---

# Skill: Rostering Data Quality

Rostering issues masquerade as engagement issues. A partner who looks "red" on the health score may simply have a broken sync. **Check the rostering first; declare the partner red second.**

## Step 1 — Identify the rostering surface

Before diagnosing, pin down:

| Segment | Common surfaces |
|---|---|
| K-12 (district / school) | Clever, ClassLink, OneRoster (via Clever/ClassLink or direct), legacy CSV upload from SIS |
| Higher-ed | SIS (Banner, Workday Student, Colleague, Jenzabar), LMS-side rostering (Canvas, Blackboard, D365), LTI integration |
| Corporate L&D | HRIS (Workday, BambooHR, ADP), LMS (Cornerstone, Docebo, Saba, Litmos), SCIM provisioning, identity provider sync (Okta, Azure AD) |

Document which surface is in play for the partner. The diagnostic playbook diverges from here.

## Step 2 — Identify the failure pattern

Common patterns:

- **Stale data** — sync hasn't run in N days. Look at last-sync timestamp first.
- **Partial sync** — some entities synced, others didn't. Usually a permission / scope issue or a vendor-side outage during an incremental window.
- **Schema mismatch** — fields renamed, dropped, or repurposed on one side. Usually a partner-side admin change that wasn't communicated.
- **Identifier drift** — same user has different IDs across systems. Typically caused by email-as-identity changing (marriage, name change, departmental moves) without a stable backing ID.
- **Role / grade misclassification** — users sync but with wrong role / grade / cohort. Typically a partner-side admin mapping error.
- **Orphan accounts** — users in our system who no longer exist in the source of truth. Usually a sync that handles adds but not removes (intentional or otherwise).
- **Duplicate accounts** — users in our system multiple times. Usually a sync re-keying without dedup.

## Step 3 — Decide who owns the fix

This is the most common error. Categorize:

| Failure pattern | Likely owner |
|---|---|
| Stale data, no recent sync | Partner-side admin OR vendor outage. Check vendor status page first; if green, it's the partner. |
| Partial sync | Usually vendor; sometimes a permission / scope change on the partner side |
| Schema mismatch | Partner-side admin change OR our integration regression. Diff our integration's expected schema against current source. |
| Identifier drift | Our integration design (we may be using a non-stable identifier as primary key) |
| Role / grade misclassification | Partner-side admin mapping; coach the partner, don't escalate to engineering |
| Orphan accounts | Our integration design (didn't subscribe to delete events) OR partner-side decision (they want to retain accounts) |
| Duplicate accounts | Our integration design (insufficient dedup logic) |

**Anti-pattern:** assuming the partner is to blame when it's our integration. **Anti-pattern:** assuming engineering needs to fix it when it's a partner-side admin config.

## Step 4 — Verify before escalating

Before opening an engineering ticket OR before pushing the partner to investigate, verify:

- **Vendor status page** — for Clever, ClassLink, Workday, etc. — is there a current outage?
- **Sync logs** — when did the last successful sync run? What did it return?
- **Source-of-truth spot check** — pull 3–5 specific entities from the partner's SIS / HRIS / LMS and compare against our copy. Are they the same?
- **Schema diff** — diff the current source schema against the version our integration expects. Any fields renamed, added, dropped?
- **Partner-side admin** — did the partner make any recent admin changes (school year rollover, new academic term, M&A, reorg)?

A 15-minute verification before escalating saves a 5-day round-trip.

## Step 5 — Communicate the diagnosis to the partner

A partner who heard "your data is broken" without a specific cause will distrust the PSM. The right framing:

- Name the failure pattern in plain language (not "stale data" — "the sync from your Clever account hasn't run since 2026-05-18")
- Name the likely owner clearly (yours / theirs / vendor)
- Propose the specific next step (you check X / they check Y / we open a ticket with vendor Z)
- Set a check-in date (not "I'll follow up" — "I'll check back Friday at 2 ET")

## Step 6 — Document the resolution

The partner profile gets an entry under "prior incidents." Include:
- What broke
- When detected vs when started (the delay is itself a finding — if it took 3 weeks to detect, instrumentation is the gap)
- Who owned the fix
- What the fix was
- What to monitor going forward

A rostering incident that resolves without documentation is a future repeat-incident.

## Step 7 — Escalation paths

- **Partner-side admin coaching** — PSM (`edtech-partner-success-manager`) handles directly; pull `ferpa-comms-translator` if the partner-admin needs a parent / institution-leadership-facing version
- **Vendor outage / vendor-side bug** — open a ticket with the vendor; track in `ravenclaude-core/project-manager`; PSM keeps partner informed
- **Our integration regression** — escalate to `ravenclaude-core/architect` or `data-engineer`; usually requires a code change
- **Persistent identifier-drift issue** — architecture review; `ravenclaude-core/architect`
- **Privacy implication** (e.g., orphan accounts retaining FERPA-covered records past required retention) — mandatory `ravenclaude-core/security-reviewer` and likely `regulatory-compliance` if installed

## What this skill does NOT cover

- Designing the integration architecture (route to `ravenclaude-core/architect`)
- Choosing a rostering vendor (route to `ravenclaude-core/architect`)
- Vendor contract negotiation (out of scope for any agent; that's a business / legal motion)
- Generic data-quality patterns unrelated to EdTech rostering (route to `ravenclaude-core/data-engineer`)

Attribution

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

Loading comments…