Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
steipete avatar

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-todo

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs39
repo stars6.5k
Last updatedAugust 3, 2026
Repositorysteipete/agent-scripts

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

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@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=***.

Start

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.

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 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.

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 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.

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 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.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.