Local, technical PII-prevention layer for Canvas workflows. A PreToolUse hook BLOCKS Canvas student-data API calls and reads of local student-data caches before they run, so student PII is never acquired and never transmitted. Ships a sterilizing data gateway and a best-effort output redactor as secondary safety nets. Designed for instructor (non-admin) machines; do NOT install on admin/grading machines that legitimately access student data.
Executes bash commands
Hook triggers when Bash tool is used
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Two Claude Code plugins for MGCCC instructors. Built and tested on the MGCCC Canvas instance; they reuse cleanly for any Canvas school after a few setting tweaks.
| Plugin | What it does |
|---|---|
courseforge | Builds Canvas course content — migrated from a Notion course or generated on request — as styled, sanitizer-safe pages, weekly modules, and (optionally) graded assignments/discussions/quizzes. Idempotent re-runs. Content-first: it does not read student data in normal use and refuses ad-hoc roster/grade/submission access. It adds one opt-in blind-grading flow (a sterilizing + pseudonymizing gateway: identities stay local, you grade pseudonymized text, a dry-run-first poster writes grades back). |
canvas-pii-guard | A local data-protection layer: PreToolUse hooks that block Canvas student-data API calls (rosters/grades/submissions) and local-cache reads before they run, so student PII is never fetched or sent. Plus a best-effort output scrubber tuned to MGCCC ID formats. Install it alongside courseforge. |
Not included here: the full admin/grading tool that intentionally reads student submissions with real identities. That stays on admin machines only. What this repo's content plugin does include is an opt-in blind-grading path that keeps identities local and only shows the model pseudonymized, scrubbed submission text (best-effort de-identification, not a guarantee — see Student data security below).
Install both plugins from the marketplace. The safety layer (canvas-pii-guard) is a
hooks plugin — it must be registered with Claude Code, which a manual folder copy
cannot do. In Claude Code, type these three lines (one at a time):
/plugin marketplace add billathekilla737/garris-canvas-tools
/plugin install courseforge@garris-canvas-tools
/plugin install canvas-pii-guard@garris-canvas-tools
You'll get a trust prompt on install — review the scripts, then approve. Fully restart Claude Code so the skills and hooks load.
Install both.
courseforgebuilds your courses;canvas-pii-guardis the local block that actually enforces the no-student-data guarantee. Installing courseforge alone leaves that protection off.
Verify it worked (after restart) — ask Claude:
"Is canvas-pii-guard active, and do you have the courseforge skill?"
It should confirm the courseforge skill is available and that the PII-guard PreToolUse hook is registered. If the guard isn't active, re-run the third command.
/plugin isn't available (SDK harness, automation)Some surfaces — the Claude Agent SDK harness, headless/automation runs — can't load
the plugin marketplace and will say /plugin "isn't available in this environment."
For those, run the bundled installer instead. Crucially, it does what a bare folder copy
could not: it registers the canvas-pii-guard hooks into settings.json, so the
safety block is never left off. It's idempotent, merges into any existing settings.json
(writing a .bak first), and runs the 51-check guard suite at the end.
git clone https://github.com/billathekilla737/garris-canvas-tools "$env:TEMP\garris-canvas-tools"
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:TEMP\garris-canvas-tools\Install-CourseForge.ps1"
An AI assistant can run those two lines for you (they're ordinary commands, not slash
commands). See AGENT-INSTALL-PROMPT.md for a paste-ready
prompt.
⚠️ Do not hand-copy just the skill folder into
~/.claude/skills/— that installs only the content skill and leaves the safety hooks uninstalled. Use the marketplace commands, orInstall-CourseForge.ps1, both of which register the hooks.
The easy way (recommended): in your course folder, ask Claude to "set up my
Canvas" (or run scripts\Setup-Canvas.ps1). It asks two questions — your course
web address and your access token (typed hidden) — and does everything else:
saves the token correctly, writes the config, protects it with .gitignore, and
tests the connection, printing your course name when it works. No file paths, no
file-extension headaches. To get the token: Canvas → Account → Settings → New
Access Token, then paste it when asked.
npx claudepluginhub billathekilla737/garris-canvas-tools --plugin canvas-pii-guardCourseForge: build, place, and schedule whole Canvas courses. Migrate from Notion or generate styled pages, syllabi, assignments, discussions, quizzes and exams; weekly modules; weighted grading; nav trim; and automatic due dates from the term calendar. Idempotent re-runs. Content-first and does not read student data in normal use; includes one opt-in, best-effort blind-grading flow that keeps identities local.
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Persistent file-based planning for AI coding agents. Crash-proof markdown plans (task_plan.md, findings.md, progress.md) that survive context loss and /clear, with an opt-in completion gate and multi-agent shared state. Manus-style. Works with Claude Code, Codex CLI, Cursor, Kiro, OpenCode and 60+ agents via the SKILL.md standard. Includes Arabic, German, Spanish, and Chinese (Simplified and Traditional).
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows