canvas-skill-opportunitylisted
Install: claude install-skill X-isdoingreat/canvas-pilot
# Canvas Skill Opportunity
Choose the best **first durable workflow**, not merely the easiest-looking
assignment. This is an Agent judgment protocol. Deterministic code may discover
recurrence and project private data, but it must not decide the recommendation.
## Contract
- Enter after `canvas-setup` verifies authentication and finds no ready routes,
or when the user explicitly asks for skill opportunities.
- Write only:
- `runs/<today>/skill-opportunities.json`
- `runs/<today>/skill-opportunities.md`
- Keep `.claude/` read-only.
- Never start or consume a quiz attempt merely to classify it.
- Never solve, draft, answer, upload, submit, create a route, or create a skill.
- Never call `canvas-scan`, `canvas-execute`, or a course-solving skill.
- Stop for one numbered user choice. Selection authorizes only the later
`canvas-bootstrap` design check; it does not authorize assignment submission.
## 1. Establish The Read-Only Boundary
Read `AGENTS.md`, `courses.yaml`, and setup state. Verify Canvas authentication
if it has not been verified in this session. Before inspecting course data, say:
```text
I will read recurring assignment instructions and Canvas feedback settings to
recommend one reusable workflow. I will not do work, start an attempt, upload,
submit, or create a skill.
```
Before writing, verify `runs/` is gitignored. Stop if it is not.
## 2. Discover Recurrence As Fact
Use the existing factual helpers:
```python
from src import canvas_client as cv
fr