mcpField
T
things-todo

things-todo

github.com/steipete生产力7.4k69 次安装1 周前更新
代码仓库

关于 things-todo

通过 `things` CLI 管理 Peter 的 Mac 上 Things 3 待办事项。涵盖添加、搜索、更新和删除,并要求回读验证,避免直接写入数据库。

主要功能

  1. 01添加和搜索任务
  2. 02设置日期、截止日期、清单和标签
  3. 03按 ID 更新或删除任务
  4. 04回读任务以验证更改
  5. 05变更前进行试运行

适用场景

  1. 01记录具体的下一步行动
  2. 02按查询查找任务
  3. 03更新或移除现有待办事项
  4. 04确认任务变更已生效

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/steipete/agent-scripts --skill things-todo

安装后在 Claude Code 中输入/things-todo确认已加载。

详细介绍

Things 待办事项

在 Peter 的 Mac 上使用此工具管理 Things 3 任务。对于由 Things 管理的待办事项,优先使用 things;只有用户要求使用 Apple Reminders 时才使用 $reminders。

工具

  • CLI:things
  • 仓库:https://github.com/ossianhempel/things3-cli
  • 安装:
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest

更新 URL 操作的身份验证:

source ~/.profile >/dev/null 2>&1 || true
things auth

THINGS_AUTH_TOKEN 应从 ~/.profile 或 1Password 获取。绝不要打印它。 things update --dry-run 必须将其编辑为 auth-token=***。

开始

使用 JSON 进行脚本化读取和验证:

things tasks --format json --limit 20
things today --format json
things search "query" --format json

读取 Things 数据库可能需要为调用应用授予“完全磁盘访问权限”。写入应通过 things 使用 Things URL Scheme 或 AppleScript 进行;不要直接写入 SQLite 数据库。

添加

默认流程:添加后搜索并读回。

things add "Book LHR-SFO nonstop business flight" --notes "Nonstop only." --when tomorrow --tags travel
things tasks --search "LHR-SFO" --format json

实用标志:

  • --notes "text"
  • --when today|tomorrow|evening|anytime|someday|YYYY-MM-DD
  • --deadline YYYY-MM-DD
  • --list "Project or Area"
  • --tags tag1,tag2
  • --checklist-item "text" 可重复使用
  • --dry-run 用于查看 things:/// URL,而不进行更改。

更新 / 删除

先查找 UUID,然后按 ID 修改:

things tasks --search "flight" --format json
things update --id <uuid> "New title" --notes "Updated notes"
things tasks --search "New title" --format json
things delete --id <uuid> --confirm <uuid>
things tasks --search "New title" --format json
things trash --search "New title" --format json

写入后务必读回。删除会将条目移至 Things 废纸篓;需要清理时,请确认普通搜索无结果,且在废纸篓搜索中能找到该条目。

约定

  • 将模糊的请求转化为明确的下一步行动标题。
  • 如果用户明确希望直接记录而非改写,则保留原措辞。
  • 将无关的操作拆分为独立待办事项。
  • 只有当用户暗示要设为 Today 时才使用 Today;否则采用 Inbox/Anytime 默认值。
  • 批量更新或删除前优先使用 --dry-run。
  • 计算当前日期时运行 date;不要猜测。

注意事项

  • 仅限 macOS;如果远程主机上没有 Things.app 或无法看到它,可能会显示 Things.app 版本为 UNKNOWN。
  • update 需要 THINGS_AUTH_TOKEN;add 不需要。
  • --tags 是添加/更新时使用的复数形式;tasks --tag 是筛选时使用的单数形式。
  • today 的 JSON 可能显示 start: Anytime,同时包含实际的 start_date;验证是否已设为 Today 时,应检查命令归属或读回结果,不要只依据单个字段。

评论

支持 Markdown