Pomodoro Task

pending

by Isabela Grunevald

Integrate Pomodoro timer with Markdown tasks. Track focus sessions, log completed cycles directly to your notes, and manage subtasks.

1 starsUpdated 2mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

🍅 Pomodoro Task

A powerful Obsidian plugin that integrates the Pomodoro Technique directly with your Markdown tasks. Track time spent on specific tasks, log completed cycles, and boost your productivity without leaving your notes.

Obsidian License Version


✨ Features

🎯 Task-Focused Timer

  • Start Pomodoro sessions directly from tasks tagged with a configurable tag (default: #pomodoro)
  • Automatically tracks and logs completed cycles to your Markdown files
  • Supports both Work and Break sessions

🍅 Automatic Progress Tracking

  • Logs completed Pomodoro cycles directly into your task line: 🍅:: 3/5
  • Set goals for tasks and automatically mark them complete when reached
  • Visual progress indicators in the task list

⏱️ Flexible Timer Controls

  • Pause/Resume sessions anytime
  • Reset the current timer
  • Switch between work and break modes
  • Configure cycle durations on-the-fly without changing global settings

📋 Subtask Management

  • View and toggle subtasks directly from the timer view
  • Subtasks are displayed below the main task in your Markdown
  • Track completed subtasks within sessions
  • Configurable display limits and filters

🏷️ Document Markers

  • Add navigation markers to your documents: <!-- Marker: Section Name -->
  • Drag-and-drop floating widget for quick navigation
  • Color-coded marker list with rename and delete options
  • Markers are position-aware and update dynamically

🔊 Sound Notifications

  • Customizable sounds for:
    • Work session start
    • Work session complete
    • Break complete
    • Timer paused
  • 12+ built-in synthesized sounds (no external files needed)
  • Adjustable volume control

📊 Statistics

  • Track total completed Pomodoro cycles
  • Monitor cumulative focus time
  • Reset statistics when needed

⚙️ Highly Configurable

  • Customizable work duration (default: 25 min)
  • Customizable short break (default: 5 min)
  • Customizable long break (default: 15 min)
  • Option to start sessions paused
  • Toggle subtask visibility and limits
  • Filter completed subtasks

📥 Installation

From Obsidian Community Plugins (Recommended)

  1. Open Obsidian Settings
  2. Go to Community Plugins and disable Restricted Mode
  3. Click Browse and search for "Pomodoro Task"
  4. Click Install, then Enable

Manual Installation

  1. Download the latest release from the Releases page
  2. Extract the files (main.js, manifest.json, styles.css) to:
    <your-vault>/.obsidian/plugins/pomodoro-task/
    
  3. Reload Obsidian
  4. Enable the plugin in Settings → Community Plugins

🚀 Quick Start

2026-01-10_13-18-27.gif

1. Create a Task with the Pomodoro Tag

- [ ] Write project documentation #pomodoro

2. Open the Pomodoro Panel

  • Click the ⏰ alarm clock icon in the ribbon (left sidebar)
  • Or use the command: Pomodoro Task: Open View

3. Start a Session

  • Click on any task in the list to start a Pomodoro session
  • The timer will begin counting down

4. Complete Your Session

  • When the timer ends, a tomato counter is automatically added:
    - [ ] 🍅:: 1 Write project documentation #pomodoro
    

5. Set Goals (Optional)

  • Click on -- next to the 🍅 icon in the timer view
  • Enter a goal number (e.g., 4)
  • Your task will show progress: 🍅:: 2/4
  • When the goal is reached, the task is automatically marked complete ✅

📝 Usage Guide

Task Format

The plugin recognizes unchecked Markdown tasks containing your configured tag:

- [ ] My task #pomodoro ← Basic task
- [ ] My task #pomodoro 🍅:: 3 ← With cycle count
- [ ] My task #pomodoro 🍅:: 2/5 ← With goal

* [ ] Also works with asterisk #pomodoro ← Alternative format

Recurring Tasks

Pomodoro Task fully supports recurring tasks when used with the Tasks plugin. When a recurring task completes all its Pomodoro cycles:

  1. Pomodoro Task uses the Editor API to mark the checkbox as complete
  2. The Tasks plugin intercepts this edit and automatically:
    • Creates the next instance with correct due/scheduled dates
    • Resets the checkbox to [ ]
    • Preserves all metadata (tags, dates, priority, etc.)
- [ ] Daily review #pomodoro 🍅:: 0/2 🔁 every day
- [ ] Weekly report #pomodoro 🍅:: 0/3 🔁 every Monday when done
- [ ] Monthly audit #pomodoro 🍅:: 0/5 🔁 every month on the 1st

How it works: Instead of directly modifying the file text, Pomodoro Task uses Obsidian's Editor API to toggle the checkbox. This allows the Tasks plugin to detect the change and process recurrence patterns properly.

Important: Add the tomato counter reset (🍅:: 0/N) in your recurring task template so the new instance starts with zero cycles.

See Example/06-recurring-tasks.md for more examples.

Subtasks

Subtasks are automatically detected as tasks indented below the main Pomodoro task:

- [ ] Main task #pomodoro
  - [ ] Subtask 1 ← Shown in timer view
  - [ ] Subtask 2
  - [x] Completed subtask

Markers

Add navigation markers to your document:

<!-- Marker: Introduction -->

# Introduction

...

<!-- Marker: Conclusion -->

# Conclusion

...

Navigate between markers using the floating widget in the timer view.


⚙️ Settings

SettingDescriptionDefault
Target TagTag used to identify Pomodoro tasks#pomodoro
Work DurationLength of focus sessions (minutes)25
Short BreakLength of short breaks (minutes)5
Long BreakLength of long breaks (minutes)15
Start Cycle PausedBegin sessions in paused stateOff
Default Subtasks ExpandedShow subtasks by defaultOn
Limit Subtasks ShownLimit visible subtasksOn
Max SubtasksMaximum subtasks to display3
Show Completed SubtasksDisplay completed subtasksOff
Always Show Completed TodayShow today's completions regardless of limitOff
VolumeSound notification volume (0-100)50
Work Start SoundSound when starting focusDigital
Work Complete SoundSound when work endsNone
Break Complete SoundSound when break endsGong
Pause SoundSound when pausingBell

🎵 Available Sounds

SoundDescription
NoneNo sound
BlipShort start beep
DingSimple notification
ChimeSoft chime
ClickMechanical click
TickMechanical tick
TockLow mechanical sound
BellMetallic bell (FM synthesis)
WoodWoodblock hit
GongDeep resonant gong
DigitalDigital watch beep-beep
ArcadeRetro game power-up
AlarmThree-beep alarm

⌨️ Commands

CommandDescription
Pomodoro Task: Open ViewOpens the Pomodoro panel

🔧 Timer Controls

When a session is active:

ButtonAction
⏸ PausePause the current timer
▶ ResumeResume a paused timer
StopCancel the current session
ResetRestart the current session from the beginning
SwitchToggle between Work and Break modes
CycleOpen modal to adjust current session durations

📊 How Cycle Logging Works

  1. First completion: Adds 🍅:: 1 to the task line
  2. Subsequent completions: Increments the counter 🍅:: 2, 🍅:: 3, etc.
  3. With goals: Shows progress as 🍅:: 2/4
  4. Goal reached: Task is automatically checked [x]

The plugin reads the latest file content before logging to prevent overwriting any changes you made during the session.


🎨 Styling

The plugin uses CSS classes prefixed with pomodoro- for all elements. You can customize the appearance using CSS snippets in your vault.

Example customization:

/* Custom timer display color */
.pomodoro-timer-display {
  color: #e74c3c;
}

/* Custom task card background */
.pomodoro-active-task-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

🤝 Compatibility

  • Obsidian: v0.15.0 or higher
  • Platforms: Windows, macOS, Linux, iOS, Android
  • Integrations: Works alongside Tasks plugin, Dataview, and other task management plugins

🐛 Known Issues

  • If you edit the task line while a session is running, the plugin attempts to match the original text but may fail if significant changes are made
  • Markers require Editing mode (Live Preview or Source) for accurate line detection when adding new markers

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Support

If you find this plugin useful, consider:

  • ⭐ Starring the repository
  • 🐛 Reporting bugs or suggesting features via Issues
  • 💬 Sharing feedback

🔄 Changelog

v1.0.0

  • Initial release
  • Task-integrated Pomodoro timer
  • Automatic cycle logging with 🍅:: N format
  • Goal setting and auto-completion
  • Subtask management
  • Document markers with floating widget
  • Customizable sound notifications
  • Statistics tracking
  • Full settings panel

Made with ❤️ for the Obsidian community

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.