streak

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Streak

Streak

A universal, flexible challenge tracking system for Claude Code. Track any personal challenge with intelligent insights and cross-challenge learning detection.
Works for any challenge type: Learning, Building, Fitness, Creative, Habit, or Custom.

一款面向Claude Code的通用、灵活的挑战追踪系统。可追踪各类个人挑战,并提供智能洞察与跨挑战学习关联检测功能。
**支持所有挑战类型:**学习、项目构建、健身、创意创作、习惯养成或自定义挑战。

Quick Start

快速开始

Trigger phrases -> Flows:
User SaysFlow
"new challenge", "start a streak", "track a goal"Flow 1: New Challenge
"check in", "log progress", "update my streak"Flow 2: Check-in
"list challenges", "show all challenges"Flow 3: List
"switch to [name]", "change challenge"Flow 4: Switch
"show stats", "my progress"Flow 5: Statistics
"show insights", "cross-challenge"Flow 6: Insights
"export calendar", "create reminders"Flow 7: Calendar
"reset challenge", "start fresh"Flow 8: Reset
"pause [name]", "put on hold"Flow 9: Pause
"archive [name]", "shelve challenge"Flow 10: Archive
"resume [name]", "reactivate"Flow 11: Resume

触发指令 -> 对应流程:
用户指令对应流程
"new challenge", "start a streak", "track a goal"流程1:创建新挑战
"check in", "log progress", "update my streak"流程2:打卡更新
"list challenges", "show all challenges"流程3:列出所有挑战
"switch to [name]", "change challenge"流程4:切换挑战
"show stats", "my progress"流程5:查看统计数据
"show insights", "cross-challenge"流程6:跨挑战洞察
"export calendar", "create reminders"流程7:日历导出
"reset challenge", "start fresh"流程8:重置挑战
"pause [name]", "put on hold"流程9:暂停挑战
"archive [name]", "shelve challenge"流程10:归档挑战
"resume [name]", "reactivate"流程11:恢复挑战

Data Storage

数据存储

All data in
.streak/
folder:
.streak/
├── config.md                     # Global settings
├── active.md                     # Current challenge pointer
└── challenges/
    └── [challenge-id]/
        ├── challenge-config.md   # Metadata, goal, progress
        ├── challenge-log.md      # Progress log with summary
        ├── today.md              # Today's session context
        ├── backlog.md            # Ideas to try
        ├── preferences.md        # Type-adaptive setup
        ├── context.md            # Linked resources
        ├── insights.md           # Auto-generated insights
        └── sessions/
            └── session-XXX/
                └── notes.md      # Session notes
File templates: See
references/file-templates.md

所有数据存储在
.streak/
文件夹中:
.streak/
├── config.md                     # 全局设置
├── active.md                     # 当前激活挑战指针
└── challenges/
    └── [challenge-id]/
        ├── challenge-config.md   # 元数据、目标、进度
        ├── challenge-log.md      # 进度日志与总结
        ├── today.md              # 当日会话上下文
        ├── backlog.md            # 待尝试的想法
        ├── preferences.md        # 适配挑战类型的设置
        ├── context.md            # 关联资源
        ├── insights.md           # 自动生成的洞察
        └── sessions/
            └── session-XXX/
                └── notes.md      # 会话笔记
文件模板: 详见
references/file-templates.md

Challenge Types

挑战类型

TypeBest ForKey Questions
LearningCourses, books, skills"Any aha moments?", "Progress on milestones?"
BuildingProjects, shipping"What did you ship?", "Any blockers?"
FitnessWorkouts, health"What exercises?", "How did body feel?"
CreativeArt, writing, music"What did you create?", "Any inspiration?"
HabitRoutines, consistency"Did you complete it?", "How did it feel?"
CustomAnything elseUser-defined questions
Type details: See
references/types.md

挑战类型适用场景核心问题
学习课程、书籍、技能学习"有哪些顿悟时刻?", "里程碑进度如何?"
项目构建项目开发、产品交付"完成了哪些交付内容?", "遇到了哪些障碍?"
健身锻炼、健康管理"进行了哪些训练?", "身体感受如何?"
创意创作艺术、写作、音乐创作"完成了哪些创作?", "有哪些灵感来源?"
习惯养成日常routine、坚持打卡"是否完成了当日任务?", "感受如何?"
自定义其他所有场景用户自定义问题
类型详情: 详见
references/types.md

