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.

From plugin
openclaw
394k78 skills

Claude Code

$ npx -y skills add openclaw/openclaw --skill things-mac --agent claude-code

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

Stars on GitHub

Momentum

stars in total
394.4k
Star history of openclaw/openclaw on GitHub, a chart by star-history.com

Other skills on openclaw.

acp-router

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi,…

@openclaw@openclawInstall Skill
browser-automation

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or…

@openclaw@openclawInstall Skill
canvas

canvas

Present hosted widget documents on a connected macOS panel and control panel visibility or navigation.

@openclaw@openclawInstall Skill
crabbox-apps

crabbox-apps

Use when asked to open, run, test, or show an app in Crabbox, including native desktops, web previews, and computer use on a…

@openclaw@openclawInstall Skill
diffs

diffs

Use the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.

@openclaw@openclawInstall Skill

More skills from other plugins.

clawhub

clawhub

Search and install agent skills from ClawHub, the public skill registry.

nanobot13d50k
@hkuds@hkudsInstall Skill

Questions about things-mac.

Which coding agents can use things-mac?
things-mac installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.