Skip to content
AI & Agents
Skill

/things-mac

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 OpenClaw to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.

BOOST
From plugin
openagent
5.7k54 skills
Install
$ npx -y skills add the-open-agent/openagent --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.

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 OpenClaw to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.

SKILL.md

things-mac.SKILL.md
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 OpenClaw 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:
  {
    "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 withopenagent

⚡️next-generation personal AI assistant powered by LLM, RAG and agent loops, supporting computer-use, browser-use and coding agent, demo: https://demo.openagentai.org

Get the whole plugin
Stats
5,691
Stars
667
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
11h ago
Last commit
6y ago
Created
1d ago
Added

Repo: the-open-agent/openagent

Other skills on openagent.