编程

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 SlotMusic SceneGreeting ThemeExample GIF
🌅 Morning (6–9)morningRise & shine☀️ sunrise GIF
☕ Focus (9–12)focusDeep work time🔥 laser-focus GIF
💻 Working (12–14)workingKeep going!💪 hustle GIF
😌 Chill (14–18)chillWind down🍵 tea-time GIF
🌙 Off (18+)offGood night🌙 moon GIF

Quick Start

# Run the current time-slot scene + send greeting email
node scripts/workday-greeting.js

That's it. The script:

  1. Detects the current time slot
  2. Switches to the matching music scene (via home-music)
  3. 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

IssueFix
Music not switchingVerify home-music is installed and MUSIC_CMD is correct
Email not sendingCheck .env SMTP credentials; test with node scripts/send-greeting.js --test
Wrong time slotCheck slots.json boundaries; use --slot to override
GIF not loadingReplace URLs in gifs.json; some Giphy links expire

License

MIT

相关技能

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván854 次安装69 星标

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

通过一次 REST API 调用,向 10 个社交平台发布视频、图片、文字与文档。

作者 victorcavero14375 次安装50 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván555 次安装18 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai21 次安装8 星标

通过托管 OAuth 访问 Microsoft Graph Excel 接口,读写 OneDrive 中的工作簿、工作表、区域、表格与图表。

作者 byungkyu800 次安装42 星标

terrycarter1985 的更多技能

浏览全部技能

为中国小学三到六年级英语书面作业打分,并给出符合年龄的鼓励式反馈。

作者 terrycarter198517 次安装

Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market c...

作者 terrycarter198524 次安装

Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.

作者 terrycarter198519 次安装

Generate reusable, policy-aligned customer service replies for e-commerce aftersales scenarios. Use when support staff need fast, compliant Chinese responses...

作者 terrycarter198518 次安装

Control whole-house music scenes combining Spotify playback with Airfoil speaker routing. Quick presets for morning, party, chill modes.

作者 terrycarter198516 次安装

Comprehensive developer cheatsheets and quick references for Git, Docker, Kubernetes, jq, curl, and common Linux commands. Use when needing quick lookups for...

作者 terrycarter198516 次安装