编程

never-miss

试用

把一句话、截图或邮件中的日程与截止事项写入 macOS 系统日历并设置提醒,支持多邮箱定时扫描与跨账户去重。当用户说"提醒我/帮我记一下/安排一下"、提到会议或截止时间(deadline/DDL/截止)、要配置邮箱日程提醒、查询最近建的提醒或运行状态时使用。

它能做什么

把一句话、截图或邮件中的日程与截止事项写入 macOS 系统日历并设置提醒,支持多邮箱定时扫描与跨账户去重。当用户说"提醒我/帮我记一下/安排一下"、提到会议或截止时间(deadline/DDL/截止)、要配置邮箱日程提醒、查询最近建的提醒或运行状态时使用。

技能文档

never-miss(不错过)

把散落在口述、截图、邮件里的日程与截止事项,变成 macOS 系统日历里带提醒的事件;提醒由操作系统负责,写入后不再依赖本 Skill 是否在线。

1. 模式判定(先判断当前属于哪种模式)

模式判定信号下一步
①交互建提醒用户消息含日程意图(提醒我/记一下/安排/会议/截止…),含口述或截图走 §3
②自动扫描宿主注入哨兵提示 【never-miss:auto-run】references/runbook-auto.md
③查询"建了哪些提醒/今天有什么/本周日程/运行状态"走 §6
④配置维护"配置日程提醒/再配一个邮箱/删账户/停用账户"走 §7

2. 铁律(不可妥协)

  1. 相对时间换算前必须先执行 now 取锚点;换算结果必须写进回复明示(NFR-01)
  2. 缺字段如实标"未提供",禁止编造时间与参与者(FR-13)
  3. 缺开始时间 / 时间歧义:交互模式追问,自动模式跳过(FR-21/22/24/25)
  4. 创建成功必须复述完整详情,时间用绝对日期时间(如"9月5日(周六)15:00")
  5. 任何失败不静默;按错误码给修复指引或上报(FR-30)
  6. 密码只经 stdin 入 Keychain,任何输出打码;配置与日志不留明文(FR-03)

3. 交互建提醒流程

  1. now 取时间锚点
  2. 提取字段并换算(规则见 references/extraction-rules.md,含 deadline 识别与全天判定)
  3. 缺开始时间 / 时间歧义 → 追问;低置信度 → 追问
  4. 冲突检查:check-conflict --start --end ;有冲突则告知用户决定(改期/照建/放弃)
  5. 构建 Event JSON(见 §5)→ 经 stdin 传给 create
  6. 按输出复述详情;status:"ics_fallback" 时提示用户双击导入 .icsduplicate 时说明已存在

4. 命令速查

数据目录:NEVER_MISS_DATA 环境变量 > 默认 ~/.workbuddy/never-miss。所有命令用 python3 scripts/never_miss.py ,输出结构化 JSON。

命令用途
now时间锚点(换算前置)
init生成 config.yaml 与 state.json
secret set/check/delete <邮箱>Keychain 读写删(set 的密码经 stdin)
doctor [--write-test]逐账户自检(配置/时区/Keychain/IMAP/日历)
create [--journal]建日历事件(Event JSON 经 stdin;自动模式加 --journal)
check-conflict --start --end查时间冲突
mail list/read交互式看/读邮件(FR-09)
scan fetch/commit自动扫描:取信(游标不动)/ 推进游标
journal skip/error补记跳过/失败(自动模式)
query events/status只读查询(最近 N 天 / 时间范围 / 运行状态)

错误码:E_ARGS E_CONFIG E_KEYCHAIN E_IMAP E_CALENDAR E_AUTH E_UNSUPPORTED E_STATE E_INTERNAL。对照处置见 references/troubleshooting.md

5. Event JSON 契约(create 的 stdin)

{
  "title": "项目评审",
  "start": "2026-09-12T10:00:00+08:00",
  "end": "2026-09-12T11:00:00+08:00",
  "all_day": false,
  "location": "会议室A",
  "attendees": ["张三"],
  "reminder_lead_minutes": 60,
  "source": {"account": "me@example.com", "mail_subject": "评审通知", "mail_uid": 48213}
}
  • titlestart 必需;end 可省略(普通事件默认 +1h,全天事件默认单日)
  • 全天事件:all_day:truestartYYYY-MM-DD
  • source:邮件来源必填(account/mail_subject/mail_uid);对话来源可省略

