Install
openclaw skills install @ilooch/ticktick-cli-skillManage tasks and projects in TickTick. Use when user asks for tasks, to-dos, reminders, or event.
openclaw skills install @ilooch/ticktick-cli-skillThis skill describes how an agent should reliably use @ticktick/ticktick-cli
to help the user install the CLI, log in with OAuth (PKCE), and perform common task/project operations.
Use this skill whenever the user wants to manage TickTick via CLI (e.g. "use ticktick-cli to create a task").
@ticktick/ticktick-cliWhen in doubt, prefer safe, narrow actions and ask the user to clarify ambiguous intent.
Always follow this order:
Check if the CLI already exists:
ticktick --version
Install the CLI globally (if needed):
npm install -g @ticktick/ticktick-cli
Verify installation:
ticktick --help
ticktick --version
If installation fails due to environment issues (e.g. missing Node, permissions), explain the error to the user and suggest they fix their Node/npm setup first.
The CLI uses OAuth PKCE in a browser to log in.
Standard login flow:
Start login:
ticktick auth login
API token: Get your API token from Settings > Account > API Keys:
ticktick auth token <token> # set access token directly (for headless environments)
Confirm login status:
ticktick auth status
ticktick auth login.Logout (only when explicitly requested):
ticktick auth logout
Guidelines:
To list all projects:
ticktick project list
For structured data suitable for filtering:
ticktick project list --json
Agent rule:
--json variant.When the user refers to a project by name (e.g. "Inbox", "Work"):
Fetch projects with JSON:
ticktick project list --json
Find the project with a matching name field.
id in subsequent commands.Rule:
project list --json output or from explicit user input.When the user says "create a task in project X":
Resolve X to a project id (see 4.2).
Use:
ticktick task create --title "<task title>" --project <projectId>
Optional recommended flags (only if supported by the CLI and relevant to the request):
--content "<detailed description>"--dueDate "<ISO 8601 date/time>"After creation, you may run (if needed):
ticktick project list --json
# or a specific command to fetch the created task if available
and summarize the created task (id, title, project, due date) to the user.
Get a task (when you know both projectId and taskId):
ticktick task get <projectId> <taskId>
Update a task:
ticktick task update <taskId> \
--id <taskId> \
--project <projectId> \
--title "New title"
Add more flags as needed (content, due date, etc.), based on the user’s request.
Complete a task:
ticktick task complete <projectId> <taskId>
Delete a task (destructive):
ticktick task delete <projectId> <taskId>
Safety rules:
To move a task from one project to another:
ticktick task move \
--from <sourceProjectId> \
--to <destProjectId> \
--task <taskId>
Workflow:
Most commands support a --json flag.
When to use --json:
id or other fields.Examples:
ticktick project list --json
ticktick task get <projectId> <taskId> --json
Agent behavior:
--json for internal decision-making and selection.Projects
name from project list --json.id and keep it consistent for this operation.Tasks
taskId, use it directly.Never fabricate IDs and never assume "the first one" is correct unless:
task deleteGuidelines:
Do not:
auth logout) without a request.Common error categories and recommended behavior:
Authentication errors (e.g. 401, invalid token):
Explain that authentication may have expired.
Suggest rerunning:
ticktick auth login
ticktick auth status
Network / connectivity errors:
Not found / invalid IDs:
Ambiguous selections:
In all cases, prefer clear explanations and minimal retries over silent failure.
If existing documentation (such as the package README) disagrees with this skill, follow this skill’s safer, more conservative interpretation unless the user explicitly asks otherwise.