
Things Todo
- 39 installs
- 6.5k repo stars
- Updated August 3, 2026
- steipete/agent-scripts
Helps with ai & agent building tasks during AI-assisted development.
About
things-todo is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- things-todo
- AI & Agent Building
- AI-coding skill
Things Todo by the numbers
- 39 all-time installs (skills.sh)
- +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #8,260 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/steipete/agent-scripts --skill things-todoAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 39 |
|---|---|
| repo stars | ★ 6.5k |
| Last updated | August 3, 2026 |
| Repository | steipete/agent-scripts ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
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:
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latestAuth for update URL operations:
source ~/.profile >/dev/null 2>&1 || true
things authTHINGS_AUTH_TOKEN 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 tasks --format json --limit 20
things today --format json
things search "query" --format jsonThings 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.
things add "Book LHR-SFO nonstop business flight" --notes "Nonstop only." --when tomorrow --tags travel
things tasks --search "LHR-SFO" --format jsonUseful 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-runto inspect thethings:///URL without mutating.
Update / Delete
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 jsonAlways 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-runbefore bulk updates/deletes. - For current date math, run
date; do not guess.
Gotchas
- macOS only; remote hosts may show Things.app version as
UNKNOWNif the app is
absent or not visible there.
updateneedsTHINGS_AUTH_TOKEN;adddoes not.--tagsis plural for add/update;tasks --tagis singular for filtering.todayJSON may showstart: Anytimeplus a realstart_date; use command
membership/read-back, not one field alone, to verify Today placement.