create 返回:statuscreated|duplicate|ics_fallback,另有 uidconflictsics_pathevent(回显)。

6. 查询(只读)

  • 最近 N 天建的提醒:query events --created-days N(默认 7)→ 倒序表格(主题/时间/来源账户/来源邮件主题)
  • 某时间段日程:query events --from YYYY-MM-DD --to YYYY-MM-DD
  • 运行状态:query status(上次运行、各账户游标、新建/跳过/失败、待汇报标记)
  • 空结果明确回复"没有"

7. 配置维护

  1. 对话式收集账户必填项(host/username/label);各家"专用密码"获取见 references/mail-setup.md
  2. 写 config.yaml(不含密码)+ secret set <邮箱>(stdin 传密码)
  3. doctor --write-test 逐项汇报;提示宿主注册每天 schedule.time 定时任务
  4. 追加/停用/删除账户 = 改 YAML;删除时提示是否清理 Keychain

8. 引用(按需加载)

  • 提取规则(字段/时间换算/置信度/deadline):references/extraction-rules.md
  • 自动模式完整流程:references/runbook-auto.md
  • 邮箱专用密码指引:references/mail-setup.md
  • 错误码处置:references/troubleshooting.md

相关技能

把一句自然语言(机票/高铁/开庭/会议/截止日期/聚会/看病等)或一张票据截图,自动变成苹果「日历」事件 + 一串按事件类型智能提前的「提醒事项」。在 macOS 上运行、经 iCloud 同步到 iPhone/iPad。当用户说「帮我加个日程/提醒」「机票 MU5137 8:30 起飞提醒我」「下周三下午开庭提前提醒」「G1234 高铁」「上诉期 15 号截止」「提前 2 小时提醒我」「把这个行程加到日历」等任何要把时间安排写进苹果日历或提醒事项的场景,都必须用本 skill。仅 macOS。

全库唯一的提醒发送方:把其他 SKILL 入队的复习、错题复测、计划任务、探索任务合并成每天一条摘要发出。只在学生说出**明确的提醒动词**时激活:“帮我设置提醒”“提醒我复习二次根式”“我今天该复习什么”“暂停提醒”“查看我的提醒”。提到“提醒”但不是要操作提醒的话(“老师提醒过我”“提醒一下自己要早睡”)不激活;其他 SKILL 完成任务后也不自动入队,要学生当轮说“要”。提醒内容本身不在这里生成——错题由错题本、词卡由英语词汇 DNA、任务由 30 天学习计划提供,本 SKILL 只做排期、合并与发送。未获授权时只给“建议提醒方案”,不创建实际提醒,也不做闲置唤醒。

5 次安装

根据末次月经或医生校正预产期,自动生成完整孕期每日提醒和关键产检提醒日历(.ics),支持导入 iCloud/Apple 日历。覆盖 NT、NIPT、系统超声、糖耐、孕晚期准备等关键节点,每次生成自动校验日期和事件数。

Use when the user wants the macOS 12+ Apple-enhanced SYSU workflow layer, especially natural-language requests such as 把课表同步到日历、把雨课堂 ddl 加到提醒事项、把宣讲会或招聘会写进日历、...

19 次安装

面向个人开发者的 Outlook 日历提醒 Skill 免费版。每晚 22:00 扫描明日 Outlook 日历, 将上午日程与下午日程分别按"提前 2 小时"和"当天 12:00 统一"两种基础策略推送飞书提醒. 基于 owa-outlook skill 提供的 owa_calendar.py 读取日历数据,通过 skill-platform CLI 注册 cron. 适用于个人每日日程前置提醒的基础场景。高级特性(跨时区处理、团队群共享、安静时段、 多渠道通知)请升级付费版.

Review daily memory logs and consolidate durable knowledge into the existing memory hierarchy. Use for scheduled or manual knowledge review, especially when deciding whether to update an existing canonical document, create a genuinely new document, skip a duplicate, defer an unstable signal, or propose merging overlapping documents.

26 次安装