TaskFlow

by Lifein
5
4
3
2
1
Score: 50/100

Description

An action workbench for Obsidian Tasks that reduces decision cost and helps you start faster. 一个为 Obsidian Tasks 打造的行动工作台,减少决策成本,让你更快开始行动。

Reviews

No reviews yet.

Stats

18
stars
446
downloads
1
forks
8
days
4
days
4
days
2
total PRs
0
open PRs
0
closed PRs
2
merged PRs
2
total issues
0
open issues
2
closed issues
40
commits

Latest Version

5 days ago

Changelog

TaskFlow 1.1.0 — Release Notes

This release turns TaskFlow from a single global board into a per-project inspector, powered by a community contribution (PR #4), together with a round of maintainer refinements to the new grouping UI.

Highlights

  • Enhanced grouping — note-scoped queries (community contribution by @wernsting, PR #4). A group can now be scoped to a single note: configure a frontmatter property (and optionally the allowed values) and a note dropdown appears for that group. Selecting a note points every tab's Tasks query at it through Tasks' query.file, so you can inspect one project at a time instead of the whole vault.
  • Configurable group task limit. Each group can cap how many tasks its tabs display. The cap is appended last, so it overrides any limit written inside a tab's own query. Set it in the group config, and optionally enable an on-view limit box to tweak it without opening settings.
  • Limits and pickers are now optional and searchable. The on-view limit box sits behind a setting (off by default), so groups without a note selector no longer show a stray limit input. Both the note picker and the property-values picker gained search — click-to-pick stays primary, search only narrows the list.

What's changed

New features (PR #4, by @wernsting)

  • Note selector: a per-group dropdown driven by a frontmatter property, restricted to notes whose value is in the configured set. Selecting a note scopes every tab in the group to that note (query.file).
  • Property values filter: optionally narrow which notes are offered. Matching is case-insensitive and accepts single values or YAML lists; a note matches if any of its values is selected (if no values are selected, any non-empty value matches).
  • Group task limit: a single cap appended as limit N to every tab's query, overriding the limit written inside each tab's query (confirmed by the maintainer: the group cap wins over per-query limits).
  • Advanced linking: combined with Tasks' filter by function (e.g. filter by function task.file.path === query.file.path, requires Tasks ≥ 5.1.0), a group can also collect tasks that merely relate to the selected note — via a link frontmatter property or a wikilink inside the task description — even though those tasks do not live in the selected note.

Refinements (maintainer)

  • The on-view limit box is now a setting — Show the task-limit box on the view, off by default. Groups without a note selector no longer show a lone limit input; turn it on when you want to adjust the cap on the fly. The box edits the same value as the group config, so there is no duplicated setting.
  • Group edit modal: added a Limit field, placed after Property values so the property and its values sit next to each other.
  • Search added to both pickers — the note dropdown and the Property values multi-select now filter as you type. Both stay click-to-pick first: search is an optional filter, never a required step, and nothing opens a blocking modal.

Notes

  • The note-scoped query relies on Tasks' query.file Query Property. Keep query.file inside filter by function, or use the {{query.file.*}} placeholder — never put query.file on its own line (Tasks rejects it with "do not understand query").
  • The selected note is kept for the current session; reopening the vault falls back to the first matching note.
  • Thanks to @wernsting for the contribution and the collaborative review.

TaskFlow 1.1.0 更新说明

本次更新把 TaskFlow 从「全局看板」升级为「按项目逐篇巡检」。核心能力来自社区贡献(PR #4),另有一轮针对新分组界面的维护者优化与修复。

亮点

  • 增强分组 —— 笔记限定查询(社区贡献 @wernsting,PR #4)。分组现在可以限定到某一篇笔记:配置一个 frontmatter 属性(可选再指定允许的取值)后,该分组会出现一个笔记下拉选择器;选中某篇笔记后,分组内所有标签的 Tasks 查询都会通过 Tasks 的 query.file 指向该笔记,实现「一次只看一个项目」的巡检。
  • 分组任务上限。每个分组可统一限制其标签最多显示多少条任务;上限以追加形式写在查询末尾,因此会覆盖标签查询内部自带的 limit。在分组配置里设定,也可按需在视图顶部开启可实时编辑的上限框。
  • 上限框与选择器:可选 + 可搜索。视图顶部的上限框改为由设置项控制(默认关闭),因此没有笔记选择器的分组不会再出现孤零零一个上限输入框;笔记选择器与「属性值」选择器都新增了搜索——仍以直接点选为主,搜索只用于收窄列表。

主要变更

新功能(PR #4,@wernsting 贡献)

  • 笔记选择器:由 frontmatter 属性驱动的分组级下拉框,仅列出属性取值在配置集合内的笔记;选中后把分组内所有标签的查询限定到该笔记(query.file)。
  • 属性值筛选:可选地收窄提供哪些笔记。匹配时大小写不敏感,支持单值与 YAML 列表;只要笔记的值中有任一落在选中集合里即匹配(若未选任何值,则任何非空值都匹配)。
  • 分组任务上限:以 limit N 形式追加到分组内每个标签查询的末尾,覆盖标签查询内部的 limit(经维护者确认:分组上限优先于查询内 limit)。
  • 进阶关联:配合 Tasks 的 filter by function(例如 filter by function task.file.path === query.file.path,需 Tasks ≥ 5.1.0),分组还能一并收集仅仅与选中笔记相关的任务——通过 link frontmatter 属性或任务描述里的双链——即便这些任务并不住在选中的笔记里。

优化与修复(维护者)

  • 视图顶部的上限框改为设置项——「在视图顶部显示任务上限框」,默认关闭。没有笔记选择器的分组不会再出现孤零零一个上限输入框;需要随手调整上限时再打开。该输入框与分组配置编辑的是同一个值,不存在重复设置。
  • 分组编辑弹窗新增「上限」字段,放在「属性值」之后,让属性与其取值相邻、逻辑更顺。
  • 两个选择器都加了搜索——笔记下拉框与「属性值」多选框均支持输入即过滤。两者仍保持点选优先:搜索只是可选的过滤手段,不是必经步骤,也不会弹出阻断式弹窗。

说明

  • 笔记限定查询依赖 Tasks 的 query.file Query Property。请务必把 query.file 写在 filter by function 内部,或使用 {{query.file.*}} 占位符——不要单独成行(否则 Tasks 会报 "do not understand query")。
  • 选中的笔记仅在本次会话内保留;重新打开仓库后会回退到第一篇匹配的笔记。
  • 感谢 @wernsting 的贡献与协作审阅。

README file from

Github

TaskFlow — Task Management & Action Workspace for Obsidian

English | 中文

You don't need more tasks. You need the next step.

TaskFlow is a lightweight Action Workspace built on top of Obsidian Tasks.

It doesn't change the way you write or query tasks. Instead, it adds a dynamic Action Space on top of your existing task lists.

TaskFlow reorganizes your tasks across three dimensions — Time, GTD, and Context — to reduce decision-making friction and help you take action faster.

Features and Demonstration


01|Why TaskFlow

When it comes to task management in Obsidian, there are two powerful options worth mentioning: Tasks and TaskNotes. Both are excellent plugins, but they take very different approaches.

Note: Tasks and TaskNotes are both excellent plugins. The comparison below is based entirely on my personal workflow and preferences.

Tasks

  • Tasks is already a powerful task management system.
    • It provides mature task syntax, powerful queries, and reliable rendering with excellent performance. There is no reason to reinvent the wheel.
    • However, Tasks is not designed as a rich visual frontend. Its task views and aggregation interfaces are functional, but relatively limited and not highly configurable.

TaskNotes

  • TaskNotes offers a powerful frontend experience.
    • But it comes with a fundamental assumption: each task is represented by its own dedicated note. This works extremely well when individual tasks need rich context, notes, properties, and supporting information.
    • But for a simple one-line task, creating an entire note can feel unnecessarily heavy.

I prefer to keep tasks as simple list items directly inside my notes.

What I wanted was a powerful and flexible frontend without making the underlying task model heavier.

That is the reason I built TaskFlow:

Use the powerful task engine of Tasks, and build a simpler, more flexible frontend designed for action.

Tasks × TaskNotes × TaskFlow

Tasks TaskNotes TaskFlow
Core role Powerful task engine Task + notes workspace Action-oriented task workspace
Key strength Task syntax, queries, performance Powerful task frontend and note integration Lightweight tasks + powerful frontend
Task granularity From one-line tasks to complex tasks Best suited to tasks that deserve their own notes From one-line tasks to complex tasks
Task syntax Native Its own system / integrations Uses Tasks directly
Query capabilities Powerful Powerful Built on Tasks' query capabilities
Performance foundation Mature and reliable More feature-rich Built on top of Tasks
Task presentation Relatively basic Powerful and rich Redesigned for simplicity and efficiency
Task aggregation Basic Powerful Enhanced aggregation and contextual views
View philosophy Task querying Task + note management Action selection
Primary use Manage tasks Manage tasks and their content Find what to do next
Learning / migration cost Existing workflow Requires adapting to a task-as-note model Minimal change to your existing workflow
Best for People who prefer a pure task system People who want deep integration between tasks and notes People who like task lists but want a better frontend

02|What Problem Does TaskFlow Solve?

TaskFlow isn't trying to solve "too many tasks." It's trying to solve "too many choices."

The decision-making that happens before taking action can become a burden in itself.

Traditional task management primarily solves one problem:

Capture things so you don't forget them.

But when it is time to actually act, there is another problem to solve:

Out of all these tasks, which one is actually worth doing right now?

This creates action decision cost.

The more tasks you have, the more complex your context becomes, and the more frequently that context changes, the higher this cost becomes.

TaskFlow is designed to reduce that friction.

Instead of getting stuck at:

"What should I do?"

you can move more quickly to:

"I'll do this."


03|What Is TaskFlow?

TaskFlow is a workspace that moves you from tasks to action.

It doesn't ask you to build a new task management system.

Instead, TaskFlow gives you:

A different way to look at the tasks you already have.

Moving from managing tasks to choosing actions.

Traditional Task Management (Task Space) TaskFlow (Action Space)
Core goal Manage things — "so I don't forget" Drive action — "so I know what to do next"
Focus See all tasks Focus on the current action
Role of your brain Thinking engine — "What do I need to do?" Execution engine — "What do I do now?"
Process Find → Evaluate → Choose Context → Filter → Act
Outcome Cognitive overload and accumulated stress Remove friction and start immediately

04|How Does It Work?

TaskFlow uses information that already exists in your tasks to narrow down your choices, placing tasks into different action contexts:

  • GTD → What should I do next?

    Helps you find the next actionable step from your task list.

  • Time → What should I do today?

    Helps you identify what actually needs your attention today.

  • Context → What can I do in this situation?

    Helps you find tasks that fit your current environment, tools, or working context.

As a result:

A task is no longer just an item waiting to be completed. It becomes an action that can be rediscovered based on your current context.

The process changes from:

Task List → Browse → Evaluate → Compare → Choose

to:

Current Context → Narrow the Choices → Find an Action → Start

In other words:

Context → Choice → Action


05|What Do You Get?

TaskFlow ultimately aims to create one simple change:

It doesn't help you manage more tasks. It helps you start the next one faster.

With TaskFlow, you don't just get a better-looking task panel. You get a different way of working with your tasks:

  • No decision paralysis — just start: Open Obsidian and stop staring at dozens of pending tasks. Quickly identify what is most relevant right now and get started.
  • Zero migration or learning cost: Fully compatible with your existing Tasks syntax and data. Keep your current workflow and start using TaskFlow immediately.
  • Less willpower, more focus: Minimize the mental effort spent choosing what to work on, and put your attention where it matters — into actually doing the work.
  • A smoother path into Flow: By removing friction from the beginning of an action, TaskFlow helps your tasks move naturally and makes it easier for your mind to settle into a focused state.

06|Installation

TaskFlow is now available in the Obsidian Community Plugins directory. The recommended way is to install it directly from there; you can also use BRAT or install manually.


  1. Open Obsidian → Settings → Community plugins
  2. Make sure Safe mode is turned off.
  3. Click Browse, then search for TaskFlow.
  4. Click Install, then Enable.

💡 Installing from the Community Plugins directory gives you automatic updates with each new release.


Method 2: Install via BRAT

BRAT (Beta Reviewers Auto-update Tool) is a popular Obsidian community plugin for installing and automatically updating plugins.

Once installed through BRAT, TaskFlow can automatically follow updates from its GitHub repository, so you don't need to download new releases manually.

Steps

  1. Install BRAT

    • Open Obsidian → Settings → Community plugins → Browse
    • Search for BRAT, find Obsidian42 - BRAT, then install and enable it.
  2. Add TaskFlow through BRAT

    • Open the BRAT plugin.
    • Click Add Beta Plugin.
    • Paste the repository URL: https://github.com/ichris007/taskflow
    • Click Add Plugin. BRAT will automatically download and install the latest version.
  3. Enable TaskFlow

    • Go to Settings → Community plugins → Installed plugins.
    • Find TaskFlow and enable it.

💡 Once installed, BRAT can notify you about new releases and help keep TaskFlow up to date without requiring manual downloads.


Method 3: Manual Installation

If you prefer not to use BRAT, you can download the plugin files directly from GitHub and install them manually.

Steps

  1. Download the plugin files

    • Open the Releases page.

    • Download the following three files from the latest release:

      • main.js
      • manifest.json
      • styles.css

    If there is no release available yet, you can also download these three files directly from the repository root using Code → Download ZIP, or open each file individually and save it via Raw.

  2. Find your Obsidian plugin directory

    • Open your Obsidian vault folder.
    • Go to .obsidian/plugins/.
    • If you cannot see the .obsidian folder, enable hidden files in your operating system.
  3. Create the plugin folder and add the files

    • Create a new folder named taskflow inside plugins.
    • Put main.js, manifest.json, and styles.css into this folder.

    The final structure should look like:

    .obsidian/plugins/taskflow/
    ├── main.js
    ├── manifest.json
    └── styles.css

  4. Enable TaskFlow

    • Restart Obsidian, or press Ctrl/Cmd + R to reload it.
    • Go to Settings → Community plugins → Installed plugins.
    • Find TaskFlow and enable it.

07|Recommended CSS Snippet

I wrote a dedicated CSS snippet to polish the task list styling inside TaskFlow.

Some users keep the default Tasks list styling when using TaskFlow, which doesn't quite match the plugin's interface. To make the whole experience more consistent, I put together a set of Tasks CSS styles tuned for TaskFlow, optimizing the task list with:

  • Priority color coding
  • Compact layout
  • Single-line fade
  • Unified icons
  • Nested task fixes

If you're using TaskFlow, you can pair it with this snippet to unify the overall look and feel.

🔗 CSS snippet: TaskFlow Task List Enhancements

💡 To use it, copy the snippet into your vault's .obsidian/snippets/ folder and enable it in Settings → Appearance → CSS snippets.


08|Full User Guide

📚 Installation walkthrough, screenshots, custom queries:

TaskFlow Guide


About the Author

猎人科叔 (Uncle Ke)

  • Technology talent specialist and veteran headhunter with 15 years of experience, focused on Internet, AI, and robotics talent. Conducted 10,000+ interviews.
  • Productivity systems practitioner for 16+ years, focused on building efficient systems for work, learning, and personal growth.
  • Creator under the name "猎人科叔" across social platforms.

For more of Chris's work on Obsidian productivity and knowledge management — including example vaults, plugins, scripts, and practical workflows — visit Lifein.


📄 License

See the LICENSE file in the repository.


TaskFlow — From Task Management to Action.