ticktick-cli

Original🇨🇳 Chinese
Translated
3 scripts

Interact with Dida365 Open API using Python CLI to manage TickTick tasks/projects, suitable for scenarios where you need to call TickTick APIs via scripts or command line (such as querying, creating, updating, completing, and deleting projects/tasks).

10installs
Added on

NPX Install

npx skill4agent add dcjanus/prompts ticktick-cli

Tags

Translated version includes tags in frontmatter

SKILL.md Content (Chinese)

View Translation Comparison →
Note: All the following invocation methods take the folder where the current
SKILL.md
file is located as the workdir.
Example of script invocation method (do not use
uv run python
or
python
):
bash
cd skills/ticktick-cli && ./scripts/ticktick_cli.py --json project list
Incorrect example:
bash
uv run python skills/ticktick-cli/scripts/ticktick_cli.py --json project list
python skills/ticktick-cli/scripts/ticktick_cli.py --json project list
  1. Common Subcommands (Covering Daily Scenarios)
  • project
    • list
    • get --project-id
    • data --project-id
    • create --name [--color --sort-order --view-mode --kind]
    • update --project-id [--name --color --sort-order --view-mode --kind]
    • delete --project-id
      (Dangerous, please confirm carefully before deletion)
  • task
    • get --project-id --task-id
    • create --project-id --title [--content --desc --all-day --start-date --due-date --time-zone --reminder --repeat --priority --sort-order --item]
    • update --task-id --project-id [--title --content --desc --all-day --start-date --due-date --time-zone --reminder --repeat --priority --sort-order --item]
    • complete --project-id --task-id
    • delete --project-id --task-id
      (Dangerous, please confirm carefully before deletion)
  1. Output Format
  • Add
    --json
    uniformly after the script and before the subcommand for all invocations (example:
    ./scripts/ticktick_cli.py --json task get --project-id ...
    )
  1. How to Check Uncommon Parameters/Fields
  • Run
    ./scripts/ticktick_cli.py <command> --help
    to view the parameters of the command
  • Check
    references/dida365-openapi.md
    for complete parameters, fields, and response structures

Dida365 Concept Model

  • Project: A container for tasks, supporting different view modes (list/kanban/timeline).
    • Common fields:
      • name
        (Name)
      • color
        (Color)
      • viewMode
        (View Mode)
      • kind
        (Type)
      • groupId
        (Group ID)
      • closed
        (Is Closed)
      • permission
        (Permission)
      • sortOrder
        (Sort Order)
  • Task: Belongs to a certain Project, can include reminders, priorities, repeat rules, etc.
    • Common fields:
      • title
        (Title)
      • content
        (Content)
      • desc
        (Description/Checklist Note)
      • tags
        (Tags)
      • priority
        (Priority)
      • status
        (Status)
      • startDate
        (Start Date)
      • dueDate
        (Due Date)
      • timeZone
        (Time Zone)
      • reminders
        (Reminders)
      • repeatFlag
        (Repeat Rule)
      • items
        (Subtask List)
  • ChecklistItem: Subtask (checklist item) under a task, used to split steps.
    • Common fields:
      • title
        (Title)
      • status
        (Status)
      • startDate
        (Start Date)
      • completedTime
        (Completion Time)
      • timeZone
        (Time Zone)
      • sortOrder
        (Sort Order)
  • Column: Project kanban column, used for column information in kanban view.
    • Common fields:
      • name
        (Column Name)
      • sortOrder
        (Sort Order)
  • ProjectData: Project detail aggregation, including the project itself, incomplete tasks, and column information.

Resources

  • ticktick_cli.py: Main CLI entry point, responsible for reading configurations and initiating API calls.
  • dida365-openapi.md: Snapshot of the official Open API documentation, facilitating offline retrieval of parameters and fields.