AI Adoption GuideHROnboard
Role-based learning auto-assignment
LMS matches courses to inferred skill gaps and role requirements without manual curation.
HR processPlanSourceSelectHireOnboardDevelopRewardExit
By Don, DoneThat’s AI coach · updated
L&D assigns; the system only suggests
A course suggestion is not an enrollment. Learning and development still makes the assignment. The system may propose a catalog item only when it can cite two sources: the role map that says this skill belongs to this job, and the skill-gap source that says this person does not yet have it. If either cite is missing, the suggestion field stays empty. Empty is the correct output. Do not auto-enroll. Do not invent a skill gap so the row looks complete.
That split is the whole control. Treat LMS auto-enrollment on role change as the failure, not the design. Auto-enrollment without a human check puts people into the wrong courses or into courses that exist only because a blank was filled.
Keep duties explicit. The catalog, the role map, and the gap source are inputs. A suggestion is an output with citations attached. Enrollment is a later action taken by L&D or by a named assigner working with L&D. Until that action happens, the person is not in the course.
Load the role map and the gap source first
Load two artifacts before you generate any suggestion. The first is the role map: a list, for this job family, of skills the role requires, with rows specific enough to match a catalog item. The second is the gap source: evidence about this person, not about the role in general. Gap sources include manager notes, prior assessments, and skills inference from work artifacts when artifacts were actually collected. A role map without a person-specific gap source is not enough to suggest.
Do not reverse the order. If you scan the catalog first and then hunt for a justification, you will invent matches. Load the map, load the gap, then look only at catalog items that could cite both.
The map must be the current role, not a neighboring one. A support lead map is not a customer success map. The wrong map still produces cites, and those cites point at the wrong job.
The gap source must be attributable. Record where the gap came from: which note, which assessment, which artifact set. If you cannot name the source, you do not have a gap. You have a guess. Guesses do not become suggestions.
If either artifact failed to load, stop. A missing map or a missing gap file is not a prompt to improvise. Leave every suggestion empty until both are present.
Cite both sources or leave the row empty
Every suggestion carries two cites in the same record: the role-map row and the gap-source pointer. A course with no map cite does not ship as a suggestion, even if the title sounds relevant, even if a peer in a different role took it, even if the catalog tags it as "onboarding." Relevance without a map row is not a cite.
The map cite is a specific row, not the job title. "This is a Support Lead, so they need communication" is not a cite. "Role map, Support Lead, skill: incident communication" is a cite. The gap cite is equally specific: the manager note, the assessment item, or the artifact inference that shows the skill is missing. Role requirement alone is not a gap. Plenty of new hires already have skills the map lists. Suggesting those courses wastes their first weeks.
When either cite is missing, leave the row empty. Empty stays empty. Do not substitute a similar skill, a popular course, or a default onboarding bundle. Do not write a synthetic gap such as "likely needs X because they are new." Newness is not a skill gap. Tenure is not a skill gap. Inventing a gap to avoid a blank is quieter than a missing map cite, because the record still looks complete.
If the catalog item cannot be tied to a map row, leave it out of the suggestion list. If a real skill is missing from the map, fix the map in a separate review, not inside the suggestion step.
One worked example. A support lead starts Monday. The role map lists incident communication, ticket triage, and product troubleshooting. The gap source is the hiring manager's notes plus skills inference from a short trial: triage and troubleshooting show up in prior work; incident communication does not. The catalog includes a course titled "Writing status updates during an outage." The suggestion for that course cites the incident-communication map row and the gap note that this skill is missing. L&D reads both cites and assigns the course. The same catalog includes "SQL for analysts." Nothing on the Support Lead map names SQL. That suggestion stays empty. If the manager wrote nothing about incident communication and no artifacts were loaded for it, that suggestion stays empty too. You do not fill it from the map alone.
Do not treat a suggestion as enrollment
The third failure mode is operational, not bibliographic. A suggestion appears in a queue. Someone treats the queue as the LMS roster. The person gets a due date for a course nobody assigned. That is auto-enrollment by habit.
Keep suggestion state and enrollment state separate in the workflow, even if the same platform stores both. Suggested means: L&D has not acted. Assigned means: a person accepted the cites and enrolled the learner. Until assignment, there is no due date and no completion expectation.
When you assign, keep the cites on the assignment record. If a later review asks why this person is in this course, the answer is the map row and the gap source, not "the system recommended it." If L&D rejects a suggestion, record the rejection. A rejected row should not reappear as if it were still pending, and it should not silently convert to enrolled.
Suggestions also should not pre-populate learning paths, 30-60-90 checklists, or manager dashboards as if they were commitments. If you use a 30-60-90 plan generator, put a course on the plan only after assignment. A plan that lists unassigned suggestions teaches managers to treat proposals as done.
What HR and learning platforms can hold
Workday, Lattice, Degreed, and Cornerstone, as a class, can hold some combination of job architecture, skills language, learning catalogs, and review notes. Do not assume any one of them will emit dual-cited suggestions, refuse to invent gaps, or block auto-enroll. Those behaviors are process rules you enforce on top of whatever the platforms store.
Pull the role map from wherever job skills are actually maintained. Pull gap evidence from reviews, notes, or assessments that already exist. Push enrollment only after L&D assigns. If a platform can recommend courses, treat that output as untrusted until both cites are attached. A vendor recommendation without a map cite is the same as a course with no map cite: it does not become a suggestion.
Do not rank these systems against each other for this workflow. The safeguard is the same: two cites, blanks stay blank, a person assigns.
Adjacent work: plans, practice, and tutoring
Assignment is one step in onboarding, not the whole path. After L&D assigns, the person still has to practice and get feedback. A course on incident communication does not replace an ai roleplay skill coach for a live status-update drill, and it does not replace an ai personal tutor if they need a slower walkthrough of the same material. Keep both downstream of assignment.
Keep inference upstream. Skills inference from work artifacts can be a gap source. It cannot be a substitute for the role map, and it cannot enroll anyone. If inference is empty for a skill, you do not invent the gap, and you do not skip to tutoring to "cover it anyway."
The operational loop is short. Load the map and the gap source. Suggest only with both cites. Leave blanks empty. L&D assigns. Then the plan, the course, the coach, or the tutor can run. Anything that skips the assigner, or fills a blank with a guessed gap, is not this workflow.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first