Flow 1: New Challenge

流程1:创建新挑战

  1. Initialize
    .streak/
    folder if needed
  2. Ask type: Learning, Building, Fitness, Creative, Habit, or Custom
  3. Basic info: Name, goal, cadence (daily/every N days/weekly)
  4. Type-specific questions: See
    references/types.md
  5. Create files: All templates pre-filled based on answers
  6. Set active and confirm
Detailed steps: See
references/flows-detailed.md

  1. 初始化:若不存在则创建
    .streak/
    文件夹
  2. 选择类型:学习、项目构建、健身、创意创作、习惯养成或自定义
  3. 基础信息:挑战名称、目标、周期(每日/每隔N天/每周)
  4. 类型专属问题:详见
    references/types.md
  5. 创建文件:根据回答预填充所有模板文件
  6. 设置为激活状态并确认
详细步骤: 详见
references/flows-detailed.md

Flow 2: Check-in

流程2:打卡更新

Two modes: Pre-session (planning) and Post-session (wrap-up)
包含两种模式:会话前(规划)会话后(总结)

Pre-Session Mode

会话前模式

  1. Load context: Read active challenge, config, today.md, preferences, backlog
  2. Show status: Session #, streak, days since last, on-track/due/overdue
  3. Quick context: Energy/time, specific focus or "surprise me", constraints
  4. Optional research: For Building/Learning types
  5. Ideation: Type-adaptive suggestions based on energy and backlog
  6. Prepare session: Create session folder and notes template
  1. 加载上下文:读取当前激活挑战、配置、today.md、偏好设置、待办事项
  2. 显示状态:会话编号、连续打卡天数、距离上次打卡的天数、进度状态(正常/待完成/逾期)
  3. 快速上下文收集:精力/时间情况、具体聚焦方向或“随机推荐”、限制条件
  4. 可选调研:针对项目构建/学习类型的挑战
  5. 创意建议:根据精力状态和待办事项提供适配挑战类型的建议
  6. 准备会话:创建会话文件夹与笔记模板

Post-Session Mode (user says "done")

会话后模式(用户输入"done")

  1. Wrap-up questions: What worked on, how it went, what's next, key learning
  2. Type-specific questions: See
    references/types.md
  3. Save: Update session notes, challenge-config, challenge-log, backlog
  4. Generate insights: Patterns, streaks, cross-challenge connections
  5. Check achievements: See
    references/achievements.md
  6. Completion message: Progress summary, achievements earned, insights
Shortcuts during flow:
SayAction
"Just research"Only research step
"Skip to suggestions"Skip research
"I know what I'm doing: [idea]"Skip ideation
"Done" / "Finished" / "Back"Jump to wrap-up
"Quick check-in"Minimal logging
Detailed steps: See
references/flows-detailed.md

  1. 总结问题:完成了哪些内容、进展如何、下一步计划、核心收获
  2. 类型专属问题:详见
    references/types.md
  3. 保存数据:更新会话笔记、challenge-config、challenge-log、待办事项
  4. 生成洞察:识别规律、连续打卡情况、跨挑战关联
  5. 检查成就:详见
    references/achievements.md
  6. 完成提示:进度总结、获得的成就、生成的洞察
流程快捷指令:
指令对应操作
"Just research"仅执行调研步骤
"Skip to suggestions"跳过调研步骤
"I know what I'm doing: [idea]"跳过创意建议步骤
"Done" / "Finished" / "Back"直接跳转至总结环节
"Quick check-in"极简模式打卡
详细步骤: 详见
references/flows-detailed.md

Flow 3: List Challenges

流程3:列出所有挑战

Display challenges grouped by status, sorted by priority then recency.
Default: Show active + paused challenges With
--all
flag:
Include archived challenges
Sorting order (within each group):
  1. Priority (higher number first, default 0)
  2. Last check-in (most recent first)
