canvas-accessibility-a…
Accessibility audit and remediation for Canvas LMS courses. Scans content for WCAG-oriented issues, generates prioritized…
Discussion forum facilitator for Canvas LMS. Helps students and educators browse, read, reply to, and create discussion posts. Trigger phrases include "discussion posts", "reply to students", "check discussions", "forum participation", "post a discussion", or any
$ npx -y skills add vishalsachdev/canvas-mcp --skill canvas-discussion-facilitator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/canvas-discussion-facilitatorContext preview
The summary Claude sees to decide when to auto-load this skill.
Discussion forum facilitator for Canvas LMS. Helps students and educators browse, read, reply to, and create discussion posts. Trigger phrases include "discussion posts", "reply to students", "check discussions", "forum participation", "post a discussion", or any
name: canvas-discussion-facilitator description: Discussion forum facilitator for Canvas LMS. Helps students and educators browse, read, reply to, and create discussion posts. Trigger phrases include "discussion posts", "reply to students", "check discussions", "forum participation", "post a discussion", or any discussion-related Canvas task.
Facilitate discussion forum activity in Canvas LMS -- browse topics, read posts, reply to students, create new discussions, and monitor participation. Works for both students and educators.
Ask the user which course to work with. Accept a course code, Canvas ID, or ask them to pick from a list.
If the user does not specify, use `list_courses` to show active courses and prompt:
> Which course should I look at discussions for?
Call the MCP tool `list_discussion_topics` with the course identifier to retrieve all discussion forums.
**Parameters:**
**Data to surface per topic:**
Present the list so the user can pick a topic to drill into.
Once the user selects a topic, call `list_discussion_entries` to retrieve posts.
**Parameters:**
**Data to surface per entry:**
If a post is truncated or the user wants the complete text, call `get_discussion_entry_details`.
**Parameters:**
Present the full post content along with any replies, timestamps, and author information.
When the user wants to respond to a specific post, call `reply_to_discussion_entry`.
**Parameters:**
**Before sending, always:** 1. Show the draft reply to the user for confirmation 2. Reference the original post so the user can verify context 3. Only send after explicit approval
When the user wants to add a new post to an existing discussion (not a reply), call `post_discussion_entry`.
**Parameters:**
Show the draft to the user and confirm before posting.
When the user needs an entirely new discussion forum, call `create_discussion_topic`.
**Parameters:**
Confirm the title, content, and any scheduling options with the user before creating.
1. Call `list_discussion_topics` to get all discussion forums in the course. 2. For each topic, call `list_discussion_entries` to retrieve all posts. 3. Cross-reference posters against the class roster (use `list_users` or `list_submissions` to get enrolled students). 4. Identify students who have not posted in any active discussion.
Present participation as a summary:
## Discussion Participation: [Course Name] ### Topic: "Week 5 Reading Response" (due Mar 3) - **Posted:** 28 / 32 students (88%) - **Not posted:** Student_a1b2c3d, Student_e4f5g6h, Student_i7j8k9l, Student_m0n1o2p ### Topic: "Case Study Analysis" (due Mar 5) - **Posted:** 15 / 32 students (47%) - **Not posted:** [17 students listed] ### Students Missing Multiple Discussions - Student_a1b2c3d -- missing 2 discussions - Student_e4f5g6h -- missing 2 discussions
After identifying non-participants, offer to:
1. **Post an announcement** using `create_announcement` with a general reminder about discussion deadlines. 2. **Message specific students** using `send_conversation` to contact students who are behind on participation.
When an educator wants to reply to student posts:
1. Read the full post with `get_discussion_entry_details` (include replies for context). 2. Draft a reply that acknowledges the student's points, asks follow-up questions, or connects ideas to course material. 3. Show the draft for educator review and revision before calling `reply_to_discussion_entry`.
MCP server for Canvas LMS with up to 126 tools and 8 agent skills. Designed for Claude Desktop, Cursor, Codex, Windsurf, and 40+ other agents; setup and capabilities vary by client.
Accessibility audit and remediation for Canvas LMS courses. Scans content for WCAG-oriented issues, generates prioritized…
Bulk grading workflows for Canvas LMS assignments using rubrics. Covers single grading, batch grading, and code execution…
Scaffold complete Canvas LMS course structures from specs, templates, or existing courses. Creates modules, pages, assignments,…
Learning designer quality check for Canvas LMS courses. Audits module structure, content completeness, publishing state, date…
Educator morning course health check for Canvas LMS. Shows submission rates, struggling students, grade distribution, and…
Educator peer review management for Canvas LMS. Tracks completion rates, analyzes comment quality, flags problematic reviews,…