Habit context
Alongside every cycle, gather habit context: short, dated notes on what happened with the habit, why it went as it did. Patterns surface once the column fills up.
By the time you sit down to look at a cycle that’s just ended, the misses are a row of empty squares on a grid. You can count them. You can see when they clustered. What you can’t do is tell yourself, with any honesty, why each one happened. The brain has already moved on. The story you’ll tell about the cycle is whatever feels true now, not whatever was true then.
Habit context is the small practice I built into the Habit Cycles method to keep alongside the cycle and stop that story from quietly drifting. When something happens worth noting (a missed day, a slip, a stretch of unusual energy), you write one line about why. Over a cycle, those one-liners accumulate. By the time the check-in arrives, they’re the most useful thing on the page.
A whole cycle of context entries is more honest than a brain at the end of one. That’s the reason the practice exists.
You don’t need an honest brain. You need an honest column.
The note that costs nothing
The practice is one line. Date, what happened, what was going on. No more. The constraint that matters is that the cost stays close to zero. If it doesn’t, you won’t keep it up through a long cycle. You’ll start strong, lapse around week three, and find yourself at the check-in with the first half of the data and a blank for the second.
A good context note is one sentence written the same evening, or the next morning at the latest. Beyond that, the texture is gone. What you’ll write a few days later is something generic. Got busy. It’s accurate, but it won’t help you spot anything.
What it looks like, across the kinds of cycle:
The tone matters less than the accuracy. It wasn’t a conscious decision is one of the most useful entries you can write. On its own it tells you nothing. Across a column of slips it tells you how often a behaviour is bypassing choice entirely, which is information you can’t get any other way.
There’s no system to learn. The first week of any cycle is when you find out whether your chosen format is too heavy. If you skip a context entry because writing it felt like work, lighten it. Skipped. Call. That’s enough. The job is the column, not the wording.
The contrast is the point. Asked at the check-in why a cycle had so many misses, most of us will reach for whichever explanation fits how we feel right now: tired, busy, run down, low. The note column says something more specific, and almost always more useful. The same row of misses goes from “I was tired” to “late finish each time, working late root cause.” One feeling becomes one fix.
One note can still mislead you on its own. Tired is the honest answer in the moment, and tiredness is real. But it sits downstream of something. A run of late finishes through the week is what leaves you depleted on the day you skip, and the tiredness is what you’d write if you only looked at one day. A pattern like this doesn’t land on a fixed weekday, so it never shows up on a calendar tracker. Only the column reveals it. A single entry is honest about what it felt like. The column is honest about why.
The four cycle types
The shape of the practice is the same whether you’re building, breaking, reducing, or just observing. What changes is what counts as worth noting.
Build cycles. A cycle to build a habit counts presence: the days you ran, the days you read, the mornings you sat for ten minutes. The context entries cluster around the misses. Over a cycle, the column shows you the shape of the resistance: what kept happening on the days you didn’t.
Break cycles. A cycle to step back from something counts absence. The context entries cluster around the slips. It wasn’t a conscious decision belongs here especially. So does had a stressful 1:1 at 3pm and wanted the coffee. Two slips can look identical from the outside and be very different in cause.
Reduction cycles. A cycle that aims for less of something. Wine with dinner, friend was over. Phone past 9pm, couldn’t switch off. Each slip day gets a context entry, same as a break cycle’s.
Awareness cycles. Awareness habits already track without judgement. There are no slip days, so when you do add context, it can run on any notable day rather than just broken ones. Wednesday felt heavy, meetings 9 to 3 is exactly as valuable as had a coffee at 3pm. The data is the data.
The format doesn’t change. The line is the same shape: a date, what happened, what was going on. What changes is which days end up in the column. Some cycles produce eight entries. Some produce eighty. Both columns are doing the same job.
Where to keep them
The format is forgiving. The discipline is the keeping, not the tool.
A few places that work in practice.
A folder in your notes app. One file per habit. Date the entry, write the line, close the file. The cheapest possible system, and the one most people will actually keep up. Apple Notes, Google Keep, Bear, plain text. It doesn’t matter.
A spreadsheet. A column for date, a column for what happened, a column for context. Optional columns for time of day, mood, sleep, anything you suspect matters. The advantage at the check-in is that you can sort and filter to see the pattern faster. The disadvantage is the friction of opening a spreadsheet on a phone.
A Notion template. Useful if you already live in Notion and your other practice runs there. The template can be very light: date, line, optional tags. Don’t over-engineer it. The same trap as the spreadsheet, with more columns to maintain.
A markdown vault. Obsidian, Logseq, whatever you use. One note per habit, one bullet per entry. Useful if you’re already in this kind of system, because the column becomes queryable later. Especially useful when AI gets involved, which is the next section.
The rule is to pick what you’ll actually do, then keep doing it. The first week is the test. If the format you chose feels heavy by Friday, switch to a lighter one. If it still feels heavy on the lighter version, write less. The column isn’t the work. The cycle is.
The underlying shape behind every system here is the same: a date, the event, optional structured fields for time of day, mood, sleep, what preceded it. The minimum is the date and the line. Anything beyond that is a nice-to-have.
Reading the patterns
The check-in is when this column earns its keep. Most of the work has already happened. The writing, day by day, when the context was still warm. The check-in is just the act of reading down the column with no agenda.
You’re not analysing in the data-science sense. You’re skimming. The first thing to notice is whether anything jumps. A pattern, when it’s there, tends to reach the eye before it reaches the conscious mind. Half the entries mention a late finish. That registers before you’ve counted them.
A few shapes worth scanning for.
Day-of-week clusters. Misses bunching on a specific weekday. The structural cause is usually upstream of the day itself: a Sunday late night, a Monday early start, a recurring meeting.
Conditions clusters. What was happening around the habit. A difficult meeting, a poor sleep, an early start, a long evening. Conditions cluster more by what surrounds them than by when they fall.
Antecedents. What came immediately before. A stressful call, a missed lunch, a particular trigger. Antecedents are the most useful clusters to find because they’re often the easiest to do something about.
Co-occurrence. Patterns that show up alongside each other. The missed run and the short sleep often appear in the same row. The slip and the stressful afternoon often share a date.
You don’t need to find all four. There’s usually only one, and it’s enough. If half the misses share a single condition, the next cycle is going to look different from the last one whether or not you do anything else.
When nothing jumps, that’s also a finding. It usually means the misses were genuinely scattered and the cycle was running close to its natural ceiling. The decision then is whether to lower the bar for next time, hold it, or accept the rate as the cost of the cycle as set.
Some patterns take more than one cycle to surface. The first cycle suggests. The second cycle confirms. Habit context across two consecutive cycles is much more legible than either cycle on its own. By the third cycle, if the pattern is still there, it isn’t random.
The pattern is invisible in any single entry. It’s obvious across the column.
When AI helps
Pattern-reading is the boring half of this practice, and AI is fine at boring work. If your context column has run for a few cycles and you want a second pair of eyes on it, the easiest way is also the best.
Open a chat with whatever assistant you use: ChatGPT, Claude, anything. Paste in the column, or take a screenshot of it, or attach the file. Ask: what patterns do you see? That’s it. No prompting craft. The model will pull out what it can. You decide whether what it found is real.
The reason this works is that pattern detection across a long column is what models do well. They can hold the whole thing at once. You can hold a fortnight. The model is unlikely to know whether late finishes are the actual cause of your misses or a coincidence. But it’s very likely to flag, before you’d have noticed yourself, that they keep showing up across the column regardless of which day they fall on.
Most of the value sits at the chat-thread level. If your tracking lives in a markdown vault (Obsidian, Logseq), the technical version is to wire up an MCP server so the assistant can query your notes directly, without the copy-and-paste step. That’s an investment for people already running that kind of setup. For everyone else, copy-paste is good enough and probably better. The friction is small. The privacy boundary is clearer. The model spots the same things either way.
A practical rule: AI is good at the boring half. You’re still the one deciding what any of it means. The model can tell you that Monday misses cluster after long meetings. It can’t tell you whether to move the meetings, change the habit, or just stop running on Mondays. That call belongs to whoever is holding the cycle.
When to use this, and when not to
This is a higher-effort practice than just hitting the daily mark. It’s worth weighing where you actually need it.
The cases where habit context earns its keep:
The habit really matters. A cycle you’d hate to lose because the goal underneath it matters. Habit context gives you a shot at fixing what’s actually going wrong, instead of redoing the same cycle and hoping.
You’ve been stuck across two cycles. Two consecutive cycles with similar miss patterns is the moment context starts to pay off. You suspect there’s a hidden cause. The column is how you find it.
You suspect a pattern but can’t name it. A nagging sense that something is happening you can’t quite put your finger on. The column is what makes the felt pattern legible.
You’re running an awareness habit. An awareness cycle works on its own. The count alone tells you what’s actually happening. Context turns that count into something deeper: not just how often, but in what conditions and alongside what.
The cases where it isn’t worth it:
The cycle is going fine. If the streak is solid and the misses are scattered, you don’t need diagnostics. Save the effort.
The friction would tax the daily practice. A habit that’s barely surviving on its own won’t survive an extra ritual layered on top. Get the cycle stable first; add context later if you need it.
The cycle is itself the test. A short cycle to find out whether a habit suits you. The data you want is whether you can run the habit at all. Context comes later, on the version of the habit that earned a longer cycle.
You also don’t need to keep context for every habit at once. A practice with three or four cycles running is rarely a practice where every cycle needs a column. Pick the one that matters most this season. Run context against that. The rest can stay simple.
Most cycles don’t need a context column. The ones that do, really do.