Manage TinyTalkingTodos lists and items via the ttt CLI
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install ttt或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install ttt⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/ttt/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: ttt description: Manage TinyTalkingTodos lists and items via the ttt CLI metadata: {"openclaw": {"emoji": "✅", "requires": {"bins": ["ttt"]}, "homepage": "https://tinytalkingtodos.com"}} ---
Use ttt to manage todo lists and items from the command line. The CLI syncs with TinyTalkingTodos in real-time.
npm install -g @ojschwa/ttt-cli
Or install locally for development:
cd /path/to/talking-todo/ttt-cli
npm install
npm run build
npm link
Verify with ttt --help.
Before using the CLI, the user must be authenticated:
# Check auth status
ttt auth status
# Login via browser (opens OAuth flow)
ttt auth login
# Logout
ttt auth logout
# Export credentials as env vars (for scripts)
ttt auth export
ttt list ls
Output (compact, token-efficient):
Today [2/5]
Groceries [0/3]
Work Tasks [1/4]
For structured data:
ttt list ls --json
ttt list get "Groceries"
# or by ID
ttt list get list-abc123
ttt list create "Weekend Plans"
ttt list create "Shopping" --icon "🛒" --color "#FF6B6B"
Options:
--color - Background color--icon - List icon--type - List typettt list update "Groceries" --name "Shopping List"
ttt list update "Shopping List" --icon "🛒" --color "#00FF00"
Options:
--name - New list name--color - Background color--icon - List icon--type - List typettt list delete "Old List"
ttt list rm "Old List" # alias
# Force delete even if list has todos
ttt list delete "Old List" --force
ttt todo ls --list "Groceries"
Output (compact):
Groceries [1/4]
✓ Milk id:todo-abc123
○ Bread id:todo-def456
○ Eggs id:todo-ghi789
○ Butter id:todo-jkl012
For JSON output:
ttt todo ls --list "Groceries" --json
Basic:
ttt todo add "Buy avocados" --list "Groceries"
With options:
ttt todo add "Doctor appointment" --list "Health" \
--date 2026-02-15 \
--time 14:30 \
--notes "Bring insurance card"
ttt todo add "Try new pasta place" --list "Restaurants" \
--url "https://example.com/restaurant" \
--street-address "123 Main St" \
--rating 4
ttt todo add "Tomatoes" --list "Groceries" \
--amount 2.50 \
--category "Produce" \
--emoji "🍅"
All --list options: | Option | Description | Example | |--------|-------------|---------| | --notes | Additional notes | --notes "organic preferred" | | --date | Due date | --date 2026-02-15 | | --time | Due time | --time 14:30 | | --url | Associated URL | --url "https://..." | | --emoji | Item emoji | --emoji "🎉" | | --email | Associated email | --email "contact@..." | | --street-address | Location | --street-address "123 Main" | | --number | Numeric value | --number 5 | | --amount | Amount/price | --amount 12.99 | | --rating <1-5> | Star rating | --rating 4 | | --type | Item type | --type A | | --category | Category | --category "Urgent" |
ttt todo done todo-abc123
The todo ID is shown in the compact output format after id:.
ttt todo undone todo-abc123
ttt todo update todo-abc123 --text "New text"
ttt todo update todo-abc123 --category "Urgent" --date 2026-02-15
ttt todo update todo-abc123 --done # mark as done
ttt todo update todo-abc123 --not-done # mark as not done
Options:
--text - New todo text--notes, --date, --time, --url, --emoji, --email, --street-address--number, --amount, --rating, --type, --category--done / --not-done - Toggle completion statusttt todo delete todo-abc123
# or use alias
ttt todo rm todo-abc123
Add multiple todos at once using JSON:
ttt todo batch-add --list "Groceries" --items '[
{"text": "Milk"},
{"text": "Eggs", "fields": {"category": "Dairy"}},
{"text": "Bread", "fields": {"amount": 3.50}}
]'
Each item requires text and optionally fields with any todo field.
Update multiple todos at once:
ttt todo batch-update --items '[
{"id": "todo-abc123", "fields": {"done": true}},
{"id": "todo-def456", "fields": {"text": "Updated text", "category": "Urgent"}}
]'
Each item requires id and fields with the updates to apply.
All mutating operations are recorded and can be undone:
# Undo the last operation
ttt undo
# Undo the last 3 operations
ttt undo 3
# View undo history
ttt history
ttt history --limit 20
ttt history --json
Undo supports: todo add/delete/update, batch-add/update, mark done/undone, list create/update/delete.
The daemon keeps a persistent WebSocket connection for faster commands:
# Start daemon (auto-starts on first command if not running)
ttt daemon start
# Check status
ttt daemon status
# Stop daemon
ttt daemon stop
The daemon auto-shuts down after 30 minutes of inactivity.
--json when you need to parse data or extract specific fieldsid:) for updatesttt undo reverts the last operationttt todo add "Milk" --list "Groceries" --category "Dairy"
ttt todo add "Bread" --list "Groceries" --category "Bakery"
ttt todo add "Apples" --list "Groceries" --amount 3.50 --category "Produce"
# View todos
ttt todo ls --list "Today"
# Mark one done (using ID from output)
ttt todo done todo-xyz789
ttt list create "Weekend Trip" --icon "🏕️"
ttt todo add "Pack tent" --list "Weekend Trip"
ttt todo add "Check weather" --list "Weekend Trip" --url "https://weather.com"
ttt todo add "Gas up car" --list "Weekend Trip"
ttt todo batch-add --list "Party Supplies" --items '[
{"text": "Balloons", "fields": {"category": "Decorations"}},
{"text": "Cake", "fields": {"category": "Food", "amount": 45.00}},
{"text": "Plates", "fields": {"category": "Supplies", "number": 20}},
{"text": "Candles", "fields": {"category": "Decorations"}}
]'
ttt todo batch-update --items '[
{"id": "todo-abc", "fields": {"done": true}},
{"id": "todo-def", "fields": {"done": true}},
{"id": "todo-ghi", "fields": {"done": true}}
]'
# Accidentally deleted something? Undo it
ttt undo
# Made several mistakes? Undo multiple
ttt undo 3安装 Tiny Talking Todos 后,可以对 AI 说这些话来触发它
Help me get started with Tiny Talking Todos
Explains what Tiny Talking Todos does, walks through the setup, and runs a quick demo based on your current project
Use Tiny Talking Todos to manage TinyTalkingTodos lists and items via the ttt CLI
Invokes Tiny Talking Todos with the right parameters and returns the result directly in the conversation
What can I do with Tiny Talking Todos in my documents & notes workflow?
Lists the top use cases for Tiny Talking Todos, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/ttt/ 目录(个人级,所有项目可用),或 .claude/skills/ttt/(项目级)。重启 AI 客户端后,用 /ttt 主动调用,或让 AI 根据上下文自动发现并使用。
Tiny Talking Todos 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Tiny Talking Todos 可免费安装使用。请查阅仓库了解许可证信息。
Manage TinyTalkingTodos lists and items via the ttt CLI
Tiny Talking Todos 属于「Documents & Notes」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my documents & notes tasks using Tiny Talking Todos
Identifies repetitive steps in your workflow and sets up Tiny Talking Todos to handle them automatically