things

Manage Things 3 tasks and projects via URL schemes and JXA scripts.

16|1|Updated Jun 26, 2025
One-click install
npx skills add https://github.com/bendrucker/claude --skill things
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: things
Source: https://github.com/bendrucker/claude/tree/main/.claude/skills/things
Command: npx skills add https://github.com/bendrucker/claude --skill things

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @jxa/global-type, @jxa/run, @jxa/sdef-to-dts, @types/node, esbuild, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill automates personal task management in Things 3, allowing you to create, read, update, and organize tasks without manual interaction, saving significant time.

Core Features & Use Cases

  • Comprehensive Task Management: Create, read, update, and navigate todos, projects, areas, and tags.
  • Type-Safe JXA Scripts: Write robust JavaScript for Automation (JXA) scripts using TypeScript for enhanced reliability.
  • Secure Authentication: Manages Things 3 API tokens securely via macOS Keychain for seamless background automation.
  • Use Case: Need to quickly add a complex project with multiple sub-tasks and checklists to Things 3? This Skill can do it with a single command, or even automate daily task reviews.

Quick Start

Create a simple todo for today

open "things:///add?title=Buy%20groceries&when=today&tags=Errands"

Read today's todo count

scripts/run-jxa.sh 'const app = Application("Things3"); const list = app.lists.byId("TMTodayListSource"); console.log(list.toDos().length);'

Frequently Asked Questions about things

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate task creation in Things 3 on macOS?

Automate task creation in Things 3 using URL schemes or TypeScript/JXA scripts. URL schemes let you add tasks with a single command like `open "things:///add?title=Buy%20groceries&when=today&tags=Errands"`; JXA scripts provide deeper control over projects, areas, and tags via the Things 3 API with type-safe TypeScript.

What are the requirements to run Things 3 automation scripts?

Running Things 3 automation requires macOS with Things 3 installed, access to JXA tooling, esbuild for script compilation, generated Things3.d.ts typings, and either macOS Keychain or 1Password for secure credential storage. No external API keys are needed.

Can I read and organize existing tasks and projects in Things 3 programmatically?

Yes, you can read todos, projects, areas, and tags from Things 3 using JXA scripts and TypeScript. Query lists, filter by properties, and navigate the task hierarchy; authentication via Keychain or 1Password enables secure read and write access.

How do I handle authentication securely when automating Things 3?

Authentication is managed securely through macOS Keychain or 1Password integration. Credentials are stored locally and retrieved at runtime, eliminating the need to hardcode API tokens in scripts while maintaining secure background automation.

What's the difference between Things URL schemes and JXA scripts for task management?

URL schemes provide simple, one-off task creation with limited parameters; JXA scripts with TypeScript offer comprehensive control over todos, projects, areas, tags, and complex multi-step operations like bulk updates and conditional logic.

Can I use this Skill to build daily task review automation?

Yes, JXA scripts can read today's todo count, filter tasks by area or tag, and trigger notifications or exports. Combine with URL schemes or external tools to create recurring workflows that review and organize your task list automatically.