skills/things-todo/SKILL.md
Things 3 via things CLI: add, list, search, update, delete, verify.
npx skillsauth add steipete/agent-scripts things-todoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
thingshttps://github.com/ossianhempel/things3-cliGOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest
Auth for update URL operations:
source ~/.profile >/dev/null 2>&1 || true
things auth
THINGS_AUTH_TOKEN should come from ~/.profile or 1Password. Never print it.
things update --dry-run must redact it as auth-token=***.
Use JSON for scripted reads and verification:
things tasks --format json --limit 20
things today --format json
things search "query" --format json
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.
Default: add, then search/read back.
things add "Book LHR-SFO nonstop business flight" --notes "Nonstop only." --when tomorrow --tags travel
things tasks --search "LHR-SFO" --format json
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.Find the UUID first, then mutate by 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
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.
--dry-run before bulk updates/deletes.date; do not guess.UNKNOWN if the app is
absent or not visible there.update needs THINGS_AUTH_TOKEN; add does not.--tags is plural for add/update; tasks --tag is singular for filtering.today JSON may show start: Anytime plus a real start_date; use command
membership/read-back, not one field alone, to verify Today placement.tools
macOS screen capture, accessibility inspection, and background-first app/window/UI automation with Peekaboo v4.
devops
ClawSweeper status: URLs, workflow health, active workers, ops snapshot.
development
GitHub deep review: bugs, PRs, best fix, stale-or-real, read code first.
tools
Telegram archive: chats, messages, contacts, folders, search; import from Telegram Desktop/macOS.