Agent skill
Things
Interacting with Things 3 task manager for Mac. Use when working with the user's personal todos, tasks, projects, areas, tags, or task lists (inbox, today, upcoming, etc.). Supports creating, reading, updating, and navigating tasks.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/productivity/things-bendrucker-claude
SKILL.md
Things 3 Task Manager
Interact with Things 3, the user's personal task manager for Mac.
Quick Start
Read operations: Use TypeScript with esbuild to write type-safe JXA code via scripts/run-jxa.sh
Write operations: Use things:// URL schemes (things:///add, things:///update, things:///json)
Auth token: security find-generic-password -a "$USER" -s "things-auth-token" -w (see @1password.md for setup)
Common Commands
Read today's todos:
scripts/run-jxa.sh 'const app = Application("Things3"); const today = app.lists.byId("TMTodayListSource"); JSON.stringify(today.toDos().map(t => ({id: t.id(), name: t.name()})), null, 2);'
Create a todo:
open "things:///add?title=Task%20name&when=today&tags=Work"
Update a todo:
auth_token=$(security find-generic-password -a "$USER" -s "things-auth-token" -w)
open "things:///update?id=ABC-123&auth-token=$auth_token&append-notes=Additional%20info"
Navigate to today:
open "things:///show?id=today"
Built-in List IDs
TMInboxListSource- InboxTMTodayListSource- TodayTMNextListSource- AnytimeTMCalendarListSource- UpcomingTMSomedayListSource- SomedayTMLogbookListSource- Logbook
When Values
today,tomorrow,eveninganytime,somedayyyyy-mm-dd(specific date)- Natural language: "in 3 days", "next week"
Status Values (JXA)
open- Active todocompleted- Completedcanceled- Canceled
Documentation
Load detailed guides as needed:
- setup.md - TypeScript/JXA development setup, array conversion, running scripts
- examples.md - Comprehensive usage examples for all operations
- jxa.md - Complete JXA object model and API reference
- url-scheme.md - URL scheme commands and parameters
- 1password.md - Auth token setup and keychain configuration
- troubleshooting.md - Common issues, best practices, repeating task detection
Essential Tips
- URL encoding: Always URL-encode parameters (spaces →
%20, newlines →%0a) - Verification: ALWAYS verify updates succeeded by reading back the todo with JXA
- Repeating tasks: Filter by comparing
creationDateto midnight (see troubleshooting.md) - TypeScript mode: Use
scripts/run-jxa.shfor type-safe JXA with autocomplete
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?