Agent skill · forcedotcom
education-cloud-academic-calendar-generate
Use this skill to set up, create, or generate an academic calendar for Education Cloud orgs. Creates Academic Year, Academic Terms (semester/quarter/trimester), Academic Sessions, registration windows, and add/drop deadlines from natural language or documents. Validates date ranges and handles overlapping sessions, linking terms to the year and sessions to their term. TRIGGER when: user asks to \"create an academic calendar\", \"set up semester dates\", \"generate the academic year\", \"add terms and sessions\", \"configure registration windows\", or \"add/drop deadlines\" — or uploads a calendar document (PDF, CSV, XLSX) containing term or session dates. DO NOT TRIGGER for querying or updating existing calendar records, scheduling courses, or configuring course offerings.
What it needs
About 10k tokens when loaded.
What this skill does
Education Cloud Academic Calendar Generation Create the foundational academic calendar infrastructure for Education Cloud orgs, parsing calendar data from documents or natural language and generating validated Academic Year, Term, and Session records with proper date ranges and institutional linkage. Scope In scope: Academic Year records, Academic Term records (semester/quarter/trimester systems), Academic Session records (term subdivisions), registration windows, add/drop deadlines, date validation Out of scope: Course scheduling (delegate to course offering skills), individual course section dates, financial aid deadlines, exam schedules, institutional hierarchy setup (no dedicated skill exists yet for this — set up Accounts/campuses manually) --- Execution Model All Salesforce operations use relative-path REST calls. Do not use CLI or shell commands to reach Salesforce (sf, sfdx, curl); the execution environment may not provide them. This does not apply to the skill's own local validation script (scripts/validatecalendardates.py, see step 4) — that runs locally and never touches the org. Record CRUD: sObject REST — POST /services/data/<ver>/sobjects/<Object>, GET /services/data/<ver>/sobjects/<Object>/<Id>, PATCH /services/data/<ver>/sobjects/<Object>/<Id> Schema checks: sObject describe — GET /services/data/<ver>/sobjects/<Object>/describe (confirm object + field API names exist before writing). SOQL /query is routable: GET /services/data/<ver>/query with the SOQL passed as a structured queryParams: {"q": "..."}, NOT inlined into the URL as ?q=... — confirmed by live test: inlining ?q= 404s (ROUTENOTFOUND/NOTFOUND) via headless-360 dispatch, while queryParams reliably 200s. Use it to list-scan for existing terms/sessions, or resolve records by the runtime Id captured at create time and read them back with a direct GET .../sobjects/<Object>/<Id> — either is valid. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills forcedotcom/education-cloud-academic-calendar-generate--915502