Learning Check-in Skill
Help users build a daily learning habit through simple check-ins and intelligent reminders.
Overview
This skill enables users to track their daily learning with:
- Simple daily check-in (just say "I'm done" or "check-in complete") Automatic streak tracking Optional smart reminders
Data Storage
All data is stored locally in a data subfolder next to the skill:
CODEBLOCK0
The data folder is automatically created on first use.
Commands
1. Initialize (First Time)
CODEBLOCK1
Returns:
- welcome_message - Welcome text for the user INLINECODE2 - Only contains user_language (for message display) INLINECODE4 - Suggested reminder times INLINECODE5 - Current reminder configuration status
Agent action:
1. Run the init command Show welcome message and explain the check-in process Ask user if they want daily reminders Ask user to start their first check-in
2. Check-in
CODEBLOCK2
Returns:
- success - Whether check-in was recorded INLINECODE7 - Current streak count INLINECODE8 - Celebration message (in English, translate to user's language)
3. Status
CODEBLOCK3
Returns:
- checked_in_today - Whether user has checked in today INLINECODE10 - Current streak count INLINECODE11 - Total days checked in INLINECODE12 - Status message (in English)
4. Get User Language
CODEBLOCK4
Returns:
- user_language - Detected language (zh/en)
Why needed: Only to display messages in the user's preferred language.
5. Get Reminder Message
CODEBLOCK5
Where <time> is one of: 09:00, 17:00, INLINECODE17
Returns:
- message - Reminder text (in English, translate to user's language)
6. Check Reminder Status
CODEBLOCK6
Returns:
- should_send - Whether reminder should be sent INLINECODE20 - Whether user has already checked in today
7. Update Cron Status
CODEBLOCK7
When to use: After setting up reminders (optional).
8. Get Cron Status
CODEBLOCK8
Returns:
- configured - Whether reminders are set up INLINECODE22 - Configured reminder times
Default Behavior
Check-in Rule
- User checks in once per day Simply tell the Agent "I'm done" or "check-in complete"
Reminder Strategy (Suggested)
If user wants reminders, Agent can use any scheduling method:
- Evening (20:00) is recommended as default Or user's preferred time
The skill will check if user already checked in before sending reminders.
Streak System
- Consecutive days = streak Miss a day = streak resets
Customization
Users can edit the rule.md file (in the data folder) to customize reminder messages.
Version
See GitHub releases: https://github.com/daizongyu/learning-checkin/releases
Agent Guidelines
First Interaction (Welcome)
The Agent should:
1. Be warm and encouraging Explain the simple check-in process Ask if user wants daily reminders (optional feature) Ask: "Ready to start your first check-in?"
Check-in Interaction
- Translate messages to user's language Celebrate the check-in Show streak count
Reminder Implementation (Optional)
If user wants reminders:
- Agent decides how to implement (cron, native scheduler, etc.) The skill provides reminder and message commands Check if user already checked in before sending
Technical Notes
- Data collection : Only user_language is collected for message display All messages are in English - Agent translates to user's language All file paths use UTF-8 encoding Compatible with Windows, Linux, macOS Data stored in data subfolder next to the skill No external network requests from the skillNo automatic scheduling - Agent decides implementationNo external dependencies (Python standard library only)
Version
Current version: 3.1.0
GitHub: https://github.com/daizongyu/learning-checkin
学习打卡技能
通过简单的打卡和智能提醒,帮助用户养成每日学习习惯。
概述
本技能让用户能够通过以下方式追踪每日学习:
- 简单的每日打卡(只需说我完成了或打卡完成) 自动连续打卡追踪 可选的智能提醒
数据存储
所有数据都存储在技能目录旁的data子文件夹中:
/data/
├── rule.md - 用户可自定义的规则
├── records.json - 打卡历史记录
├── version.txt - 当前技能版本
├── cron_status.json - 提醒配置状态
└── reminder_log.json - 提醒发送日志
数据文件夹在首次使用时自动创建。
命令
1. 初始化(首次使用)
bash
python path>/learningcheckin.py init
返回内容:
- welcomemessage - 欢迎用户的文本 environment - 仅包含userlanguage(用于消息显示) reminderstrategy - 建议的提醒时间 cronstatus - 当前提醒配置状态
智能体操作:
1. 运行init命令 显示欢迎消息并解释打卡流程 询问用户是否需要每日提醒 请用户开始首次打卡
2. 打卡
bash
python path>/learningcheckin.py checkin
返回内容:
- success - 打卡是否已记录 streak - 当前连续打卡天数 message - 庆祝消息(英文,需翻译为用户语言)
3. 状态查询
bash
python path>/learningcheckin.py status
返回内容:
- checkedin today - 用户今天是否已打卡 streak - 当前连续打卡天数 total_checkins - 总打卡天数 message - 状态消息(英文)
4. 获取用户语言
bash
python path>/learningcheckin.py env
返回内容:
- user_language - 检测到的语言(zh/en)
为何需要: 仅用于以用户偏好的语言显示消息。
5. 获取提醒消息
bash
python path>/learningcheckin.py message
其中为以下之一:09:00、17:00、20:00
返回内容:
- message - 提醒文本(英文,需翻译为用户语言)
6. 检查提醒状态
bash
python path>/learningcheckin.py reminder
返回内容:
- shouldsend - 是否应发送提醒 checkedin - 用户今天是否已打卡
7. 更新定时任务状态
bash
python path>/learningcheckin.py update-cron
使用时机: 设置提醒后(可选)。
8. 获取定时任务状态
bash
python path>/learningcheckin.py cron-status
返回内容:
- configured - 提醒是否已设置 times - 已配置的提醒时间
默认行为
打卡规则
- 用户每天打卡一次 只需告诉智能体我完成了或打卡完成
提醒策略(建议)
如果用户需要提醒,智能体可使用任何调度方式:
- 晚上(20:00) 建议作为默认时间 或用户偏好的时间
技能会在发送提醒前检查用户是否已打卡。
连续打卡系统
- 连续天数 = 连续打卡 错过一天 = 连续打卡重置
自定义设置
用户可以编辑rule.md文件(在data文件夹中)来自定义提醒消息。
版本信息
参见GitHub发布页面:https://github.com/daizongyu/learning-checkin/releases
智能体指南
首次互动(欢迎)
智能体应:
1. 热情鼓励 解释简单的打卡流程 询问用户是否需要每日提醒(可选功能) 询问:准备好开始首次打卡了吗?
打卡互动
- 将消息翻译为用户的语言 庆祝打卡完成 显示连续打卡天数
提醒实现(可选)
如果用户需要提醒:
- 智能体决定如何实现(cron、原生调度器等) 技能提供reminder和message命令 发送前检查用户是否已打卡
技术说明
- 数据收集 :仅收集user_language用于消息显示 所有消息均为英文 - 智能体需翻译为用户语言 所有文件路径使用UTF-8编码 兼容Windows、Linux、macOS 数据存储在技能目录旁的data子文件夹中 技能本身无外部网络请求 无自动调度 - 智能体决定实现方式无外部依赖(仅使用Python标准库)
版本信息
当前版本:3.1.0
GitHub:https://github.com/daizongyu/learning-checkin