canvas-grading-pass — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited canvas-grading-pass (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.
Work through an assignment's ungraded submissions one at a time — viewing the student's work, applying the rubric, entering a score, and adding a comment — with a confirmation gate before each write operation.
Ask the instructor which course and assignment to grade.
If unclear, call list_courses to let them choose a course, then call list_assignments (with the course ID) to select an assignment. Prefer assignments with workflow_state=published and a past due date.
Call list_rubrics for the course to see available rubrics. If the assignment has an associated rubric (check rubric_id in the assignment object from get_assignment), call get_rubric with that rubric ID to retrieve criteria, rating descriptions, and point values.
Display the rubric criteria to the instructor before grading begins so they have it in view throughout.
Call list_submissions for the course and assignment. Filter to submissions where workflow_state is submitted (not graded). Present the count:
"Found [n] ungraded submissions for [Assignment]. Grading one at a time."
For assignments with more than 50 students, note: pace your session — Canvas rate-limits write operations. Take a short break between batches of 20–25 submissions if you encounter slowdowns.
Repeat steps 4a–4d for each ungraded submission. Do not batch or skip the confirmation gate.
#### 4a. View the Submission
Call get_submission with the course ID, assignment ID, and student user ID. Display:
Check get_rubric_assessment (with course ID, rubric ID, and submission ID) to see if a partial assessment already exists.
#### 4b. Propose a Score or Rubric Assessment
Based on the rubric (if present) and the instructor's judgment, draft:
Present the proposed grade and ask the instructor:
"Proposed score: [n]/[max] pts Rubric: [criterion] → [rating] ([pts]) Add comment: [draft comment] Confirm to submit? (yes / edit / skip)"
Do not proceed until the instructor confirms.
#### 4c. Submit Rubric Assessment (if rubric attached)
After confirmation, call submit_rubric_assessment with:
course_id, rubric_id, rubric_association_id (from the rubric object)graded_anonymously: false unless instructor specifies otherwise#### 4d. Grade and/or Comment
If no rubric is attached (or in addition to the rubric assessment), call grade_submission with the numeric score.
If the instructor provided a comment, call comment_on_submission with the comment text.
Report: "✓ [Student name] — [score]/[max] pts — comment posted."
After all submissions are reviewed (or the instructor stops the session), present:
Grading Session Complete — [Assignment]
Graded this session: [n]
Skipped: [n]
Remaining ungraded: [n]Ask if the instructor wants to continue with any skipped submissions or return later.
Grading Pass — [Course] › [Assignment]
[n] ungraded | [max pts] pts | Rubric: [attached / none]
--- Submission 1 of [n] ---
Student: [Name] (ID: [id])
Submitted: [datetime]
Type: [online_text_entry / file / url]
[submission preview or link]
Rubric Assessment (proposed):
[Criterion 1] → [Rating label] ([pts] pts)
[Criterion 2] → [Rating label] ([pts] pts)
Total: [n]/[max] pts
Draft comment: "[comment text]"
Confirm? (yes / edit score / edit comment / skip)grade_submission and submit_rubric_assessment are write operations that modify the Canvas gradebook. They cannot be undone via the MCP server; use the Canvas web UI to correct mistakes.anonymous_grading: true, student names will not be visible in submission data. Note this to the instructor before starting.comment_on_submission posts a visible comment to the student. Draft carefully and confirm before posting.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.