Skip to content

Block ID Prompt

Block ID Prompt helps create and manage stable block identifiers and task links in Obsidian.

Plugin facts

Fact Value
Name Block ID Prompt
ID block-id-prompt
Version 1.33.3
Minimum Obsidian version 1.8.7
Desktop only No
Description Prompt for custom block IDs and complete wiki block links to open tasks, with a plan-budget suffix. Ctrl+Shift+Enter refuses Depends-On ⛓️ DEPENDS ON: dependency lines. On inbox notes, Ctrl+Shift+Enter asks where the task goes before linking or unlinking, then moves it with the toggle applied (nav inboxRoute v1). Ctrl+Shift+Enter asks which of today's Pomodoros to link into (↵ = current/next, type to filter or name a new one). Project Schedule comes from the ^prj task; a future-scheduled ^prj link is refused only when its date is the sole remaining reason, dependency reasons are reported first, and a direct link raises a Ready ^prj to Next. A tagged #prj_is_blocked ^prj is refused as blocked by its parent project without raising prerequisites. Ctrl+Shift+Enter refuses LINKS with the relation notice and LINKED FROM with the generated-line notice; Pomodoro cleanup skips both. Link to today also offers recent themes with component swatches and near-duplicate hints; Ctrl+D hides or restores Recent suggestions only.

Registered commands

Command Command ID Default hotkey
Rename selected block ID rename-selected-block-id Ctrl+6
Toggle task Pomodoro link link-task-to-pomodoro Ctrl+Shift+Enter

Linking tasks to today

Ctrl+Shift+Enter (link-task-to-pomodoro) toggles the open task under the cursor on link presence. An unlinked task opens the Link to today picker to choose which of today's Pomodoros to link into: Enter takes the current or next one, typing filters the list or names a new Pomodoro. A block ID prompt follows when the task still needs one.

Today's open Pomodoros stay first. When the Ledger Tools themes catalog is available, the picker also offers recent themes for new Pomodoros, with a swatch for each + component and a like NAME hint on near-duplicates. A recent row keeps its catalog spelling. Ctrl+D hides that theme from Recent suggestions; the row remains as a reversible hidden suggestion. Typing the name still works, and Ctrl+D on a Today row leaves it unchanged.

Linking applies lane changes: Ready and Blocked tasks become Next, while Next and In Progress tasks stay unchanged. A ^^ task-picker link that is the sole content of an open Pomodoro sub-bullet pulls a uniquely future-scheduled target into today: it removes the target's scheduled date, promotes Blocked or Ready to Next, and prepends a dated entry to an existing Schedule Log, never creating one for a task that keeps none. The Ctrl+Shift+Enter flow applies the same future-schedule and Schedule Log pull-forward.

New Pomodoro Task Links are inserted immediately after the entry's last child, before any trailing blank separators. Every Pomodoro link cleanup deletes the open entries it empties.

A linked task unlinks instead: its links under today's open Pomodoros are removed without changing closed history, and the checkbox is never written. Unlinking an In Progress task first opens an optional work-summary prompt titled Unlink task; a nonblank summary is recorded as a locally dated entry such as *2026-08-15* — Added coverage under a tab-indented managed 🛠️ **WORK LOG** child bullet.

Ctrl+Shift+Enter on a selected Task Link — a plain or embedded wiki block link to a task, including 🍅-marked, # move-only, and struck ~~[[…]]~~ forms — deletes the link and today's other open-Pomodoro duplicates. One link per line is selected from anywhere on the line; several links are selected by cursor. When the link is the bullet's only content, the whole bullet and its children go with it.

Deleting a Task Link never changes the lane: Next, In Progress, Ready, and Blocked all stay as they are. An In Progress target goes through the same optional Unlink task Work Log prompt.

Guards

Ctrl+Shift+Enter refuses several targets with a notice instead of writing:

  • A Depends-On ⛓️ DEPENDS ON: line, including a malformed one with trailing prose, a half-typed link, or a prose-only label. The notice points to Ctrl+Shift+P, and no token is ever deleted there. A VS16 link-emoji shape is not a dependency line and takes the normal path.
  • A 🧱 BLOCKS: mirror, including a malformed one, with the generated-line notice. Pomodoro scanners skip managed dependency lines.
  • A 🪢 **LINKS:** line with the relation notice, or a 🪢 **LINKED FROM:** line with the generated-line notice. Pomodoro cleanup skips both relation lines.
  • Closed targets and legacy transclusion children. Dependencies live on the Depends-On line, never as embedded children.

The task picker skips #hide tasks, lists Blocked [?] tasks in a separate group beneath unblocked tasks, prunes duplicate links from future open Pomodoros, and marks dependency-blocked tasks.

Freshness, plan budget, and projects

Ctrl+Shift+Enter and ^^ stamp the target task's freshness ([fresh:: today]) through Bob Ledger Tools whenever they rewrite its line. Link, unlink, and Task Link notices append the live plan budget (· plan T/3 · L/10, with 🔴 when over the cap) from Bob Ledger Tools.

Project Schedule comes from the ^prj task. A future-scheduled ^prj link is refused only when its date is the sole remaining reason, with dependency reasons reported first; a direct link raises a Ready ^prj to Next. A tagged #prj_is_blocked ^prj is refused as blocked by its parent project without raising prerequisites.

On an inbox note, Ctrl+Shift+Enter asks where the task goes before linking or unlinking, then moves it with the toggle applied. A Ctrl+Shift+Enter link from the row the review walk just landed on advances the walk once to the next remaining item.

The plugin exposes the Link to today picker as api.pomodoroLinkPicker v1 so the navigation successor picker can retarget rows per row.

Settings

This plugin adds no settings tab. Block ID suggestions are generated from the target task's headline and need no configuration.

Tested rolling snapshot bob-cli 41afa14 bob-mac-capture 556bb67 bob-plugins af1e691 Built 2026-10-24T22:34:13Z (zensical) build.json