Claude
Skills
Sign in
Back

enrollment

Included with Lifetime
$97 forever

P223 monthly enrollment automation for Peninsula School District — report generation, FTE validation, and compliance checking

Generalscripts

What this skill does


# P223 Enrollment Automation

You orchestrate Peninsula School District's monthly P223 enrollment reporting process. This skill automates report generation from PowerSchool, validates enrollment data, and flags issues for human review.

**Human-in-the-loop**: This tool surfaces issues, flags discrepancies, and prepares files. Humans make judgment calls and submit to EDS.

## Reference Knowledge

Before acting, read the relevant reference documents:

```
plugins/psd-productivity/skills/enrollment/references/
  p223-process.md       # Step-by-step P223 procedure by school level
  fte-rules.md          # FTE calculation rules (ES/MS/HS/GVA/RS)
  school-config.md      # School list, programs, report parameters
  report-checklist.md   # Required reports per school level per month
  cant-automate.md      # Items requiring human judgment
  BUILD-PLAN.md         # Build plan and phase status
```

## Commands

### `/enrollment reports [school] [date]`

Run all required backup reports for a school on a count date using Chrome DevTools MCP browser automation.

**Prerequisites**: The debug browser must be running. Launch it with:
```bash
bash plugins/psd-productivity/skills/browser-control/scripts/launch-chrome.sh
```
The user must be logged into PowerSchool in the debug browser before running reports.

**Pre-flight (once per browser session)**:
1. Open `brave://settings/downloads` — disable "Ask where to save each file before downloading"
2. Verify user is logged into PowerSchool in the debug browser

**Workflow**:
1. Read `references/school-config.md` to determine school level (ES/MS/HS) and P223 parameters
2. Read `references/report-checklist.md` for direct URLs and JS patterns for each report
3. Use `evaluate_script` for all form interactions — UID-based clicks are unreliable (UIDs change between renders)
4. Reports to generate — **IN THIS ORDER, DO NOT SKIP ANY**:
   **STEP 1 [REQUIRED]**: P223 Form and Audit ⚑ PRIMARY DELIVERABLE
   - This is the report submitted to EDS. It MUST be generated first.
   - Navigate to state reports page, find P223 link via JS, set parameters per school level
   - If P223 fails, STOP and report the error. Do not continue to other reports.
   **STEP 2**: Enrollment Summary (all)
   **STEP 3**: Entry/Exit Report — previous month then current month (all)
   **STEP 4**: Consecutive Absence Report (all) — ALWAYS verify daysToScan=20
   **STEP 5**: Class Attendance Audit (all — Period 1 for ES, Periods 1-6 for MS/HS)
   **STEP 6**: Student List Export (all) — downloads to `~/Downloads/student.export.text`, move immediately
   **STEP 7**: Section Enrollment Audit (all)
   **STEP 8** (MS/HS only): Student Schedule Report
5. Save all PDFs using: `bun ~/Desktop/P223-<Month>-<Year>/save_pdf.js <path> <title_filter>`
6. Report back what was generated and flag any issues

**Key automation patterns** (see report-checklist.md for full JS snippets):
- Report engine forms: `document.getElementById('btnSubmit').click()`
- Report queue: submit → navigate to `detail.html?frn=<id>` → `wait_for(["Result File"])` → save PDF
- Entry/Exit: change `#m` value → dispatch `change` event → auto-refreshes (no submit)
- Enrollment Summary: set date input → press Tab → auto-reloads

**Do NOT delegate to powerschool-navigator agent** — it cannot access Chrome DevTools MCP tools. All browser automation runs in the main session.

**Parameters by level** (from school-config.md):
- **Elementary**: 1-Day FTE window, FTE Calc Date = count date
- **Middle/High**: 5-Day FTE window, FTE Calc Date = blank

### `/enrollment checklist [month]`

Show what's done and remaining for a monthly enrollment count.

**Workflow**:
1. Read `references/report-checklist.md`
2. Display the full checklist organized by:
   - Building Level tasks (pre-count, count day, post-count)
   - District Level tasks (pre-count, count day, reconciliation, submission)
3. If month provided, calculate the count date (1st school day of that month)
4. Show status as a markdown checklist

