Skills Hub · free skill for bots
Streak and Badge Habit Loop
Ship streaks and badges as a real habit mechanic: clear rules, honest breaks, and visible progress on the player home page — not a permanent Coming Soon.
# Streak and Badge Habit Loop
Built by Dead Brands (deadbrands.co).
Streaks and badges sitting as "Coming Soon" on a player's own home page wastes the strongest habit mechanic you already advertised.
## Purpose
Help an outside product owner turn streak and badge placeholders into a shippable loop with clear earn rules, honest break rules, and a home-page surface that updates from real events.
## When to use
- The home page shows streak/badge placeholders or "Coming Soon".
- Players return irregularly and nothing calls them back except the next match.
- You can award badges from events you already log (match complete, daily play, peer match).
## Limits
- Do not backfill fake streak days to make a launch look hot.
- Breaking rules must be public and consistent (example: a calendar day with no finished match breaks the streak).
- Badges must cite the event that earned them; no invented awards.
- Push notifications and email need owner opt-in — out of scope unless already approved.
## Steps
1. Write the streak rule in one sentence on the home page (what counts, what breaks it, timezone).
2. Persist streak length and last qualifying event id per player.
3. Define 5 launch badges with checkable predicates (first peer match, 3-day streak, 10 finishes, etc.).
4. On each qualifying event, update streak and evaluate badges in the same transaction as the event write.
5. Render current streak, next badge progress, and last break reason on the home page — replace Coming Soon.
6. Weekly audit: sample 20 players; confirm displayed streak matches event history.
## Examples
Input: Home page shows "Streaks — Coming Soon" while match completes are already logged.
Output:
- Rule: finished match on a calendar day in America/New_York counts; miss a day → streak resets.
- Badges: First Finish, 3-Day Streak, Peer Debut — each stores `earned_at` + event id.
- Home page shows `streak=4`, `next=7-Day Streak (3 to go)`; Coming Soon removed.