← ClaudeAtlas

canvas-scanlisted

Use when the student asks what Canvas work is pending or wants a homework plan. It performs one enriched read-only scan, writes the atomic assignment snapshot and approval plan, renders the plan, and stops without drafting or submitting anything.
X-isdoingreat/canvas-pilot · ★ 109 · AI & Automation · score 78
Install: claude install-skill X-isdoingreat/canvas-pilot
# Canvas Scan Scan is proposal only. It reads current Canvas state, creates a reviewable plan, and stops. The next user message is the architectural approval boundary. ## Hard boundary - MUST NOT execute or draft an assignment. - MUST NOT dispatch a course skill or `canvas-execute`. - MUST NOT write a per-assignment `result.json` or `REPORT.md`. - MUST NOT create `.scan_in_progress`. - MUST NOT upload, submit, or start/answer/complete a quiz. - MUST NOT interpret authentication as work approval. - MUST stop after rendering the plan. Never “helpfully” begin an urgent item. ## Phase 0: Setup and route gate Read local setup state before touching Canvas. 1. If `.env` is missing or the Canvas host/auth configuration is incomplete, hand off to `canvas-setup` and stop this scan when setup returns. 2. Read `courses.yaml`. Treat missing `routes`, `routes: null`, an empty mapping, and effectively all-commented routes as empty. 3. If routes are empty, hand off to `canvas-skill-opportunity` with this intent: > Inspect recurring candidates read-only, inspect representative real specs > and safe feedback-policy evidence, make a qualitative recommendation, > write the private opportunity report, and stop for the student's numbered > choice. Stop when opportunity analysis returns. Do not scan assignments and do not call `canvas-bootstrap` in the same turn. The student first chooses a candidate; a later Bootstrap invocation verifies it and creates one route.