
Things Mac
Let your agent list, search, and add Things 3 todos on macOS via things3-cli for day-to-day task tracking while you ship.
Overview
things-mac is an agent skill most often used in Grow (also Build, Operate) that lists and mutates Things 3 todos on macOS via the things3-cli.
Install
npx skills add https://github.com/steipete/clawdis --skill things-macWhat is this skill?
- Read inbox, today, upcoming, search, projects, areas, and tags from the local Things database
- Add and update todos via the Things URL scheme with --dry-run preview
- Install things3-cli via Go (documented Apple Silicon GOBIN path)
- Optional THINGSDB and THINGS_AUTH_TOKEN for DB path and write auth
- macOS-only; may need Full Disk Access for Terminal or OpenClaw.app
- Read commands support --limit on inbox (example: 50)
Adoption & trust: 1.9k installs on skills.sh; 378k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You track work in Things 3 but switching to the app to capture or query tasks breaks flow with your coding agent.
Who is it for?
macOS solo builders already on Things 3 who want CLI-backed inbox, search, and quick captures from Claude Code, Cursor, or OpenClaw.
Skip if: Windows or Linux users, teams without Things 3, or workflows that need full project management APIs outside Things.
When should I use this skill?
User wants to add, update, list, search, or inspect Things 3 todos, inbox, today, projects, areas, or tags on macOS.
What do I get? / Deliverables
Your agent returns structured todo lists or applies add/update operations (optionally dry-run) using local DB reads and URL-scheme writes.
- CLI output of lists or search results
- Created or updated todos via URL scheme
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Personal task hygiene supports sustained shipping and follow-ups, which sits in Grow lifecycle management for a solo builder. Todos, inbox, today, projects, and tags are ongoing lifecycle workflows—not one-off build artifacts.
Where it fits
After a planning chat, capture implementation tasks into Things inbox without opening the app.
Review today and upcoming lists before a weekly growth check-in.
Search Things for recurring ops chores and add follow-ups after a deploy.
Dry-run add launch checklist items as Things todos before release day.
How it compares
Task integration via local CLI, not a hosted MCP server or generic calendar sync.
Common Questions / FAQ
Who is things-mac for?
Indie builders on macOS using Things 3 who want their agent to read and update todos through the things CLI.
When should I use things-mac?
Use it during Grow for task hygiene, during Build to capture implementation follow-ups, and during Operate when incident or maintenance todos need logging—whenever you need inbox/today/search or add/update in Things.
Is things-mac safe to install?
Check the Security Audits panel on this page; granting Full Disk Access and storing THINGS_AUTH_TOKEN affect local data exposure—review before install.
SKILL.md
READMESKILL.md - Things Mac
# Things 3 CLI Use `things` to read your local Things database (inbox/today/search/projects/areas/tags) and to add/update todos via the Things URL scheme. Setup - Install (recommended, Apple Silicon): `GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest` - If DB reads fail: grant **Full Disk Access** to the calling app (Terminal for manual runs; `OpenClaw.app` for gateway runs). - Optional: set `THINGSDB` (or pass `--db`) to point at your `ThingsData-*` folder. - Optional: set `THINGS_AUTH_TOKEN` to avoid passing `--auth-token` for update ops. Read-only (DB) - `things inbox --limit 50` - `things today` - `things upcoming` - `things search "query"` - `things projects` / `things areas` / `things tags` Write (URL scheme) - Prefer safe preview: `things --dry-run add "Title"` - Add: `things add "Title" --notes "..." --when today --deadline 2026-01-02` - Bring Things to front: `things --foreground add "Title"` Examples: add a todo - Basic: `things add "Buy milk"` - With notes: `things add "Buy milk" --notes "2% + bananas"` - Into a project/area: `things add "Book flights" --list "Travel"` - Into a project heading: `things add "Pack charger" --list "Travel" --heading "Before"` - With tags: `things add "Call dentist" --tags "health,phone"` - Checklist: `things add "Trip prep" --checklist-item "Passport" --checklist-item "Tickets"` - From STDIN (multi-line => title + notes): - `cat <<'EOF' | things add -` - `Title line` - `Notes line 1` - `Notes line 2` - `EOF` Examples: modify a todo (needs auth token) - First: get the ID (UUID column): `things search "milk" --limit 5` - Auth: set `THINGS_AUTH_TOKEN` or pass `--auth-token <TOKEN>` - Title: `things update --id <UUID> --auth-token <TOKEN> "New title"` - Notes replace: `things update --id <UUID> --auth-token <TOKEN> --notes "New notes"` - Notes append/prepend: `things update --id <UUID> --auth-token <TOKEN> --append-notes "..."` / `--prepend-notes "..."` - Move lists: `things update --id <UUID> --auth-token <TOKEN> --list "Travel" --heading "Before"` - Tags replace/add: `things update --id <UUID> --auth-token <TOKEN> --tags "a,b"` / `things update --id <UUID> --auth-token <TOKEN> --add-tags "a,b"` - Complete/cancel (soft-delete-ish): `things update --id <UUID> --auth-token <TOKEN> --completed` / `--canceled` - Safe preview: `things --dry-run update --id <UUID> --auth-token <TOKEN> --completed` Delete a todo? - Not supported by `things3-cli` right now (no "delete/move-to-trash" write command; `things trash` is read-only listing). - Options: use Things UI to delete/trash, or mark as `--completed` / `--canceled` via `things update`. Notes - macOS-only. - `--dry-run` prints the URL and does not open Things.