Display format:
undefined
按状态分组显示挑战,先按优先级排序,再按最近操作时间排序。
默认显示: 激活中+已暂停的挑战 添加
--all
参数:
包含已归档的挑战
分组内排序规则:
  1. 优先级(数字越高越靠前,默认0)
  2. 最近打卡时间(越新越靠前)
显示格式:
undefined

Active Challenges

激活中挑战

NameTypePriStreakLast Check-inSessions
*python-coursesLearning105 days1 day ago3
home-fitnessFitness52 days2 days ago8
名称类型优先级连续打卡天数上次打卡时间会话次数
*python-courses学习105天1天前3
home-fitness健身52天2天前8

Paused Challenges

已暂停挑战

| | stories-to-novels | Writing | 0 | - | 10 days ago | 5 |
(2 archived challenges hidden - use --all to show)
  • = Active challenge Pri = Priority (edit in challenge-config.md)

**With `--all` flag, also show:**
| | stories-to-novels | 写作 | 0 | - | 10天前 | 5 |
(2个已归档挑战未显示 - 使用--all参数查看)
  • = 当前激活挑战 优先级 = 可在challenge-config.md中编辑

**添加`--all`参数后,额外显示:**

Archived Challenges

已归档挑战

| | old-project | Building | 0 | - | 2 months ago | 20 |

---
| | old-project | 项目构建 | 0 | - | 2个月前 | 20 |

---

Flow 4: Switch Challenge

流程4:切换挑战

  1. Validate challenge exists
  2. Update
    active.md
  3. Load new challenge context
  4. Confirm with status

  1. 验证挑战是否存在
  2. 更新
    active.md
    文件
  3. 加载新挑战的上下文
  4. 显示状态并确认

Flow 5: Statistics

流程5:查看统计数据

Show for active challenge:
  • Progress: Sessions, days since start, completion rate
  • Streaks: Current, longest, average gap
  • Patterns: Best day, best time, average length
  • Achievements: Earned badges with dates
  • Backlog: Completed, in-progress, pending items

显示当前激活挑战的以下信息:
  • 进度: 会话次数、挑战开始天数、完成率
  • 连续打卡: 当前连续天数、最长连续天数、平均间隔
  • 规律: 效率最高的日期、时间段、平均会话时长
  • 成就: 已获得的徽章及获取日期
  • 待办事项: 已完成、进行中、待处理的项目

Flow 6: Cross-Challenge Insights

流程6:跨挑战洞察

Analyze ALL challenges to detect:
  1. Compound Learning: Skills from one challenge enabling another
  2. Skill Transfer: Same concepts across challenges
  3. Cross-Domain: Correlations between different types
  4. Patterns: Best days, productivity trends
  5. Suggestions: Personalized recommendations
Insight formats: See
references/achievements.md

分析所有挑战以识别:
  1. 复合学习: 一个挑战中获得的技能助力另一个挑战
  2. 技能迁移: 不同挑战中的相同概念
  3. 跨领域关联: 不同类型挑战之间的相关性
  4. 行为规律: 效率最高的日期、生产力趋势
  5. 个性化建议: 定制化的改进建议
洞察格式: 详见
references/achievements.md

Flow 7: Calendar Export

流程7:日历导出

Generate
.ics
file with check-in reminders:
  • Frequency based on cadence
  • 30-day look-ahead (configurable)
  • Works with Google, Apple, Outlook calendars
Template: See
references/file-templates.md

生成
.ics
格式的打卡提醒文件:
  • 提醒频率基于挑战周期
  • 默认提前30天设置提醒(可配置)
  • 兼容Google、Apple、Outlook日历
模板: 详见
references/file-templates.md

Flow 8: Reset Challenge

流程8:重置挑战

Archives current progress and starts fresh:
  • Archives log as
    challenge-log-archived-[date].md
  • Archives sessions folder
  • Resets streak counters
  • Keeps preferences, context, backlog intact

归档当前进度并重新开始:
  • 将日志归档为
    challenge-log-archived-[date].md
  • 归档会话文件夹
  • 重置连续打卡计数器
  • 保留偏好设置、关联资源、待办事项

Flow 9: Pause Challenge

