Skip to content
Back to skills

Ticktick Enhanced

ASecurity

Manage TickTick tasks and projects

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
securitybashdebuggingapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add Lord1Egypt/awesome-skill-forge --skill ticktick-enhanced --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ticktick Enhanced?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ticktick Enhanced
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lord1egypt-ticktick-enhanced/badge)](https://www.skillsdirectory.com/skills/lord1egypt-ticktick-enhanced)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ticktick
description: Manage TickTick tasks and projects
triggers:
  - "/tasks"
  - "/ticktick"
---

# TickTick Skill

Manage your TickTick tasks and projects directly from OpenClaw.

## Setup

Before using, authenticate once (OAuth2):

```bash
cd ~/.openclaw/workspace/skills/ticktick
bun run scripts/ticktick.ts auth --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
```

Follow the OAuth flow. Credentials are stored securely in `~/.clawdbot/credentials/ticktick-cli/`.

Check status: `bun run scripts/ticktick.ts auth --status`

## Commands

### List Projects
`/tasks projects` or `/ticktick projects`

Shows all your TickTick projects with IDs and names.

### List Tasks
`/tasks [options]` or `/ticktick tasks [options]`

List tasks with powerful filtering and sorting.

**Options:**
- `--project <name>` – Filter by project name or ID
- `--status <pending|completed>` – Filter by status
- `--due <filter>` – Filter by due: `today`, `overdue`, `none`, `unspecified`
- `--priority <level>` – Filter: `high`, `medium`, `low`, `none`
- `--sort <field>` – Sort by: `due`, `priority`, `title`, `created`
- `--limit <N>` – Maximum number of tasks to return
- `--offset <N>` – Skip first N tasks (for pagination)
- `--group` – Group output by project
- `--format <type>` – Output format: plain, rich, json, yaml
- `--verbose` – Show API requests for debugging

Examples:
```
/tasks --project Work --status pending --sort due
/tasks --due overdue --format rich
/tasks --priority high --limit 20
/tasks --project Hobbies --group
```

### Create Task
`/tasks add "<title>" [options]`

**Options:**
- `--list <project>` – Project (required if no default configured)
- `--due <when>` – Due date: "today", "tomorrow", "in 3 days", or ISO date
- `--priority <low|medium|high>` – Priority level
- `--content "<notes>"` – Task description/notes
- `--tags <tag1 tag2 ...>` – Tags to apply

Example:
```
/tasks add "Upgrade thermostat firmware" --list Hillcrest --due today --priority medium --content "Flash new firmware from repo"
```

### Edit Task
`/tasks edit <task-id> [options]`

Modify an existing task. **Task ID (24-character hex) is required.** Obtain IDs from `/tasks --json`.

**Options:**
- `--title "<new title>"` – Change title
- `--content "<new notes>"` – Replace content/notes
- `--due <date>` – Change due date
- `--priority <level>` – Change priority (none, low, medium, high)
- `--tags <tags...>` – Replace tags (space-separated)
- `--json` – Output updated task as JSON
- `--verbose` – Show diagnostic info

Examples:
```
/tasks edit 65a54fce2026ccc8b729349b --priority high
/tasks edit 65a54fce2026ccc8b729349b --due "in 3 days" --content "Urgent: complete this week"
```

### Complete Task
`/tasks complete <task-id> [--json]` or `/tasks done <task-id> [--json]`

Mark a task as complete. Both `complete` and `done` are aliases. **Task ID is required.**

### Abandon Task
`/tasks abandon <task-id> [--json]`

Mark a task as "won't do" (abandoned). **Task ID is required.**

### Task Details
`/tasks details <task-id> [options]`

Show full information about a single task. **Task ID is required.**

**Options:**
- `--json` – Output as JSON
- `--verbose` – Show full task object

Example:
```
/tasks details 65a54fce2026ccc8b729349b
```

### Batch Abandon
`/tasks batch-abandon <task-id-1> <task-id-2> ...`

Abandon multiple tasks in a single API call using their IDs.

### Config
`/tasks config get <key>` – Get a configuration value
`/tasks config set <key> <value>` – Set a configuration value
`/tasks config list` – Show all config

**Configuration keys:**
- `default.project` – Default project for `add` when `--list` omitted
- `default.due` – Default due date for new tasks ("none", "today", "tomorrow")
- `display.colors` – Enable/disable colored output (true/false)
- `display.timezone` – Timezone for date display (e.g., "America/New_York")

Example:
```
/tasks config set default.project Personal
/tasks config set default.due none
/tasks config list
```

Config is stored in `~/.config/ticktick-skill/config.json`.

---

## ADHD-Friendly Usage

### Morning Triage
Use the following to start your day:
```
/tasks --due overdue --format rich
/tasks --due today --format rich
/tasks --priority high --format rich
```
Or combine: `/tasks --format rich` (shows all pending, sorted by urgency)

### Quick Wins
Find small tasks to build momentum:
```
/tasks --priority low --limit 10 --sort title
```
Or use `/tasks details <id>` to assess quickly.

### Focus Mode
Show only what needs attention today:
```
/tasks --due today --sort due
```

### Reduce Overwhelm
- Use `--limit` to avoid seeing everything at once
- Group by project: `/tasks --group` to break into chunks
- Use colored output (`--format rich`) to prioritize by color

---

## Notes

- **Task IDs**: All commands that operate on a specific task require the 24-character hex ID for reliability. Get IDs from `/tasks --json`.
- **Project names**: Case-insensitive, partial match works (e.g., "Hill" matches "Hillcrest")
- **Due dates**: Flexible parsing supports "today", "tomorrow", "in 3 days", "next monday", and ISO dates (YYYY-MM-DD)
- **Rate limits**: TickTick API allows ~100 requests/minute. The CLI respects limits; if you hit them, wait a minute and retry.
- **JSON output**: Add `--json` to any command for machine-readable output (useful for scripts)

## Troubleshooting

**"Task not found"**
- Verify you're using the correct 24-char task ID
- Get fresh IDs with `/tasks --json`

**"Project not found"**
- List all projects with `/tasks projects`
- Project names are case-insensitive but must match exactly (partial match works)

**Authentication errors**
- Re-run: `bun run scripts/ticktick.ts auth`
- Check credentials exist: `ls ~/.clawdbot/credentials/ticktick-cli/`

**Rate limit exceeded**
- Wait ~60 seconds and retry
- Use `--verbose` to see request counts

**Dates not parsing**
- Use ISO format: `2026-03-25`
- Or natural language: `tomorrow`, `in 5 days`, `next friday`

## Implementation

Wrapper skill uses `bun run scripts/ticktick.ts` with `--json` flag and parses responses. Authentication stored in `~/.clawdbot/credentials/ticktick-cli/`.

### Command Reference Table

| Command | Purpose | Key Options |
|---------|---------|-------------|
| `projects` | List all projects | – |
| `tasks` | List tasks | `--project`, `--status`, `--due`, `--priority`, `--sort`, `--limit`, `--group` |
| `add` | Create task | `--list`, `--due`, `--priority`, `--content`, `--tags` |
| `edit` | Modify task | `--title`, `--content`, `--due`, `--priority`, `--tags` |
| `complete` / `done` | Mark complete | – |
| `abandon` | Mark won't-do | – |
| `details` | Show full task info | `--json`, `--verbose` |
| `batch-abandon` | Abandon multiple | `<task-id>...` |
| `config` | Manage config | `get`, `set`, `list` |

---

*Happy task managing!*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in security →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.