> Build Module 6 page from the brief ✓ Loading skill: canvas-content-skill ✓ Reading SKILL.md ✓ Loading 3 reference files voice-guide.md accessibility-rules.md course-constants.md Phase 1 of 4, reading the brief...
--- name: canvas-content-skill description: Build a Canvas page from a lecture brief. Apply voice and accessibility rules. --- # Build a Canvas page ## Phase 1: Read the brief ## Phase 2: Apply voice ## Phase 3: Build the page **GATE:** present, wait for C/R/S/N ## Phase 4: Validate and save
✓ Phase 3 complete. Wrote pages/module-6.html [hook: PostToolUse → validate-canvas-html.sh] × HOOK BLOCKED · 2 issues: • image at line 47 missing alt attribute • h2 → h4 heading skip at line 52 Reverting write. Fix and retry.
{ "hooks": { "PostToolUse": [{ "matcher": "Write|Edit", "hooks": [{ "type": "command", "command": ".claude/hooks/ validate-canvas-html.sh" }] }] } }
✓ Phase 3 complete. Draft saved. ✓ Validators passed. Phase 3 → Phase 4 boundary GATE: How would you like to proceed? (C) Continue to Phase 4 (R) Revise (give feedback, re-gate) (S) Skip this phase (N) Next phase only > _
## Phase 3: Build the page Generate the page using the template. Apply voice and accessibility rules. Run the validator before presenting. **GATE:** Present the draft to the user. Wait for one of: (C) Continue to Phase 4 (R) Revise (apply feedback, re-gate) (S) Skip this phase (N) Next phase only
> Build Module 6 from the AUD613 syllabus ✓ Loading canvas-content-skill ✓ Phase 1-3 complete · draft ready GATE: Continue? > C ✓ Created 5 pages, 5 assignments ✓ Created 1 announcement ✓ Pushed to USAonline
> Roll all due dates: Spring 2026 to Fall 2026 ✓ Scanning 47 assignments, 12 module unlocks ✓ Preserving day-of-week alignment GATE: 59 date changes ready. Apply? > C ✓ Updated 47 due dates ✓ Updated 12 module unlocks ✓ Pushed to USAonline
> Audit all pages for WCAG 2.1 AA ✓ Scanning 133 pages across both courses ✓ Checks: alt text, contrast, headings, links GATE: Show report? > C ! 12 critical · missing alt text ! 23 medium · heading order ! 8 low · link text quality
anonymize_response_data()
/users, /submissions, /discussion, /enrollments, /groups, /analytics
ENABLE_DATA_ANONYMIZATION=true default · deterministic SHA-256 · faculty re-identifies locally from the Canvas roster
.claude/skills/.