tasknotes

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

TaskNotes CLI Skill

TaskNotes CLI 技能

Manage tasks in Obsidian using the TaskNotes CLI (
tn
) tool.
使用TaskNotes CLI(
tn
)工具在Obsidian中管理任务。

When to Use

适用场景

Activate this skill when users:
  • Ask about their tasks, todos, or work items
  • Want to see what they need to do today or this week
  • Need to create, update, or complete tasks
  • Mention keywords: task, todo, 任务, 工作, 待办, Obsidian, 日程, deadline, overdue
  • Ask questions like "我今天要做什么", "有什么任务", "帮我看看工作进度"
当用户出现以下情况时激活本技能:
  • 询问任务、待办事项或工作项
  • 想查看今日或本周的待办事项
  • 需要创建、更新或完成任务
  • 提及关键词:task、todo、任务、工作、待办、Obsidian、日程、deadline、overdue
  • 提出诸如“我今天要做什么”、“有什么任务”、“帮我看看工作进度”这类问题

Core Commands

核心命令

List Tasks

列出任务

bash
undefined
bash
undefined

List active tasks (default limit: 20)

列出活跃任务(默认限制:20条)

tn list --limit 10
tn list --limit 10

Today's tasks

今日任务

tn list --today
tn list --today

Overdue tasks

逾期任务

tn list --overdue
tn list --overdue

Completed tasks

已完成任务

tn list --completed
tn list --completed

JSON output (for parsing)

JSON格式输出(用于解析)

tn list --json --limit 10
undefined
tn list --json --limit 10
undefined

Filter Tasks

筛选任务

Use
--filter
for advanced queries:
bash
undefined
使用
--filter
进行高级查询:
bash
undefined

By status

按状态筛选

tn list --filter "status:in-progress" tn list --filter "status:done"
tn list --filter "status:in-progress" tn list --filter "status:done"

By priority

按优先级筛选

tn list --filter "priority:high"
tn list --filter "priority:high"

By context (工作/学习/生活)

按上下文(工作/学习/生活)筛选

tn list --filter "contexts:@工作"
tn list --filter "contexts:@工作"

By project

按项目筛选

tn list --filter "projects:拓扑灵犀"
tn list --filter "projects:拓扑灵犀"

Combined filters

组合筛选

tn list --filter "priority:high AND status:in-progress" tn list --filter "(status:in-progress OR status:open) AND contexts:@工作"
tn list --filter "priority:high AND status:in-progress" tn list --filter "(status:in-progress OR status:open) AND contexts:@工作"

Date-based

按日期筛选

tn list --filter "due:before:2026-01-25"

**Available Statuses**: open, deep-research, plan-mode, in-progress, done, pending

**Available Priorities**: none, low, normal, high

**Available Contexts**: @@学习, @@工作, @@生活, @work, @cleanup
tn list --filter "due:before:2026-01-25"

**可用状态**:open、deep-research、plan-mode、in-progress、done、pending

**可用优先级**:none、low、normal、high

**可用上下文**:@@学习、@@工作、@@生活、@work、@cleanup

Search Tasks

搜索任务

bash
tn search "关键词"
bash
tn search "关键词"

Create Tasks

创建任务

⚠️ 重要:
tn create
的自然语言解析功能不稳定,可能会把
due:today
等关键字直接写入标题而非 frontmatter。
推荐做法: 先创建任务(仅标题),然后用
tn update
设置属性:
bash
undefined
⚠️ 重要:
tn create
的自然语言解析功能不稳定,可能会把
due:today
等关键字直接写入标题而非 frontmatter。
推荐做法: 先创建任务(仅标题),然后用
tn update
设置属性:
bash
undefined

推荐方式:分两步创建

推荐方式:分两步创建

tn create "完成项目报告" tn update "Calendar/Tasks/完成项目报告.md" --due tomorrow --priority high
tn create "完成项目报告" tn update "Calendar/Tasks/完成项目报告.md" --due tomorrow --priority high

或者一行完成(先创建再更新)

或者一行完成(先创建再更新)

tn create "开会讨论需求" && tn update "Calendar/Tasks/开会讨论需求.md" --scheduled 2026-01-25

**不推荐**(自然语言解析可能失败):
```bash
tn create "开会讨论需求" && tn update "Calendar/Tasks/开会讨论需求.md" --scheduled 2026-01-25

**不推荐**(自然语言解析可能失败):
```bash

可能导致 "due:tomorrow priority:high" 被写入标题

可能导致 "due:tomorrow priority:high" 被写入标题

tn create "完成项目报告 due:tomorrow priority:high"
undefined
tn create "完成项目报告 due:tomorrow priority:high"
undefined

Update Tasks

更新任务

Task IDs are file paths like
Calendar/Tasks/任务名.md
bash
undefined
任务ID为类似
Calendar/Tasks/任务名.md
的文件路径
bash
undefined

Update status

更新状态

tn update "Calendar/Tasks/任务名.md" --status in-progress tn update "Calendar/Tasks/任务名.md" --status done
tn update "Calendar/Tasks/任务名.md" --status in-progress tn update "Calendar/Tasks/任务名.md" --status done

Update priority

更新优先级

tn update "Calendar/Tasks/任务名.md" --priority high
tn update "Calendar/Tasks/任务名.md" --priority high

Update dates

更新日期

tn update "Calendar/Tasks/任务名.md" --due 2026-01-30 tn update "Calendar/Tasks/任务名.md" --scheduled 2026-01-25
tn update "Calendar/Tasks/任务名.md" --due 2026-01-30 tn update "Calendar/Tasks/任务名.md" --scheduled 2026-01-25

