# Article2ticktick

> 将技术周报中的文章整理为滴答清单（TickTick）待办事项，同时支持单篇文章直接添加。当用户提供周报 markdown 文档、要求将周报文章添加到滴答清单，或提及"技术周报"、"文章汇总"、"添加到滴答"等关键词时，使用此技能；当用户分享单篇文章链接并希望添加到滴答清单时，同样使用此技能。

- **Type:** Skill
- **Install:** `agentstack add skill-balabalabalading-huuuuuuho-skills-article2ticktick`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [balabalabalading](https://agentstack.voostack.com/s/balabalabalading)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [balabalabalading](https://github.com/balabalabalading)
- **Source:** https://github.com/balabalabalading/huuuuuuho-skills/tree/master/skills/article2ticktick

## Install

```sh
agentstack add skill-balabalabalading-huuuuuuho-skills-article2ticktick
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 技术文章 → 滴答清单工作流

## 概述

将技术周报（肘子 Swift 周刊、老司机 iOS 周报等）中推荐的文章，批量转换为 滴答清单（TickTick） 待办事项，自动完成分类标签。也支持单篇文章直接添加。

## 相关脚本

脚本随 Skill 一同安装，位于 `${CLAUDE_SKILL_DIR}/scripts/` 目录：

| 脚本 | 说明 |
|------|------|
| `add_articles.py` | 主脚本：批量或单篇添加文章到 滴答清单（TickTick） |

## 字段映射规则

| 滴答清单（TickTick）字段 | 来源 | 处理方式 |
|---|---|---|
| `title` | `**[文章标题](链接)**` | 去除两侧 `**`，保留 `[文章标题](链接)` |
| `content` | 所有 `- ` bullet 行 | 拼接执行日期（`yyyy-MM-dd，`）+ 各行去掉 `- ` 前缀、去掉 `[[]]`，以 `，` 合并 |
| `list` | 当前 `## 二级标题` | 直接使用；**必须与滴答清单中已有列表名完全一致** |
| `tags` | 当前 `### 三级标题` | 直接使用 |

## 标准文章格式（必须遵守）

收到新周报后，AI 整理输出须严格遵循以下格式：

```markdown
## 二级分类（如：SwiftUI、Swift 语言、AI 辅助开发）

### 三级子分类（如：状态管理与观察、并发与异步）

**[文章标题](文章链接)**

- 使用周报原文中对于该篇文章的推荐语句
- 出自：来源名称（去掉双方括号，只写名称）

**[下一篇文章标题](链接)**

- 使用周报原文中对于该篇文章的推荐语句
- 出自：来源名称
```

**注意事项：**
- 二级标题用于 滴答清单（TickTick）的 `list`（清单名），**必须严格使用下方「已有分类体系」表格中的现有名称**，不得创建新的二级标题
- 如果某篇文章明显不属于任何已有分类，**停止整理，询问用户**，等用户在 滴答清单（TickTick） 中手动新增列表后再继续
- 三级标题用于 滴答清单（TickTick）的 `tags`（标签）
- 每篇文章必须有「出自」行，注明来源周报名
- 不要在文章块之间插入 `---` 分隔线

## 工作流步骤

本 Skill 有两个工作流分支，根据用户需求选择：

- **分支 A（批量周报）**：用户提供一整期周报，AI 整理后批量添加
- **分支 B（单篇文章）**：用户分享单篇文章链接，AI 判断分类后直接添加

---

## 工作流分支 A：批量周报

```
- [ ] 步骤 A1：接收周报内容
- [ ] 步骤 A2：AI 整理为标准格式（遇到未知分类则暂停询问）
- [ ] 步骤 A3：运行脚本添加到 滴答清单（TickTick）
- [ ] 步骤 A4：更新新的分类（如有）
```

---

### 步骤 A1：接收周报内容

用户提供以下任意一种形式：
- 直接粘贴周报原文（markdown 或富文本）
- 提供周报文件路径

---

### 步骤 A2：AI 整理为标准格式

使用以下 Prompt 将周报内容整理为标准格式：

```
请将以下周报内容整理为标准 markdown 格式，直接输出内容不要解释。

约束：
- 二级标题（##）必须从以下列表中选择，不得自行创建新标题：
  SwiftUI、Swift 语言、数据与持久化、iOS 与 macOS 工程实践、开发工具与工作流、AI 辅助开发、行业思考与视野
- 如果某篇文章不属于以上任何二级分类，停止并告知我，等我说明后再继续
- 三级标题（###）优先从下方已有分类体系列表中选择，若无适合分类可自行命名，三级标题自行命名无需用户确认
- 每篇文章格式：
  **[文章标题](文章链接)**
  - 使用周报原文中对于该篇文章的推荐语句
  - 出自：来源周报名称（不加双方括号）
- 不要在文章之间添加分隔线

--- 以下是周报内容 ---
[粘贴周报原文]
```

**遇到未知分类时的处理流程：**
1. 停止整理，列出无法归类的文章及其建议分类名
2. 用户在 滴答清单（TickTick） 中手动新建对应列表，并告知新分类名
3. 将新分类名加入本次二级标题可用列表，继续完成整理

---

### 步骤 A3：运行脚本添加到 滴答清单（TickTick）

将步骤A2整理好的标准格式markdown通过管道直接传递给脚本：

```bash
SKILL_SCRIPTS="${CLAUDE_SKILL_DIR}/scripts"

# 先 dry-run 预览，确认解析正确
echo "[步骤A2输出的markdown内容]" | python3 "$SKILL_SCRIPTS/add_articles.py" --dry-run

# 确认无误后正式执行
echo "[步骤A2输出的markdown内容]" | python3 "$SKILL_SCRIPTS/add_articles.py" --delay 0.8
```

**可选参数：**
- `--dry-run`：仅预览解析结果，不实际打开 TickTick
- `--delay 0.8`：调整每条任务间隔秒数（默认 0.5，若 TickTick 响应慢可适当增大）

---

### 步骤 A4：更新新的分类

如果本次执行过程中创建了新的二级和三级分类，**务必将新分类名称添加到下方「已有分类体系」表格中**，以供后续 AI 整理使用。

---

## 工作流分支 B：单篇文章直接添加

### 适用场景

用户分享单篇文章链接，希望直接添加到滴答清单（TickTick），不走周报批量流程。

```
- [ ] 步骤 B1：用户提供文章 URL 和标题
- [ ] 步骤 B2：推断分类（list + tags）并生成推荐语
- [ ] 步骤 B3：运行单任务命令添加到 滴答清单（TickTick）
```

---

### 步骤 B1：接收文章信息

用户提供：
- **文章 URL**（必须）
- **文章标题**（必须，若未提供则从 URL 或页面标题推断）
- 分类建议（可选，不提供则根据内容判断）

---

### 步骤 B2：推断分类并生成推荐语

1. 根据文章标题/URL/主题，从「已有分类体系」中判断合适的 `list`（二级分类）和 `tags`（三级分类）
2. 若不确定二级分类，先告知用户判断结果，确认后再继续
3. 写一句简洁的推荐语（参考周报风格，20~50 字）
4. 出自行写：`出自：{文章URL}`

---

### 步骤 B3：运行单任务命令

```bash
SKILL_SCRIPTS="${CLAUDE_SKILL_DIR}/scripts"

# 先 dry-run 预览
python3 "$SKILL_SCRIPTS/add_articles.py" \
  --task \
  --title "[文章标题](https://example.com/article)" \
  --list "SwiftUI" \
  --tags "状态管理与观察" \
  --desc "Claude 生成的推荐语句" \
  --desc "出自：https://example.com/article" \
  --dry-run

# 确认无误后执行（去掉 --dry-run）
python3 "$SKILL_SCRIPTS/add_articles.py" \
  --task \
  --title "[文章标题](https://example.com/article)" \
  --list "SwiftUI" \
  --tags "状态管理与观察" \
  --desc "Claude 生成的推荐语句" \
  --desc "出自：https://example.com/article"
```

**说明：**
- `--title` 须为 `[文章标题](URL)` 格式，保留方括号和圆括号
- `--desc` 可多次传入，每次对应一条描述 bullet，用 `，` 拼接后写入 content
- `--list` 必须与滴答清单现有列表名完全一致（参见下方分类表）

---

## 快速参考：已有分类体系

保持与滴答清单现有列表一致，**整理时二级分类只能使用这些名称**：

| 二级分类（list，= TickTick 列表名） | 常见三级分类（tags） |
|---|---|
| SwiftUI | 基础组件与 API、布局视觉与动画、状态管理与观察、导航与交互、系统集成与实战、性能与调试、应用架构 |
| Swift 语言 | 并发与异步、语言特性与底层原理、跨平台与嵌入式 |
| 数据与持久化 | SwiftData、CloudKit 与数据同步、数据库 |
| iOS 与 macOS 工程实践 | 系统能力与平台集成、App Store 与发布、资源管理、应用架构 |
| 开发工具与工作流 | 包管理器与依赖、Xcode 与项目工程、测试与调试、命令行与服务端、框架与库 |
| AI 辅助开发 | Agent 编码实践、工具与配置、端侧 AI |
| 行业思考与视野 | 硬件产品、就业市场 |

如果周报内容不属于以上分类，**停止并询问用户**，待用户在 TickTick 手动新增列表后再继续。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [balabalabalading](https://github.com/balabalabalading)
- **Source:** [balabalabalading/huuuuuuho-skills](https://github.com/balabalabalading/huuuuuuho-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-balabalabalading-huuuuuuho-skills-article2ticktick
- Seller: https://agentstack.voostack.com/s/balabalabalading
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
