things
Skill2 starsChanged 8 months agoMITView on GitHub
Control Things app on macOS via URL scheme commands. Use when the user wants to create to-dos, add projects, update tasks, navigate lists, or search in Things. Supports Chinese characters with automatic URL encoding. Triggers when user mentions Things, to-dos, tasks, projects, or wants to manage their Things database.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- SrdjanCoric/skillstheir own version, first seen Oct 13, 2026
- ossianhempel/things3-clitheir own version, first seen Oct 9, 2026
- danielfrg/skillstheir own version, first seen Mar 4, 2026
- emanueleielo/ciana-parrottheir own version, first seen Feb 23, 2026
- yourkenike/ciana-parrottheir own version, first seen Feb 23, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- ossianhempel/things3-cli★ 119same name
- emanueleielo/ciana-parrot★ 77same name
- SrdjanCoric/skills★ 18same name
- danielfrg/skills★ 1same name
- yourkenike/ciana-parrot★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
IMPORTANT: All parameter values must be URL-encoded, especially for Chinese characters.
- Distinctive: line 245
When working with Chinese or other non-ASCII characters, always use URL encoding:
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Things URL Scheme Skill
Control Things app on macOS via URL scheme commands using open -g things:///.
Quick Start
Execute Things commands using:
open -g "things:///command?parameter=value"The -g flag runs Things in the background without bringing it to front.
URL Encoding
IMPORTANT: All parameter values must be URL-encoded, especially for Chinese characters. Use inline Python:
python3 -c "import urllib.parse; print(urllib.parse.quote('your text here'))"For variables:
TITLE=$(python3 -c "import urllib.parse; print(urllib.parse.quote('中文内容'))")Commands
1. add - Create a To-Do
# Basic to-do
open -g "things:///add?title=Buy%20milk"
# With notes, when, and tags
open -g "things:///add?title=Buy%20milk¬es=Low%20fat&when=today&tags=Errand"
# Multiple to-dos (newline separated: %0a)
open -g "things:///add?titles=Milk%0aBeer%0aCheese&list=Shopping"
# With reminder time
open -g "things:///add?title=Meeting&when=today@14:00"Parameters:
| Parameter | Description |
title | To-do title (string) |
titles | Multiple titles, newline-separated |
notes | Notes text (max 10,000 chars) |
when | today, tomorrow, evening, anytime, someday, or date string |
deadline | Deadline date (yyyy-mm-dd) |
tags | Comma-separated tag titles |
checklist-items | Newline-separated checklist items |
list | Project/area title to add to |
list-id | Project/area ID (takes precedence over list) |
heading | Heading title within project |
heading-id | Heading ID (takes precedence) |
completed | Set as complete (true/false) |
canceled | Set as canceled (true/false) |
reveal | Navigate to created to-do (true/false) |
Returns: x-things-id with created to-do IDs
2. add-project - Create a Project
# Basic project
open -g "things:///add-project?title=Build%20treehouse&when=today"
# With area
open -g "things:///add-project?title=Plan%20Party&area=Family"
# With to-dos inside
open -g "things:///add-project?title=Vacation&to-dos=Book%20flights%0aPack%20bags"Parameters:
| Parameter | Description |
title | Project title |
notes | Notes text |
when | When to start |
deadline | Deadline date |
tags | Comma-separated tags |
area | Area title |
area-id | Area ID (takes precedence) |
to-dos | Newline-separated to-do titles |
completed | Set as complete |
canceled | Set as canceled |
reveal | Navigate to created project |
3. update - Update a To-Do
Requires auth-token. Get token from Things → Settings → General → Enable Things URLs → Manage.
# Set when
open -g "things:///update?id=TODO_ID&when=today&auth-token=YOUR_TOKEN"
# Change title
open -g "things:///update?id=TODO_ID&title=New%20title&auth-token=YOUR_TOKEN"
# Append notes
open -g "things:///update?id=TODO_ID&append-notes=Added%20note&auth-token=YOUR_TOKEN"
# Clear deadline (empty value)
open -g "things:///update?id=TODO_ID&deadline=&auth-token=YOUR_TOKEN"
# Complete a to-do
open -g "things:///update?id=TODO_ID&completed=true&auth-token=YOUR_TOKEN"Required: id, auth-token
Optional Parameters:
title- Replace titlenotes- Replace notesprepend-notes- Add before existing notesappend-notes- Add after existing noteswhen- Set when fielddeadline- Set/clear deadlinetags- Replace all tagsadd-tags- Add tags without replacingchecklist-items- Replace checklistappend-checklist-items- Add checklist itemslist/list-id- Move to project/areaheading/heading-id- Move to headingcompleted- Complete/uncompletecanceled- Cancel/uncancelreveal- Navigate to to-doduplicate- Duplicate before updating
Note: Cannot update repeating to-dos.
4. update-project - Update a Project
Requires auth-token.
# Set when
open -g "things:///update-project?id=PROJECT_ID&when=tomorrow&auth-token=YOUR_TOKEN"
# Add tags
open -g "things:///update-project?id=PROJECT_ID&add-tags=Important&auth-token=YOUR_TOKEN"
# Clear deadline
open -g "things:///update-project?id=PROJECT_ID&deadline=&auth-token=YOUR_TOKEN"Required: id, auth-token
Optional Parameters: Same as add-project, plus:
prepend-notesappend-notesadd-tagsarea/area-idrevealduplicate
5. show - Navigate to List/Item
# Show built-in list
open -g "things:///show?id=today"
open -g "things:///show?id=inbox"
open -g "things:///show?id=anytime"
open -g "things:///show?id=someday"
open -g "things:///show?id=logbook"
open -g "things:///show?id=upcoming"
open -g "things:///show?id=tomorrow"
open -g "things:///show?id=deadlines"
open -g "things:///show?id=repeating"
open -g "things:///show?id=all-projects"
# Show specific item by ID
open -g "things:///show?id=ITEM_ID"
# Show by name (search)
open -g "things:///show?query=Vacation"
# With tag filter
open -g "things:///show?query=Vacation&filter=Errand"Parameters:
id- Item ID or built-in list ID (takes precedence)query- Name to search forfilter- Tag titles to filter by
Note: Cannot show tasks using query; use id parameter.
6. search - Search To-Dos
# Search for text
open -g "things:///search?query=vacation"
# Open search screen
open -g "things:///search"7. version - Get Version Info
open -g "things:///version"Data Types
| Type | Format |
| string | URL-encoded (max 4,000 chars) |
| date | today, tomorrow, or yyyy-mm-dd, or natural language (in 3 days, next tuesday) |
| time | 9:30PM or 21:30 |
| datetime | date@time (e.g., today@14:00, evening@6pm) |
| boolean | true or false |
Getting IDs
- To-Do ID: Control-click → Share → Copy Link
- List ID: Control-click list in sidebar → Share → Copy Link
Chinese Character Support
When working with Chinese or other non-ASCII characters, always use URL encoding:
TITLE=$(python3 -c "import urllib.parse; print(urllib.parse.quote('买菜'))")
open -g "things:///add?title=$TITLE"Workflow Examples
Create a to-do with Chinese title
TITLE=$(python3 -c "import urllib.parse; print(urllib.parse.quote('买牛奶'))")
open -g "things:///add?title=$TITLE&when=today"Create multiple to-dos
open -g "things:///add?titles=Task%201%0aTask%202%0aTask%203&list=MyProject"Create project with to-dos
open -g "things:///add-project?title=Travel&to-dos=Book%20flight%0aPack%20bags%0aGet%20passport&when=today"Complete a to-do
open -g "things:///update?id=TODO_ID&completed=true&auth-token=YOUR_TOKEN"Show Today list
open -g "things:///show?id=today"Rate Limit
Max 250 items can be added within a 10-second period.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

