在工作日,自动为当前时段切换家庭音乐场景,获取匹配的GIF,并发送嵌入并附加该GIF的问候邮件……
工作日音乐- 剪辑器是一项面向实际任务的技能,主要用于将三种现有技能组合成一个工作日的常规;家乐- 将整个音乐场景切换为当前插槽;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将三项现有技能编排为一个工作日例行流程:
![]()
),并同时以附件形式附加该 GIF。通过 cron 安装脚本,该流程被调度为每周一至周五、在各场景设定的起始时刻自动运行。
workday-music-greeter/ ├── SKILL.md # 本文档 ├── run.sh # 主协调脚本(支持 --dry-run 和 auto 模式) ├── scenes.conf # 场景名 | 起始小时 | GIF 搜索关键词 | 邮件主题 ├── install-cron.sh # 注册周一至周五的 crontab 条目 └── .env.example # 必需/可选环境变量示例
cp .env.example .env && $EDITOR .env # 配置 WMG_MAIL_TO 及 SMTP_* 凭据 WMG_MAIL_TO=you@example.com ./run.sh morning --dry-run # 预览执行效果,不触发任何实际操作 WMG_MAIL_TO=you@example.com ./run.sh auto # 根据当前时间自动选择对应场景 ./install-cron.sh # 安排周一至周五定时任务
run.sh 执行指定场景;run.sh auto 则根据当前时间,在 scenes.conf 中选取 hour-start 最接近且不大于当前小时的场景(即“当前时段或最近已开始的时段”)。date +%u >= 6(即周六或周日),脚本直接退出,不执行任何操作。![]()
嵌入邮件 HTML 正文(使用 gifgrep 返回的 URL);若本地已成功下载该 GIF,则额外通过 --attach 参数作为附件添加。--dry-run 模式下,所有对外部命令的调用均仅打印而不实际执行——建议首次部署前使用此模式验证流程完整性。编辑 scenes.conf(管道符分隔):
morning|8|good morning coffee sunrise|🌅 Good morning — easing into the day chill|12|relax lofi midday break|🍵 Midday reset — chill vibes on focus|14|focus work productivity calm|🎯 Afternoon focus block off|18|goodbye work done relax weekend|🔇 Wrapping up — music off
场景名称必须与 home-music 支持的场景一致(例如 morning、chill、party、off 等)。若修改了起始时间,请重新运行 install-cron.sh;该脚本会以其标记块(tagged block)为单位进行幂等替换。
| 依赖项 | 用途 | 说明 |
|---|---|---|
home-music |
实时切换音乐场景 | 仅限 macOS(基于 AppleScript + Spotify + Airfoil)。在非 macOS 系统上,场景切换步骤将跳过并发出警告,其余流程仍正常执行。 |
gifgrep |
匹配 GIF | 若未安装,邮件将不包含 GIF,但仍正常发送。 |
imap-smtp-email |
发送邮件 | 需在环境变量或 .env 文件中提供 SMTP 凭据。缺少凭据时发送失败,并明确报错(不会静默吞没错误)。 |
crontab |
定时调度 | install-cron.sh 使用系统当前用户的 crontab。 |
若任一依赖项或凭据缺失,run.sh 将发出警告并降级执行(例如跳过某环节),而绝不会伪造成功状态。请务必先使用 --dry-run 进行验证。
详见 .env.example。必需变量:WMG_MAIL_TO。SMTP_* 变量由 imap-smtp-email 发送器读取。可选覆盖变量:WMG_GIF_DIR、WMG_SMTP_SCRIPT。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章