Agent skill · writing content · steipete

things-todo

Things 3 via things CLI: add, list, search, update, delete, verify.

Why this skill is useful

Adds specific commands and workflows for managing tasks in Things 3 that the AI wouldn't reliably generate on its own.

What it needs

Requires go installed locally. Requires 1password account access. About 2k tokens when loaded. Last updated 2026-08-06. 6,510 stars on the source repository.

What this skill does

Things Todo Use this for Things 3 tasks on Peter's Macs. Prefer things for Things-backed todos; use $reminders only when the user asks for Apple Reminders. Tool CLI: things Repo: https://github.com/ossianhempel/things3-cli Install: Auth for update URL operations: THINGSAUTHTOKEN should come from ~/.profile or 1Password. Never print it. things update --dry-run must redact it as auth-token=. Start Use JSON for scripted reads and verification: Things DB reads may need Full Disk Access for the calling app. Writes should go through Things URL Scheme or AppleScript via things; do not write the SQLite DB directly. Add Default: add, then search/read back. Useful flags: --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" repeatable --dry-run to inspect the things:/// URL without mutating. Update / Delete Find the UUID first, then mutate by id: Always read back after writes. Delete moves items to Things Trash; verify normal search is empty and trash search contains the item when cleanup matters. Conventions Turn vague asks into concrete next-action titles. Preserve wording when the user clearly wants capture, not rewriting. Split unrelated actions into separate to-dos. Use Today only when the user implies it; otherwise use Inbox/Anytime defaults. Prefer --dry-run before bulk updates/deletes. For current date math, run date; do not guess. Gotchas macOS only; remote hosts may show Things.app version as UNKNOWN if the app is absent or not visible there. update needs THINGSAUTHTOKEN; add does not. --tags is plural for add/update; tasks --tag is singular for filtering. today JSON may show start: Anytime plus a real startdate; use command membership/read-back, not one field alone, to verify Today placement.

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills steipete/things-todo

View the source on GitHub

Browse the @skills marketplace