Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

邮件日程

v1.0.0

从 macOS 邮件应用检索指定范围邮件,自动提取事件时间并在事件前2小时创建提醒事项。

0· 83·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for yfwill/email-schedule.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "邮件日程" (yfwill/email-schedule) from ClawHub.
Skill page: https://clawhub.ai/yfwill/email-schedule
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install email-schedule

ClawHub CLI

Package manager switcher

npx clawhub@latest install email-schedule
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description (read Mail and create reminders) match what the scripts do: fetch_emails.sh reads the macOS Mail Envelope Index and create_reminders.py extracts times and calls a reminders CLI. This capability is coherent with the stated purpose. However, the skill metadata declared no required config paths or credentials even though the scripts explicitly read a sensitive local file (~/Library/Mail/V10/MailData/Envelope Index) and depend on a third‑party CLI—an omission worth flagging.
!
Instruction Scope
SKILL.md and scripts instruct the agent to directly read the user's Mail database at the Envelope Index path and run local commands. The code accesses ~/Library/Mail/V10/MailData/Envelope Index (sensitive mailbox data) but the registry metadata did not declare that config path. The instructions are otherwise scoped to the stated task and do not attempt network exfiltration, but the implicit requirement to read a private mailbox file is a privacy/security concern and should be explicit in metadata and user consent.
!
Install Mechanism
There is no automated install spec (instruction-only), which reduces installer risk. However SKILL.md recommends installing 'remindctl' from a third‑party brew tap (steipete/tap/remindctl). Installing software from a non-official tap has moderate risk — the skill will rely on that external package. The rest of dependencies (Python3, sqlite3) are standard for macOS.
Credentials
The skill requests no environment variables or credentials, which is proportionate. It purely uses local filesystem access to the Mail DB and a local CLI. No unexpected API keys or external secrets are requested.
Persistence & Privilege
always is false and the skill does not request persistent/autostart privileges or modify other skills. It runs on demand and invokes local commands; no elevated platform privileges are requested in the metadata.
What to consider before installing
This skill will read your local macOS Mail database (~ /Library/Mail/…/Envelope Index) and create reminders using a local CLI. Before installing or running it: (1) confirm you are comfortable allowing any script to read your Mail DB and understand macOS privacy prompts; (2) review the two included scripts locally to verify they do only what you expect (they do not perform network calls, but they do read mail content and call a local CLI); (3) be cautious installing 'remindctl' from the steipete tap—prefer official packages or inspect that tap first; (4) note the metadata omitted the Mail DB path requirement and may assume a specific Mail version (V10) — check the path on your machine; (5) consider running the fetch script with a safe range (e.g., all -> LIMIT 50) and inspect output before piping into the reminder-creation script. If you want to proceed, run everything locally and not as an automated/unattended skill until you’ve validated behavior.

Like a lobster shell, security has layers — review code before you run it.

latestvk97f28zdd2djy6pc48pqy05x7983yncw
83downloads
0stars
1versions
Updated 4w ago
v1.0.0
MIT-0

邮件日程 (Email Schedule)

从 macOS 邮件应用检索邮件,并根据邮件内容自动创建提醒事项。

功能

  1. 邮件检索 - 从 macOS 邮件应用数据库读取邮件
  2. 智能识别 - 从邮件主题和内容中提取会议/活动时间
  3. 自动提醒 - 在事件发生前 2 小时设置提醒事项

支持的时间范围

  • today - 今天收到的邮件
  • yesterday - 昨天到今天收到的邮件
  • unread - 所有未读邮件
  • all - 最近 50 封邮件

使用流程

当用户要求处理邮件时:

1. 确认检索范围

询问或确认用户要查看的邮件范围:

  • "今天的邮件"
  • "昨天到今天的邮件"
  • "未读邮件"
  • "最近邮件"

2. 执行邮件检索

./scripts/fetch_emails.sh <范围>

范围参数:today | yesterday | unread | all

3. 创建提醒事项

将邮件 JSON 传递给创建脚本:

./scripts/fetch_emails.sh <范围> | ./scripts/create_reminders.py

4. 返回结果

格式:

📧 邮件检索完成

查看邮件数量: X
创建提醒数量: Y

提醒详情:
• [事件名称] - [时间]
• ...

时间识别规则

脚本会自动识别以下格式的时间:

  • 2026年3月31日 14:30
  • 3月31日 下午2点
  • 明天 上午10点
  • 下周一 14:00
  • 3/31 14:30

依赖

  • macOS 自带邮件应用
  • Python 3
  • sqlite3
  • remindctl (brew install steipete/tap/remindctl)

手动查询示例

直接在终端查询今日邮件:

# 查询今天的邮件(正确的 SQL)
sqlite3 ~/Library/Mail/V10/MailData/Envelope\ Index \
  "SELECT datetime(m.date_received, 'unixepoch', 'localtime') as date, 
          a.address as sender, 
          s.subject 
   FROM messages m 
   LEFT JOIN addresses a ON m.sender = a.ROWID 
   LEFT JOIN subjects s ON m.subject = s.ROWID 
   WHERE date(m.date_received, 'unixepoch') = date('now') 
   ORDER BY m.date_received DESC"

技术说明

时间戳处理

macOS 邮件数据库中的 date_receiveddate_sent 字段存储的是 Unix 时间戳(相对于1970年1月1日的秒数)。

正确的 SQL 查询方式:

-- 正确:直接使用 unixepoch 转换
SELECT datetime(date_received, 'unixepoch', 'localtime') as date
FROM messages

-- 错误:不需要添加偏移量(这是旧版 Mac CFAbsoluteTime 的方式)
-- SELECT datetime(date_received + 978307200, 'unixepoch') -- 会导致日期错误(显示为2057年)

限制说明

  • 仅支持 macOS 系统自带的邮件应用
  • 需要邮件应用数据库位于默认路径:~/Library/Mail/V10/MailData/Envelope Index
  • 提醒事项会创建在默认的"提醒事项"列表中
  • 仅对识别出未来时间的邮件创建提醒

脚本说明

fetch_emails.sh

查询邮件数据库,关联 subjects、addresses、summaries 表获取实际文本内容,返回 JSON 格式的邮件列表。

create_reminders.py

解析邮件内容,提取时间信息,使用 remindctl CLI 创建提醒事项。

Comments

Loading comments...