### `/enrollment help`

Explain the P223 process and what's automated.

**Workflow**:
1. Read `references/p223-process.md` and `references/cant-automate.md`
2. Provide a concise overview:
   - What P223 is and why it matters (funding)
   - Monthly cadence (Oct–Jun, 1st school day)
   - What this tool automates vs what requires human judgment
   - Available commands
   - Current build phase status

### `/enrollment fte [school] [schedule-info]`

Calculate FTE for a student at a given school based on their schedule.

**Workflow**:
1. Read `references/fte-rules.md`
2. Determine school level and FTE rules
3. Calculate:
   - Elementary: weekly minutes ÷ 1,665
   - Middle School: flex + (periods × school-specific FTE per period)
   - High School: (periods × 0.17) + homeroom (0.02) + optional zero hour (0.17)
   - Henderson Bay: advisory (0.14) + (periods × 0.21)
   - GVA: varies by full-time/part-time and paired school
4. Show calculation breakdown and resulting FTE
5. Calculate adjustment (1.0 - FTE) if less than full-time

### `/enrollment validate [school]`

Run validation checks against downloaded enrollment data.

**Workflow**:
1. Delegate to the `enrollment-validator` agent
2. Checks include:
   - Headcount consistency (Enrollment Summary vs Student List)
   - FTE calculation verification against bell schedule
   - Consecutive absence exclusion flags
   - Entry/Exit balancing (prev HC + entries - exits = current HC)
   - Running Start combined FTE ≤ 1.20
   - Program compliance (RS Program 1/2, Fresh Start Track=C)
   - Non-FTE course marking
   - Teacher assignment gaps

### `/enrollment compare [month1] [month2]`

Compare enrollment across two months to detect changes requiring revisions.

**Workflow**:
1. Compare Enrollment Summary reports from both months
2. Flag:
   - Backdated exits crossing count days (revision needed)
   - Grade level changes affecting previous counts
   - Students added/removed with dates before previous count
3. Output revision list with specific students and recommended actions

**Script**: `scripts/month_comparison.py`
```bash
uv run scripts/month_comparison.py --school GHHS \
  --current-data '{"9":203,"10":189}' --previous-data '{"9":200,"10":190}' \
  --previous-month February --current-month March
```

### `/enrollment ale [ale-report-csv]`

Run ALE FTE reconciliation from the GVA ALE report.

**Workflow**:
1. Read `references/fte-rules.md` for ALE FTE rates by paired school
2. Process the ALE report:
   - Assign FTE per section based on paired school (GHHS/PHS=0.15/0.17, HBHS=0.21, MS=0.16, ES=0.20)
   - Verify combined ALE + RS FTE ≤ 1.20 per student
   - Extract CTE ALE sections (OCT135, OPE901) and generate CTE report
   - Split by in-district (2740) vs out-of-district
   - Total by school and grade level
3. Output: ALE reconciliation report + CTE report for CTE program

**Script**: `scripts/ale_reconciler.py`
```bash
uv run scripts/ale_reconciler.py --ale-data report.csv --school GVA --count-date 03/02/2026 \
  --output ale_report.md --cte-output cte_ale.csv
```

### `/enrollment rs [tcc-report] [ps-export]`

Reconcile Running Start between TCC college report and PowerSchool data.

**Workflow**:
1. Compare TCC RS report against PS RS export
2. For each student:
   - Verify combined district + RS FTE ≤ 1.20
   - Identify full-time vs part-time RS
   - Flag students in TCC but not PS (contact registrar)
   - Flag students in PS but not TCC (verify RS status)
3. January special handling: flag SQEAF requirements for semester-change students
4. Generate RSCNTRL data (Academic/Vocational FTE by school, HC by grade)
5. Output: RS reconciliation report + RSCNTRL spreadsheet data

**Script**: `scripts/rs_reconciler.py`
```bash
uv run scripts/rs_reconciler.py --tcc-report tcc.csv --ps-report ps_rs.csv \
  --count-month March --count-date 03/02/2026 --output rs_report.md --rscntrl-output rscntrl.json
```

### `/enrollment report [month]`

Generate comprehensive validation report + EDS import

Related in General