canvas-morning-check — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited canvas-morning-check (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.
Start the teaching day with a prioritised briefing: what needs grading, who hasn't submitted, which deadlines are coming, and which students may need a nudge — all from a single agent session.
Call list_courses to retrieve your currently active courses (use enrollment_type=teacher if needed to filter to courses where you are the instructor). Alternatively, call get_dashboard_cards for a quick overview of courses with pending items.
Note each course ID, name, and enrollment count.
For each active course:
list_assignments to find assignments whose due date has passed and that accept online submissions.list_submissions filtered to workflow_state=submitted (or graded=false if available) to count ungraded submissions.Build a grading backlog table: course → assignment → ungraded count → due date.
For each course, call list_course_enrollments with type=StudentEnrollment and state=active to get the enrolled student list.
For the most recent assignment with a past due date per course, cross-reference submitted student IDs against the enrollment list to identify students with no submission. Flag those with zero submissions in the past 2 assignments as participation gaps.
For courses flagged with participation issues or declining grades, call get_course_analytics (with the course ID) to see aggregated participation and on-time submission rates.
For individual students flagged in Step 3, call get_student_analytics (with course ID and student user ID) to confirm declining trends before including them in the action list.
From the list_assignments data gathered in Step 2, surface any assignments due within the next 48 hours that have not yet been published or that have zero submissions (possibly a reminder is needed for students).
Organise output in this order:
Ask the instructor if they want to drill into any item or take action (messaging students, opening a submission for review).
Morning Check — [Instructor Name]
[Date] | Active courses: [n]
GRADING QUEUE
• [Course A] — [Assignment] [n] ungraded (due [date])
• [Course B] — [Assignment] [n] ungraded (due [date])
UPCOMING DEADLINES (next 48 h)
• [Course] — [Assignment] due [datetime] submissions so far: [n]/[total]
PARTICIPATION GAPS
• [Course] — [Student Name] — no submission in last 2 assignments
• [Course] — [Student Name] — grade trending down (was 82% → now 67%)
ANALYTICS FLAGS
• [Course] — on-time submission rate dropped to [n]% this week
All clear on remaining courses.canvas-at-risk-students for the outreach step.list_submissions may return many pages. Focus on the most recently due assignment per course to keep the briefing concise.get_student_analytics may be slow on large courses; call it only for students already flagged in Step 3, not for every student.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.