Module guide
Habits
Track repeating routines with streak and at-risk detection.
Overview
A per-user habit tracker with a configurable target per period. The streak calculator reports current, longest, and 30-day rolling totals, and habitsAtRisk() flags anything whose streak will break today unless you hit its target.
Highlights
The capabilities worth knowing before you dive in.
Important to know
Limits, permissions, and sharp edges to keep in mind.
- Days follow your own timezone: the one in your profile, or the one your browser reports when the profile has none, and UTC only when neither is known. A check-in with no date is recorded on your current local day.
- Archiving a habit preserves its history but hides it from active lists.
- Habits and check-ins are private to their owner. The workspace data export that an owner or administrator can request leaves them out entirely, so nobody else receives them that way. Your own habits and check-ins are in your personal data export.
How to use it
The primary workflow, start to finish.
- Create a habit with a target and period (for example, 1/1 daily, or 3/7 three times a week).
- Check in each time you complete it. Checking in twice on the same day counts once.
- Review the at-risk list every evening to protect your streaks.
FAQ
- Can I track habits across a team?
- No. Habits are personal by design, so teammates never see them. Shared commitments belong in Goals or in recurring tasks.
- Why did my check-in land on the wrong day?
- A check-in is recorded on the current day in your profile timezone. Without one, Atlas uses the timezone your browser reports, and UTC when neither is known. If a check-in close to midnight lands on the wrong day, check the timezone in your profile.
- If I stop a habit, have I lost the record of it?
- No. Archiving hides a habit from the active list and keeps its check-ins. The Habits screen has no archive view, but the habit and its streak are still returned when it is requested by its identifier through the API.
Automate this module
Everything on this screen is scriptable. Drive it from the REST API, or let an AI agent run it through the MCP server.
Was this page helpful?