← ClaudeAtlas

canvas-essaylisted

Use for an approved long academic-writing assignment routed by canvas-execute after the deterministic writing router selects essay. Build, audit, humanize when configured, and return a verified local draft without submitting.
X-isdoingreat/canvas-pilot · ★ 109 · AI & Automation · score 78
Install: claude install-skill X-isdoingreat/canvas-pilot
# canvas-essay Produce one verified long-form academic draft. The real specification may live in Canvas modules, attached files, or an instructor site; the Canvas summary is only a routing hint. ## Contract Require `course_id`, `assignment_id`, current assignment snapshot, approved plan item, and `run_dir` from `canvas-execute`. The work directory is exactly: ```python from src.course_artifacts import ensure_stable_work_dir work_dir = ensure_stable_work_dir(run_dir, course_id, assignment_id) ``` Its name is `course-<course_id>__assignment-<assignment_id>`. Never use a course or assignment title as durable identity. This skill performs read-only Canvas discovery and local file creation. It never uploads or submits. An overlay flag, plan approval, or prose instruction is not mutation authority. A later exact-target command may enter only through `canvas-submit`, which issues and validates an origin/course/assignment/action/session-exact signed receipt. Write one `result.json` through `src.course_artifacts.write_course_result`: - `draft_ready`: verified draft exists; - `skipped`: intrinsically manual assignment; - `error`: required spec/source is missing or verification remains failed. Do not use noncanonical result statuses. ## Route check Confirm `src.ac_eng_router.route_ac_eng_assignment(...) == "essay"` unless the approved plan contains an explicit essay override. Route short annotations and worksheets to `canvas-reading-annotation`; route quizzes, code work, and