流程9:暂停挑战

Temporarily pause a challenge (plan to resume later):
  1. Validate challenge exists and is active
  2. Update
    challenge-config.md
    : set
    **Status:** paused
  3. If pausing the active challenge:
    • List other active challenges
    • Prompt: "Paused [name]. Switch to another challenge?"
    • If yes, run Flow 4 (Switch)
  4. Confirm: "Challenge [name] paused. Use
    /streak-resume [name]
    to reactivate."
Use cases: Seasonal challenges, focusing on other priorities, taking a break

暂时暂停挑战(计划后续恢复):
  1. 验证挑战存在且处于激活状态
  2. 更新
    challenge-config.md
    :设置
    **Status:** paused
  3. 如果暂停的是当前激活挑战
    • 列出其他激活中的挑战
    • 提示:"已暂停[name]。是否切换至其他挑战?"
    • 若是,执行流程4(切换挑战)
  4. 确认提示:"挑战[name]已暂停。使用
    /streak-resume [name]
    恢复挑战。"
适用场景: 季节性挑战、优先处理其他事务、需要休息

Flow 10: Archive Challenge

流程10:归档挑战

Move challenge to long-term storage (out of daily view):
  1. Validate challenge exists and is not already archived
  2. Update
    challenge-config.md
    : set
    **Status:** archived
  3. If archiving the active challenge:
    • List other active challenges
    • Prompt: "Archived [name]. Switch to another challenge?"
    • If yes, run Flow 4 (Switch)
  4. Confirm: "Challenge [name] archived. Use
    /streak-list --all
    to see archived challenges."
Use cases: Completed goals, abandoned challenges, historical record

将挑战移至长期存储(不再显示在日常视图中):
  1. 验证挑战存在且未被归档
  2. 更新
    challenge-config.md
    :设置
    **Status:** archived
  3. 如果归档的是当前激活挑战
    • 列出其他激活中的挑战
    • 提示:"已归档[name]。是否切换至其他挑战?"
    • 若是,执行流程4(切换挑战)
  4. 确认提示:"挑战[name]已归档。使用
    /streak-list --all
    查看已归档挑战。"
适用场景: 完成目标、放弃的挑战、历史记录留存

Flow 11: Resume Challenge

流程11:恢复挑战

Bring a paused or archived challenge back to active:
  1. Validate challenge exists and is paused or archived
  2. Update
    challenge-config.md
    : set
    **Status:** active
  3. Ask: "Make [name] your active challenge?"
    • If yes, update
      active.md
  4. Check days since last check-in:
    • If 7+ days: Award :muscle: Comeback badge
  5. Confirm: "Challenge [name] is now active. Ready to check in?"
Note: Resuming does NOT reset streak - it continues from where you left off.

将已暂停或已归档的挑战恢复为激活状态:
  1. 验证挑战存在且处于暂停或归档状态
  2. 更新
    challenge-config.md
    :设置
    **Status:** active
  3. 询问:"是否将[name]设置为当前激活挑战?"
    • 若是,更新
      active.md
  4. 检查距离上次打卡的天数:
    • 若超过7天:颁发:muscle: 回归者徽章
  5. 确认提示:"挑战[name]已激活。准备打卡?"
注意: 恢复挑战不会重置连续打卡天数——将从上次中断处继续。

Achievements

成就系统

Streak Badges

连续打卡徽章

BadgeRequirement
:fire: First Flame3-day streak
:fire::fire: On Fire7-day streak
:fire::fire::fire: Unstoppable30-day streak
:gem: Diamond Streak100-day streak
徽章获取条件
:fire: 初燃之火连续打卡3天
:fire::fire: 火力全开连续打卡7天
:fire::fire::fire: 势不可挡连续打卡30天
:gem: 钻石打卡连续打卡100天

Milestone Badges

里程碑徽章

BadgeRequirement
:footprints: First StepFirst check-in
:star: Dedicated10 sessions
:100: Centurion100 sessions
徽章获取条件
:footprints: 第一步首次打卡
:star: 坚持不懈完成10次会话
:100: 百次达成完成100次会话

Special Badges

特殊徽章

