Skip to content

Guide · Agent skill

How to use the Things 3 To-Do Manager agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The things-todo skill teaches an AI agent to manage your tasks in Things 3, a to-do app for macOS, by running the things command-line tool. This guide explains what an agent skill is, how to install this one, how to ask for things in plain language, and what to watch for. By the end you will be able to capture, find, change and delete Things 3 to-dos through an agent, and check that each change actually happened.

Things 3 To-Do Managersteipete/agent-scripts · MIT

Quick start

  1. 1Confirm requirements. Check that you are on macOS with the Things 3 app installed, and that Go is available.
  2. 2Install the things CLI. Run the go install command from the skill's install section, with GOBIN set to your chosen directory.
  3. 3Grant Full Disk Access. Give Full Disk Access to the app that will call the tool so it can read the Things database.
  4. 4Store the auth token. Put THINGS_AUTH_TOKEN in ~/.profile or 1Password, then run things auth to check it.
  5. 5Install the skill. Unzip the download into ~/.claude/skills/ or a project's .claude/skills/, or upload it under Settings, Capabilities, Skills.
  6. 6Ask in plain language. Request a to-do, search or change, then ask the agent to read back the result.

What an agent skill is and what this one does

An agent skill is a folder containing a SKILL.md file with instructions that an AI agent loads when a task matches the skill's description. This skill is named things-todo and is described as Things 3 via things CLI: add, list, search, update, delete, verify.

Once installed, the agent can add new to-dos with notes, dates, tags and checklists, look up existing ones, update them, and delete them to the Things Trash. The skill tells the agent to read items back after each change to confirm the result, and to preview bulk changes with --dry-run first. It is written for Peter's Macs, and it says to prefer Things for to-dos and to use Apple Reminders only when a user explicitly asks for it.

Install the things CLI

The skill depends on the things command-line tool from github.com/ossianhempel/things3-cli. The skill's install line uses the Go toolchain, so Go must be installed first. The skill's install command is shown below. Set GOBIN to the directory where you want the binary placed; the skill uses /opt/homebrew/bin.

  • Requirements: macOS, the Things 3 app installed on the Mac, and the Go toolchain.
  • Grant Full Disk Access to the app that calls the tool, because reading the Things database needs it.
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest

Install the skill (ZIP or Claude apps)

Download the ZIP for things-todo from this page and unzip it. For a personal setup, place the things-todo folder inside ~/.claude/skills/. For a single project, place it inside that project's .claude/skills/ folder. Alternatively, in the Claude apps, open Settings, go to Capabilities, and upload the skill under Skills.

The skill package contains one file, SKILL.md.

  • Personal install: ~/.claude/skills/things-todo/
  • Project install: .claude/skills/things-todo/ inside your project

Set up the auth token for updates

Adding and searching do not need a token, but updating does. The skill expects THINGS_AUTH_TOKEN to be stored in ~/.profile or in 1Password. The skill sources ~/.profile and runs things auth to check access. The agent is instructed never to print the token. Running things update --dry-run shows the token redacted as auth-token=***.

  • add does not need THINGS_AUTH_TOKEN; update does.
  • Keep the token in ~/.profile or 1Password, not in a chat or a shared file.
source ~/.profile >/dev/null 2>&1 || true things auth

Ask for to-dos in plain language

You do not need to type commands yourself. Describe what you want, and the agent chooses the right things operation. The skill's conventions shape how it handles your wording: vague requests become concrete next-action titles, wording stays as you gave it when you clearly want capture, and unrelated actions become separate to-dos.

The agent uses Today only when you imply it; otherwise it uses the Inbox or Anytime defaults. If you need the agent to know today's date for a relative request, the skill says it runs date rather than guessing.

  • "Add a to-do to book a nonstop LHR to SFO flight for tomorrow, tagged travel."
  • "Search my Things tasks for flight and show me what you find."
  • "Change the flight to-do's notes to say I want business class."
  • "Delete the old LHR-SFO to-do, and check that it is in the Trash."

Check what the agent did

The skill asks the agent to read items back after every write. For a new to-do, the agent searches for it again. For a delete, it confirms the item is gone from normal search and, when cleanup matters, that it appears in the trash. Ask the agent to show you these results so you can see the check happened.

For bulk changes, ask the agent to run a dry run first. The --dry-run flag shows the things:/// URL without changing anything.

  • Read-back after add: search for the title with --format json.
  • Delete check: normal search empty, trash search contains the item.
  • Dry run: --dry-run on add, update or delete previews the change.
things tasks --search "LHR-SFO" --format json

Safety notes: scripts and network

This skill runs scripts and uses the network. The things CLI is installed with go install from GitHub, and the update operations use the Things URL Scheme or AppleScript through things. The skill tells the agent not to write to the Things SQLite database directly.

Updates and deletes change real data. Delete moves items to the Things Trash rather than erasing them, but an agent with this skill can still change tasks you did not mean to touch, so review what it reports and use dry runs for bulk work.

  • The skill runs scripts and makes network calls to install and operate the CLI.
  • The agent is told never to print THINGS_AUTH_TOKEN.
  • Deletes go to Things Trash; check the trash search if you need to be sure.

What people use it for

  • Capture a task from a chat with notes, a date, tags and a checklist, then confirm it appears in search.
  • Find a to-do by keyword and update its notes or title with a read-back check.
  • Clean up finished or outdated to-dos by deleting them to the Trash and verifying the removal.
  • Review what is on Today or in a project by asking for tasks in JSON-backed reads.

Frequently asked questions

How do I install the things-todo agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings, Capabilities, Skills. The package contains SKILL.md.

What does the things-todo skill require?

It requires macOS, the Things 3 app, the things CLI from github.com/ossianhempel/things3-cli installed with Go, and Full Disk Access for the calling app to read the Things database. Updates also need THINGS_AUTH_TOKEN.

Is the things-todo skill free?

The skill is published under the MIT licence. The source does not state pricing for Things 3 or any other product, so check those separately.

Does it work on Windows or Linux?

No. The skill notes that the tool works only on macOS, and Things 3 is a Mac app.

Can it manage Apple Reminders too?

Not as a general reminders tool. The skill uses Things by default and uses Apple Reminders only when a user explicitly asks for it. It is not a general reminders tool.

Why does my update fail?

Updates need THINGS_AUTH_TOKEN. Add it to ~/.profile or 1Password, then run things auth. Adding a to-do does not need the token.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits Mac users who keep tasks in Things 3 and want to capture and change them through an agent, especially if they are comfortable installing a Go-based CLI and setting an auth token. It is a poor fit if you lack macOS or Things 3, want Apple Reminders, or are uneasy with an agent modifying or deleting tasks.

Download the skill