canvas-bootstraplisted
Install: claude install-skill X-isdoingreat/canvas-pilot
# Canvas Bootstrap
Turn one student-selected recurring pattern into a durable Codex course skill.
This is a detective and authoring workflow, not a pending-work scanner and not a
submission workflow.
Bootstrap is intentionally scope-first: one selected candidate, one course, one
route per invocation. The student may run it again for another pattern later.
## Entry contract
Normal first-run entry requires all of the following:
1. Canvas authentication has already been verified by `canvas-setup`.
2. `canvas-skill-opportunity` wrote the private local
`runs/<today>/skill-opportunities.json` and companion Markdown report.
3. The student explicitly selected one numbered candidate in a later turn.
The opportunity report is evidence, not authorization. A ranking does not
authorize skill creation by itself, does not approve any pending assignment,
and grants no upload, submission, or quiz-mutation authority.
A manual redesign request may target one existing route without a fresh
opportunity report, but Bootstrap must still run the same current-evidence and
viability checks and must ask before replacing a working skill or private
overlay.
If invoked with no selected candidate and no explicit redesign target, stop and
ask for the candidate number. Do not choose the top-ranked item for the student.
## Outputs and privacy split
On a successful run, Bootstrap may create or update exactly these local
surfaces:
- `.agents/skills/canvas-<safe-name>/SKILL.md` — tracked, public-sa