Skip to content
AI & Agents
Skill

/things-mac

Add, update, list, search, or inspect Things 3 todos, inbox, today, projects, areas, and tags on macOS.

BOOST
From plugin
openclaw
391k68 skills
Install
$ npx -y skills add openclaw/openclaw --skill things-mac --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/things-mac

Context preview

The summary Claude sees to decide when to auto-load this skill.

Add, update, list, search, or inspect Things 3 todos, inbox, today, projects, areas, and tags on macOS.

SKILL.md

things-mac.SKILL.md
name: things-mac
description: "Add, update, list, search, or inspect Things 3 todos, inbox, today, projects, areas, and tags on macOS."
homepage: https://github.com/ossianhempel/things3-cli
metadata:
  {
    "openclaw":
      {
        "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; `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.
Read more
Ships withopenclaw

OpenClaw is an open-source AI assistant that runs on your own computer and meets you in the channels you already use: Discord, iMessage, Slack, Teams, Telegram, WhatsApp, and 20+ more, plus native apps for macOS, iOS, Android, Windows, and Linux.

Get the whole plugin
Stats
391,228
Stars
82,236
Forks
Active
Maintenance
TypeScript
Language
MIT
License
4m ago
Last commit
10mo ago
Created
3h ago
Added

Repo: openclaw/openclaw

Other skills on openclaw.