Agent skill

Canvas Peer Review Manager

by vishalsachdev in vishalsachdev/canvas-mcp

Educator peer review management for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.

MITAuto-check passedResearch & Science

Install Canvas Peer Review Manager

skills CLI
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-peer-review-manager -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install vishalsachdev/canvas-mcp canvas-peer-review-manager --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/vishalsachdev/canvas-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/canvas-peer-review-manager .claude/skills/canvas-peer-review-manager && rm -rf skills-src

Use ~/.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/

Facts

Skill name
canvas-peer-review-manager
GitHub stars
286
Token cost
~2.8k tokens
SKILL.md length
1,237 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Educator peer review management for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.

  • Works in 10 steps: Identify the Assignment → Check Peer Review Completion → Review the Assignment Mapping → …
  • Phrases include peer review status
  • SKILL.md covers Prerequisites, Steps, Use Cases and MCP Tools Used, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Canvas Peer Review Manager is an agent skill from vishalsachdev/canvas-mcp. 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.

Its SKILL.md is about 2.8k 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 Research & Science, covering Peer review. 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.

When your agent uses it

  • Phrases include peer review status
  • How are peer reviews going
  • Who hasnt reviewed
  • Any peer review follow-up task

Example prompts

  • “peer review status”
  • “how are peer reviews going”
  • “who hasn”
  • “/canvas-peer-review-manager”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Identify the Assignment
  2. Check Peer Review Completion
  3. Review the Assignment Mapping
  4. Extract and Read Comments
  5. Analyze Comment Quality
  6. Flag Problematic Reviews
  7. Get the Follow-up List
  8. Send Reminders
  9. Export Data
  10. Generate Instructor Reports

What it can do on your machine

Read from SKILL.md and the folder at commit b054b91. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Canvas Peer Review Manager loads about 2.8k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,237 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from vishalsachdev/canvas-mcp at commit b054b91, republished under its MIT licence (© vishalsachdev). 1,237 words, ~2,765 tokens.

