Skill: icej/ontario-course-planning (version 1.0.0)

--- name: ontario-course-planning description: Ontario (Canada) high school course planning (Grades 9–12) aligned to university admissions and Top 6 (12U/M) strategy. Use to: analyze prerequisites + Top 6 composition for one or multiple target universities/programs (e.g., Waterloo CS, UofT CS, Engineering); generate or iteratively update a 4‑year plan under OSSD graduation requirements, school timetable/selection rules, and summer school constraints (max 1 course/year); and revise the plan when the user updates rules, summer school offerings, or the school course catalog. --- # Goal Produce an **iterable, updatable** Ontario (OSSD) Grades 9–12 course plan that: - Meets graduation requirements, school course-selection rules, and online-learning requirements - Meets each target university/program’s **prerequisites** and common **Top 6 (12U/M)** counting patterns - Optimizes the schedule based on user priorities (e.g., protect Grade 11/12 workload, front-load difficulty to Grade 9/10, disallow summer school, prefer easier electives for average) # Before you plan: required inputs (ask if missing) Ask the minimum number of questions needed to fill these. If something is unknown, label it **ASSUMPTION**. ## A) Targets (support multiple) Record targets in working memory in this structure: - Targets: - University: <name> Program: <program name> Campus/Faculty: <optional> Notes: <co-op? competitiveness?> If the user says only “robotics/engineering”, ask whether they mean **Engineering** (e.g., Mechatronics/Computer/Electrical) vs **CS/Math**, and whether co-op matters. ## B) Student + school constraints - Current grade; completed / in-progress courses (if not starting from Grade 9) - Special programs: French Immersion / IB / AP / etc. - Whether the school allows: taking 12U early, cross-grade enrolment, spares in Grade 12, etc. - Timetable constraints: typically 8 courses/year (4+4). Confirm whether 7-course years are allowed. ## C) Planning priorities (must be editable) Keep as toggles/weights: - Workload distribution: - `pressureFocus`: "frontload" | "balanced" | "protect_11_12" - Summer school: - `summerSchool.enabled`: true/false - `summerSchool.maxPerYear`: 1 (default) - `summerSchool.useFor`: "nonTop6" | "reachAhead" | "repeatImprove" (default: nonTop6) - Grades/average strategy: - `maximizeAverage`: true/false - `preferEasierElectives`: true/false - Risk tolerance: - `planRobustness`: "conservative" | "normal" | "aggressive" # Workflow (generate or update a plan) ## Step 1 — Build the rule baseline (read references) Read and apply: - `references/graduation-and-planning-rules.md` - `references/summer-school-catalog.md` - `references/required-bands-by-grade.md` - `references/course-catalog.md` If the user provides new rules or new lists: - Do **not** overwrite the files in-place during the chat. - Clearly list what changed, and recommend writing the changes back into the appropriate references file (see “Maintenance & updates”). ## Step 2 — For each target, derive prerequisites + Top 6 logic For each (University, Program), produce: - Likely hard prerequisites (e.g., ENG4U, MHF4U, MCV4U, SPH4U, SCH4U) - Typical Top 6 (12U/M) composition patterns for that program If prerequisites are uncertain: 1) Provide a **conservative default** for that program family (CS vs Engineering) 2) List what must be verified and provide web_search keywords/links the user can check ## Step 3 — Schedule the 4-year plan Objectives: - Grade 9–11: satisfy “8 courses per year” rule if applicable - Respect prerequisite chains while distributing workload - If `protect_11_12`: avoid stacking multiple heavy 3U/4U courses in Grade 11/12 - If summer school is enabled and `useFor=nonTop6`: prioritize non-Top6 / non-admissions-impact courses (often Civics/Careers) to reduce timetable load Planning method: - Lock Grade 12 Top 6 candidate pool (>= 6 courses; ideally 7–8 for replacement) - Back-plan prerequisites: - MHF4U/MCV4U usually require Grade 11 MCR3U - 4U sciences usually require corresponding 3U sciences - CS/Engineering interest: consider ICS/TEJ/TDJ pathways where available ## Step 4 — Standardized output (required) Output must follow this structure (do not omit sections): ### 1) Targets & assumptions - Target universities/programs (multiple allowed) - Active priorities config (pressureFocus, summerSchool, etc.) - Key assumptions / items to confirm ### 2) Prerequisites + Top 6 summary (by target) For each target: - Prerequisite list - Two Top 6 options (e.g., low-pressure vs high-relevance; conservative vs stretch) - Risks and substitutes ### 3) 4-year course plan (by grade) For each grade: - Course list with: course name + code + course type (D/P/U/M/O/W/etc.) + whether it counts toward the **17 compulsory** vs **13 elective** credits - End-of-year cumulative credits: total / compulsory / elective - Rationale for that year (prereqs + workload distribution + average strategy + interests) ### 4) Validation checklist - Graduation requirements met (17 compulsory, 13 elective, 2 online courses, etc.) - Prereqs met for each target - Grade 12 overload check (if user dislikes “overload/extra credits”, propose alternatives) # Maintenance & updates (must support) When the user asks to modify/update anything: 1) Identify which bucket changed: - Rules: graduation/online requirement, yearly course count, summer school limits - Summer school: offerings, cancellations, whether a course may be used for Top 6 - Course catalog: add/remove/rename courses, codes, grade availability - Priorities: pressureFocus, summer school on/off, risk tolerance 2) Apply **minimal-change** updates: - Mark impacted grades/courses - Provide before/after diffs - Recalculate cumulative credits and Top 6 options 3) If the user agrees, recommend persisting updates into references: - `references/graduation-and-planning-rules.md` - `references/summer-school-catalog.md` - `references/course-catalog.md` # Quality rules (hard) - Never present uncertain items as facts; label them “TO VERIFY”. - Course codes must come from `references/course-catalog.md` unless the user explicitly adds new ones. - Output must include cumulative credits (total/compulsory/elective) and consistent classification.

