streak-tracker

Generate Swift streak tracking systems with timezone-aware day boundaries and freeze passes.

27|5|Updated Apr 18, 2026
One-click install
npx skills add https://github.com/bocan/bocan-music --skill streak-tracker-bocan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: streak-tracker
Source: https://github.com/bocan/bocan-music/tree/main/.claude/skills/generators/streak-tracker
Command: npx skills add https://github.com/bocan/bocan-music --skill streak-tracker-bocan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building a reliable streak tracking system from scratch requires handling timezone-aware day boundaries, duplicate activity prevention, streak freeze logic, and at-risk notifications, which is time-consuming and prone to edge case bugs.

Core Features & Use Cases

  • Timezone-aware streak calculation: Correctly counts consecutive activity days across user locales and midnight boundaries.
  • Streak freeze protection: Lets users preserve streaks during missed days with limited freeze passes.
  • At-risk local notifications: Sends reminders to users before the day ends to prevent streak breaks.
  • Use case: Ideal for fitness apps, learning platforms, or any app aiming to boost daily user engagement and retention.

Quick Start

Use the streak-tracker skill to generate a complete Swift streak tracking system for your iOS or macOS app with configurable freeze passes and at-risk notifications.

Frequently Asked Questions about streak-tracker

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I calculate daily activity streaks in Swift while handling timezone boundaries correctly?

To calculate daily activity streaks accurately, your streak tracking logic must account for timezone-specific day boundaries and midnight transitions to ensure consecutive user activity days are counted without off-by-one errors. This system handles those edge cases natively for iOS and macOS apps.

How do I implement streak freeze protection for a habit tracking iOS app?

Implementing streak freeze protection involves granting users limited freeze passes that preserve their streak tracking continuity during missed days. This system generates the necessary logic to manage and consume freeze passes, preventing streak breaks for habit tracking and engagement retention use cases.

What is the best way to schedule at-risk streak notifications using SwiftData?

The best way to schedule at-risk streak notifications is to use local notification scheduling that triggers reminders before the day ends. This streak tracking system integrates SwiftData persistence with notification logic to alert users and prevent unexpected streak breaks.

Does this streak tracking system support idempotent activity recording for macOS and iOS?

Yes, this streak tracking system supports idempotent activity recording for both macOS and iOS. It ensures that duplicate user activity entries do not artificially inflate consecutive days or corrupt the streak calculation logic, maintaining accurate engagement retention data.

Can I use this streak tracker for login retention systems beyond fitness and habit tracking?

Yes, you can use this streak tracking system for login retention systems and any daily engagement use cases. It applies broadly to any iOS or macOS app aiming to boost user retention by accurately tracking consecutive activity days with optional freeze protection.

Why do my user engagement streaks break unexpectedly across different timezones?

User engagement streaks break unexpectedly across timezones when streak calculation logic fails to account for timezone-specific day boundaries and midnight transitions. This system prevents those edge case bugs by accurately defining day boundaries relative to the user's locale.