BadgeRequirement
:link: ConnectedFirst cross-challenge insight
:muscle: ComebackResume after 7+ days
:mortar_board: GraduateComplete challenge goal
Full list: See
references/achievements.md

徽章获取条件
:link: 关联洞察首次获得跨挑战洞察
:muscle: 回归者中断7天后恢复挑战
:mortar_board: 毕业勋章完成挑战目标
完整列表: 详见
references/achievements.md

Error Handling

错误处理

SituationResponse
No
.streak/
folder
"No challenges found. Say: Start a new challenge"
No active challengeList available challenges, prompt to switch or create
Challenge not foundList available, suggest closest match

场景响应
不存在
.streak/
文件夹
"未找到任何挑战。请输入:开始新挑战"
无激活挑战列出可用挑战,提示切换或创建新挑战
挑战不存在列出可用挑战,建议最匹配的选项

Best Practices

最佳实践

  1. Be specific in goals - "Complete Rustlings" > "Learn Rust"
  2. Start sustainable - Every 2-3 days is easier than daily
  3. Use today.md - Set context before sessions
  4. Maintain backlog - Ideas for low-energy days
  5. Review insights - Check weekly to see patterns
  6. Celebrate streaks - Achievements are real motivation
  7. Reset guilt-free - Archiving is progress, not failure
  8. Cross-pollinate - Run multiple challenges to find connections

  1. 目标具体化 - "完成Rustlings练习" > "学习Rust"
  2. 从可持续的节奏开始 - 每2-3天打卡比每日打卡更容易坚持
  3. 使用today.md - 会话前设置上下文
  4. 维护待办事项 - 为低精力日准备备用想法
  5. 定期查看洞察 - 每周查看以发现规律
  6. 庆祝连续打卡 - 成就是真实的动力来源
  7. 无需为重置感到愧疚 - 归档是一种进展,而非失败
  8. 跨挑战联动 - 同时进行多个挑战以发现关联

Reference Files

参考文件

For detailed content, see:
FileContains
references/file-templates.md
All file templates and structures
references/types.md
Type-specific questions, preferences, ideation
references/flows-detailed.md
Step-by-step flow instructions
references/achievements.md
Achievement system, insight generation

详细内容请查看:
文件包含内容
references/file-templates.md
所有文件模板与结构
references/types.md
各类型挑战的专属问题、偏好设置、创意建议
references/flows-detailed.md
流程的分步详细说明
references/achievements.md
成就系统、洞察生成规则

Examples

使用示例

30 Days of AI/ML (Building)

30天AI/ML项目构建挑战

Type: Building
Goal: Ship one AI-powered micro-app per day
Cadence: Daily
Stack: Python, TypeScript, Claude Code
类型:项目构建
目标:每天交付一个AI驱动的微应用
周期:每日
技术栈:Python, TypeScript, Claude Code

Learn Rust (Learning)

Rust学习挑战

Type: Learning
Goal: Complete Rustlings and build a CLI tool
Cadence: Every 2 days
Resources: Rustlings, The Rust Book
类型:学习
目标:完成Rustlings练习并构建一个CLI工具
周期:每2天一次
资源:Rustlings, The Rust Book

Morning Workout (Fitness)

晨间健身挑战

Type: Fitness
Goal: Build consistent strength training habit
Cadence: Daily (with rest days)
Equipment: Home gym - dumbbells, pull-up bar
类型:健身
目标:养成持续的力量训练习惯
周期:每日(包含休息日)
器材:家庭健身房 - 哑铃、引体向上杆

Daily Sketching (Creative)

每日速写挑战

Type: Creative
Goal: Draw one sketch per day for 100 days
Cadence: Daily
Medium: Digital art (Procreate)
类型:创意创作
目标:连续100天每天完成一幅速写
周期:每日
创作媒介:数字艺术(Procreate)

Morning Meditation (Habit)

晨间冥想挑战

Type: Habit
Goal: Meditate 10 minutes every morning
Cadence: Daily
Trigger: After coffee, before email
类型:习惯养成
目标:每天晨间冥想10分钟
周期:每日
触发条件:喝完咖啡后,查看邮件前