path: references/course-catalog.md
content: # High school course catalog (name / code / suggested grade)

> Source: user-provided list. If the school updates the catalog annually, treat the latest catalog as source of truth.

## Arts
- ADA1O1 — Drama 9 (Gr 9)
- ADA1OF — Drama (French Immersion) 9 (Gr 9)
- ADA2O1 — Drama 10 (Gr 10)
- ADA3M1 — Drama -Performance 11 (Gr 11)
- ADA3O1 — Drama -Design and Production 11 (Gr 11)
- ADA4M1 — Drama- Performance 12 (Gr 12)
- ADB3M1 — Drama - Musical Theatre 11 (Gr 11)
- ADB4M1 — Drama - Musical Theatre 12 (Gr 12)
- ADD4M1 — Drama - Design and Production 12 (Gr 12)
- AMI1O1 — Instrumental Music - Band Introduction (Gr 9)
- AMI1O6 — Instrumental Music - Band (Gr 9)
- AMI2O1 — Instrumental Music - Band (Gr 10)
- AMI3M1 — Instrumental Music - Band (Gr 11)
- AMI4M1 — Instrumental Music - Band (Gr 12)
- AMR1O1 — Repertoire - Strings (Gr 9)
- AMR1O3 — Repertoire - Band (Gr 9)
- AMR2O1 — Repertoire - Strings (Gr 10)
- AMR2O3 — Repertoire - Band (Gr 10)
- AMR3M1 — Repertoire - Strings (Gr 11)
- AMR3M3 — Repertoire - Band (Gr 11)
- AMR4M1 — Repertoire - Strings (Gr 12)
- AMR4M3 — Repertoire - Band (Gr 12)
- AMS1O1 — Instrumental Music - Strings Introduction (Gr 9)
- AMS1O6 — Instrumental Music - Strings (Gr 9)
- AMS2O1 — Instrumental Music - Strings (Gr 10)
- AMS3M1 — Instrumental Music - Strings (Gr 11)
- AMS4M1 — Instrumental Music - Strings (Gr 12)
- ASM2O1 — Media Arts (Gr 10)
- ASM3M1 — Media Arts (Gr 11)
- ASM4M1 — Media Arts (Gr 12)
- ATC1O1 — Dance (Gr 9)
- ATC2O1 — Dance (Gr 10)
- ATC3M1 — Dance (Gr 11)
- ATC4M1 — Dance (Gr 12)
- AVI1O1 — Visual Arts (Gr 9)
- AVI1OF — Visual Arts (French Immersion) (Gr 9)
- AVI2O1 — Visual Arts (Gr 10)
- AVI3M1 — Visual Arts (Gr 11)
- AVI3MF — Visual Arts (French Immersion) (Gr 11)
- AVI4M1 — Visual Arts (Gr 12)
- AWD4M1 — Visual Arts - Visual Design (Gr 12)
- AWN3M1 — Visual Arts - Painting (Gr 11)
- AWN4M1 — Visual Arts - Painting (Gr 12)

