关于 wilma-triage
wilma-triage 是面向家长的 Agent 技能,用于整理 Wilma 学校信息、筛出可执行事项,并可将考试和活动同步到家庭日历。它还强调提取临近日程安排和重要附件中的内容。
主要功能
- 01每日汇总 Wilma 数据
- 02按行动需求和偏好筛选
- 03读取相关文件附件
- 04检查重复后同步日历
- 05报告上学日的具体安排
适用场景
- 01查看多个孩子的消息和考试
- 02查找截止日期、必带物品和日程变更
- 03在日历中添加或移除学校活动
MCP 相关
可使用 wilma_summary、wilma_read_message 等 WilmAI MCP 工具;也可改用 wilma CLI。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aikarjal/ wilmai --skill wilma-triage安装后在 Claude Code 中输入/wilma-triage确认已加载。
详细介绍
Wilma 分类处理
为家长自动对 Wilma 学校数据进行每日分类处理。过滤无关信息,突出需要采取行动的事项,并将考试和活动同步到家庭日历。
依赖项
- Wilma 访问权限 — WilmAI MCP 工具(
wilma_*),或wilma技能和 CLI(clawhub install wilma;此技能的命令需要 wilma-cli 2.0+)。wilma技能会将每个 MCP 工具对应到 CLI 命令;使用可用的方式即可。 - 日历(可选) — Agent 可用的任意日历工具:OpenClaw 上的
gog技能(clawhub install gog),或助手自带的日历连接器。如果没有日历工具,请在报告中列出新日期,而不是进行同步。 - 笔记 — 此技能会将设置和偏好存储在 Agent 的笔记中。在 OpenClaw 上,这些笔记是 TOOLS.md 和 MEMORY.md;在其他环境中,凡是此技能要求使用 TOOLS.md 或 MEMORY.md 的地方,请使用助手的记忆或项目说明。
首次运行设置
首次使用时,收集并存储配置:
- 查找孩子: 调用
wilma_account或运行wilma students,获取学生姓名和编号 - 日历: 使用 Agent 的日历工具列出可用日历(例如
gog calendar calendars)。询问用户要将哪个日历用于学校活动。在 TOOLS.md 的## Wilma Triage部分中存储日历 ID 和活动命名约定。如果没有可用的日历工具,则跳过此步骤。 - 偏好设置: 询问是否有针对特定孩子的规则(例如,将宗教课替换为 ET 等科目覆盖设置)。将其作为 Wilma 分类处理上下文的一部分存储在 MEMORY.md 中。
随着时间推移,用户会反馈哪些内容应该报告、哪些应该跳过——请将这些偏好存储在 MEMORY.md 中。分类处理会随着使用变得更加智能。
工作流
-
获取数据 — 一次调用即可涵盖所有孩子的最新动态:使用带有
since的wilma_summary,或使用下方的 CLI。使用上次运行的日期(存储在 MEMORY.md 中),或使用昨天的日期。它会返回当天和下一个上学日的课程、即将到来的考试(如果提供了开始时间,也会一并返回)、家庭作业、课程备注(教师反馈和缺勤)、当天起的公告和消息,以及所有未读消息。wilma summary --since <last-run-date-or-yesterday> # Drill into specifics as needed wilma messages <id> # full text and every reply wilma news <id> # full text and linked resources wilma exams # all upcoming exams wilma schedule tomorrow wilma notes --from <date> # lesson notes for a longer periodAgent 运行 CLI 时会输出 JSON;结果按孩子分别提供(
students[].student),时间均为芬兰时间。使用 MCP 工具时,wilma_read_message、wilma_read_news、wilma_upcoming_exams、wilma_schedule和wilma_lesson_notes与之对应。默认情况下,所有工具和命令都会涵盖所有孩子。 -
下载并阅读重要附件 — 许多公告只有链接:
content字段为空(或仅提示查看附件),可执行信息——日期、截止时间、表格、所需材料、日程详情——都在附件中。跳过这些附件,就会漏掉分流流程本该捕捉到的内容。阅读公告或消息后,检查 JSON 中的
resources数组。仅当以下条件全部满足时,才尝试下载:- 资源看起来是文档(有
fileName提示、URL 看起来像文档链接,或其他明显表明它是文件而非网页的特征),并且 - 公告价值较高(年度/学期信息表、教师来信、学校办公室公告、许可单),并且
- 公告正文为空,或提示查看附件。
wilma news <news-id> download <resource-id> --output <dir>使用 MCP 工具时,请改为调用
wilma_get_news_attachment;它会直接返回文件内容。处理返回的
status:downloaded(CLI)或fetched(MCP)——阅读文件(PDF 使用 PDF 阅读器),并将可执行事项提取到报告中。not_a_file——链接是网页,或需要外部登录。报告该 URL,供家长自行打开。不要循环重试。error——报告错误消息。
不要下载的内容:
- 通用信息类网页链接、社交媒体页面,以及同一通知的多语言重复版本——单条公告可能包含很多此类内容。
- 不要遍历整个
resources数组;只针对高价值、可执行公告中的真实文档附件。
**沙箱说明:**图片/PDF 阅读工具可能会拒绝某些临时路径中的文件(例如系统临时目录)。请将附件下载到相对于工作区的目录(例如
./attachments/)后再阅读;如有需要,之后清理这些文件。 - 资源看起来是文档(有
-
筛选 — 应用下方的分流规则,以及 MEMORY.md 中针对孩子的规则。公告列表始终包含置顶公告(
pinned: true,例如学年公告),因此每天都会重新出现:仅在公告日期处于分流时间范围内时才报告。若某条消息的replyCount较上次运行时增加(请在 MEMORY.md 中保存计数),说明有新回复——请阅读该对话线程。 -
日历同步 — 使用 TOOLS.md 中注明的日历工具,添加尚未录入的考试和可执行事项(若没有日历工具则跳过)。有
time的考试应创建定时事件;其他考试均创建全天事件。- 务必先检查是否已有事件,再添加,以避免重复
- 使用 TOOLS.md 中存储的命名规范
- 从日历中删除已取消的事件
-
报告 — 如果发现可执行事项,请发送详细信息。如果没有可执行事项,则保持静默或发送简短确认。查看 MEMORY.md 中用户的通知偏好。然后将今天的日期存入 MEMORY.md,作为上次运行日期(供下次运行的
--since使用)。
日历同步
请参阅 TOOLS.md,了解日历 ID、命名规范,以及要使用的确切日历命令或工具。
禁止重复规则:
- 添加任何事件之前,先检查该日期范围内的日历
- 如果存在匹配事件(日期相同 + 孩子相同 + 科目关键词相同),则跳过
- 仅在事件尚不存在时添加
了解 Wilma 消息
Wilma 消息来自不同来源,信息含量差异很大。了解其中的区别对有效分流至关重要:
- Viikkoviesti / 每周信(由班主任发送)——价值很高。 这是班主任每周发送的更新。看起来像随意的通讯,但常常夹带需要采取行动的信息:即将举行的考试、需要携带的材料、日程变更、校外活动、截止日期。务必阅读全文。 不要仅凭主题行就跳过。
- 教师消息(由任课教师发送)——通常涉及具体考试、作业或班级活动。信息含量高。
- 学校办公室 / rehtori 消息——行政事务:日程变更、活动、政策更新。信息含量中等——浏览并留意需要采取行动的事项。
- Kuukausitiedote / 每月通讯(由学校办公室发送)——请阅读。 通常包含重要日期:假期、学年开始/结束时间、活动日程、报名截止日期。不要仅凭通用主题行就跳过。
- 市政部门通知(由市/市政教育部门发送)——健康宣传活动、交通信息、调查。对日常分流来说通常无关紧要。浏览主题,除非明显需要采取行动,否则跳过。
- 家长联合会 / vanhempainyhdistys——默认信息含量低(筹款、志愿者招募)。不过,请查看 MEMORY.md——如果家长积极参与联合会,这类消息就变得优先级很高。
经验法则: 如果消息来自教师(班主任或任课教师),务必阅读。如果来自学校办公室或市政部门,浏览主题;除非明显需要采取行动,否则跳过。
如果高价值消息或公告引用或附有文档,请按照工作流步骤 2 下载并阅读——需要采取行动的详细信息往往只在附件中。
了解课堂记录(merkinnät)
课堂记录是教师在 Wilma 中留下的简短课堂备注。大致可分为几类,信息含量差异很大:
- 行为方面的担忧(例如:“Sinulta puuttui opiskeluvälineitä” =“你缺少学习用品”,“Häiritsi tuntia” =“扰乱了课堂”)——报告。 家长通常希望了解,也可能想跟进。
- 未说明原因的缺勤(“Selvittämätön poissaolo”)——立即报告。 这可能表示逃课,也可能是家长忘记在 Wilma 中提交请假说明。
- 已说明原因的缺勤(“Terveydellinen syy” = 因健康原因,“Muu selvitetty poissaolo” = 其他已说明原因的缺勤)——简要报告,确认缺勤已登记。如果 MEMORY.md 表明家长不希望收到缺勤确认,则跳过。
- 正面反馈(“Hyvä!”,“Osasit toimia ryhmän vastuullisena jäsenenä”)——默认跳过。 如果 MEMORY.md 表明家长也希望收到正面记录,可偶尔提及。
- 教师的原话(
note,例如“Lähti 13.00” =“13:00 离开”,或具体缺少了什么)——往往是最有用的部分。请呈现出来。
typeLabel 是芬兰语标签,note 是教师的原话(或 null),subject 是课程代码(例如 MA_8LV;与课程无关的记录中为空)。报告时,将连续出现且科目和类型相同的记录合并(一次缺勤通常会跨多个课时)。如需查看整个学期的概况,wilma notes summary(wilma_lesson_notes_summary)会按类型统计记录数量。
分流规则
始终报告(需要采取行动)
- 需要填写的表格、许可单、回复
- 截止日期(报名、付款、需携带的材料)
- 日程变更(提前放学、停课、代课安排)
- 需要准备的特殊装备/材料(例如“带上滑雪装备”、“穿户外服装”)
- 孩子可能想参加的课后活动(舞会、电影之夜)
- 考试日程更新或新增考试
- 已列入日历但已取消的活动 → 将其删除
- 行为方面的课堂记录或未说明原因的缺勤(参见上文的 merkinnät 部分)
简要报告(值得提及)
- 校外活动、主题日及日期信息
- 学校停课、假期安排变更
- 健康通知(头虱提醒、疾病暴发)
- 新成绩(简要提及并注明科目)
- 课程记录中登记的已说明缺勤(仅确认)
重要:务必阅读每周信件(viikkoviesti)
班主任发送的每周信件中,常常会在正文中夹带需要采取行动的事项:考试、需要携带的材料、日程变更、校外活动。务必阅读 viikkoviesti 消息的全部内容——不要只看主题行就跳过。如果信件提及或附有文档(信息表、日程、表格),也要按照工作流步骤 2 下载并阅读。
前一天的安排(关键!)
Viikkoviesti 和教师消息中常常包含未来几天的实际安排细节,这些内容可能无法对应到日历事件,但对家长在前一天或前一晚至关重要:
- 上学或放学时间变更(例如,正常是 8:30,但要“9:30 到校”)
- 需要携带或准备的物品(水壶、户外衣物、零食、特定装备)
- 因校外活动或其他事件而取消的课程(例如,没有 ET 或选修课)
- 接送/返校时间变更(例如,“约 15:00 返回学校”)
- 当天的安排顺序(例如,“先考试,然后立即出发参加校外活动”)
**这些细节和考试及日程变更同样重要。**家长知道有校外活动,却不知道上学时间改为 9:30,而不是 8:30,得到的信息就不完整。
工作流:
- 阅读 viikkoviesti 时,提取未来 2-3 个上学日的所有每日具体安排
- 如果今天的筛查发现明天或后天的安排,务必报告,即使相关事件(校外活动、考试)已在日历中
- 包括:时间变更、需要携带的物品、取消的课程、交通详情、返程时间
- 不要以为日历同步就代表任务完成——日历里有事件,但没有这些安排细节
**如果不留意,可能会漏掉以下内容:**日历显示周五有“活动公园之旅”和“历史考试”。但 viikkoviesti 说上学时间是 9:30(不是 8:30),先考历史,需要带水壶和零食,没有 ET 或选修课,约 15:00 返回。家长前一晚必须了解所有这些关键信息。
静默跳过
- 音乐会、文化演出(仅供参考)
- 泛泛的“欢迎回来”或季节性问候
- 全市范围的信息通知(健康宣传、交通信息、调查)
- 家长联合会的消息(除非用户积极参与——查看 MEMORY.md)
- 正面的课程记录(除非 MEMORY.md 另有说明)
查看 MEMORY.md,了解用户长期提供的其他跳过/报告规则(例如科目例外、针对特定学校的筛选规则)。
建议的 Cron 设置
按本地时间每天 07:00 运行。在 OpenClaw 中,将其设为隔离的 agentTurn 任务;在其他助手中,如果有定时任务功能,则使用该功能:
Schedule: 07:00 daily
Timeout: 180s
Task: "Read the wilma-triage skill, then run the full triage workflow. Report actionable findings."
与其他早间任务错开时间(例如,07:05 检查电子邮件),以避免触发 API 速率限制。
输出格式示例
📚 Wilma Update
Child A (8th grade)
• Math exam tomorrow — yhtälöt, kpl 1-8
• Friday short day (9:20-12:35) — kulttuuripäivä, bring laptop + outdoor clothes
• Lesson note (yesterday, MA_8LV): "Sinulta puuttui opiskeluvälineitä" — kirja jäi kotiin
Child B (6th grade)
• No actionable items
📅 Calendar: Added Child A math exam (10 Feb), removed cancelled disco (11 Feb)
保持简短。每项一行。宁可不报,也不要制造噪声。
为用户写日期时,请遵循回答所用的语言:芬兰语 ke 7.10.(末尾带句点),英语 Wed 7 Oct。Wilma 的原文使用芬兰语格式;请转换格式,不要混用两者(不要写成 Wed 7.10)。