诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
编程
Workday Music Greeting
试用Auto-switch music scenes by workday time slot and send matching greeting emails with scene-specific GIFs. Combines home-music scene control with IMAP/SMTP em...
它能做什么
Auto-switch music scenes by workday time slot, and send a greeting email with a matching GIF — all in one command or cron job.
技能文档
🎶 Workday Music Greeting
Auto-switch music scenes by workday time slot, and send a greeting email with a matching GIF — all in one command or cron job.
🌅 ──► ☕ ──► 💻 ──► 😌 ──► 🌙
morning focus working chill off
What It Does
| Time Slot | Music Scene | Greeting Theme | Example GIF |
|---|---|---|---|
| 🌅 Morning (6–9) | morning | Rise & shine | ☀️ sunrise GIF |
| ☕ Focus (9–12) | focus | Deep work time | 🔥 laser-focus GIF |
| 💻 Working (12–14) | working | Keep going! | 💪 hustle GIF |
| 😌 Chill (14–18) | chill | Wind down | 🍵 tea-time GIF |
| 🌙 Off (18+) | off | Good night | 🌙 moon GIF |
Quick Start
# Run the current time-slot scene + send greeting email
node scripts/workday-greeting.js
That's it. The script:
- Detects the current time slot
- Switches to the matching music scene (via
home-music) - Sends a greeting email with an embedded GIF matching the scene
Configuration
Environment Variables
Copy .env.example to .env and fill in:
# Email (SMTP) — required for sending greetings
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=you@gmail.com
SMTP_PASS=your_app_password
GREETING_TO=recipient@example.com
GREETING_FROM=you@gmail.com
# Music scene command (default: home-music)
MUSIC_CMD=home-music
GIF Configuration
GIF URLs are defined in scripts/gifs.json. Replace with your own:
{
"morning": "https://media.giphy.com/media/l0MYt5jPR6QX5APm0/giphy.gif",
"focus": "https://media.giphy.com/media/3o7btNa0RUYa5E7iiQ/giphy.gif",
"working": "https://media.giphy.com/media/3o7qDEq2bMbcbPRQ2c/giphy.gif",
"chill": "https://media.giphy.com/media/l2JIdnF6aCnBRSgQU/giphy.gif",
"off": "https://media.giphy.com/media/l1J9u3TZfp1DLh2Wk/giphy.gif"
}
Time Slot Overrides
Edit scripts/slots.json to customize time boundaries:
{
"morning": { "start": 6, "end": 9 },
"focus": { "start": 9, "end": 12 },
"working": { "start": 12, "end": 14 },
"chill": { "start": 14, "end": 18 },
"off": { "start": 18, "end": 6 }
}
CLI Usage
# Auto-detect slot and run
node scripts/workday-greeting.js
# Force a specific slot
node scripts/workday-greeting.js --slot morning
# Music only (no email)
node scripts/workday-greeting.js --music-only
# Email only (no music scene switch)
node scripts/workday-greeting.js --email-only
# Dry run (show what would happen)
node scripts/workday-greeting.js --dry-run
Cron / Scheduled Automation
Set up as an OpenClaw cron job for fully automatic daily operation:
# Every weekday at 8:00 AM — morning scene + greeting
0 8 * * 1-5 node scripts/workday-greeting.js --slot morning
# Every weekday at 9:00 AM — focus scene
0 9 * * 1-5 node scripts/workday-greeting.js --slot focus
# Every weekday at 6:00 PM — wind down + good evening
0 18 * * 1-5 node scripts/workday-greeting.js --slot off
Or use OpenClaw's cron tool:
{
"schedule": { "kind": "cron", "expr": "0 8 * * 1-5", "tz": "Asia/Shanghai" },
"payload": { "kind": "agentTurn", "message": "Run workday-music-greeting for morning slot" }
}
Greeting Email Format
The email is sent as HTML with an inline GIF:
Subject: 🌅 Good Morning! Time to rise and shine
Body:
☀️ Good Morning!
Switching to morning music scene.
Have a wonderful day! 🎶
— Sent by Workday Music Greeting 🎶
File Structure
workday-music-greeting/
├── SKILL.md # This file
├── scripts/
│ ├── workday-greeting.js # Main orchestration script
│ ├── send-greeting.js # Email sending logic
│ ├── gifs.json # GIF URL config per slot
│ └── slots.json # Time slot definitions
├── assets/
│ └── (optional local GIFs)
├── .env.example # Environment template
└── package.json
Dependencies
- home-music skill — for music scene switching
- imap-smtp-email skill — for SMTP email sending (uses
nodemailer) - Node.js 18+
Install
cd skills/workday-music-greeting
npm install
Troubleshooting
| Issue | Fix |
|---|---|
| Music not switching | Verify home-music is installed and MUSIC_CMD is correct |
| Email not sending | Check .env SMTP credentials; test with node scripts/send-greeting.js --test |
| Wrong time slot | Check slots.json boundaries; use --slot to override |
| GIF not loading | Replace URLs in gifs.json; some Giphy links expire |
License
MIT
相关技能
把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
通过一次 REST API 调用,向 10 个社交平台发布视频、图片、文字与文档。
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
通过托管 OAuth 访问 Microsoft Graph Excel 接口,读写 OneDrive 中的工作簿、工作表、区域、表格与图表。
terrycarter1985 的更多技能
浏览全部技能为中国小学三到六年级英语书面作业打分,并给出符合年龄的鼓励式反馈。
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market c...
Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
Generate reusable, policy-aligned customer service replies for e-commerce aftersales scenarios. Use when support staff need fast, compliant Chinese responses...
Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.
Comprehensive developer cheatsheets and quick references for Git, Docker, Kubernetes, jq, curl, and common Linux commands. Use when needing quick lookups for...