Damon

滴答清单

生活服务v1.0.4
作者:Damon更新于 2026-05-11共 5 个版本 · 最新版本发布于 2026-04-09dida-cli@clawhub_ilooch/dida-cli
效率习惯

据 AlphaMoat 统计,截至 2026-09,滴答清单 累计下载 2,825 次、获 6 个星标,在全部 5,078 个 AI 技能中排名第 3,852 位,在「生活服务」分类(246 个)中排名第 199 位。

累计安装
271
累计下载
2,825
星标
6
全站排名
#3,852
全站前 76% · 「生活服务」前 81%
平台累计安装累计下载星标评论
ClawHub ↗481,6875-
SkillHub ↗2712,8256—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

管理滴答清单中的任务、项目、提醒和日程。

资料发布于 2026-10-27

可以用来做什么

  • 围绕上述任务组织内容
  • 根据用户提供的主题或对象生成结果
  • 必要时提示核对来源或执行状态

什么时候用

  • 需要完成管理滴答清单中的任务、项目、提醒和日程。时
  • 希望把相关步骤集中在同一工作流中时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

请根据我提供的内容,管理滴答清单中的任务、项目、提醒和日程。。
先说明需要哪些输入,再给出结果或后续步骤。

月度数据趋势

累计下载2,825
3631,6853,0072026-03 · 累计下载 5452026-05 · 累计下载 1,0942026-06 · 累计下载 1,2802026-07 · 累计下载 1,5832026-08 · 累计下载 1,8572026-09 · 累计下载 2,82526-0326-09
星标6
3562026-03 · 星标 32026-05 · 星标 52026-06 · 星标 52026-07 · 星标 52026-08 · 星标 62026-09 · 星标 626-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-092,825—6
2026-081,857+17.3%6
2026-071,583+23.7%5
2026-061,280+17.0%5
2026-051,094—5
2026-03545—3

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

9.1 KB · ClawHub v1.0.4
---
name: dida-cli
description: Manage tasks and projects in 滴答清单. Use when user asks for tasks, to-dos, reminders, or event.
homepage: https://dida365.com
metadata:
  clawdbot:
    emoji: "✅"
    requires:
      bins: ["dida"]
---
展开全部(共 345 行)

# Dida CLI — How Agents Should Install, Login, and Use

This skill describes **how an agent should reliably use `@suibiji/dida-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 Dida via CLI (e.g. "use dida-cli to create a task").

---

## 1. Scope & Intent

- This skill focuses on:
  - Installing `@suibiji/dida-cli`
  - Logging in via OAuth PKCE
  - Common project and task workflows (list, create, update, complete, delete, move)
- This skill does **not** cover:
  - Rare/advanced or extremely destructive operations
  - Internal development commands or debugging-only flows

When in doubt, **prefer safe, narrow actions** and ask the user to clarify ambiguous intent.

---

## 2. Prerequisites & Environment

- The user should have:
  - Node.js + npm (preferably latest LTS)
- The CLI is expected to be installed **globally**.

**Always follow this order:**

1. **Check if the CLI already exists**:

   ```bash
   dida --version
   ```

   - If this succeeds, the CLI is installed and usable.
   - If this fails (command not found or similar), proceed to install.

2. **Install the CLI globally (if needed)**:

   ```bash
   npm install -g @suibiji/dida-cli
   ```

3. **Verify installation**:

   ```bash
   dida --help
   dida --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.

---

## 3. Authentication (OAuth PKCE)

The CLI uses OAuth PKCE in a browser to log in.

**Standard login flow:**

1. Start login:

   ```bash
   dida auth login
   ```

   - This should open a browser window/tab.
   - The user logs in and authorizes the app.

### Alternative methods
   **API token:** Get your API token from **Settings > Account > API Keys**:
   ```bash
   dida auth token <token>   # set access token directly (for headless environments)
   ```   

2. Confirm login status:

   ```bash
   dida auth status
   ```

   - If logged in, you can proceed with project/task operations.
   - If not logged in, clearly tell the user and suggest retrying `dida auth login`.

3. Logout (only when explicitly requested):

   ```bash
   dida auth logout
   ```

**Guidelines:**

- Do **not** log the user out unless they explicitly ask for it.
- If login fails (e.g. browser blocked, network error), inform the user and suggest:
  - Checking that the browser window actually opened.
  - Making sure pop-up blockers or firewalls are not blocking the OAuth page.
  - Trying again later if the API seems temporarily unavailable.

---

## 4. Using Projects and Tasks — Typical Workflows

### 4.1 Listing Projects

To list all projects:

```bash
dida project list
```

For structured data suitable for filtering:

```bash
dida project list --json
```

**Agent rule:**

- When you need to **select a project programmatically** (by name or other fields),
  **always prefer the `--json` variant**.

### 4.2 Selecting a Project by Name