## Business
- BAF3M1 — Financial Accounting Fundamentals (Gr 11)
- BAT4M1 — Financial Accounting Principles (Gr 12)
- BBB4M1 — International Business Fundamentals (Gr 12)
- BEM1O1 — Building the Entrepreneurial Mindset (Gr 9)
- BEP2O1 — Launching and Leading a Business (Gr 10)
- BMI3C1 — Marketing: Goods (Gr 11)
- BOH4M1 — Business Leadership: Management Fundamentals (Gr 12)

## Canadian & World Studies / Social Sciences
- CGC1W1 — Exploring Canadian Geography, Grade 9 (Gr 9)
- CGC1WOH — High Performance Athlete (HPA) - Gr. 9 Semester 2 (Gr 9)
- CGC1WV — Exploring Canadian Geography, Grade 9 (Gr 9)
- CGG3O1 — Travel and Tourism: A Geographic Perspective (Gr 11)
- CHC2D1 — Canadian History Since World War I (Gr 10)
- CHC2DV — Canadian History Since World War I (Gr 10)
- CHW3M1 — World History to the End of the Fifteenth Century (Gr 11)
- CHY4U1 — World History Since the Fifteenth Century (Gr 12)
- CIA4U1 — Analyzing Current Economic Issues (Gr 12)
- CIVCAR — Civics & Career Studies (Gr 10)
- CLN4U1 — Canadian and International Law (Gr 12)
- CLU3M1 — Understanding Canadian Law (Gr 11)
- CPW4U1 — Canadian and World Politics (Gr 12)
- HFA4U1 — Nutrition and Health (Gr 12)
- HFC3M1 — Food and Culture (Gr 11)
- HFN2O1 — Food and Nutrition (Gr 10)
- HHS4U1 — Families in Canada (Gr 12)
- HIF1O1 — Exploring Family Studies (Gr 9)
- HNB4M1 — The World of Fashion (Gr 12)
- HNC3C1 — Understanding Fashion (Gr 11)
- HSB4U1 — Challenge and Change in Society (Gr 12)
- HSP3C1 — Introduction to Anthropology, Psychology and Sociology (Gr 11)
- HSP3U1 — Introduction to Anthropology, Psychology and Sociology (Gr 11)
- HZB3M1 — Philosophy: The Big Questions (Gr 11)
- HZT4U1 — Philosophy: Questions and Theories (Gr 12)

## English / Languages
- ENG1L1 — English 9 (Gr 9)
- ENG2D1 — English 10 (Gr 10)
- ENG2DV — English 10 (Gr 10)
- ENG2L1 — English 10 (Gr 10)
- ENG4C1 — English 12 College (Gr 12)
- ENG4U1 — English 12 University (Gr 12)
- ENL1W1 — English 9 (Gr 9)
- ENL1WV — English 9 (Gr 9)
- ESLAO1/ESLBO1/ESLCO1/ESLDO1/ESLEO1 — ESL (Gr 9-12)
- EWC4U1 — The Writer's Craft (Gr 12)
- FIF1DF — French Immersion (Gr 9)
- FIF2DF — French Immersion (Gr 10)
- FIF3UF — French Immersion (Gr 11)
- FIF4OF/FIF4UF — French Immersion (Gr 12)
- FSF1D1/FSF1O1 — Core French (Gr 9)
- FSF2D1 — Core French (Gr 10)
- FSF3U1 — Core French (Gr 11)
- FSF4U1 — Core French (Gr 12)
- NBE3C1/NBE3U1 — Understanding Contemporary First Nations, Métis, and Inuit Voices (Gr 11)
- OLC4O1 — Ontario Secondary School Literacy Course (Gr 12)

