From things
Reads and queries Things 3 data including todos by tag/project/list, projects/areas/tags, and logbook via JXA scripts. Supports markdown export. Read-only.
npx claudepluginhub bendrucker/claude --plugin thingsThis skill is limited to using the following tools:
Read and query Things 3 data via JXA.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Read and query Things 3 data via JXA.
To run JXA, use the Skill tool to invoke mac:jxa-run. Do NOT run bun or osascript directly.
Invoke via: Skill(mac:jxa-run, args: "Things3 ${CLAUDE_PLUGIN_ROOT}/scripts/jxa/query-list.js TMTodayListSource")
Invoke via: Skill(mac:jxa-run, args: "Things3 -e 'var app = Application(\"Things3\"); JSON.stringify(app.lists.byId(\"TMTodayListSource\").toDos().length)'")
Pipe the returned JSON through the formatter for table display:
echo '<json>' | bun ${CLAUDE_PLUGIN_ROOT}/scripts/format-output.ts [--json] [--columns name,status]
| Script | Usage | Description |
|---|---|---|
find-todos.js | <tag|project> <name> [--logbook] | Find todos by tag (across Inbox/Today/Anytime/Upcoming/Someday) or project |
query-list.js | <list-id> | Query todos from any built-in list |
query-logbook.js | <start-iso> <end-iso> | Query logbook with early termination. Full scans of 10k+ items are slow. |
query-metadata.js | <projects|areas|tags> | List projects, areas, or tags (tags omit todoCount for performance) |
export-markdown.js | [list-id] | Export a list to markdown checklist |
TMInboxListSource (Inbox), TMTodayListSource (Today), TMNextListSource (Anytime), TMCalendarListSource (Upcoming), TMSomedayListSource (Someday), TMLogbookListSource (Logbook)
Detect via midnight heuristic: creationDate at T00:00:00 local time = repeating instance. Templates have activationDate: null. See troubleshooting.md for examples.
open, completed, canceled
properties() for batch reads instead of individual gettersopen -g -a "Things3" to launch Things if not running