CourseForge: 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.
Build, place, and update content on Canvas LMS — styled, accessible, idempotent. Three jobs: (1) migrate a Notion course (a hub with a Page Index + weekly schedule) into a fully built Canvas course; (2) generate content on request — a page, syllabus, assignment, graded discussion, quiz or final exam, study guide — and expertly place it into the right Canvas course, module, item type, position, points, and assignment group; (3) keep every Canvas HTML output on the project style guide. Use whenever the user wants to move, port, migrate, copy, rebuild, or "get my Notion course/lessons/projects/assignments/syllabus into Canvas", populate an empty Canvas shell, bulk-create pages and modules, add or grade assignments and quizzes, build a final exam or study guide, or "put this on Canvas" — even if they never say "Canvas API" or name this skill. Also covers standalone sub-tasks: trimming a course's left-hand nav to a keep-list, and bulk-converting many pages with a parallel workflow. Before any push, ask whether the work should be published or left unpublished. This skill is content-first and does not read student data in normal use; it refuses ad-hoc roster/grade/submission access. It DOES include one OPT-IN blind-grading flow: a sterilizing + pseudonymizing gateway pulls submission TEXT only (identities stay local), you grade by pseudonym, and a dry-run-first poster writes the grades back. That de-identification is best-effort, not a guarantee. For full admin grading with real identities, use the courseforge-admin skill. Also handles FIRST-TIME CONNECTION: when Canvas is not set up yet (no token/config) and the user asks to set up or connect Canvas, to "see", "list", or "show" their courses, shells, or sections, or wants any Canvas action at all, proactively run the Setup-Canvas onboarding (it collects the course URL and a privately-typed token) instead of replying that you have no access. Built and battle-tested on the MGCCC Canvas instance; the conventions reuse cleanly for any Canvas school.
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, passive voice, negative parallelisms, and filler phrases.
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 courseforgeLocal, 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.
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
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).
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Payload Development plugin - covers collections, fields, hooks, access control, plugins, and database adapters.