← ClaudeAtlas

canvas-quizlisted

Work a Canvas-native quiz (Classic Quizzes) — find it, open the attempt, read every question, save it to output/, fill the answers, and stop short of submitting. Use whenever Max points at a Canvas quiz, asks about a "syllabus quiz" or a quiz he still has to take, asks what a quiz is asking, or when a Canvas assignment turns out to have submission_types ["online_quiz"] with a quiz_id. Not for MyOpenMath quizzes — those are external_tool assignments and belong to the myopenmath skill.
98ping/chip · ★ 1 · Web & Frontend · score 74
Install: claude install-skill 98ping/chip
# Canvas quizzes Drives a Canvas Classic Quiz end to end with the **Claude in Chrome** tools. The full runbook — every trap, with the fix — is **`tooling/CANVAS_QUIZZES.md`**. Read it before the first interaction; what follows is the shape of the job. The page helper is **`tooling/canvas-quiz.js`**, the CLI is **`scripts/canvas-quiz.mjs`**. ## Which runbook Check the assignment's `submission_types`: - `["online_quiz"]` + a `quiz_id` → **this skill**. - `["external_tool"]` at myopenmath.com → **`myopenmath`** skill. Different machinery entirely (LTI iframe, MathQuill, per-question submits). ## Ask first Three separate asks, and they do not imply each other: 1. **Opening the attempt** — the one people underestimate. On a 1-attempt or timed quiz *this* is the irreversible step, not the submit. Always check `info` first and quote the numbers when you ask. 2. **Typing answers.** 3. **Submitting.** Never on your own initiative. Never enter credentials anywhere. ## Steps 1. **Find it** — `node scripts/canvas-quiz.mjs list <courseId>`. The `/quizzes` API index is disabled on many courses; this walks **assignments** instead, which always works. 2. **Pre-flight** — `node scripts/canvas-quiz.mjs info <courseId> <quizId>` and `attempts <courseId> <quizId>`. Read `allowed_attempts` and `time_limit` out loud before doing anything. A timed quiz means the clock runs while you think — plan the answers *before* opening it. 3. **Open the attempt** — a **real