Update title

更新标题

tn update "Calendar/Tasks/任务名.md" --title "新的任务标题"
tn update "Calendar/Tasks/任务名.md" --title "新的任务标题"

Manage tags/contexts/projects

管理标签/上下文/项目

tn update "Calendar/Tasks/任务名.md" --add-tags "urgent,important" tn update "Calendar/Tasks/任务名.md" --add-contexts "@工作" tn update "Calendar/Tasks/任务名.md" --add-projects "项目名"
undefined
tn update "Calendar/Tasks/任务名.md" --add-tags "urgent,important" tn update "Calendar/Tasks/任务名.md" --add-contexts "@工作" tn update "Calendar/Tasks/任务名.md" --add-projects "项目名"
undefined

Complete Tasks

完成任务

bash
tn complete "Calendar/Tasks/任务名.md"
bash
tn complete "Calendar/Tasks/任务名.md"

Toggle Task Status

切换任务状态

bash
tn toggle "Calendar/Tasks/任务名.md"
bash
tn toggle "Calendar/Tasks/任务名.md"

Delete Tasks

删除任务

bash
tn delete "Calendar/Tasks/任务名.md" --force
bash
tn delete "Calendar/Tasks/任务名.md" --force

Archive Tasks

归档任务

bash
tn archive "Calendar/Tasks/任务名.md"
bash
tn archive "Calendar/Tasks/任务名.md"

Statistics & Projects

统计与项目

bash
undefined
bash
undefined

Overall statistics

整体统计

tn stats
tn stats

List projects

列出项目

tn projects list
tn projects list

Show project details

查看项目详情

tn projects show "项目名"
tn projects show "项目名"

Project statistics

项目统计

tn projects stats "项目名" --period month
undefined
tn projects stats "项目名" --period month
undefined

Time Tracking

时间追踪

bash
undefined
bash
undefined

Start timer for a task

启动任务计时器

tn timer start --task "Calendar/Tasks/任务名.md"
tn timer start --task "Calendar/Tasks/任务名.md"

Stop timer

停止计时器

tn timer stop
tn timer stop

Check timer status

查看计时器状态

tn timer status
tn timer status

View time log

查看时间日志

tn timer log --period today tn timer log --period week
undefined
tn timer log --period today tn timer log --period week
undefined

Pomodoro Timer

番茄钟计时器

bash
undefined
bash
undefined

Start pomodoro session

启动番茄钟会话

tn pomodoro start --task "Calendar/Tasks/任务名.md" tn pomodoro start --duration 25
tn pomodoro start --task "Calendar/Tasks/任务名.md" tn pomodoro start --duration 25

Control pomodoro

控制番茄钟

tn pomodoro pause tn pomodoro resume tn pomodoro stop
tn pomodoro pause tn pomodoro resume tn pomodoro stop

View stats

查看统计

tn pomodoro status tn pomodoro stats --week tn pomodoro sessions --limit 10
undefined
tn pomodoro status tn pomodoro stats --week tn pomodoro sessions --limit 10
undefined

Filter Syntax Reference

筛选语法参考

PropertyOperatorsExample
statusis, is-not
status:in-progress
priorityis, is-not
priority:high
tagscontains
tags:urgent
contextscontains
contexts:@工作
projectscontains
projects:项目名
duebefore, after, on-or-before
due:before:2026-01-25
scheduledbefore, after
scheduled:after:2026-01-20
titlecontains
title:contains:"会议"
archivedchecked, not-checked
archived:not-checked
Logical Operators: AND, OR, parentheses for grouping
属性运算符示例
statusis, is-not
status:in-progress
priorityis, is-not
priority:high
tagscontains
tags:urgent
contextscontains
contexts:@工作
projectscontains
projects:项目名
duebefore, after, on-or-before
due:before:2026-01-25
scheduledbefore, after
scheduled:after:2026-01-20
titlecontains
title:contains:"会议"
archivedchecked, not-checked
archived:not-checked
逻辑运算符:AND、OR,括号用于分组

Workflow Guidelines

工作流指南

  1. Start of day: Run
    tn list --today
    or
    tn list --overdue
    to check pending work
  2. Before starting work: Update task status to
    in-progress
  3. When blocked: Update status to
    pending
    or add context
  4. After completion: Run
    tn complete <taskId>
    to mark done
  5. Weekly review: Run
    tn stats
    and
    tn projects list
    to review progress
  1. 每日开始:运行
    tn list --today
    tn list --overdue
    查看待处理工作
  2. 开始工作前:将任务状态更新为
    in-progress
  3. 遇到阻塞时:将状态更新为
    pending
    或添加上下文
  4. 完成后:运行
    tn complete <taskId>
    标记为已完成
  5. 每周复盘:运行
    tn stats
    tn projects list
    回顾进度

Notes

注意事项

  • Task IDs are Obsidian file paths relative to vault root
  • Suppress deprecation warnings by redirecting stderr:
    2>/dev/null
  • Use
    --json
    flag for programmatic parsing
  • Vault location:
    /Users/cdd/Documents/notes/oldwinter-notes
  • 任务ID是相对于Obsidian库根目录的文件路径
  • 通过重定向stderr来屏蔽弃用警告:
    2>/dev/null
  • 使用
    --json
    标记进行程序化解析
  • 库位置:
    /Users/cdd/Documents/notes/oldwinter-notes