# Education Cloud Course Catalog Migrate

Use this skill to migrate course catalog data from external sources (CSV, PDF, website)...

- Repository: https://github.com/forcedotcom/sf-skills (1134 stars)
- Category: Documents
- License: Apache-2.0
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add forcedotcom/sf-skills --skill education-cloud-course-catalog-migrate -g -a claude-code -y`
Codex: `npx skills add forcedotcom/sf-skills --skill education-cloud-course-catalog-migrate -g -a codex -y`
Cursor: `npx skills add forcedotcom/sf-skills --skill education-cloud-course-catalog-migrate -g -a cursor -y`
Gemini CLI: `npx skills add forcedotcom/sf-skills --skill education-cloud-course-catalog-migrate -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add forcedotcom/sf-skills`

## Description

Use this skill to migrate course catalog data from external sources (CSV, PDF, website) and bulk-create Learning and LearningCourse records in Education Cloud. Triggers when a user wants to import courses, parse course catalog documents, or set up a course catalog for an academic term. Handles multi-source data ingestion, intelligent interpretation of course structures (lecture+lab linked courses via IsLinkedOnly flag, credit hours, course types), batch creation via sObject REST API, data quality validation, conflict resolution for existing courses, and gap identification. Explains what's missing (descriptions, types) and requests additional sources. Pauses for clarification on multi-component courses and conflicting data. DO NOT TRIGGER for creating individual Learning Course records manually, for creating Learning Programs (different workflow), or for enrollment/registration workflows.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Migrating Course Catalog to Education Cloud

Import course catalog data from multiple sources (CSV, PDF, website) and bulk-create Learning Course records with structure detection and data quality validation.

## Scope

- **In scope**: Multi-source ingestion (CSV, PDF, web), Learning + LearningCourse bulk creation via sObject REST API (Composite batches up to 200), linked course detection (lecture+lab via IsLinkedOnly), credit hour parsing (Duration/DurationUnit), course type mapping, data quality validation, conflict resolution, gap identification/remediation
- **Out of scope**: Creating individual Learning Course records manually (delegate to metadata generation skills), creating Learning Programs (Learning.Type = 'LearningProgram' + separate child object), creating External Learning (Learning.Type = 'ExternalLearning'), course sections/offerings (CourseOffering object), enrollment/registration workflows (no dedicated skill yet, ask the user), SIS sync (separate integration workflow)

---

## Required Inputs

Gather or infer before proceeding:

- **Target org**: Active Salesforce org with Education Cloud enabled
- **Primary data source**: CSV file, PDF document, or website URL with course catalog data
- **Business Account**: the Academic Operations Business Account to link courses to (e.g., College of Engineering)
- **Academic term** (optional): context only, not stored on Learning Course

Additional sources (gathered during workflow):
- Supplementary data sources for missing fields (descriptions, types, mappings)
- Lecture-lab mapping files (if multi-component courses detected)
- Conflict resolution decisions (if existing courses found)

The rest: https://github.com/forcedotcom/sf-skills/blob/HEAD/plugins/builder/education-cloud/skills/education-cloud-course-catalog-migrate/SKILL.md
