# Ticktick

> Manage TickTick tasks and projects. Use when the user asks to add, create, or capture a task or todo; list, show, or review pending tasks; complete or check off a task; update a task's priority, due date, notes, or tags; delete a task or list; create or manage a project/list; or see what's due today or overdue. Also handles quick captures like "remind me to..." or "don't let me forget...".

- Skill: `0juano/ticktick` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add 0juano/ticktick`
- Raw SKILL.md: https://api.skillmd.com/api/skills/0juano/ticktick/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- License: MIT
- Author: 0juano (https://skillmd.com/u/0juano)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/0juano/ticktick

---


# TickTick

Manage tasks and projects via `{baseDir}/scripts/tt.sh`. Full API reference in `references/api.md`.

**Auth:** `TICKTICK_TOKEN` env var — a TickTick personal access token (`tp_*`),
used directly as a Bearer token; no OAuth flow needed. Load it from your
secrets manager or shell profile.

**Timezone:** due dates get the local UTC offset appended automatically.
Override with `TICKTICK_UTC_OFFSET` (e.g. `-03:00`) and optionally
`TICKTICK_TIMEZONE` (IANA name, e.g. `America/Buenos_Aires`).

**Inbox:** the per-user inbox project id is auto-discovered from the API.
Set `TICKTICK_INBOX_ID` to skip the extra lookup call.

## Quick Reference

```bash
TT="bash {baseDir}/scripts/tt.sh"
```

## Commands

### List projects
```bash
$TT projects
```

### List tasks
```bash
$TT tasks                          # inbox (default)
$TT tasks --project "Work"         # by name
$TT tasks --project <projectId>    # by ID
```

### Add a task
```bash
$TT add "Buy tennis grip"
$TT add "Call accountant" --priority high --due "2026-02-20T10:00:00"
$TT add "Draft email" --project "Work" --priority med --notes "Reply to client"
$TT add "Review PR" --tag "work,code"
```
Priority values: `none` | `low` | `med` | `high`

### Complete a task
```bash
$TT complete <taskId> --project <projectId>
# Inbox tasks: --project flag optional (defaults to inbox)
```

### Update a task
```bash
$TT update <taskId> --project <projectId> --priority high
$TT update <taskId> --title "New title" --due "2026-02-25T09:00:00"
```

### Delete a task
```bash
$TT delete <taskId> --project <projectId>
```

### Manage projects
```bash
$TT add-project "Tennis"           # creates new list
$TT add-project "Work" --color "#FF5733"
$TT delete-project <projectId>
```

## Workflow

1. **Quick capture** — if no project specified, task lands in Inbox
2. **Find taskId** — run `$TT tasks` or `$TT tasks --project X`, copy the id from output
3. **Find projectId** — run `$TT projects`, copy the id

## Display Format

When showing tasks to the user, format like this:
```
📋 Inbox — 3 pending

  ○ [HIGH]  Call accountant            — due Feb 20
  ○ [MED]   Review analytics
  ○         Buy tennis racket grip
```
Sort by: priority (high first), then due date. Hide completed tasks unless asked.

