Read and query Things 3 data (lists, todos, projects, tags, logbook). Not for writes — use things:url to create/update, things:inbox for quick captures.
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> [--notes-contains <substring>] | Query logbook with early termination. Full scans of 10k+ items are slow. --notes-contains filters by notes substring and includes notes in output (e.g. to find Discovery: markers). |
| 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 runningSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer