Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

GoalToDo

orikathaorikatha31 downloads

Build hierarchical goals and tasks directly in Markdown with automatic parent progress.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

GoalToDo is an Obsidian plugin for managing hierarchical goals and tasks directly in ordinary Markdown task lists. It keeps Markdown as the source of truth and does not create a separate task database.

日本語

Core idea

  • A root task becomes a GOAL only after it has child tasks.
  • A standalone task remains a normal Obsidian checklist item.
  • A parent task is a derived summary. Its status and progress are calculated recursively from its direct children.
  • Parent tasks cannot be completed manually; leaf tasks toggle directly between open and done.
  • Indenting or outdenting a task with Tab or Shift+Tab moves its entire subtree.
- [/] Release version 1.0.0 @due(2026-08-01T18:00)
    - [x] Finish task editor @completed(2026-07-28T14:30) @priority(high) @assignee(Alex)
    - [ ] Publish documentation @due() @priority(middle) @assignee()

The parent above is automatically rendered as a GOAL with its aggregated progress. The Markdown remains editable in place.

Task states

Markdown Meaning
- [ ] Open leaf task
- [/] In-progress parent state derived from direct children
- [x] Completed task

A leaf task written as [/] is automatically normalized to [ ]. Clicking a leaf checkbox switches only between [ ] and [x].

Inline task properties

GoalToDo recognizes the following plain-text tokens anywhere on a task line:

Token Purpose
@due(YYYY-MM-DD) Due date
@due(YYYY-MM-DDTHH:mm) Due date and time
@completed(YYYY-MM-DD) Completion date
@completed(YYYY-MM-DDTHH:mm) Completion date and time
@priority(high|middle|low) Priority
@assignee(name) Assignee

Typing @ on a Markdown task line opens suggestions for @due(), @priority(), and @assignee(). In Live Preview, dates, priorities, and assignees become compact controls that can be edited without leaving the note. Text that does not match the supported syntax remains ordinary Markdown text.

Editor features

  • Preserves Obsidian task lists, checkboxes, list indentation, folding, and Enter-to-continue behavior.
  • Shows root GOALs with a monochrome checkered flag.
  • Displays parent progress as a percentage and completed direct children over total direct children.
  • Fills an in-progress parent checkbox clockwise from the top while preserving its checkbox shape.
  • Displays due dates with an hourglass and completion timestamps with an hourglass and check.
  • Marks overdue due dates in red.
  • Displays high, middle, and low priorities with distinct thermometer icons.
  • Displays assignees with a person icon.
  • Optionally records completion timing using the computer's local date or local date and time.
  • Shows decorated controls in Live Preview while leaving the original Markdown visible in Source Mode.

Task view

Open a Markdown file and select the GoalToDo ribbon icon to open a task-focused view for that file. The view reads from and writes back to the same Markdown document.

  • Shows GOAL and TODO counts separately.
  • Filters every visible column using existing values.
  • Supports text filtering for GOAL, task name, parent task, and assignee.
  • Filters by open, in-progress, and completed state.
  • Filters deadlines by overdue, today, next seven days, no due date, or a custom range.
  • Filters by priority, including unset priority.
  • Sorts every column in ascending or descending order.
  • Edits task state, due date, completion time, priority, and assignee in place.
  • Opens the existing source note at the selected line and temporarily highlights it.
  • Hides completed tasks by default.

Settings

  • Record completion timing: enabled by default.
  • Completion precision: date only or date and time.
  • Completion timestamps use the computer's local time zone.
  • Reopening a completed task removes its completion timestamp.

Installation

Community plugins

After GoalToDo is accepted into the Obsidian community directory, install it from Settings → Community plugins → Browse.

Manual installation

  1. Download manifest.json, main.js, and styles.css from the latest GitHub release.
  2. Create <Vault>/.obsidian/plugins/goal-todo/.
  3. Copy the three files into that folder.
  4. Reload Obsidian and enable GoalToDo under Settings → Community plugins.

Data model

GoalToDo does not create a proprietary database. Tasks and properties stay in the Markdown document, so they remain readable and editable without the plugin.

Privacy and disclosures

  • GoalToDo does not require an account.
  • GoalToDo does not make network requests or access files outside the Obsidian vault.
  • GoalToDo does not collect telemetry, analytics, or personal information.
  • GoalToDo does not display advertisements.
  • The optional funding link opens the external Ko-fi page only when selected by the user.

Support

If GoalToDo is useful to you, you can buy me an onigiri on Ko-fi.

Development

pnpm install
pnpm test
pnpm run build

Roadmap

  • A vault-wide date aggregation view.
  • A focus mode for editing only a selected task subtree.

日本語

GoalToDoは、Obsidianの通常のMarkdownタスクリストで階層式の目標とTODOを管理するプラグインです。 専用データベースは作らず、Markdown本文だけを保存データとして扱います。

基本仕様

  • 親を持たず、直属の子TODOを持つルートTODOだけをGOALとして表示します。
  • 子を持たない単独TODOは、Obsidian標準のチェックリストとして動作します。
  • 親TODOの状態と進捗は、直属の子TODOから再帰的に自動集約されます。
  • 親TODOは手動で完了できず、子を持たないTODOだけを[ ]と[x]の間で切り替えます。
  • Tab/Shift+Tabでは、子孫を含むサブツリー全体を移動します。
  • 進行中の親TODOは、チェックボックス形状を保ったまま真上から時計回りに進捗を表示します。
  • Live PreviewではGOAL、進捗、日時、優先度、担当者を装飾表示し、Source ModeではMarkdownをそのまま表示します。

インライン記法

- [/] Ver.1.0.0 公式リリース @due(2026-08-01T18:00)
    - [x] タスク編集機能を完成 @completed(2026-07-28T14:30) @priority(high) @assignee(田中)
    - [ ] ドキュメントを公開 @due() @priority(middle) @assignee()
  • @due(...):期限
  • @completed(...):完了日時
  • @priority(high|middle|low):優先度
  • @assignee(...):担当者
  • 日付形式:YYYY-MM-DDまたはYYYY-MM-DDTHH:mm

タスク行で@を入力すると、期限・優先度・担当者の入力候補を表示します。 記法に一致しない文字列は通常のMarkdownテキストとして扱います。

専用タスクビュー

Markdownファイルを開いた状態で左端のGoalToDoアイコンを押すと、そのファイル専用のタスクビューを開きます。

  • GOAL、タスク名、親TODO、進捗、期限、優先度、担当者による絞り込みと並べ替え
  • 既存値の複数チェックと文字列検索
  • 期限超過、今日、今後7日、期限なし、期間指定による絞り込み
  • 一覧上でのチェック状態、期限、完了日時、優先度、担当者の変更
  • 元ノートの該当行への移動と一時的な強調表示
  • 完了済みタスクは初期状態で非表示

専用ビューも元のMarkdown本文を直接読み書きします。

プライバシーと開示事項

  • アカウント登録は不要です。
  • ネットワーク通信や、Obsidian Vault外のファイルへのアクセスは行いません。
  • テレメトリ、利用状況、個人情報を収集しません。
  • 広告を表示しません。
  • 任意の支援リンクは、ユーザーが選択した場合だけ外部のKo-fiページを開きます。

手動インストール

  1. 最新のGitHub Releaseからmanifest.json、main.js、styles.cssをダウンロードします。
  2. Vaultの.obsidian/plugins/goal-todo/フォルダへ3ファイルを配置します。
  3. Obsidianの「設定 → コミュニティプラグイン」でGoalToDoを有効にします。

支援

GoalToDoが役に立った場合は、Ko-fiでおにぎりを差し入れられます。

HealthExcellent
ReviewSatisfactory
About
Manage hierarchical goals and tasks directly in Markdown task lists while keeping Markdown as the single source of truth. Treat parent tasks as derived goals with recursively calculated status and progress, keep leaf tasks as the only completable items, and edit inline properties like @due(), @priority(), and @assignee() with suggestions and compact Live Preview controls.
TasksPropertiesDates
Details
Current version
0.5.0
Last updated
Last week
Created
Last week
Updates
1 release
Downloads
31
Compatible with
Obsidian 1.8.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Ko-fi
Author
orikathaorikatha
GitHubnataka620
  1. Community
  2. Plugins
  3. Tasks
  4. GoalToDo

Related plugins

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Update modified date

Automatically update a frontmatter modified date field when the file is modified.

Day Planner OG

Day planning from a simple task list in a Markdown note (bare bones, preserves the features and behavior of the original plugin).

Base Board

Organize notes into Kanban boards using frontmatter properties. Drag and drop cards between columns powered by Bases.

Rollover Daily Todos

Rollover any unchecked checkboxes from your last daily note into today's note.

Pomodoro Timer

Manage your daily focus using the Pomodoro Technique.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.