canvas-discussion-facilitator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited canvas-discussion-facilitator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Educator skill for managing course discussion boards: browse topics, read threaded entries, post replies, create new topics, and monitor announcement activity — all from your agent session.
get_discussion in canvas-lms-mcp returns the full topic details and inline discussion entries in a single call. There is no separate list_discussion_entries tool — all thread content comes through get_discussion. If you search for list_discussion_entries you will not find it; use get_discussion instead.
Ask the user which course's discussions to work with. Accept a course name, course code, or Canvas ID.
If unclear, call list_discussions with the course ID — it will fail with a 404 if the course ID is wrong, which surfaces the issue early.
Ask the user what they want to do:
| Mode | When to use |
|---|---|
| Browse topics | See all active discussion topics at a glance |
| Read a thread | Read the entries in a specific topic |
| Check announcements | View instructor announcements |
| Post a reply | Add an entry to an existing discussion |
| Create a topic | Open a new discussion topic |
Call list_discussions with the course ID. This returns all discussion topics in the course with their title, type (discussion_topic or announcement), reply count, unread count, and posting status.
Present a summary table:
Discussions — [Course Name]
OPEN TOPICS
• "Week 3 Reflection" — 34 replies, 5 unread, posted by Prof. Lee
• "Reading Questions Ch. 4" — 12 replies, 0 unread, posted by TA Park
• "Introduce Yourself" — 28 replies, 0 unread
CLOSED / LOCKED
• "Week 1 Check-in" — 19 replies (locked)Ask the user if they want to read a specific topic.
Call get_discussion with the course ID and topic ID. The response includes the topic metadata and all discussion entries inline — you do not need a separate entries call.
Summarise the thread:
If entries are long, offer to show the full text of a specific entry on request.
Call list_announcements with the course ID. This returns announcements as a separate list from discussion topics.
Present the most recent 5 announcements:
Announcements — [Course Name]
• [Apr 28] "Final Project Rubric Posted" — Prof. Martinez
• [Apr 22] "Office Hours Change This Week" — Prof. Martinez
• [Apr 15] "Midterm Grades Released" — Prof. MartinezRequires explicit user confirmation before posting.
post_discussion_entry with the course ID, topic ID, and message body.Requires explicit user confirmation before creating.
create_discussion with the course ID, title, message, and discussion type.Requires explicit user confirmation before updating.
To edit an existing topic's title, message, or settings (lock/unlock, publish/unpublish):
update_discussion with the course ID, topic ID, and updated fields.Discussion Facilitator — [Course Name]
TOPIC: "Week 3 Reflection"
Posted: Apr 20 by Prof. Lee | Type: Threaded | Replies: 34 | Unread: 5
RECENT ENTRIES
• Alex Doe (Apr 27, 9:14 AM)
"I found the reading on constructivism really compelling because it reframes
how I think about student-driven learning..."
• Jordan Park (Apr 26, 11:02 PM)
"Totally agree with Sam — the Vygotsky section was the most relevant for
my practicum..."
• Sam Lee (Apr 26, 3:30 PM)
"The zone of proximal development framework maps really well onto the
collaborative assignments we've been doing in class."
[31 more entries — ask to see more or a specific entry]post_discussion_entry, create_discussion, update_discussion) require explicit user confirmation before each call.get_discussion returns inline entries — there is no separate list_discussion_entries tool in canvas-lms-mcp. Do not search for one.get_discussion may be long; summarise and offer to show full text on request rather than dumping the entire thread.list_announcements for instructor announcements, list_discussions for student discussion topics.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.