Skip to content
Education
Skill

/canvas-peer-review-manager

Educator peer review management for Canvas LMS. Tracks completion rates, analyzes comment quality, flags problematic reviews, sends targeted reminders, and generates instructor-ready reports. Trigger phrases include "peer review status", "how are peer reviews going", "who hasn't

BOOST
From plugin
canvas-mcp
2958 skills
Install
$ npx -y skills add vishalsachdev/canvas-mcp --skill canvas-peer-review-manager --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/canvas-peer-review-manager

Context preview

The summary Claude sees to decide when to auto-load this skill.

Educator peer review management for Canvas LMS. Tracks completion rates, analyzes comment quality, flags problematic reviews, sends targeted reminders, and generates instructor-ready reports. Trigger phrases include "peer review status", "how are peer reviews going", "who hasn't

SKILL.md

canvas-peer-review-manager.SKILL.md
name: canvas-peer-review-manager
description: Educator peer review management for Canvas LMS. Tracks completion rates, analyzes comment quality, flags problematic reviews, sends targeted reminders, and generates instructor-ready reports. Trigger phrases include "peer review status", "how are peer reviews going", "who hasn't reviewed", "review quality", or any peer review follow-up task.

Canvas Peer Review Manager

A complete peer review management workflow for educators using Canvas LMS. Monitor completion, analyze quality, identify students who need follow-up, send reminders, and export data -- all through MCP tool calls against the Canvas API.

Prerequisites

  • **Canvas MCP server** must be running and connected to the agent's MCP client (e.g., Claude Code, Cursor, Codex, OpenCode).
  • The authenticated user must have an **educator or instructor role** in the target Canvas course.
  • The assignment must have **peer reviews enabled** in Canvas (either manual or automatic assignment).
  • **FERPA-conscious handling**: Set `ENABLE_DATA_ANONYMIZATION=true` in the Canvas MCP server environment to anonymize supported student identity fields. When enabled, names render as `Student_xxxxxxxx` hashes while preserving functional user IDs for messaging. This control does not by itself establish compliance.

Steps

1. Identify the Assignment

Ask the user which course and assignment to manage peer reviews for. Accept a course code, Canvas ID, or course name, plus an assignment name or ID.

If the user does not specify, prompt:

> Which course and assignment would you like to check peer reviews for?

Use `list_courses` and `list_assignments` to help the user find the right identifiers.

2. Check Peer Review Completion

Call `get_peer_review_completion_analytics` with the course identifier and assignment ID. This returns:

  • Overall completion rate (percentage)
  • Number of students with all reviews complete, partial, and none complete
  • Per-student breakdown showing completed vs. assigned reviews

**Key data points to surface:**

| Metric | What It Tells You | |--------|-------------------| | Completion rate | Overall health of the peer review cycle | | "None complete" count | Students who haven't started -- highest priority for reminders | | "Partial complete" count | Students who started but didn't finish | | Per-student breakdown | Exactly who needs follow-up |

3. Review the Assignment Mapping

If the user wants to understand who is reviewing whom, call `get_peer_review_assignments` with:

  • `include_names=true` for human-readable output
  • `include_submission_details=true` for submission context

This shows the full reviewer-to-reviewee mapping with completion status.

4. Extract and Read Comments

Call `get_peer_review_comments` to retrieve actual comment text. Parameters:

  • `include_reviewer_info=true` -- who wrote the comment
  • `include_reviewee_info=true` -- who received the comment
  • `anonymize_students=true` -- recommended when sharing results or working with sensitive data

This reveals what students actually wrote in their reviews.

5. Analyze Comment Quality

Call `analyze_peer_review_quality` to generate quality metrics across all reviews. The analysis includes:

  • **Average quality score** (1-5 scale)
  • **Word count statistics** (mean, median, range)
  • **Constructiveness analysis** (constructive feedback vs. generic comments vs. specific suggestions)
  • **Sentiment distribution** (positive, neutral, negative)
  • **Flagged reviews** that fall below quality thresholds

Optionally pass `analysis_criteria` as a JSON string to customize what counts as high/low quality.

6. Flag Problematic Reviews

Call `identify_problematic_peer_reviews` to automatically flag reviews needing instructor attention. Flagging criteria include:

  • Very short or empty comments
  • Generic responses (e.g., "looks good", "nice work")
  • Lack of constructive feedback
  • Potential copy-paste or identical reviews

Pass custom `criteria` as a JSON string to override default thresholds.

7. Get the Follow-up List

Call `get_peer_review_followup_list` to get a prioritized list of students requiring action:

  • `priority_filter="urgent"` -- students with zero reviews completed
  • `priority_filter="medium"` -- students with partial completion
  • `priority_filter="all"` -- everyone who needs follow-up
  • `days_threshold=3` -- adjusts urgency calculation based on days since assignment

8. Send Reminders

Both send tools are two-call: the first call returns a preview and a `confirmation_token` and sends nothing; show the preview to the instructor, then call again with the token (and identical arguments) to send.

For targeted direct Inbox messages, call `send_peer_review_inbox_messages` with:

  • `recipient_ids` -- list of Canvas user IDs from the analytics results
  • `custom_message` -- optional custom text (a default template is used if omitted)
  • `subject_prefix` -- defaults to "Peer Review Reminder"

Example flow:

1. Get incomplete reviewers from step 2 2. Extract their user IDs 3. Review the recipient list with the user 4. Send reminders after confirmation

For an automated pipeline, call `send_peer_review_followup_campaign` with the course identifier and assignment ID; the first call returns analytics plus a preview of urgent vs. gentle recipients and a token. This tool:

1. Runs completion analytics automatically 2. Segments students into "urgent" (none complete) and "partial" groups 3. Sends the reminders only on the confirming call with the token 4. Returns combined analytics and messaging results

**Warning:** The campaign tool sends real messages. Always confirm with the instructor before running it.

9. Export Data

Call `extract_peer_review_dataset` to export all peer review data for external analysis:

  • `output_format="csv"` or `output_format="json"`
  • `include_analytics=true` -- appends quality metrics to the export
  • `anonymize_data=true` -- recommended for sharing or a
Read more
Ships withcanvas-mcp

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.

Get the whole plugin

Other skills on canvas-mcp.