When the user refers to a project by name (e.g. "Inbox", "Work"):

1. Fetch projects with JSON:

   ```bash
   dida project list --json
   ```

2. Find the project with a matching `name` field.
   - If **no project** matches, tell the user and ask them to confirm the name.
   - If **multiple projects** share the same name, show them to the user and ask which one to use.
   - Once a single project is selected, use its `id` in subsequent commands.

**Rule:**

- **Never guess or invent project IDs.**
- Always derive them from actual `project list --json` output or from explicit user input.

### 4.3 Creating a Task in a Project

When the user says "create a task in project X":

1. Resolve `X` to a project `id` (see 4.2).
2. Use:

   ```bash
   dida 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>"`
- Other fields as documented in the CLI/README.

After creation, you may run (if needed):

```bash
dida 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.

### 4.4 Getting / Updating / Completing / Deleting a Task

**Get a task** (when you know both projectId and taskId):

```bash
dida task get <projectId> <taskId>
```

**Update a task**:

```bash
dida 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**:

```bash
dida task complete <projectId> <taskId>
```

**Delete a task** (destructive):

```bash
dida task delete <projectId> <taskId>
```

**Safety rules:**

- For **delete** and other destructive operations, the user must clearly ask for it.
- If the instruction is vague (e.g. "clean up old tasks"), first:
  - Show a short list of candidate tasks (titles, due dates, ids).
  - Ask the user to confirm which ones to complete/delete.

### 4.5 Moving a Task Between Projects

To move a task from one project to another:

```bash
dida task move \
  --from <sourceProjectId> \
  --to <destProjectId> \
  --task <taskId>
```

Workflow:

1. Resolve both projects by name (if supplied as names).
2. Confirm the taskId (either from user or by listing/searching).
3. Execute the move command.
4. Optionally confirm the move by fetching the task and summarizing the result.

---

## 5. JSON Mode and Structured Handling

Most commands support a `--json` flag.

**When to use `--json`:**

- Any time you need to:
  - Filter by name.
  - Select from multiple candidates.
  - Chain commands based on `id` or other fields.

Examples:

```bash
dida project list --json
dida task get <projectId> <taskId> --json
```

**Agent behavior:**

- Use `--json` for internal decision-making and selection.
- Convert JSON results into a **short, human-readable summary** when responding to the user:
  - E.g. "Found project: id=…, name=…, color=…".

---

## 6. ID and Selection Rules

- **Projects**
  - Prefer matching by `name` from `project list --json`.
  - If more than one project matches, present options to the user.
  - Once a project is chosen, use its `id` and keep it consistent for this operation.

- **Tasks**
  - If the user gives a concrete `taskId`, use it directly.
  - If the user describes a task (e.g. by title or due date) and multiple tasks may match:
    - Fetch candidate tasks (via appropriate list/get operations).
    - Show a small selection (id, title, due date).
    - Ask the user to choose which one(s) to act on.

- **Never fabricate IDs** and never assume "the first one" is correct unless:
  - You transparently explain what "first" means (e.g. "sorted by creation time, using the most recent one"),
  - And the user implicitly or explicitly accepts this.

---

## 7. Safety & Destructive Operations

- Treat the following as **destructive** and require explicit, unambiguous user confirmation:
  - `task delete`
  - Bulk completion or deletion (if supported)
  - Any operation that may remove or irreversibly change multiple tasks

**Guidelines:**

- If the user uses vague terms like "remove useless tasks", ask:
  - What criteria define "useless"?
  - Whether they want to see a preview list first.
- Prefer showing a preview (ids, titles, due dates) before executing bulk changes.

Do **not**:

- Log the user out spontaneously (`auth logout`) without a request.
- Perform repeated, aggressive retries on failing API calls.

---

## 8. Error Handling & Recovery

Common error categories and recommended behavior:

- **Authentication errors** (e.g. 401, invalid token):
  - Explain that authentication may have expired.
  - Suggest rerunning:

    ```bash
    dida auth login
    dida auth status
    ```

- **Network / connectivity errors**:
  - Tell the user that the error may be temporary or network-related.
  - Suggest they check their connection and try again later.

- **Not found / invalid IDs**:
  - Inform the user that the project or task could not be found.
  - Show any relevant context (e.g. available projects) and ask them to re-check the ID or name.

- **Ambiguous selections**:
  - If multiple matching items are found (project or task), show them and ask the user which one they intend.

In all cases, prefer **clear explanations** and **minimal retries** over silent failure.

---

## 9. Style Notes for Agents

- Use commands from this skill as your **primary reference** for Dida CLI usage.
- When the user asks for "what happened" or "what did you do", respond with:
  - A short description of the commands you ran (in natural language).
  - A short summary of their effects (e.g. "Created task 'Buy milk' in project 'Inbox'").

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.

「生活服务」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。