关于 canvas-morning-check
canvas-morning-check 面向教育工作者,用于在教学日或教学周开始时检查 Canvas 课程状况。它汇总近期提交、需要支持的学生和即将到期的任务,并可通过 Canvas 联系学生。
主要功能
- 01汇总近期作业提交率
- 02显示分数统计和迟交情况
- 03标记需要关注的学生
- 04列出未来 7 天的截止日期
- 05支持向学生发送后续消息
适用场景
- 01在每周开始时检查课程状况
- 02查找缺交作业和需要支持的学生
- 03查看即将到期的作业
- 04就缺交或截止日期联系学生
MCP 相关
需要连接 Canvas MCP 服务。该技能使用 Canvas 工具获取课程、作业、提交和分析数据,并向学生发送消息。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vishalsachdev/ canvas-mcp --skill canvas-morning-check安装后在 Claude Code 中输入/canvas-morning-check确认已加载。
详细介绍
Canvas 晨间检查
为使用 Canvas LMS 的教育工作者提供全面的课程健康检查。在教学日或教学周开始时运行,找出提交缺漏、需要支持的学生和即将到来的截止日期,然后直接根据结果采取行动。
前提条件
- Canvas MCP server 必须正在运行,并已连接到 Agent 的 MCP 客户端。
- 经过身份验证的用户必须在目标 Canvas 课程中具有教育工作者或教师角色。
- 注意 FERPA 相关数据处理:在 Canvas MCP server 环境中设置
ENABLE_DATA_ANONYMIZATION=true,以匿名化输出中受支持的学生身份字段。启用后,姓名会显示为Student_xxxxxxxx哈希值。此设置本身并不能确保合规。
步骤
1. 确定目标课程
询问用户要检查哪些课程。接受课程代码、Canvas ID,或接受“全部”以遍历所有正在进行的课程。
如果用户未指定,请提示:
您想检查哪门课程?(或者回复“全部”以检查所有正在进行的课程。)
如需查询可用课程,请使用 list_courses MCP 工具。
2. 收集近期提交数据
针对每门目标课程:
- 调用
list_assignments,查找过去 7 天内截止的作业。 - 对每项近期作业,调用
get_assignment_analytics收集:- 提交率(已提交人数 / 注册人数)
- 平均分、最高分和最低分
- 迟交数量
3. 找出学习困难的学生
调用 list_submissions 获取学生提交记录,然后根据以下阈值标记学生:
| 紧急程度 | 标准 |
|---|---|
| 严重 | 过去 2 周缺交 3 项或更多作业,或平均成绩低于 60% |
| 需要关注 | 缺交 2 项作业,或平均成绩为 60--70%,或迟交 3 次或更多 |
| 进度正常 | 所有作业均已按时提交,成绩高于 70% |
用户提出请求时,可使用 get_student_analytics 深入分析单个学生的情况。
4. 检查即将到来的截止日期
调用 list_assignments,并筛选未来 7 天内截止的作业。针对每项即将到期的作业,列出:
- 作业名称
- 截止日期和时间
- 分值
- 当前提交人数(如果已开始提交)
5. 生成状态报告
按以下结构呈现结果:
## 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 deadline
6. 提供后续操作
呈现报告后,提供可执行的后续步骤:
您想让我:
- 起草并向学习困难的学生发送消息(使用
send_conversation)- 发送即将到期作业的提醒(使用
send_conversation;向多位收件人发送时,需先预览并确认)- 获取某项作业的详细分析数据(使用
get_assignment_analytics)- 检查其他课程
如果用户选择选项 1,请使用 send_conversation MCP 工具,通过 Canvas 直接向已识别的学生发送消息。
使用的 MCP 工具
| 工具 | 用途 |
|---|---|
list_courses | 查找正在进行的课程 |
list_assignments | 查找近期和即将到期的作业 |
get_assignment_analytics | 提交率和分数统计数据 |
list_submissions | 单个学生的提交记录 |
get_student_analytics | 单个学生的详细表现数据 |
send_conversation | 通过 Canvas 收件箱向学生发送消息 |
示例
用户:“检查一下 CS 101 的晨间情况”
**Agent:**运行上述工作流并输出状态报告。
用户:“提醒缺交 Quiz 3 的学生”
**Agent:**调用 send_conversation,向已识别的学生发送提醒。
备注
- 启用匿名化后,应保留匿名 ID 的本地映射,以确保后续操作(发送消息、评分)仍能针对正确的学生。
- 此技能最适合作为每周例行流程——周一早上是理想时间。
- 可与
canvas-week-plan技能配合使用,为学生制定计划。