openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Todoist Task Executor

Automatically executes Todoist tasks marked 【执行中】 by fetching attachments, analyzing content, and updating task status with execution reports.

效率与工具

作者:capps @caps-hd

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.3

统计:⭐ 0 · 35 · 0当前安装量· 0历史安装量

0

安装量(当前) 0

🛡 VirusTotal :挂起 · OpenClaw :可疑

Package:caps-hd/todoist-task-executor

安全扫描(ClawHub)

  • VirusTotal :挂起
  • OpenClaw :可疑

OpenClaw 评估

The skill's Todoist access and cron-based automation match its description, but its runtime instructions are vague about what 'analyze and execute' means and allow reading your local Todoist token and downloading attachments — this scope ambiguity could lead to unexpected actions or data exposure.

目的

Name and description (automating Todoist tasks with attachments) align with instructions: fetching tasks, reading the Todoist CLI config, calling the Todoist API, downloading attachments, updating task status and comments.

说明范围

SKILL.md tells the agent to 'analyze content and execute' task content but does not define what analysis or execution entail or limit outbound data flow. It instructs reading ~/.config/todoist-cli/config.json for the API token and downloading attachments to /tmp — both reasonable for the purpose but potentially risky without explicit constraints (e.g., whether attachments are uploaded elsewhere or arbitrary commands are run).

安装机制

Instruction-only skill with no install spec or third-party downloads; nothing will be written to disk by an installer. Uses existing CLIs (todoist, openclaw cron) and standard Node https/fs usage in examples.

证书

The skill does not declare required env vars but reads the Todoist CLI config file (~/.config/todoist-cli/config.json) to obtain the token. That is proportionate to the stated function, but the skill will access a sensitive credential stored on disk — users should be aware this implicit file read is part of runtime behavior.

持久

Skill metadata does not force permanent inclusion (always:false). SKILL.md describes creating a scheduled cron job that will run every 30 minutes, so the skill can operate autonomously on a schedule if the user enables that cron — autonomous scheduling increases blast radius if behavior is ambiguous.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Todoist Task Executor」。简介:Automatically executes Todoist tasks marked 【执行中】 by fetching attachments, anal…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/caps-hd/todoist-task-executor/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: todoist-task-executor
description: Todoist automated task executor. Automatically executes tasks marked with 【执行中】 in your project, supports fetching comment attachments, downloading files, analyzing content, and logging execution reports. Use when you need to: automatically execute Todoist tasks on a schedule, process task attachments, or track task status.
---

# Todoist Task Executor

An automated task executor that polls a Todoist project for tasks marked with 【执行中】, downloads and analyzes attachments, and logs execution reports.

## ⚠️ First-Time Setup

### 1. Configure Todoist Token

```bash
# Get your token: https://todoist.com/app/settings/integrations/developer
todoist auth <your_api_token>
```

Token is stored at `~/.config/todoist-cli/config.json`

### 2. Verify Your Project

```bash
todoist projects   # Confirm your project exists
```

## Cron Configuration

- **Cron Job ID**: `a6fb7d10-e5c5-410a-9ab7-58077bea16dc`
- **Interval**: Every 30 minutes
- **Status**: ✅ Enabled

## Cron Management

```bash
# Manual trigger
openclaw cron run a6fb7d10-e5c5-410a-9ab7-58077bea16dc

# View execution history
openclaw cron runs --id a6fb7d10-e5c5-410a-9ab7-58077bea16dc --limit 3

# List all cron jobs
openclaw cron list
```

## Execution Flow

```
1. Fetch tasks from project: todoist tasks -p "<project_name>" --json
2. Filter tasks with 【执行中】 in title
3. Fetch comment attachments for the task
4. Download image to /tmp/openclaw/report.jpg
5. Analyze content and execute
6. On completion:
   - Success: restore title + todoist done + add report comment
   - Failure: update title to 【执行失败】 + add failure comment
```

## Task Title Status Convention

| Status | Title Format | Description |
|--------|--------------|-------------|
| Pending | `Task Name` | Waiting for cron execution |
| Running | `Task Name【执行中】` | Cron has picked up, executing |
| Failed | `Task Name【执行失败】` | Execution failed, needs review |
| Done | `Task Name` + Completed | Successfully completed |

## Creating a New Cron Job

```bash
openclaw cron add 
  --name "todoist-task-executor" 
  --every 30m 
  --message "Execute Todoist task automation:
1. Fetch tasks: todoist tasks -p "<project_name>" --json
2. Filter tasks with 【执行中】 in title
3. Execute task content
4. Mark as done or failed on completion" 
  --no-deliver
```

## Fetching Task Comment Attachments

```javascript
// Attachments are stored in comments, not task description
const https = require('https');
const fs = require('fs');
const home = process.env.USERPROFILE || process.env.HOME;
const cfg = JSON.parse(fs.readFileSync(home + '/.config/todoist-cli/config.json', 'utf8'));
const token = cfg.token;
const taskId = '<task_id>';

const req = https.request({
  hostname: 'api.todoist.com', port: 443,
  path: '/api/v2/comments?task_id=' + taskId,
  headers: { 'Authorization': 'Bearer ' + token }
}, (res) => {
  let d = '';
  res.on('data', c => d += c);
  res.on('end', () => {
    const r = JSON.parse(d);
    r.results.forEach(c => {
      if (c.file_attachment) {
        console.log('File:', c.file_attachment.file_name);
        console.log('Image URL:', c.file_attachment.image);
      }
    });
  });
});
req.end();
```

## Common Commands

```bash
# List tasks
todoist tasks -p "<project_name>"

# Update title
todoist update <task_id> --content "<new_title>"

# Mark complete
todoist done <task_id>

# Add comment
todoist comment <task_id> "<report_content>"
```

## Known Limitations

- **Attachment Downloads**: Todoist files are hosted on CloudFront CDN, which may be inaccessible in some network environments. If download fails, note in the comment that the user should send the attachment directly.