canvas-homeworklisted
Install: claude install-skill 98ping/chip
# Canvas homework workflow ("Chip")
This is the harness. It connects four things: the **canvas** MCP server (lists and
reads assignments), the **`scripts/canvas.mjs`** helper (downloads files the MCP
can't), the **built-in `docx` and `pdf` skills / `Read` tool** (read the files), and
the **`writing-voice` skill** (draft in Max's voice). Follow the steps in order.
## Tools you will use
From the **canvas** MCP server (this is its complete toolset):
- `canvas_list_active_courses` — fast list of your current courses (dashboard API).
Prefer this for "what am I taking right now."
- `list_courses` — all courses; use flags for completed/all. Use when you need a
course that isn't on the active dashboard.
- `search_assignments` — search assignment titles/descriptions; filter by due-date
range, course, and completion/submission status. Use this to find what's *not done*.
- `get_assignment` — full details for one assignment; ask for **markdown** output so
the description and any embedded file links come through cleanly.
The canvas MCP **cannot download attachments.** That gap is filled by:
- `node scripts/canvas.mjs assignment-files <courseId> <assignmentId>` — **start here.**
Finds every file linked from the assignment description, its attachments, and any file
sitting in the same module. Dedupes and tells you where each one came from.
- `node scripts/canvas.mjs files <courseId> [nameFilter]` — list downloadable files in a
course, optionally filtered by a substring of