The principle of what I call "reverse streaks" is the same as abstinence streaks, but flipped to make them work for habits.
Instead of counting how many days in a row you've been doing something, you count how many days you've been avoiding it. The goal then is to keep the streak minimal instead of having it go up.
Say, if you have a reverse streak "read books", you would count how many days passed since you last read a book. Having a reverse streak of 0-1 days means you're keeping up with the habit. But if you haven't picked up a book in 10 days, it's a clear indicator that something's not working.
Reverse streaks have three main advantages. First, they dissolve the stress of keeping a big streak and the negative reaction of breaking one. Second, they make procrastination visible. Third, they provide a clear mental model for non-daily habits.
For example, if you want to meditate only every other day, the regular streak will never even happen. By keeping a reverse streak within your "safety margin", you meditate consistently while having the leeway to be flexible.
The only downside of reverse streaks is that completion frequency is not as obvious. But a hypothetical reverse streak app could solve this by having a little counter that will show the streak's average length (e.g., "you meditate on average once every 4.25 days"). This metric also works as a performance indicator you can optimize gradually, instead of crashing down every time you break the streak.