streak
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseStreak
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 Says | Flow |
|---|---|
| "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 folder:
.streak/.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 notesFile 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.mdChallenge Types
挑战类型
| Type | Best For | Key Questions |
|---|---|---|
| Learning | Courses, books, skills | "Any aha moments?", "Progress on milestones?" |
| Building | Projects, shipping | "What did you ship?", "Any blockers?" |
| Fitness | Workouts, health | "What exercises?", "How did body feel?" |
| Creative | Art, writing, music | "What did you create?", "Any inspiration?" |
| Habit | Routines, consistency | "Did you complete it?", "How did it feel?" |
| Custom | Anything else | User-defined questions |
Type details: See
references/types.md| 挑战类型 | 适用场景 | 核心问题 |
|---|---|---|
| 学习 | 课程、书籍、技能学习 | "有哪些顿悟时刻?", "里程碑进度如何?" |
| 项目构建 | 项目开发、产品交付 | "完成了哪些交付内容?", "遇到了哪些障碍?" |
| 健身 | 锻炼、健康管理 | "进行了哪些训练?", "身体感受如何?" |
| 创意创作 | 艺术、写作、音乐创作 | "完成了哪些创作?", "有哪些灵感来源?" |
| 习惯养成 | 日常routine、坚持打卡 | "是否完成了当日任务?", "感受如何?" |
| 自定义 | 其他所有场景 | 用户自定义问题 |
类型详情: 详见
references/types.mdFlow 1: New Challenge
流程1:创建新挑战
- Initialize folder if needed
.streak/ - Ask type: Learning, Building, Fitness, Creative, Habit, or Custom
- Basic info: Name, goal, cadence (daily/every N days/weekly)
- Type-specific questions: See
references/types.md - Create files: All templates pre-filled based on answers
- Set active and confirm
Detailed steps: See
references/flows-detailed.md- 初始化:若不存在则创建文件夹
.streak/ - 选择类型:学习、项目构建、健身、创意创作、习惯养成或自定义
- 基础信息:挑战名称、目标、周期(每日/每隔N天/每周)
- 类型专属问题:详见
references/types.md - 创建文件:根据回答预填充所有模板文件
- 设置为激活状态并确认
详细步骤: 详见
references/flows-detailed.mdFlow 2: Check-in
流程2:打卡更新
Two modes: Pre-session (planning) and Post-session (wrap-up)
包含两种模式:会话前(规划)和会话后(总结)
Pre-Session Mode
会话前模式
- Load context: Read active challenge, config, today.md, preferences, backlog
- Show status: Session #, streak, days since last, on-track/due/overdue
- Quick context: Energy/time, specific focus or "surprise me", constraints
- Optional research: For Building/Learning types
- Ideation: Type-adaptive suggestions based on energy and backlog
- Prepare session: Create session folder and notes template
- 加载上下文:读取当前激活挑战、配置、today.md、偏好设置、待办事项
- 显示状态:会话编号、连续打卡天数、距离上次打卡的天数、进度状态(正常/待完成/逾期)
- 快速上下文收集:精力/时间情况、具体聚焦方向或“随机推荐”、限制条件
- 可选调研:针对项目构建/学习类型的挑战
- 创意建议:根据精力状态和待办事项提供适配挑战类型的建议
- 准备会话:创建会话文件夹与笔记模板
Post-Session Mode (user says "done")
会话后模式(用户输入"done")
- Wrap-up questions: What worked on, how it went, what's next, key learning
- Type-specific questions: See
references/types.md - Save: Update session notes, challenge-config, challenge-log, backlog
- Generate insights: Patterns, streaks, cross-challenge connections
- Check achievements: See
references/achievements.md - Completion message: Progress summary, achievements earned, insights
Shortcuts during flow:
| Say | Action |
|---|---|
| "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- 总结问题:完成了哪些内容、进展如何、下一步计划、核心收获
- 类型专属问题:详见
references/types.md - 保存数据:更新会话笔记、challenge-config、challenge-log、待办事项
- 生成洞察:识别规律、连续打卡情况、跨挑战关联
- 检查成就:详见
references/achievements.md - 完成提示:进度总结、获得的成就、生成的洞察
流程快捷指令:
| 指令 | 对应操作 |
|---|---|
| "Just research" | 仅执行调研步骤 |
| "Skip to suggestions" | 跳过调研步骤 |
| "I know what I'm doing: [idea]" | 跳过创意建议步骤 |
| "Done" / "Finished" / "Back" | 直接跳转至总结环节 |
| "Quick check-in" | 极简模式打卡 |
详细步骤: 详见
references/flows-detailed.mdFlow 3: List Challenges
流程3:列出所有挑战
Display challenges grouped by status, sorted by priority then recency.
Default: Show active + paused challenges
With flag: Include archived challenges
--allSorting order (within each group):
- Priority (higher number first, default 0)
- Last check-in (most recent first)
Display format:
undefined按状态分组显示挑战,先按优先级排序,再按最近操作时间排序。
默认显示: 激活中+已暂停的挑战
添加参数: 包含已归档的挑战
--all分组内排序规则:
- 优先级(数字越高越靠前,默认0)
- 最近打卡时间(越新越靠前)
显示格式:
undefinedActive Challenges
激活中挑战
| Name | Type | Pri | Streak | Last Check-in | Sessions | |
|---|---|---|---|---|---|---|
| * | python-courses | Learning | 10 | 5 days | 1 day ago | 3 |
| home-fitness | Fitness | 5 | 2 days | 2 days ago | 8 |
| 名称 | 类型 | 优先级 | 连续打卡天数 | 上次打卡时间 | 会话次数 | |
|---|---|---|---|---|---|---|
| * | python-courses | 学习 | 10 | 5天 | 1天前 | 3 |
| home-fitness | 健身 | 5 | 2天 | 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:切换挑战
- Validate challenge exists
- Update
active.md - Load new challenge context
- Confirm with status
- 验证挑战是否存在
- 更新文件
active.md - 加载新挑战的上下文
- 显示状态并确认
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:
- Compound Learning: Skills from one challenge enabling another
- Skill Transfer: Same concepts across challenges
- Cross-Domain: Correlations between different types
- Patterns: Best days, productivity trends
- Suggestions: Personalized recommendations
Insight formats: See
references/achievements.md分析所有挑战以识别:
- 复合学习: 一个挑战中获得的技能助力另一个挑战
- 技能迁移: 不同挑战中的相同概念
- 跨领域关联: 不同类型挑战之间的相关性
- 行为规律: 效率最高的日期、生产力趋势
- 个性化建议: 定制化的改进建议
洞察格式: 详见
references/achievements.mdFlow 7: Calendar Export
流程7:日历导出
Generate file with check-in reminders:
.ics- 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.mdFlow 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):
- Validate challenge exists and is active
- Update : set
challenge-config.md**Status:** paused - If pausing the active challenge:
- List other active challenges
- Prompt: "Paused [name]. Switch to another challenge?"
- If yes, run Flow 4 (Switch)
- Confirm: "Challenge [name] paused. Use to reactivate."
/streak-resume [name]
Use cases: Seasonal challenges, focusing on other priorities, taking a break
暂时暂停挑战(计划后续恢复):
- 验证挑战存在且处于激活状态
- 更新:设置
challenge-config.md**Status:** paused - 如果暂停的是当前激活挑战:
- 列出其他激活中的挑战
- 提示:"已暂停[name]。是否切换至其他挑战?"
- 若是,执行流程4(切换挑战)
- 确认提示:"挑战[name]已暂停。使用恢复挑战。"
/streak-resume [name]
适用场景: 季节性挑战、优先处理其他事务、需要休息
Flow 10: Archive Challenge
流程10:归档挑战
Move challenge to long-term storage (out of daily view):
- Validate challenge exists and is not already archived
- Update : set
challenge-config.md**Status:** archived - If archiving the active challenge:
- List other active challenges
- Prompt: "Archived [name]. Switch to another challenge?"
- If yes, run Flow 4 (Switch)
- Confirm: "Challenge [name] archived. Use to see archived challenges."
/streak-list --all
Use cases: Completed goals, abandoned challenges, historical record
将挑战移至长期存储(不再显示在日常视图中):
- 验证挑战存在且未被归档
- 更新:设置
challenge-config.md**Status:** archived - 如果归档的是当前激活挑战:
- 列出其他激活中的挑战
- 提示:"已归档[name]。是否切换至其他挑战?"
- 若是,执行流程4(切换挑战)
- 确认提示:"挑战[name]已归档。使用查看已归档挑战。"
/streak-list --all
适用场景: 完成目标、放弃的挑战、历史记录留存
Flow 11: Resume Challenge
流程11:恢复挑战
Bring a paused or archived challenge back to active:
- Validate challenge exists and is paused or archived
- Update : set
challenge-config.md**Status:** active - Ask: "Make [name] your active challenge?"
- If yes, update
active.md
- If yes, update
- Check days since last check-in:
- If 7+ days: Award :muscle: Comeback badge
- Confirm: "Challenge [name] is now active. Ready to check in?"
Note: Resuming does NOT reset streak - it continues from where you left off.
将已暂停或已归档的挑战恢复为激活状态:
- 验证挑战存在且处于暂停或归档状态
- 更新:设置
challenge-config.md**Status:** active - 询问:"是否将[name]设置为当前激活挑战?"
- 若是,更新
active.md
- 若是,更新
- 检查距离上次打卡的天数:
- 若超过7天:颁发:muscle: 回归者徽章
- 确认提示:"挑战[name]已激活。准备打卡?"
注意: 恢复挑战不会重置连续打卡天数——将从上次中断处继续。
Achievements
成就系统
Streak Badges
连续打卡徽章
| Badge | Requirement |
|---|---|
| :fire: First Flame | 3-day streak |
| :fire::fire: On Fire | 7-day streak |
| :fire::fire::fire: Unstoppable | 30-day streak |
| :gem: Diamond Streak | 100-day streak |
| 徽章 | 获取条件 |
|---|---|
| :fire: 初燃之火 | 连续打卡3天 |
| :fire::fire: 火力全开 | 连续打卡7天 |
| :fire::fire::fire: 势不可挡 | 连续打卡30天 |
| :gem: 钻石打卡 | 连续打卡100天 |
Milestone Badges
里程碑徽章
| Badge | Requirement |
|---|---|
| :footprints: First Step | First check-in |
| :star: Dedicated | 10 sessions |
| :100: Centurion | 100 sessions |
| 徽章 | 获取条件 |
|---|---|
| :footprints: 第一步 | 首次打卡 |
| :star: 坚持不懈 | 完成10次会话 |
| :100: 百次达成 | 完成100次会话 |
Special Badges
特殊徽章
| Badge | Requirement |
|---|---|
| :link: Connected | First cross-challenge insight |
| :muscle: Comeback | Resume after 7+ days |
| :mortar_board: Graduate | Complete challenge goal |
Full list: See
references/achievements.md| 徽章 | 获取条件 |
|---|---|
| :link: 关联洞察 | 首次获得跨挑战洞察 |
| :muscle: 回归者 | 中断7天后恢复挑战 |
| :mortar_board: 毕业勋章 | 完成挑战目标 |
完整列表: 详见
references/achievements.mdError Handling
错误处理
| Situation | Response |
|---|---|
No | "No challenges found. Say: Start a new challenge" |
| No active challenge | List available challenges, prompt to switch or create |
| Challenge not found | List available, suggest closest match |
| 场景 | 响应 |
|---|---|
不存在 | "未找到任何挑战。请输入:开始新挑战" |
| 无激活挑战 | 列出可用挑战,提示切换或创建新挑战 |
| 挑战不存在 | 列出可用挑战,建议最匹配的选项 |
Best Practices
最佳实践
- Be specific in goals - "Complete Rustlings" > "Learn Rust"
- Start sustainable - Every 2-3 days is easier than daily
- Use today.md - Set context before sessions
- Maintain backlog - Ideas for low-energy days
- Review insights - Check weekly to see patterns
- Celebrate streaks - Achievements are real motivation
- Reset guilt-free - Archiving is progress, not failure
- Cross-pollinate - Run multiple challenges to find connections
- 目标具体化 - "完成Rustlings练习" > "学习Rust"
- 从可持续的节奏开始 - 每2-3天打卡比每日打卡更容易坚持
- 使用today.md - 会话前设置上下文
- 维护待办事项 - 为低精力日准备备用想法
- 定期查看洞察 - 每周查看以发现规律
- 庆祝连续打卡 - 成就是真实的动力来源
- 无需为重置感到愧疚 - 归档是一种进展,而非失败
- 跨挑战联动 - 同时进行多个挑战以发现关联
Reference Files
参考文件
For detailed content, see:
| File | Contains |
|---|---|
| All file templates and structures |
| Type-specific questions, preferences, ideation |
| Step-by-step flow instructions |
| Achievement system, insight generation |
详细内容请查看:
| 文件 | 包含内容 |
|---|---|
| 所有文件模板与结构 |
| 各类型挑战的专属问题、偏好设置、创意建议 |
| 流程的分步详细说明 |
| 成就系统、洞察生成规则 |
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 CodeLearn 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 BookMorning 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分钟
周期:每日
触发条件:喝完咖啡后,查看邮件前