Download SKILL.mdSave it as .claude/skills/canvas-peer-review-manager/SKILL.md (or your agent's skills folder).
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:

MetricWhat It Tells You
Completion rateOverall health of the peer review cycle
"None complete" countStudents who haven't started -- highest priority for reminders
"Partial complete" countStudents who started but didn't finish
Per-student breakdownExactly 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 archival
  • save_locally=true -- saves to a local file; set to false to return data inline
Show full SKILL.md (515 more words)Show less
10. Generate Instructor Reports

Call generate_peer_review_feedback_report for a formatted, shareable report:

  • report_type="comprehensive" -- full analysis with samples of low-quality reviews
  • report_type="summary" -- executive overview only
  • report_type="individual" -- per-student breakdown
  • include_student_names=false -- recommended for privacy-conscious reporting

For a completion-focused report (rather than quality-focused), use generate_peer_review_report with options for executive summary, student details, action items, and timeline analysis. This report can be saved to a file with save_to_file=true.

Use Cases

"How are peer reviews going?" Run steps 1-2. Present completion rate, highlight any concerning patterns (e.g., "Only 60% complete, 8 students haven't started").

"Who hasn't done their reviews?" Run steps 1-2, then step 7 with priority_filter="urgent". List the students who need follow-up.

"Are the reviews any good?" Run steps 4-6. Present quality scores, flag generic or low-effort reviews, and surface recommendations.

"Send reminders to stragglers" Run steps 1-2 to identify incomplete reviewers, then step 8. Always confirm the recipient list before sending.

"Give me a full report" Run steps 2, 5, 6, and 10. Combine completion analytics with quality analysis into a comprehensive instructor report.

"Export everything for my records" Run step 9 with output_format="csv" and anonymize_data=true for a privacy-conscious dataset.

MCP Tools Used

ToolPurpose
list_coursesDiscover active courses
list_assignmentsFind assignments with peer reviews enabled
get_peer_review_assignmentsFull reviewer-to-reviewee mapping
get_peer_review_completion_analyticsCompletion rates and per-student breakdown
get_peer_review_commentsExtract actual comment text
analyze_peer_review_qualityQuality metrics (scores, word counts, constructiveness)
identify_problematic_peer_reviewsFlag low-quality or empty reviews
get_peer_review_followup_listPrioritized list of students needing follow-up
send_peer_review_inbox_messagesSend targeted direct Canvas Inbox messages
send_peer_review_followup_campaignAutomated analytics-to-messaging pipeline
extract_peer_review_datasetExport data as CSV or JSON
generate_peer_review_feedback_reportQuality-focused instructor report
generate_peer_review_reportCompletion-focused instructor report

Example

User: "How are peer reviews going for Assignment 3 in BADM 350?"

Agent: Calls get_peer_review_completion_analytics and presents:

## Peer Review Status: Assignment 3

- **Completion rate:** 72% (23/32 students fully complete)
- **Partial:** 5 students (started but not finished)
- **Not started:** 4 students

### Students Needing Follow-up
**Not started (urgent):**
- Student_a8f7e23 (0 of 3 reviews done)
- Student_b2c91d4 (0 of 3 reviews done)
- Student_f5e67a1 (0 of 3 reviews done)
- Student_d9c34b2 (0 of 3 reviews done)

**Partial (needs nudge):**
- Student_c1d82e5 (1 of 3 reviews done)
- Student_e4f03a9 (2 of 3 reviews done)

User: "Send reminders to the ones who haven't started"

Agent: Confirms the 4 recipients, then calls send_peer_review_inbox_messages with their user IDs.

User: "Now check if the completed reviews are any good"

Agent: Calls analyze_peer_review_quality and presents quality scores, flags 3 reviews as too short, and recommends the instructor follow up with specific students.

Safety Guidelines

  • Confirm before sending -- Always present the recipient list and message content to the instructor before calling any messaging tool.
  • Anonymize by default -- Use anonymize_students=true or anonymize_data=true when reviewing data in shared contexts.
  • Respect rate limits -- The Canvas API allows roughly 700 requests per 10 minutes. For large courses, the messaging tools send messages sequentially with built-in delays.
  • FERPA-conscious handling -- Never display student names in logs, shared screens, or exported files unless the instructor has explicitly confirmed the context is appropriate.

Notes

  • Peer reviews must be enabled on the assignment in Canvas before any of these tools return data.
  • The send_peer_review_followup_campaign tool combines analytics and messaging: the first call previews recipients and returns a token, and the second call (with the token) sends real messages. Make the second call only after the instructor approves the preview.
  • Quality analysis uses heuristics (word count, keyword matching, sentiment). It identifies likely low-quality reviews but is not a substitute for instructor judgment.
  • This skill pairs well with canvas-morning-check for a full course health overview that includes peer review status alongside submission rates and grade distribution.

© vishalsachdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/canvas-peer-review-manager of vishalsachdev/canvas-mcp.

Open the folder on GitHubat commit b054b91

Compare with similar skills

Canvas Peer Review Manager 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.

Canvas Peer Review Manager compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canvas Peer Review Manager this skillvishalsachdev/canvas-mcp286—~2.8kAutomated safety check: PassMIT
Academic Paper Writing PipelineImbad0202/academic-research-skills51k—~16kAutomated safety check: PassCustom licence
Academic Research PipelineImbad0202/academic-research-skills51k—~15kAutomated safety check: PassCustom licence
Social Science Paper Writingfakerqwq/social-science-paper-writing-skill382—~7kAutomated safety check: PassNone
Research Idea EvaluatorHKUSTDial/Supervisor-Skills8.8k—~3.4kAutomated safety check: PassCC-BY-4.0
Paper GlanceDiaugeia/paper-glance-skill106—~433Automated safety check: PassNone

Similar skills

  • Academic Paper Writing Pipeline

    Imbad0202/academic-research-skills

    Runs a 12-agent pipeline that plans, drafts, cites, reviews and formats academic papers, with modes for revision, rebuttals, abstracts and citation checks.

    51k GitHub stars~16k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Academic Research Pipeline

    Imbad0202/academic-research-skills

    Orchestrates a ten-stage academic workflow from research to finished manuscript, including integrity checks, two rounds of peer review and revision.

    51k GitHub stars~15k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Social Science Paper Writing

    fakerqwq/social-science-paper-writing-skill

    Helps draft, diagnose, review and revise social science papers, from topic and research question to literature review, citation risks and pre-submission checks.

    382 GitHub stars~7k tokensUpdated 4 mo ago
    Research & ScienceAuto-check passed
  • Research Idea Evaluator

    HKUSTDial/Supervisor-Skills

    Evaluates a draft research idea like a top-venue reviewer and advisor, scoring it on five dimensions, checking fit with your capacity and returning a clear verdict.

    8.8k GitHub stars~3.4k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Paper Glance

    Diaugeia/paper-glance-skill

    Reads an academic paper from a PDF, pasted text or abstract and offers five outputs: an analysis report, a mind map, a peer review, promotion scripts and a podcast.

    106 GitHub stars~433 tokensUpdated 3 mo ago
    Research & ScienceAuto-check passed
  • Peer Review

    spacering-net/codeg

    Structured manuscript/grant review with checklist-based evaluation.

    3.9k GitHub starsUsed in 17 repos~5.9k tokens
    Research & ScienceAuto-check: notes

More from vishalsachdev/canvas-mcp

All 8 skills in this repo
  • Canvas Accessibility Auditor

    vishalsachdev/canvas-mcp

    Accessibility audit and remediation for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp.

    286 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Canvas Course Builder

    vishalsachdev/canvas-mcp

    Scaffold complete Canvas LMS course structures from specs, templates, or existing courses.

    286 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Canvas Course Qc

    vishalsachdev/canvas-mcp

    Learning designer quality check for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp.

    286 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Canvas Discussion Facilitator

    vishalsachdev/canvas-mcp

    Discussion forum facilitator for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.

    286 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Canvas Morning Check

    vishalsachdev/canvas-mcp

    Educator morning course health check for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.

    286 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Canvas Week Plan

    vishalsachdev/canvas-mcp

    Student weekly assignment planner for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.

    286 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Questions about Canvas Peer Review Manager

What does Canvas Peer Review Manager do?

Educator peer review management for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp. Canvas Peer Review Manager is an agent skill from vishalsachdev/canvas-mcp. Educator peer review management for Canvas LMS.

When should I use Canvas Peer Review Manager?

Canvas Peer Review Manager fits situations like: phrases include peer review status; how are peer reviews going; who hasnt reviewed; any peer review follow-up task.

How do I install Canvas Peer Review Manager in Claude Code?

Run `npx skills add vishalsachdev/canvas-mcp --skill canvas-peer-review-manager -a claude-code`. Or copy the skill folder (skills/canvas-peer-review-manager in vishalsachdev/canvas-mcp) into .claude/skills/canvas-peer-review-manager in your project. Claude Code loads it when a task matches its description.

How do I install Canvas Peer Review Manager in Codex?

Run `npx skills add vishalsachdev/canvas-mcp --skill canvas-peer-review-manager -a codex`. Or copy the skill folder (skills/canvas-peer-review-manager in vishalsachdev/canvas-mcp) into .agents/skills/canvas-peer-review-manager in your project. Codex loads it when a task matches its description.

Can I use Canvas Peer Review Manager in Cursor, Gemini CLI or GitHub Copilot?

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-peer-review-manager -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-peer-review-manager, .gemini/skills/canvas-peer-review-manager, .github/skills/canvas-peer-review-manager and .opencode/skills/canvas-peer-review-manager in your project.

What does Canvas Peer Review Manager need to run?

SKILL.md names no scripts, command-line tools or credentials: Canvas Peer Review Manager is instructions for the agent only.

Does Canvas Peer Review Manager access the network?

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.

Is Canvas Peer Review Manager safe to install?

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.

What licence does Canvas Peer Review Manager use?

Canvas Peer Review Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Canvas Peer Review Manager use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Canvas Peer Review Manager?

Skills that share tags, products or a category with Canvas Peer Review Manager: Academic Paper Writing Pipeline (Imbad0202/academic-research-skills, 51k stars), Academic Research Pipeline (Imbad0202/academic-research-skills, 51k stars), Social Science Paper Writing (fakerqwq/social-science-paper-writing-skill, 382 stars) and Research Idea Evaluator (HKUSTDial/Supervisor-Skills, 8.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canvas Peer Review Manager?

vishalsachdev (a GitHub user) maintains it in vishalsachdev/canvas-mcp, which has 286 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 10, 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.