Use this skill when the user wants an agent to inspect or safely update Things 3 tasks through Things Cloud.
Works with OpenClaw, Codex, and Claude Code through MCP when available, with a CLI fallback for hosts that prefer shell commands.
Prefer the MCP server when the host supports MCP. Use the CLI as the fallback or when the user asks for explicit shell commands.
Install the maintained CLI and MCP server:
bash
go install github.com/pdurlej/things-cloud-sdk/cmd/things-cloud-cli@v0.2.4
go install github.com/pdurlej/things-cloud-sdk/cmd/things-mcp@v0.2.4
Set credentials:
bash
export THINGS_USERNAME="you@example.com"
export THINGS_TOKEN="your-things-cloud-password-or-token-alias"
THINGS_PASSWORD also works when THINGS_TOKEN is not set. Do not store
credentials in the repository or in skill files.
Use this stdio MCP server config for OpenClaw, Claude Code, Codex hosts, or any MCP-compatible agent runtime:
json
{
"mcpServers": {
"things": {
"command": "things-mcp",
"env": {
"THINGS_USERNAME": "you@example.com",
"THINGS_TOKEN": "your-things-cloud-password-or-token-alias"
}
}
}
}
--simple output for compact task lists.--dry-run before any user-visible write generated by an agent.completed/ logbook.With MCP:
list_tasks with view set to today, inbox, anytime, someday, or
upcomingsearch_tasks for title/note searchlist_projects, list_areas, and list_tags for metadataWith CLI:
bash
things-cloud-cli today --simple
things-cloud-cli inbox --simple
things-cloud-cli anytime --simple
things-cloud-cli someday --simple
things-cloud-cli upcoming --simple
things-cloud-cli search "invoice" --simple
Use completed/logbook commands when the user asks whether something was done:
bash
things-cloud-cli completed --since 2026-05-20T00:00:00Z --format full
things-cloud-cli logbook --since 2026-05-20 --limit 50 --format full
Preview first:
bash
things-cloud-cli create "Follow up with Marta" --when today --dry-run
things-cloud-cli edit <task-uuid> --title "New title" --dry-run
things-cloud-cli complete <task-uuid> --dry-run
After user confirmation, run the same command without --dry-run.
Recurring tasks:
bash
things-cloud-cli create "Check car listings" --repeat every-day --dry-run
things-cloud-cli create "Weekly review" --repeat weekly:mon --dry-run
things-cloud-cli create "Follow up after reply" --repeat after-completion:every-day --dry-run
Clear recurrence:
bash
things-cloud-cli edit <task-uuid> --repeat none --dry-run
THINGS_USERNAME and either
THINGS_TOKEN or THINGS_PASSWORD.