things-mac
Bitterbot-AI/bitterbot-desktop/skills/things-mac/SKILL.md
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Bitterbot to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.
Skill2.5k starsChanged 4 months ago
- Installs packages
What's in it
- Things 3 CLI
---
name: things-mac
description: Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Bitterbot to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.
homepage: https://github.com/ossianhempel/things3-cli
metadata:
{
"bitterbot":
{
"emoji": "✅",
"os": ["darwin"],
"requires": { "bins": ["things"] },
"install":
[
{
"id": "go",
"kind": "go",
"module": "github.com/ossianhempel/things3-cli/cmd/things@latest",
"bins": ["things"],
"label": "Install things3-cli (go)",
},
],
},
}
---
# 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; `Bitterbot.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.
More agent context in Bitterbot-AI/bitterbot-desktop
66 other files this repository gives its agents, the first 60 shown.
AGENTS.md
Skill
- 1passwordskills/1password/SKILL.md
- apple-notesskills/apple-notes/SKILL.md
- apple-remindersskills/apple-reminders/SKILL.md
- bear-notesskills/bear-notes/SKILL.md
- blogwatcherskills/blogwatcher/SKILL.md
- blucliskills/blucli/SKILL.md
- bluebubblesskills/bluebubbles/SKILL.md
- calibrate-claim-confidenceskills/calibrate-claim-confidence/SKILL.md
- camsnapskills/camsnap/SKILL.md
- canvasskills/canvas/SKILL.md
- circles-protocolskills/circles-protocol/SKILL.md
- clawhubskills/clawhub/SKILL.md
- coding-agentskills/coding-agent/SKILL.md
- curiosity-loopskills/curiosity-loop/SKILL.md
- discordskills/discord/SKILL.md
- eightctlskills/eightctl/SKILL.md
- finance-dataskills/finance-data/SKILL.md
- food-orderskills/food-order/SKILL.md
- forage-economyskills/forage-economy/SKILL.md
- geminiskills/gemini/SKILL.md
- gifgrepskills/gifgrep/SKILL.md
- githubskills/github/SKILL.md
- gogskills/gog/SKILL.md
- goplacesskills/goplaces/SKILL.md
- healthcheckskills/healthcheck/SKILL.md
- himalayaskills/himalaya/SKILL.md
- imsgskills/imsg/SKILL.md
- mcporterskills/mcporter/SKILL.md
- memory-architectureskills/memory-architecture/SKILL.md
- model-usageskills/model-usage/SKILL.md
- moltbookskills/moltbook/SKILL.md
- nano-banana-proskills/nano-banana-pro/SKILL.md
- nano-pdfskills/nano-pdf/SKILL.md
- notionskills/notion/SKILL.md
- notteskills/notte/SKILL.md
- obsidianskills/obsidian/SKILL.md
- openai-image-genskills/openai-image-gen/SKILL.md
- openai-whisper-apiskills/openai-whisper-api/SKILL.md
- openai-whisperskills/openai-whisper/SKILL.md
- openhueskills/openhue/SKILL.md
- oracleskills/oracle/SKILL.md
- ordercliskills/ordercli/SKILL.md
- peekabooskills/peekaboo/SKILL.md
- pre-action-interceptorsskills/pre-action-interceptors/SKILL.md
- protocol-quiet-in-groupsskills/protocol-quiet-in-groups/SKILL.md
- recall-before-claimskills/recall-before-claim/SKILL.md
- route-by-query-shapeskills/route-by-query-shape/SKILL.md
- sagskills/sag/SKILL.md
- session-logsskills/session-logs/SKILL.md
- sherpa-onnx-ttsskills/sherpa-onnx-tts/SKILL.md
- skill-creatorskills/skill-creator/SKILL.md
- slackskills/slack/SKILL.md
- social-dataskills/social-data/SKILL.md
- songseeskills/songsee/SKILL.md
- sonoscliskills/sonoscli/SKILL.md
- spotify-playerskills/spotify-player/SKILL.md
- summarizeskills/summarize/SKILL.md
- tmuxskills/tmux/SKILL.md
- trelloskills/trello/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

