DeepTutor CLI
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
Learning designer quality check for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp.
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-course-qc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/canvas-course-qc .claude/skills/canvas-course-qc && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "canvas-course-qc" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qc into .claude/skills/canvas-course-qc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-course-qc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qcType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-course-qc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/canvas-course-qc .agents/skills/canvas-course-qc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "canvas-course-qc" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qc into .agents/skills/canvas-course-qc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-course-qc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-course-qc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/canvas-course-qc .cursor/skills/canvas-course-qc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "canvas-course-qc" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qc into .cursor/skills/canvas-course-qc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-course-qc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vishalsachdev/canvas-mcp.git --path skills/canvas-course-qc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-course-qc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/canvas-course-qc .gemini/skills/canvas-course-qc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "canvas-course-qc" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qc into .gemini/skills/canvas-course-qc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-course-qc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vishalsachdev/canvas-mcp canvas-course-qcInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/canvas-course-qc .github/skills/canvas-course-qc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "canvas-course-qc" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qc into .github/skills/canvas-course-qc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-course-qc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-course-qc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/canvas-course-qc .opencode/skills/canvas-course-qc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "canvas-course-qc" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-course-qc into .opencode/skills/canvas-course-qc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-course-qc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
canvas-course-qcLearning designer quality check for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp.
Canvas Course Qc is an agent skill from vishalsachdev/canvas-mcp. Learning designer quality check for Canvas LMS courses. Audits module structure, content completeness, publishing state, date consistency, and rubric coverage. Use when asked to "QC a course", "is this course ready", "pre-semester check", or "quality review".
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Education, covering Quizzes and assessments. The repository describes itself as: Canvas LMS MCP server — up to 102 tools and 8 agent skills for students & educators. Works with Claude, Cursor, Codex, and 40+ agents. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8f1b0ae. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Canvas Course Qc loads about 1.4k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 568 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vishalsachdev/canvas-mcp at commit 8f1b0ae, republished under its MIT licence (© vishalsachdev). 568 words, ~1,434 tokens.
.claude/skills/canvas-course-qc/SKILL.md (or your agent's skills folder).Automated quality checklist for Learning Designers to verify a Canvas course is ready for students. Runs structure, content, publishing, and completeness checks — then reports issues by priority.
Ask the user which course to QC. Accept a course code, Canvas ID, or course name.
If not specified, prompt:
Which course would you like to quality-check?
Use list_courses to look up available courses if needed.
Call get_course_structure(course_identifier) to get the full module-to-items tree in one call.
This returns all modules with their items, publishing states, and summary statistics.
Analyze the module tree for structural issues:
| Check | Priority | What to Look For |
|---|---|---|
| Empty modules | Warning | Modules with 0 items (confusing to students) |
| Naming consistency | Suggestion | Do all modules follow the same pattern? (e.g., "Week N:", "Unit N:") |
| Module count | Suggestion | Does it match expected count for course length? |
| Item ordering | Suggestion | SubHeaders present for organization? |
Call list_assignments(course_identifier) and check each assignment:
| Check | Priority | What to Look For |
|---|---|---|
| Missing due dates | Blocking | Graded assignments without a due_at date |
| Missing descriptions | Warning | Assignments with empty or null description |
| Missing points | Warning | Assignments without points_possible set |
| Date sequencing | Warning | Due dates that don't follow module order |
| Rubric coverage | Suggestion | Graded assignments without an associated rubric |
For pages, check if any pages in modules have empty body content using get_page_content for pages flagged in the structure.
Using the structure data:
| Check | Priority | What to Look For |
|---|---|---|
| Ghost items | Blocking | Published items inside unpublished modules (invisible to students) |
| Unpublished modules | Warning | Modules that may need publishing before semester |
| No front page | Warning | Course has no front page set |
Check for front page by calling list_pages(course_identifier) and looking for front_page: true.
Compare module structures to find inconsistencies:
| Check | Priority | What to Look For |
|---|---|---|
| Inconsistent structure | Warning | Most modules have 4 items but some only have 1 |
| Missing item types | Suggestion | Most modules have an Assignment but some don't |
Build a "typical module" profile from the most common item-type pattern, then flag modules that deviate.
Present results grouped by priority:
## Course QC Report: [Course Name]
### Summary
- Modules: 15 | Items: 67 | Assignments: 15 | Pages: 20
- Issues found: 3 blocking, 5 warnings, 2 suggestions
### Blocking Issues (fix before publishing)
1. Assignment "Final Project" has no due date
2. Published "Week 5 Quiz" is inside unpublished "Week 5" module (invisible to students)
3. Assignment "Midterm" has no due date
### Warnings (should fix)
1. 2 empty modules: "Week 14", "Week 15"
2. 3 assignments missing descriptions: HW 3, HW 7, HW 12
3. No front page set for course
4. Due dates out of order: Week 8 assignment due before Week 7
5. "Week 3" module has 1 item while typical modules have 4
### Suggestions (nice-to-have)
1. Module naming: 13/15 use "Week N:" pattern but "Midterm Review" and "Final Review" don't
2. 5 graded assignments have no rubric attachedAfter presenting the report, offer actionable next steps:
Would you like me to:
- Auto-fix publishing -- Publish all unpublished modules (with confirmation)
- Show details -- Expand on a specific issue
- Run accessibility audit -- Check for WCAG-oriented issues (uses canvas-accessibility-auditor skill)
- Check another course
For auto-fix, use update_module or bulk_update_pages with user confirmation before each batch.
| Tool | Purpose |
|---|---|
list_courses | Find available courses |
get_course_structure | Full module tree with items |
list_assignments | Assignment details for content checks |
get_assignment_details | Deep-dive on flagged assignments |
list_pages | Check for front page |
get_page_content | Verify pages have content |
list_rubrics | Check rubric coverage |
update_module | Auto-fix: publish modules |
bulk_update_pages | Auto-fix: publish pages |
User: "QC check for BADM 350"
Agent: Runs all checks, outputs the prioritized report.
User: "Fix the publishing issues"
Agent: Publishes the 2 unpublished modules after confirmation.
canvas-accessibility-auditor for comprehensive course review.© vishalsachdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/canvas-course-qc of vishalsachdev/canvas-mcp.
Open the folder on GitHubat commit 8f1b0ae
Canvas Course Qc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Canvas Course Qc this skillvishalsachdev/canvas-mcp | 285 | — | ~1.4k | Automated safety check: Pass | MIT | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2k | Automated safety check: Pass | MIT | |
| Codebase to Coursezarazhangrui/codebase-to-course | 5.7k | — | ~4.4k | Automated safety check: Pass | None | |
| AI Engineering Phase Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Scholar EvaluationK-Dense-AI/claude-scientific-writer | 2.4k | 2 repos | ~2.9k | Automated safety check: Notes | MIT |
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
rohitg00/ai-engineering-from-scratch
Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.
zarazhangrui/codebase-to-course
Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.
rohitg00/ai-engineering-from-scratch
Quizzes you on a completed phase of the AI Engineering from Scratch course, taking a phase number or name and mapping it to that phase's directory.
K-Dense-AI/claude-scientific-writer
Provide qualitative-first, evidence-traceable developmental review of scholarly works and audit low-stakes research-assessment rubrics with optional local quality controls.
guanyang/open-agent-hub
This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and…
vishalsachdev/canvas-mcp
Accessibility audit and remediation for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp.
vishalsachdev/canvas-mcp
Scaffold complete Canvas LMS course structures from specs, templates, or existing courses.
vishalsachdev/canvas-mcp
Discussion forum facilitator for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.
vishalsachdev/canvas-mcp
Educator morning course health check for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.
vishalsachdev/canvas-mcp
Educator peer review management for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.
vishalsachdev/canvas-mcp
Student weekly assignment planner for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.
Categories
Learning designer quality check for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp. Canvas Course Qc is an agent skill from vishalsachdev/canvas-mcp. Learning designer quality check for Canvas LMS courses.
Canvas Course Qc fits situations like: asked to QC a course; is this course ready; pre-semester check.
Run `npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a claude-code`. Or copy the skill folder (skills/canvas-course-qc in vishalsachdev/canvas-mcp) into .claude/skills/canvas-course-qc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a codex`. Or copy the skill folder (skills/canvas-course-qc in vishalsachdev/canvas-mcp) into .agents/skills/canvas-course-qc in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vishalsachdev/canvas-mcp --skill canvas-course-qc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canvas-course-qc, .gemini/skills/canvas-course-qc, .github/skills/canvas-course-qc and .opencode/skills/canvas-course-qc in your project.
SKILL.md names no scripts, command-line tools or credentials: Canvas Course Qc is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Canvas Course Qc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Canvas Course Qc: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 66k stars), Codebase to Course (zarazhangrui/codebase-to-course, 5.7k stars) and AI Engineering Phase Quiz (rohitg00/ai-engineering-from-scratch, 66k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vishalsachdev (a GitHub user) maintains it in vishalsachdev/canvas-mcp, which has 285 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: vishalsachdev/canvas-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.