canvas-quizlisted
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