
Canvas Morning Check
- 116 installs
- 176 repo stars
- Updated August 4, 2026
- vishalsachdev/canvas-mcp
Helps with ai & agent building tasks.
About
canvas-morning-check is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- canvas-morning-check
- AI & Agent Building
- AI-coding skill
Canvas Morning Check by the numbers
- 116 all-time installs (skills.sh)
- +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #3,865 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vishalsachdev/canvas-mcp --skill canvas-morning-checkAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 116 |
|---|---|
| repo stars | ★ 176 |
| Last updated | August 4, 2026 |
| Repository | vishalsachdev/canvas-mcp ↗ |
What it does
Helps with ai & agent building tasks.
Files
Canvas Morning Check
A comprehensive course health check for educators using Canvas LMS. Run it at the start of a teaching day or week to surface submission gaps, students who need support, and upcoming deadlines -- then take action directly from the results.
Prerequisites
- Canvas MCP server must be running and connected to the agent's MCP client.
- The authenticated user must have an educator or instructor role in the target Canvas course(s).
- FERPA compliance: Set
ENABLE_DATA_ANONYMIZATION=truein the Canvas MCP server environment to anonymize student names in all output. When enabled, names render asStudent_xxxxxxxxhashes.
Steps
1. Identify Target Course(s)
Ask the user which course(s) to check. Accept a course code, Canvas ID, or "all" to iterate through every active course.
If the user does not specify, prompt:
Which course would you like to check? (Or say "all" for all active courses.)
Use the list_courses MCP tool if you need to look up available courses.
2. Collect Recent Submission Data
For each target course:
1. Call list_assignments to find assignments with a due date in the past 7 days. 2. For each recent assignment, call get_assignment_analytics to collect:
- Submission rate (submitted / enrolled)
- Average, high, and low scores
- Late submission count
3. Identify Struggling Students
Call list_submissions to retrieve student submission records, then flag students based on these thresholds:
| Urgency | Criteria |
|---|---|
| Critical | Missing 3+ assignments in the past 2 weeks, or average grade below 60% |
| Needs attention | Missing 2 assignments, or average grade 60--70%, or 3+ late submissions |
| On track | All submissions current, grade above 70% |
Use get_student_analytics for deeper per-student analysis when the user requests it.
4. Check Upcoming Deadlines
Call list_assignments filtered to the next 7 days. For each upcoming assignment, surface:
- Assignment name
- Due date and time
- Point value
- Current submission count (if submissions have started)
5. Generate the Status Report
Present results in a structured format:
## Course Status: [Course Name]
### Submission Overview
| Assignment | Due Date | Submitted | Rate | Avg Score |
|------------|----------|-----------|------|-----------|
| Quiz 3 | Feb 24 | 28/32 | 88% | 85.2 |
| Essay 2 | Feb 26 | 25/32 | 78% | -- |
### Students Needing Support
**Critical (3+ missing):**
- Student_a8f7e23 (missing: Quiz 3, Essay 2, HW 5)
**Needs Attention (2 missing):**
- Student_c9b21f8 (missing: Essay 2, HW 5)
- Student_d3e45f1 (missing: Quiz 3, Essay 2)
### Upcoming This Week
- **Mar 3:** Final Project (100 pts) - 5 submitted so far
- **Mar 5:** Discussion 8 (20 pts)
### Suggested Actions
1. Send reminder to 3 students with critical status
2. Review Essay 2 submissions (78% rate, below average)
3. Post announcement about Final Project deadline6. Offer Follow-up Actions
After presenting the report, offer actionable next steps:
Would you like me to:
1. Draft and send a message to struggling students (uses send_conversation)2. Send reminders about upcoming deadlines (usessend_peer_review_remindersorsend_conversation)
3. Get detailed analytics for a specific assignment (uses get_assignment_analytics)4. Check another course
If the user selects option 1, use the send_conversation MCP tool to message the identified students directly through Canvas.
MCP Tools Used
| Tool | Purpose |
|---|---|
list_courses | Discover active courses |
list_assignments | Find recent and upcoming assignments |
get_assignment_analytics | Submission rates and score statistics |
list_submissions | Per-student submission records |
get_student_analytics | Detailed per-student performance data |
send_conversation | Message students through Canvas inbox |
Example
User: "Morning check for CS 101"
Agent: Runs the workflow above, outputs the status report.
User: "Send a reminder to students missing Quiz 3"
Agent: Calls send_conversation to message the identified students with a reminder.
Notes
- When anonymization is enabled, maintain a local mapping of anonymous IDs so follow-up actions (messaging, grading) still target the correct students.
- This skill works best as a weekly routine -- Monday mornings are ideal.
- Pairs well with the
canvas-week-planskill for student-facing planning.