## Guidance / Online
- OLOPTO — Online Learning Opt-Out (Gr 10-12)
- ONLINE — Online Learning Courses (Gr 10-12)

## Health & Physical Education
- PAF1O1 — Healthy Living and Personal and Fitness (ALL ED) (Gr 9)
- PAF2O9 — Healthy Living and Personal and Fitness Activities (Male Students) (Gr 10)
- PAF3O9 — Healthy Living and Personal and Fitness Activities (Male Students) (Gr 11)
- PAF4O9 — Healthy Living and Personal and Fitness Activities (Male Students) (Gr 12)
- PAI1OOH — High Performance Athlete (HPA) - Gr. 9 Semester 1 (Gr 9)
- PAI2OOH — High Performance Athlete (HPA) - Gr. 10 Semester 1 (Gr 10)
- HPA11 — High Performance Athlete (HPA) - Gr. 11/12 Semester 1 (Gr 10-12)
- HPA21 — High Performance Athlete (HPA) - Gr. 11/12 Semester 2 (Gr 10-12)
- PLF4M1 — Recreation and Healthy Active Living Leadership (Gr 12)
- PPL1O9 — Healthy Active Living Education (Male Identifying) (Gr 9)
- PPL2O9 — Healthy Active Living Education (Male Students) (Gr 10)
- PPL3O9 — Healthy Active Living Education (Male Students) (Gr 11)
- PPL4O9 — Healthy Active Living Education (Male Students) (Gr 12)
- PSK4U1 — Introductory Kinesiology (Gr 12)

## Mathematics
- MTH1W1/MTH1WV — Mathematics (Gr 9)
- MFM2P1 — Foundations of Mathematics (Gr 10)
- MPM2D1/MPM2DV — Principles of Mathematics (Gr 10)
- MBF3C1 — Foundations for College Mathematics (Gr 11)
- MCF3M1 — Functions and Applications (Gr 11)
- MCR3U1 — Functions (Gr 11)
- MAP4C1 — Foundations for College Mathematics (Gr 12)
- MDM4U1 — Mathematics of Data Management (Gr 12)
- MEL3E1 — Mathematics for Work and Everyday Life (Gr 11)
- MEL4E1 — Mathematics for Work and Everyday Life (Gr 12)
- MHF4U1 — Advanced Functions (Gr 12)
- MCV4U1 — Calculus and Vectors (Gr 12)

## Science
- SNC1W1/SNC1WV — Science (Gr 9)
- SNC2D1/SNC2DV — Science (Gr 10)
- SNC2P1 — Science (Gr 10)
- SBI3C1/SBI3U1 — Biology (Gr 11)
- SCH3U1 — Chemistry (Gr 11)
- SPH3U1 — Physics (Gr 11)
- SNC4M1 — Science (Gr 12)
- SBI4U1 — Biology (Gr 12)
- SCH4C1/SCH4U1 — Chemistry (Gr 12)
- SPH4C1/SPH4U1 — Physics (Gr 12)
- SES4U1 — Earth and Space Science (Gr 12)
- SVN3M1 — Environmental Science (Gr 11)

