Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Accommodations

ASecurity

Use for per-student interventions in Canvas — SAS/disability accommodations, quiz time extensions, late-work grace, assignment/date exemptions, group-override recalculation, and submitting on a student's behalf. All are keyed by an opaque --deid-code or --user-id the INSTRUCTOR supplies (you never look up the name). Load this when the task is "give student X extra time / late grace / an override / an exemption", NOT grading and NOT course content.

5 stars
0 votes
0 copies
0 views
Added 9/24/2026
educationgo

Security Analysis

A100/100

Scanned 9/24/2026

$npx -y skills add chaz-clark/canvas-toolbox --skill accommodations --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Accommodations?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Accommodations
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chaz-clark-accommodations/badge)](https://www.skillsdirectory.com/skills/chaz-clark-accommodations)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: accommodations
description: Use for per-student interventions in Canvas — SAS/disability accommodations, quiz time extensions, late-work grace, assignment/date exemptions, group-override recalculation, and submitting on a student's behalf. All are keyed by an opaque --deid-code or --user-id the INSTRUCTOR supplies (you never look up the name). Load this when the task is "give student X extra time / late grace / an override / an exemption", NOT grading and NOT course content.
---

# Accommodations & student interventions

Per-student operational actions an instructor directs: accommodations, extensions,
grace, overrides, exemptions. These write to Canvas and are always **instructor-
initiated for a specific student**.

> The **constitution** (AGENTS.md) binds you: the instructor looks up the student
> in the local `.deid_master.csv` and hands you ONLY the opaque `deid_code` or
> numeric `user_id`. You use it as-is — **no re-identification, never a name.**

## The identity contract

Every tool here accepts `--deid-code <S-XXXXXX>` or `--user-id <n>` directly. You do
**not** read `.deid_master.csv` to "look up" the student — that's a FERPA Zone-2
violation. If the instructor says "give Ada extra time," ask them for Ada's
deid_code or user_id; you never resolve the name yourself.

Output discipline: ✅ "Applied 1.5× time for deid_code S-68BC40" · ❌ "…for Ada."

## Tools

| Intervention | Tool |
|---|---|
| Quiz time extension (e.g. 1.5× / 2× on timed quizzes) | `student_quiz_time_extension.py --deid-code <code> --multiplier 1.5 --all-timed --apply` |
| Late-work grace / reopen past-due assignments | `student_late_accommodation.py --deid-code <code> --from-days-ago 14 --apply` |
| SAS / disability-office accommodation dispatcher (processes letters) | `apply_sas_accommodations.py --apply` |
| Exempt a student from an assignment by date | `exempt_by_date.py …` |
| Student can't submit / override not taking effect / force recalc | `fix_group_override_recalc.py --course-id <id> --student-id <id>` |
| Submit an artifact on a student's behalf | `submit_on_behalf.py …` |

## Discipline

- **`--apply` is the write gate.** Every tool defaults to a dry-run preview; nothing
  reaches Canvas until `--apply`. Preview first, confirm the target student + change,
  then apply.
- **`canvas_course_guard` still applies** — an enrolled-course write is gated; the
  instructor's own course needs the explicit override the tool documents.
- **Canvas write lessons that bite here:** overrides + due-date changes need the full
  `due_at`/`lock_at`/`unlock_at` trio, and a group override sometimes needs a forced
  recalc before Canvas honors it (`fix_group_override_recalc.py`).

## Quick command map

| Ask | Command |
|---|---|
| "Give student X 1.5× on all quizzes" | `student_quiz_time_extension.py --deid-code <code> --multiplier 1.5 --all-timed --apply` |
| "Let student X submit late" | `student_late_accommodation.py --deid-code <code> --from-days-ago 14 --apply` |
| "Process the SAS letters" | `apply_sas_accommodations.py --apply` |
| "Student X still can't submit" | `fix_group_override_recalc.py --course-id <id> --student-id <id>` |

<!-- GENERATED by lib/tools/generate_adapters.py from skills/accommodations/SKILL.md — do not edit this copy directly; edit the canonical file and regenerate. schema_version: 1 -->

Attribution

chaz-clarkchaz-clark
View sourceSee grades on GitHubMore from chaz-clark →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Math Olympiad

1. **Strip thinking before verifying** — a verifier that sees the reasoning is biased toward agreement. Fresh context, cleaned proof only. 2. **"Does this prove RH?"** — if your theorem's specialization to ζ is a famous open problem, you have a gap. Most reliable red flag. 3. **Short proof → extract the general lemma** — try 2×2 counterexamples. If general form is false, find what's special about THIS instance. 4. **Same gap twice → step back** — the case split may be obscuring a unifie

374330 votes

Manim

Comprehensive guide for Manim Community - Python framework for creating mathematical animations and educational videos with programmatic control

304950 votes

Mcore Onboard Gb200 1node Tests

Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.

180410 votes

Mcore Split Pr

Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.

180410 votes

Read Sensor

Listens to a CARLA sensor and either saves its data to files, shows it live in a window, prints a one-shot summary, or (ros-info) reports the native ROS 2 topics, QoS and enabled-for-ROS state so you can echo it from ROS instead. Cameras save as PNG (depth/semantic auto-colourised) and display in a pygame window; lidar saves as .ply and shows as a top-down scatter; IMU/GNSS/radar/collision stream to JSONL or the console. Use when the user asks to "show/view the camera", "display the lidar", "...

144610 votes
View all in education →