← ClaudeAtlas

canvas-executelisted

Use after canvas-scan wrote a current plan and the student selected items. Records approval, hands approved work sequentially to native Codex course skills, validates results, updates ledger/report/delivery, and finalizes the marker. Canvas submission and quiz mutations require separate scoped authorization.
X-isdoingreat/canvas-pilot · ★ 109 · AI & Automation · score 78
Install: claude install-skill X-isdoingreat/canvas-pilot
# Canvas Execute Execute is the action half of the scan/execute boundary. It reads an existing student-reviewed plan; it never scans, invents, expands, or silently repairs a missing plan. Plan approval authorizes local assignment work for the selected items only. It does **not** authorize a Canvas upload/submission or a quiz start/answer/complete action. Those mutations require a separate scoped authorization receipt validated and consumed by the shared runtime. ## Hard rules - Do not run `canvas-scan` inline or regenerate `plan.json` from Canvas. - Do not execute unapproved items. - Do not execute an item whose final `user_decision` is not `approve` or a valid `swap:canvas-*`. - Do not expand a vague approval. Ambiguity stops before any plan write, marker, dispatch, or mutation. - Do not do course work inside this dispatcher. Use sequential native Codex skill handoffs. - Do not invent a route alias, draft path, verification result, result status, submission, score, or quiz diagnostic. - A TODO, sentinel, skeleton, empty template, outline-only file, or placeholder is never `draft_ready`. - Every assignment snapshot item must have one valid canonical `result.json` before finalization. - Keep `.claude/` read-only. Do not use the frozen Claude Skill tool or Claude session variables as active runtime mechanisms. - Do not submit to Canvas from plan approval. ## Phase 0: Preconditions and integrity Before parsing approval, require: 1. `runs/<today>/plan.json` e