Habit Tracking
Pulse includes a full habit tracking engine designed to help you build consistent routines. Habits live alongside your tasks and reviews, giving you a unified view of both one-off work and recurring behaviors.
Creating a Habit
To create a habit, provide the following:
| Field | Required | Description |
|---|---|---|
name | Yes | A short, clear name (e.g., "Morning meditation") |
description | No | Additional context or motivation for the habit |
importance | Yes | Low, Medium, or High — defaults to Medium |
estimatedMinutes | No | How long the habit takes — defaults to 2 minutes |
You can create habits through the web app or programmatically via the MCP server's create_habit tool.
Frequency Options
Habits support flexible scheduling through the frequency field:
| Frequency | Days Active |
|---|---|
| daily | Every day of the week |
| weekdays | Monday through Friday |
| weekends | Saturday and Sunday |
| weekly | Once per week |
| custom | Specific days you choose (0 = Sunday, 6 = Saturday) |
For custom frequencies, provide an array of day numbers in the customDays field. For example, [1, 3, 5] means Monday, Wednesday, and Friday.
Habit Stacking and Cue Context
Pulse supports two fields from habit science to help habits stick:
habitStack— Link this habit to an existing one. For example, "After I pour my morning coffee" creates an anchor that triggers the new habit.cueContext— Describe the environmental cue that should trigger the habit. For example, "When I sit down at my desk" or "When I finish lunch."
These fields are optional but powerful. Research shows that habits form faster when tied to an existing routine or environmental cue rather than relying on motivation alone.
Cue Time
You can also set a cueTime — a specific time of day (e.g., "07:00") that serves as a reminder trigger. This pairs with the notification system to alert you when it is time to perform the habit.
Logging Completions
Each day, you can log whether you completed a habit or skipped it:
Completing a Habit
Mark the habit as done for the current date. Pulse records a habitLog entry with:
- The
completedDate - A
completedAttimestamp - Optional
notesfor any observations
Skipping a Habit
If you need to skip a habit, you can log a skip with a reason:
- Set
skippedto true - Provide a
skipReason(e.g., "Traveling" or "Sick day")
Skipping with a reason is better than simply not logging — it preserves your streak awareness and gives you data to review later.
Streak Tracking
Pulse automatically maintains three streak metrics for each habit:
| Metric | Description |
|---|---|
currentStreak | Consecutive days completed without a break |
bestStreak | The longest streak ever achieved for this habit |
totalCompletions | Lifetime count of completions |
Streaks update automatically when you log completions. A missed day (no log and no skip) resets the current streak to zero. Your best streak is preserved as a high-water mark.
Streak Resets
A missed day with no log and no skip resets your current streak to zero. Always log a skip with a reason to preserve your streak awareness — even if the streak counter resets, the data helps during weekly reviews.
AI-Powered Notifications
Pulse integrates habit tracking with AI workflows for proactive nudges:
Morning Brief
The morning brief includes your habits scheduled for today. It tells you which habits are due, helping you plan your day with both tasks and habits in view.
Evening Streak-Risk Alert
In the evening, Pulse checks for habits that are due today but have not yet been logged. If any are at risk of breaking a streak, the AI sends a notification reminding you before the day ends.
Both notifications run via automated workflows and require the MCP server to be connected.
Connecting Habits to Life Buckets
Each habit can optionally be linked to a life bucket via the bucketId field. Life buckets represent areas of your life (e.g., Health, Career, Relationships). Linking a habit to a bucket lets you see which areas of your life are getting consistent attention and which are being neglected.
Managing Habits
Deactivating a Habit
Rather than deleting a habit and losing its history, set active to false. Inactive habits stop appearing in your daily lists and notifications but retain all their logs and streak data.
Viewing Streaks
Use the get_habit_streaks MCP tool or the habits page in the web app to see current streaks, best streaks, and total completions for all active habits at a glance.
Best Practices
The 2-Minute Rule
Start every new habit with a 2-minute version. "Read before bed" becomes "Read one page." Once the habit is automatic, increase the duration naturally.
- Start small. Set
estimatedMinutesto 2 for new habits. A two-minute commitment removes the friction of starting. - Use habit stacking. Anchor new habits to existing routines for higher adherence.
- Log skips, don't ignore. A skip with a reason is data. A missed day with no log is a blind spot.
- Review habit adherence weekly. The weekly review includes a habit adherence section — use it to identify patterns.
- Set importance intentionally. High-importance habits get priority in streak-risk alerts. Not every habit needs to be High.