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.
Educator peer review management for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.
$ npx skills add vishalsachdev/canvas-mcp --skill canvas-peer-review-manager -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-peer-review-manager --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-peer-review-manager .claude/skills/canvas-peer-review-manager && 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-peer-review-manager" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-peer-review-manager into .claude/skills/canvas-peer-review-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-peer-review-manager", 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-peer-review-managerType 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-peer-review-manager -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-peer-review-manager --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-peer-review-manager .agents/skills/canvas-peer-review-manager && 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-peer-review-manager" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-peer-review-manager into .agents/skills/canvas-peer-review-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-peer-review-manager", 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-peer-review-manager -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-peer-review-manager --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-peer-review-manager .cursor/skills/canvas-peer-review-manager && 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-peer-review-manager" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-peer-review-manager into .cursor/skills/canvas-peer-review-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-peer-review-manager", 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-peer-review-manager--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-peer-review-manager -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vishalsachdev/canvas-mcp canvas-peer-review-manager --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-peer-review-manager .gemini/skills/canvas-peer-review-manager && 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-peer-review-manager" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-peer-review-manager into .gemini/skills/canvas-peer-review-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-peer-review-manager", 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-peer-review-managerInstalls 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-peer-review-manager -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-peer-review-manager .github/skills/canvas-peer-review-manager && 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-peer-review-manager" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-peer-review-manager into .github/skills/canvas-peer-review-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-peer-review-manager", 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-peer-review-manager -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-peer-review-manager --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-peer-review-manager .opencode/skills/canvas-peer-review-manager && 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-peer-review-manager" agent skill from https://github.com/vishalsachdev/canvas-mcp/tree/main/skills/canvas-peer-review-manager into .opencode/skills/canvas-peer-review-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-peer-review-manager", 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-peer-review-managerEducator 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. 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.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b054b91. 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 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.
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 b054b91, republished under its MIT licence (© vishalsachdev). 1,237 words, ~2,765 tokens.
.claude/skills/canvas-peer-review-manager/SKILL.md (or your agent's skills folder).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.
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.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.
Call get_peer_review_completion_analytics with the course identifier and assignment ID. This returns:
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 |
If the user wants to understand who is reviewing whom, call get_peer_review_assignments with:
include_names=true for human-readable outputinclude_submission_details=true for submission contextThis shows the full reviewer-to-reviewee mapping with completion status.
Call get_peer_review_comments to retrieve actual comment text. Parameters:
include_reviewer_info=true -- who wrote the commentinclude_reviewee_info=true -- who received the commentanonymize_students=true -- recommended when sharing results or working with sensitive dataThis reveals what students actually wrote in their reviews.
Call analyze_peer_review_quality to generate quality metrics across all reviews. The analysis includes:
Optionally pass analysis_criteria as a JSON string to customize what counts as high/low quality.
Call identify_problematic_peer_reviews to automatically flag reviews needing instructor attention. Flagging criteria include:
Pass custom criteria as a JSON string to override default thresholds.
Call get_peer_review_followup_list to get a prioritized list of students requiring action:
priority_filter="urgent" -- students with zero reviews completedpriority_filter="medium" -- students with partial completionpriority_filter="all" -- everyone who needs follow-updays_threshold=3 -- adjusts urgency calculation based on days since assignmentBoth 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 resultscustom_message -- optional custom text (a default template is used if omitted)subject_prefix -- defaults to "Peer Review Reminder"Example flow:
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:
Warning: The campaign tool sends real messages. Always confirm with the instructor before running it.
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 exportanonymize_data=true -- recommended for sharing or archivalsave_locally=true -- saves to a local file; set to false to return data inlineCall generate_peer_review_feedback_report for a formatted, shareable report:
report_type="comprehensive" -- full analysis with samples of low-quality reviewsreport_type="summary" -- executive overview onlyreport_type="individual" -- per-student breakdowninclude_student_names=false -- recommended for privacy-conscious reportingFor 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.
"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.
| Tool | Purpose |
|---|---|
list_courses | Discover active courses |
list_assignments | Find assignments with peer reviews enabled |
get_peer_review_assignments | Full reviewer-to-reviewee mapping |
get_peer_review_completion_analytics | Completion rates and per-student breakdown |
get_peer_review_comments | Extract actual comment text |
analyze_peer_review_quality | Quality metrics (scores, word counts, constructiveness) |
identify_problematic_peer_reviews | Flag low-quality or empty reviews |
get_peer_review_followup_list | Prioritized list of students needing follow-up |
send_peer_review_inbox_messages | Send targeted direct Canvas Inbox messages |
send_peer_review_followup_campaign | Automated analytics-to-messaging pipeline |
extract_peer_review_dataset | Export data as CSV or JSON |
generate_peer_review_feedback_report | Quality-focused instructor report |
generate_peer_review_report | Completion-focused instructor report |
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.
anonymize_students=true or anonymize_data=true when reviewing data in shared contexts.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.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
Just SKILL.md in skills/canvas-peer-review-manager of vishalsachdev/canvas-mcp.
Open the folder on GitHubat commit b054b91
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Canvas Peer Review Manager this skillvishalsachdev/canvas-mcp | 286 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Academic Paper Writing PipelineImbad0202/academic-research-skills | 51k | — | ~16k | Automated safety check: Pass | Custom licence | |
| Academic Research PipelineImbad0202/academic-research-skills | 51k | — | ~15k | Automated safety check: Pass | Custom licence | |
| Social Science Paper Writingfakerqwq/social-science-paper-writing-skill | 382 | — | ~7k | Automated safety check: Pass | None | |
| Research Idea EvaluatorHKUSTDial/Supervisor-Skills | 8.8k | — | ~3.4k | Automated safety check: Pass | CC-BY-4.0 | |
| Paper GlanceDiaugeia/paper-glance-skill | 106 | — | ~433 | Automated safety check: Pass | None |
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.
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.
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.
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.
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.
spacering-net/codeg
Structured manuscript/grant review with checklist-based evaluation.
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
Learning designer quality check for Canvas LMS courses. An agent skill from vishalsachdev/canvas-mcp.
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
Student weekly assignment planner for Canvas LMS. An agent skill from vishalsachdev/canvas-mcp.
Categories
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.
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Canvas Peer Review Manager 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 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.
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.
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.
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.