## Technology
- TAS1O1 — Technology and the Skilled Trades, Grade 9 (Gr 9)
- TCJ2O1 — Construction Technology (Gr 10)
- TCJ3C1 — Construction Technology (Gr 11)
- TCJ4C1 — Construction Technology (Gr 12)
- TDJ2O1 — Technological Design (Gr 10)
- TDJ3M1 — Technological Design (Gr 11)
- TDJ4M1 — Technological Design (Gr 12)
- TEJ1O1 — Exploring Computer Technology (Gr 9)
- TEJ2O1 — Computer Technology (Gr 10)
- TEJ3M1 — Computer Engineering Technology (Gr 11)
- TEJ4M1 — Computer Engineering Technology (Gr 12)
- TGJ1O1 — Communication Technology (Gr 9)
- TGJ2O1 — Communications Technology (Gr 10)
- TGJ3M1 — Communications Technology (Gr 11)
- TGJ4M1 — Communications Technology (Gr 12)
- TXJ1O1 — Exploring Hairstyling and Aesthetics (Gr 9)
- TXJ2O1 — Exploring Hairstyling and Aesthetics (Gr 10)
- TXJ3E1 — Exploring Hairstyling and Aesthetics (Gr 11)
- TXJ4E1 — Exploring Hairstyling and Aesthetics (Gr 12)
- ICD2O1 — Digital Technology and Innovations in th (Gr 10)
- ICS3C1 — Introduction to Computer Programming (Gr 11)
- ICS3U1 — Introduction to Computer Science (Gr 11)
- ICS4U1 — Computer Science (Gr 12)

## Co-op / Dual Credit / OYAP
- COOP1 — Co-op 1 Credit Holding Code (Gr 12)
- COOP2 — 2 Credit Co-op Holding Code (Gr 11-12)
- COOP2AM/COOP2PM — 4 Credit Co-op program holding codes (Gr 11-12)
- OYAPFS — OYAP-FAST (Gr 11-12)
- YYY4X1 / YYY4X3 — Dual Credit - College (Gr 12)


path: references/graduation-and-planning-rules.md
content: # Graduation & planning rules (editable)

## Default graduation requirements (user may override)
- Compulsory: 17 credits
- Electives: 13 credits
- Online learning: 2 online courses required
- Grades 9–11: must take 8 courses each year (if this is the school rule)

> Note: School boards vary on online opt-out, timetable model, cross-grade enrolment, and what counts as “online”. If the user provides updates, treat the user as source of truth and record the change.

## Workload/strategy constraints (from the original prompt)
- Under graduation + school rules + admissions constraints:
  - Reduce workload pressure each year, especially Grades 11 & 12
  - Prefer shifting difficulty earlier (Grades 9 & 10)
  - Avoid Grade 12 “overload for extra programs” (e.g., very heavy course stacking)
  - For non-required / non-admissions-critical courses, prefer options that are typically easier to score well in


path: references/required-bands-by-grade.md
content: # Typical compulsory bands by grade (editable)

> This is a checklist of the *typical* compulsory subject bands used when drafting a timetable. Exact compulsory-credit details depend on the school/board.

- Grade 9: English, Mathematics, Science, Core French, Geography, Physical Education, Arts
- Grade 10: Online learning opt-out (if applicable), English, Mathematics, Science, History, Civics/Careers
- Grade 11: Online learning opt-out (if applicable), English, Mathematics
- Grade 12: English


path: references/summer-school-catalog.md
content: # Summer school rules & course list (editable)

## Summer school rules (default)
- Max 1 course per year
- Default strategy: summer school courses are **not used for university admissions Top 6**, and should not negatively impact the admissions average
  - Recommended uses: Civics/Careers (0.5+0.5), non-Top6 compulsory credits, or low-impact electives to reduce timetable load

## Summer school course offerings (from user)

### Grade 10
- CHC2D / CHC2DF — History (Academic)
- CHV2O/GLC2O — Civics (0.5) + Careers (0.5)
- ENG2D — English (Academic)
- ENG2P — English (Applied)
- MPM2D — Math (Academic)
- SNC2D — Science (Academic) — CANCELLED
- SNC2P — Science (Applied)

### Grade 11
- BAF3M — Introduction to Financial Accounting
- MCR3U — Functions — CANCELLED
- NBE3C / NBE3U — Understanding Contemporary First Nations, Métis, and Inuit Voices
- SBI3C — Biology (College)
- SBI3U — Biology (University)
- SCH3U — Chemistry (University)
- SPH3U — Physics (University)

### Grade 12
- ENG4C — English (College)
- ENG4U — English (University)
- MHF4U — Advanced Functions
- SPH4U — Physics (University)

## Maintenance notes
- If a course is marked CANCELLED or the yearly offerings change, update this file and call it out in the plan output (e.g., “Availability unknown for this year”).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)