Create, update, and manage Things 3 tasks and projects. Not for reads — use things:jxa to query data. For simple inbox captures, use things:inbox.
npx claudepluginhub bendrucker/claudeThis skill is limited to using the following tools:
1password.mdexamples.mdurl-scheme.mdWrite operations for Things 3 via the things:/// URL scheme.
Use url.ts for most operations — it handles auth tokens and URL encoding:
bun ${CLAUDE_PLUGIN_ROOT}/scripts/url.ts <command> [key=value ...]
# Bulk update: pass multiple id= params to batch via JSON command
bun ${CLAUDE_PLUGIN_ROOT}/scripts/url.ts update id=X id=Y id=Z when=tomorrow
For raw URL scheme access: open -g "things:///add?title=Buy%20milk&when=today"
Use -g for data commands (add, update, json) to run in background. Omit -g for show/search to foreground Things.
| Command | Description | Auth required |
|---|---|---|
add | Create a todo | No |
add-project | Create a project with optional todos | No |
update | Modify a todo's properties | Yes |
update-project | Modify a project's properties | Yes |
show | Navigate to a list, todo, or project | No |
search | Open search with optional query | No |
json | Batch create/update via JSON payload | Yes (for updates) |
See examples.md for detailed usage of each command.
bun ${CLAUDE_PLUGIN_ROOT}/scripts/reorder.ts [--list today|anytime|someday] <id1> <id2> <id3> ...
Items appear at the top of the list in the order specified. Default list is today. Also works for items within a project — use the --list value matching the items' current scheduling state.
When the x-callback-url plugin is installed, url.ts automatically uses xcall to get a response from Things on stdout. Present the result to the user as clickable https://things.bendrucker.me/show?id=<id> links:
add, update): returns x-things-id=<id> — present one linkjson): returns x-things-ids=["id1","id2"] — present a bulleted list with each todo's title and linkCallback is enabled by default. Disable with --callback=false to fall back to fire-and-forget via open -g. If xcall is unavailable, the script falls back silently.
For show command: inbox, today, anytime, upcoming, someday, logbook, tomorrow, deadlines, repeating, all-projects, logged-projects
The list parameter only works with project names. For areas, use list-id with the area UUID (query area IDs via the things:jxa skill).
today, tomorrow, eveninganytime, somedayyyyy-mm-dd (specific date)Things supports Markdown in notes:
#, ##, ###**text**::text::[title](url)- or 1.when=anytime to move a todo out of inbox without assigning an arealist-id with the area UUID (not area-id)id=X id=Y id=Z) to batch into a single JSON command instead of individual calls.when or deadline on repeating to-dosExpert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.