mcpField
T
ticktick

ticktick

github.com/0juanoProductivity043 installsUpdated 17w ago
Repository

About ticktick

A command-line skill for managing TickTick tasks and projects through a shell script. It supports task organization, scheduling, and completion using a TickTick personal access token.

Key features

  1. 01List projects and tasks
  2. 02Create and edit tasks
  3. 03Set priority, due date, notes, and tags
  4. 04Complete or delete tasks
  5. 05Create and delete projects
  6. 06Apply local timezone offsets to due dates

Use cases

  1. 01Capture a task in the Inbox
  2. 02Organize tasks by project and priority
  3. 03Update a task’s schedule or details
  4. 04Create or remove a project list

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/0juano/agent-skills --skill ticktick

After installing, type/ticktickin Claude Code to confirm it loaded.

Bundled filesreferences/api.mdscripts/tt.sh

Details

From the project README

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

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

Commands

List projects
$TT projects
List tasks
$TT tasks                          # inbox (default)
$TT tasks --project "Work"         # by name
$TT tasks --project <projectId>    # by ID
Add a task
$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
$TT complete <taskId> --project <projectId>
# Inbox tasks: --project flag optional (defaults to inbox)
Update a task
$TT update <taskId> --project <projectId> --priority high
$TT update <taskId> --title "New title" --due "2026-02-25T09:00:00"
Delete a task
$TT delete <taskId> --project <projectId>
Manage projects
$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.

Comments

Markdown supported