todo

**macOS Only** - Manage macOS Reminders app via AppleScript. Full-featured reminder management: add, list, complete, delete, search, create lists, and more. **Note: This skill is macOS-only**, requiring the native Reminders app. Use cases: - Create reminders with due dates and priorities - List reminders from specific lists or incomplete ones - Mark reminders as complete/uncomplete - Delete reminders - Search reminders by title or content - Create new reminder lists - View today's due reminders

3,891 stars

Best use case

todo is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

**macOS Only** - Manage macOS Reminders app via AppleScript. Full-featured reminder management: add, list, complete, delete, search, create lists, and more. **Note: This skill is macOS-only**, requiring the native Reminders app. Use cases: - Create reminders with due dates and priorities - List reminders from specific lists or incomplete ones - Mark reminders as complete/uncomplete - Delete reminders - Search reminders by title or content - Create new reminder lists - View today's due reminders

Teams using todo should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/todolist/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/alphafactor/todolist/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/todolist/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How todo Compares

Feature / AgenttodoStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

**macOS Only** - Manage macOS Reminders app via AppleScript. Full-featured reminder management: add, list, complete, delete, search, create lists, and more. **Note: This skill is macOS-only**, requiring the native Reminders app. Use cases: - Create reminders with due dates and priorities - List reminders from specific lists or incomplete ones - Mark reminders as complete/uncomplete - Delete reminders - Search reminders by title or content - Create new reminder lists - View today's due reminders

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# To Do List (Mac)

## ⚠️ System Requirements

**This skill is macOS-only**, requiring the native Reminders app. It will not work on non-Mac systems.

## Feature Overview

This skill bridges macOS Reminders via AppleScript, supporting full reminder lifecycle management:

| Feature | Command |
|---------|---------|
| Add reminder | `todo add` |
| List reminders | `todo list` |
| Mark complete | `todo complete` |
| Unmark complete | `todo uncomplete` |
| Delete reminder | `todo delete` |
| Search reminders | `todo search` |
| View lists | `todo lists` |
| Create list | `todo create-list` |
| Today's reminders | `todo today` |

## Usage

All operations are executed via the `scripts/todo.sh` script:

```bash
./scripts/todo.sh <action> [args...]
```

### 1. Add Reminder

```bash
# Basic usage
./scripts/todo.sh add "title" "notes" "date" "list" "priority" "recur"

# Example: Simple reminder
./scripts/todo.sh add "Buy milk" "" "" "" 0 ""

# Example: With due date
./scripts/todo.sh add "Submit report" "Q4 summary" "2025-02-10 14:00" "" 1 ""

# Example: Add to specific list
./scripts/todo.sh add "Buy eggs" "Buy 12" "" "Shopping" 5 ""

# Example: High priority + list + date
./scripts/todo.sh add "Important meeting" "Client call" "2025-02-05 10:00" "Work" 1 ""
```

**Priority levels:**
- `0` = No priority
- `1` = High (🔴)
- `5` = Medium (🟡)
- `9` = Low (🔵)

### 2. List Reminders

```bash
# List incomplete reminders from default list
./scripts/todo.sh list

# List from specific list
./scripts/todo.sh list "Shopping"

# Include completed reminders
./scripts/todo.sh list "" true

# List all from specific list (including completed)
./scripts/todo.sh list "Work" true
```

### 3. Mark Complete/Uncomplete

```bash
# Mark complete (supports fuzzy matching)
./scripts/todo.sh complete "Buy milk"

# Unmark complete
./scripts/todo.sh uncomplete "Buy milk"
```

### 4. Delete Reminder

```bash
# Delete reminder (supports fuzzy matching)
./scripts/todo.sh delete "Buy milk"
```

⚠️ Deletion is irreversible. Use with caution.

### 5. Search Reminders

```bash
# Search by keyword in title or content
./scripts/todo.sh search "meeting"
```

### 6. Manage Lists

