一键导入
zu-tun
Use when an agent needs to read, update, or verify todos through the Zu Tun Markdown todo file, or work on the Zu Tun macOS app and widget repository.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when an agent needs to read, update, or verify todos through the Zu Tun Markdown todo file, or work on the Zu Tun macOS app and widget repository.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | zu-tun |
| description | Use when an agent needs to read, update, or verify todos through the Zu Tun Markdown todo file, or work on the Zu Tun macOS app and widget repository. |
Zu Tun is a file-backed macOS todo app. The main window, menu bar popover, and widget read and write a Markdown file named todo.md.
When the user says "my todos", "the widget todos", "todo.md", or "Zu Tun todos", resolve the configured todo file first. Do not assume a fixed path.
The app publishes its selected todo path to an app-group sidecar named todo-path.txt. From this repo, resolve it like this:
APP_GROUP="$(rg -o 'appGroupIdentifier = "[^"]+"' Sources/ZuTunCore/Models/TodoLocation.swift | sed -E 's/.*"([^"]+)"/\1/')"
SIDECAR="$HOME/Library/Group Containers/$APP_GROUP/todo-path.txt"
if [ -s "$SIDECAR" ]; then
TODO_FILE="$(sed -n '1p' "$SIDECAR")"
else
TODO_FILE="$HOME/Library/Group Containers/$APP_GROUP/todo.md"
fi
Read and edit $TODO_FILE. If the sidecar points to a missing file, create todo.md there only when the user asks to add/update todos; otherwise report the missing configured file.
Use one Markdown checkbox per task:
- [ ] (P1) Urgent task
- [ ] (P2) Normal task
- [ ] (P3) Later task
- [x] (P2) Completed task
Priorities are optional but preferred:
P1: urgent or highest leverageP2: normal defaultP3: low priority or laterKeep task text short, concrete, and action-oriented. Preserve headings, notes, ordering, and completed items unless the user asks for cleanup.
project.yml is the source of truth for the Xcode project. ZuTun.xcodeproj/ is generated and intentionally not committed.
Use these checks:
swift run ZuTunParserCheck
./script/build_and_run.sh --verify
./script/build_and_run.sh --verify-widget
For widget changes, run a full app build because signing and embedded-extension metadata issues do not show up in parser-only checks.