canvas-insidelisted
Install: claude install-skill X-isdoingreat/canvas-pilot
# Canvas Classic Quiz workflow
Handle `online_quiz` assignments with a real Classic Quiz `quiz_id`. Supported
question types are multiple choice, multiple answers, true/false, matching,
short answer, fill-in-multiple-blanks, multiple dropdowns, numerical, and
essay. New Quizzes (`external_tool` with no `quiz_id`) and online text entries
are outside this skill.
Plan approval permits the approved local work only. It never grants authority
to start an attempt, save an answer or event, complete an attempt, or retake.
## Entry and artifact contract
Require `run_dir`, `course_id`, `assignment_id`, the validated assignment
snapshot and approved plan item. Create the only work directory with:
```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 exactly `course-<course_id>__assignment-<assignment_id>`. Keep all
quiz evidence there:
```text
quiz_meta.json
readings/
references/
study_notes.md
submission.json
questions.json
questions_simplified.json
agent_passes/
final_answers.json
answer_log.json
attempt-1/
attempt-2/
audit/learning_log.json
result.json
```
Read `_private/canvas-inside-app.md` first and select the exact course block.
It may contain the course whitelist, recurring quiz scope, instructor framework
primer, expected canonical knowledge, human-hours window, rate limit, target
score band and retake threshold. If the block is absent, write `error` with
`reason_code=missin