```bash
# View all lists with stats
./scripts/todo.sh lists

# Create new list
./scripts/todo.sh create-list "Study Plan"
```

### 7. Today's Due Reminders

```bash
# View today's incomplete due reminders
./scripts/todo.sh today
```

## Full Example Workflow

```bash
# 1. Create a work list
./scripts/todo.sh create-list "Work"

# 2. Add work tasks
./scripts/todo.sh add "Finish Q4 report" "Compile data" "2025-02-05 17:00" "Work" 1 ""
./scripts/todo.sh add "Reply to client email" "" "" "Work" 5 ""
./scripts/todo.sh add "Team weekly" "Prepare slides" "2025-02-06 10:00" "Work" 1 ""

# 3. View work list
./scripts/todo.sh list "Work"

# 4. Complete a task
./scripts/todo.sh complete "Reply to client email"

# 5. Check today's todos
./scripts/todo.sh today
```

## User Interaction Tips

When users want to manage todos:

1. **Clarify intent** - Ask what they want to do (add, view, complete, etc.)
2. **Offer shortcuts** - For common actions like "remind me to...", directly call add
3. **Show results** - Display operation results and current list status
4. **Support fuzzy matching** - complete/delete/search all support fuzzy matching

## Notes

1. **Date format** - Supports natural formats like "2025-02-05", "Feb 5, 2025", "tomorrow"
2. **Fuzzy matching** - complete/delete/search use contains matching, no need for full titles
3. **Permissions** - macOS may request permission to control Reminders on first run, click Allow
4. **Sync** - Changes sync to iCloud and appear on other Apple devices
5. **Recurring reminders** - Due to AppleScript limitations, complex recurring settings should be configured manually in the app

Related Skills

mastodon-publisher

3891
from openclaw/skills

Publish content to Mastodon. Use when you need to post a Mastodon status.

todokan

3891
from openclaw/skills

Manage tasks, boards, thoughts, and reviews in Todokan via MCP

todokan-review-loop

3891
from openclaw/skills

Process Todokan task and thought boards with a review-loop workflow. Use when a task enters doing and the agent should pick it up, read latest comments, respond to the newest comment with a high-quality context-aware reply, add an execution update comment, and move the task back to done (Review). Use for recurring polling/cron automation with Todokan MCP.

todo-list

3891
from openclaw/skills

通用待办事项管理技能。记录需要做的事(TODO)和已完成的事(DONE),区分于日记的日常记录。触发时机:(1) 有明确任务时 (2) 任务完成时 (3) 用户要求查看进度。

linear-todos

3891
from openclaw/skills

A CLI tool that executes Python source code to manage todos via Linear's API. Creates tasks with natural language dates, priorities, and scheduling. This is a source-execution skill - code in src/linear_todos/ runs when commands are invoked.

todo-master

3891
from openclaw/skills

用于本地待办管理的技能,支持基于 Python CLI 和 SQLite 存储待办;首次必须由用户确认数据目录(默认使用当前 skill 目录下的 data,或指定一个已存在的绝对路径);支持添加待办、快速添加今日/明日待办、查看今日待办、按状态/优先级/关键字筛选查看全部待办、查看单条、更新、完成、重开、归档,并通过数据库 schema migration 保护升级后的已有数据。

todoist-manager

3891
from openclaw/skills

Управление задачами в Todoist: добавление, обновление статуса (выполнено/удалено), определение даты/срочности/приоритета и навигация по проектам. Используйте команды с указанием всех необходимых параметров: add_task(content, project_id, due_date, priority), complete_task(task_id), delete_task(task_id), list_projects().

todo-manager

3891
from openclaw/skills

管理待办事项。添加、查看、完成、删除待办。

todoist

3891
from openclaw/skills

Manage Todoist tasks, projects, labels, and comments via the todoist CLI wrapper. Use when a user asks to add tasks, list todos, complete items, manage projects, or interact with their Todoist account.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities