Tool v1.0.0

macos-reminders

通过 AppleScript 创建、列出和管理 macOS 提醒事项。当用户请求创建提醒、添加待办事项、设置任务、为某事设置提醒或涉及 macOS...

ClawHub 更新于 2026-03-23 16 浏览
下载 SKILL

技能说明

通过 AppleScript 创建、列出和管理 macOS 提醒事项。当用户请求创建提醒、添加待办事项、设置任务、为某事设置提醒或涉及 macOS 提醒事项的任何操作时使用。触发条件包括:“提醒我买牛奶”“添加一个给牙医打电话的待办”“为周五创建提醒”“添加到我的购物清单”“将此项标记为重要”。仅限 macOS。

使用场景

Manage macOS Reminders via AppleScript for creating to dos and setting reminders with natural language commands

查看英文原始说明

Create, list, and manage macOS Reminders via AppleScript. Use when the user asks to create a reminder, add a to-do, make a task, set a reminder for something, or anything involving Apple Reminders on macOS. Triggers on requests like "remind me to buy milk", "add a to-do to call the dentist", "create a reminder for Friday", "add to my shopping list", "flag this as important". macOS only.

直接复制以下提示词,发送给你的 AI 助手即可完成安装。

帮我下载并安装这个SKILL:https://skillhub.cstcloud.cn/download/macos-reminders
  1. 点击上方「下载 SKILL」按钮,获取技能压缩包。
  2. 将压缩包解压到你的 Agent 技能目录。
  3. 重启客户端后即可在技能列表中选择该技能。

技能文件内容

5 个文件 · 22 kB · zip 9.7 kB
手动下载 zip · 9.7 kB
SKILL.md text/markdown
---
name: macos-reminders
description: Create, list, and manage macOS Reminders via AppleScript. Use when the user asks to create a reminder, add a to-do, make a task, set a reminder for something, or anything involving Apple Reminders on macOS. Triggers on requests like "remind me to buy milk", "add a to-do to call the dentist", "create a reminder for Friday", "add to my shopping list", "flag this as important". macOS only.
license: MIT
compatibility: Requires macOS with Reminders.app. Uses osascript (AppleScript) and python3 for JSON parsing.
metadata:
  author: lucaperret
  version: "1.0.0"
  openclaw:
    os: macos
    emoji: "\U00002705"
    homepage: https://github.com/lucaperret/agent-skills
    requires:
      bins:
        - osascript
        - python3
---

# macOS Reminders

Manage Apple Reminders via `$SKILL_DIR/scripts/reminders.sh`. All date handling uses relative math (`current date + N * days`) to avoid locale issues (FR/EN/DE date formats).

## Quick start

### List reminder lists

Always list reminder lists first to find the correct list name:

```bash
"$SKILL_DIR/scripts/reminders.sh" list-lists
```

### Create a reminder

```bash
echo '<json>' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
```

JSON fields:

| Field | Required | Default | Description |
|---|---|---|---|
| `name` | yes | - | Reminder title |
| `list` | no | default list | Reminder list name (from list-lists) |
| `body` | no | "" | Notes/details |
| `offset_days` | no | - | Due date as days from today (0=today, 1=tomorrow) |
| `iso_date` | no | - | Absolute due date `YYYY-MM-DD` (overrides offset_days) |
| `hour` | no | 9 | Due time hour (0-23) |
| `minute` | no | 0 | Due time minute (0-59) |
| `priority` | no | 0 | Priority: 0=none, 1=high, 5=medium, 9=low |
| `flagged` | no | false | Mark as flagged |

### List reminders

```bash
echo '<json>' | "$SKILL_DIR/scripts/reminders.sh" list-reminders
```

JSON fields:

| Field | Required | Default | Description |
|---|---|---|---|
| `list` | no | all lists | Filter by list name |
| `include_completed` | no | false | Include completed reminders |

## Interpreting natural language

Map user requests to JSON fields:

| User says | JSON |
|---|---|
| "remind me tomorrow at 2pm" | `offset_days: 1, hour: 14` |
| "remind me in 3 days" | `offset_days: 3` |
| "add to my shopping list" | `list: "Shopping"` (match closest list name) |
| "high priority" or "important" | `priority: 1, flagged: true` |
| "remind me on February 25 at 3:30pm" | `iso_date: "2026-02-25", hour: 15, minute: 30` |
| "remind me next Monday" | Calculate offset_days from today to next Monday |
| "flag this" | `flagged: true` |

For "next Monday", "next Friday" etc: compute the day offset using the current date. Use `date` command if needed:

```bash
# Days until next Monday (1=Monday)
target=1; today=$(date +%u); echo $(( (target - today + 7) % 7 ))
```

## Example prompts

These are real user prompts and the commands you should run:

**"Remind me to buy milk"**
```bash
"$SKILL_DIR/scripts/reminders.sh" list-lists
```
Then:
```bash
echo '{"name":"Buy milk","list":"Reminders"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
```

**"Add a to-do to call the dentist tomorrow at 10am"**
```bash
echo '{"name":"Call the dentist","offset_days":1,"hour":10}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
```

**"Remind me to submit the report on February 28 — high priority"**
```bash
echo '{"name":"Submit the report","iso_date":"2026-02-28","hour":9,"priority":1,"flagged":true}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
```

**"Add eggs, bread, and butter to my shopping list"**
```bash
echo '{"name":"Eggs","list":"Shopping"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
echo '{"name":"Bread","list":"Shopping"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
echo '{"name":"Butter","list":"Shopping"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
```

**"What's on my reminders?"**
```bash
echo '{}' | "$SKILL_DIR/scripts/reminders.sh" list-reminders
```

**"Show my work to-dos"**
```bash
echo '{"list":"Work"}' | "$SKILL_DIR/scripts/reminders.sh" list-reminders
```

## Critical rules

1. **Always list reminder lists first** if the user hasn't specified one — use the closest matching list name
2. **Never use hardcoded date strings** in AppleScript — always use `offset_days` or `iso_date`
3. **Confirm the list name** with the user if the intended list is ambiguous
4. **Pass JSON via stdin** — never as a CLI argument (avoids leaking data in process list)
5. **All fields are validated** by the script (type coercion, range checks, format validation) — invalid input is rejected with an error message
6. **All actions are logged** to `logs/reminders.log` with timestamp, command, list, and name
7. **Due date is optional** — reminders without a due date are valid (undated tasks)
8. **Multiple items**: when the user lists several items, create one reminder per item

文件内容直接读取自技能仓库,仅供安装前审阅;以实际下载的压缩包为准。