全自动层级目标管理系统,支持年度、季度、月度全维度目标录入管理,自带智能自动拆解核心能力,每日固定时段自动将高层级大目标逐层拆分细化为可执行每日任务,无需人工手动规划排布。搭配多渠道定时消息推送,清晨准时下发当日待办清单与全周期目标进度,自动记录任务完成状态,月末一键生成完整月度复盘数据,清晰统计完成率、打卡时长与执行情况。消息推送支持根据本地 OpenClaw 已配置的渠道进行灵活设置,所有数据本地文件离线存储,隐私安全不联网,轻松搞定工作、学习、健康各类计划,告别拖延轻松落地每一个长期目标。
Personal Goals Tracker Pro
功能概述
Personal Goals Tracker Pro是一项面向实际任务的技能,主要用于四季目标管理系统:设定年目标/月目标 → 自动生成每日任务 → 完成记录 + 月度汇总;本 skill 支持定时任务自动推送,首次使用前请完成以下配置:;
核心要点
- 1. 配置定时任务;
- 在 Claw 的定时任务管理界面中,添加以下三个定时任务:;
- Cron 表达式;
使用与执行
每日目标提醒;调用Skill:personal-goal。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Personal Goals Tracker Pro
四季目标管理系统:设定年目标/月目标 → 自动生成每日任务 → 完成记录 + 月度汇总。
快速上手
本 skill 支持定时任务自动推送,首次使用前请完成以下配置:
1. 配置定时任务
在 Claw 的定时任务管理界面中,添加以下三个定时任务:
| 任务名称 | Cron 表达式 | 触发消息 |
|---|---|---|
| 每日目标提醒 | 0 8 * * * |
调用Skill:personal-goals-pro,触发:查看今日任务 |
| 明日任务生成 | 0 21 * * * |
调用Skill:personal-goals-pro,触发:生成明天任务 |
| 月度目标汇总 | 0 21 L * * |
调用Skill:personal-goals-pro,触发:查看本月汇总 |
💡 Cron 表达式说明:
0 8 * * *:每天 08:00 触发0 21 * * *:每天 21:00 触发0 21 L * *:每月最后一天 21:00 触发(L 表示月末)
2. 配置 IM 推送渠道(可选)
你可以随时通过发送关键字(如「查看今日任务」「查看目标」)主动查询任务和目标。如需定时自动推送,请在 Claw 环境中配置 IM 平台(微信、钉钉、飞书等)的推送渠道,即可实现每日提醒和月度汇总的自动推送。
配置完成后即可开始使用!
配置
首次使用前,读取 skill 目录下的 config.json 获取数据存储路径:
{
"dataDir": "./data",
"maxBackups": 5
}
dataDir:数据文件的存储目录,默认为./data(相对于 skill 目录,即 config.json 所在目录)。用户可修改为任意绝对路径或相对路径maxBackups:最大备份数量,默认5。超过此数量时自动删除最旧的备份- ⚠️ 每次操作数据文件前,必须先读取
config.json获取dataDir,若为相对路径则基于 config.json 所在目录解析为绝对路径后再使用
数据文件(统一在 config.dataDir 目录下)
按月拆分文件,每月一个文件包含该月的所有数据(月度目标、日任务、完成记录),避免单文件无限膨胀,同时文件数量可控(一年仅12个):
{dataDir}/
├── goals_yearly.json # 年度目标(唯一单文件,按年份分 key)
└── monthly/ # 每月一个文件
├── 2026-05.json
├── 2026-06.json
└── ...
{dataDir}/../backups/ # 备份目录(与 dataDir 同级)
├── 2026-05-18_210000/ # 按备份时间命名
│ ├── goals_yearly.json
│ └── monthly/
│ └── ...
├── 2026-05-17_210000/
└── ... # 最多保留 maxBackups 份
💡 文件路径拼接规则:
- 年度:
{dataDir}/goals_yearly.json(单文件) - 月度/日/完成记录:
{dataDir}/monthly/{YYYY-MM}.json(每月一个文件) - 文件不存在时创建,内容为空模板(见下方格式)
goals_yearly.json 格式(按年份分 key,唯一单文件)
{
"2026": [
{
"id": "uuid",
"content": "目标描述",
"category": "health|learning|work|life|other",
"createdAt": "2026-01-15",
"active": true,
"completed": false,
"progress": 0,
"notes": [
{
"id": "uuid",
"date": "2026-03-15",
"content": "阶段性进度或附属信息"
}
]
}
],
"2027": []
}
monthly/{YYYY-MM}.json 格式(每月一个文件,包含该月全部数据)
{
"goals": [
{
"id": "uuid",
"content": "月度目标描述",
"category": "health|learning|work|life|other",
"createdAt": "2026-05-01",
"active": true,
"completed": false,
"progress": 0,
"notes": [
{
"id": "uuid",
"date": "2026-05-10",
"content": "备注内容"
}
]
}
],
"days": {
"2026-05-01": [
{
"id": "uuid",
"content": "任务描述",
"source": "manual|yearly|monthly",
"sourceGoalId": "uuid(可选,关联来源目标)",
"sourcePeriod": "2026-05(对应月度)或 2026(对应年度)",
"completed": false,
"completedAt": null,
"createdAt": "ISO date"
}
],
"2026-05-02": []
},
"completion_log": [
{
"date": "2026-05-16",
"completed": ["task-id-1", "task-id-2"],
"total": 3,
"rate": 0.67
}
]
}
💡 年目标与月目标是并列的,不存在包含关系:用户独立设定年目标和月目标,日任务由二者共同生成。
💡 跨月目标处理:拆分为两条记录,分别写入对应月份文件,各月标注进度比例。
💡 notes 字段:目标的日志记录,用于记录目标的完整生命周期事件,包括进度更新、阶段性成果、完成记录等。每条记录含 id、date、content,按时间倒序存储(最新的在前)。新建目标时 notes 默认为空数组 []。完成目标、补充备注、删除目标等操作均应自动写入一条 note。
💡 progress 字段:目标当前进度,浮点数 0~1(归一化),0 表示未开始,1 表示已完成。新建目标时默认为 0,目标 completed=true 时为 1。补充备注时根据备注内容智能推断进度并更新此字段;若无法推断则保持原值不变。展示时乘以 100 转为百分比显示。
⚠️ completion_log 按日期倒序存储(最新的在前)。
用户命令(自然语言识别)
修改数据目录
Trigger: "修改数据目录", "换个存储位置", "数据存到XX"
将 config.json 中的 dataDir 更新为用户指定路径,并提示是否迁移已有数据文件到新目录。
添加目标
Trigger: "添加目标", "新增", "加一条", "我要..."
识别层级:
- 含「今年/明年/2026年」→ 年度目标,写入 goals_yearly.json
- 含「X月」→ 月度目标,写入 monthly/{YYYY-MM}.json 的 goals 字段(默认当年)
- 含「每天/每日」→ 日任务,写入 monthly/{YYYY-MM}.json 的 days.{YYYY-MM-DD} 字段
- 默认 → 日任务
跨月目标(如「5月、6月减肥15斤」): 拆分为两条记录,分别写入 monthly/2026-05.json 和 monthly/2026-06.json 的 goals 字段,content 注明归属月份。
添加后自动提示是否需要基于此目标自动生成日任务。
查看目标
Trigger: "查看目标", "我的目标", "看看计划", "列出"
显示指定年/月的目标,注明已完成状态。
- 「看看今年的目标」→ 读取 goals_yearly.json 的 "2026" key
- 「看看5月目标」→ 读取 monthly/2026-05.json 的 goals 字段
- 展示目标时,若该目标有 notes 则一并展示最近的备注内容
补充目标备注
Trigger: "补充备注", "记录进度", "记一下", "已完成XX(非完成目标)"
为目标添加附属备注信息,不改变目标的完成状态。
- 识别目标:根据用户描述匹配对应年/月目标
- 将备注追加到目标的 notes 数组开头(倒序,最新在前),包含 id、date、content
- 根据备注内容智能推断当前进度,更新目标的 progress 字段(0~1 的浮点数)
- 可推断时更新:如目标"读6本书",备注"已读3本"→ progress=0.5
- 无法推断时保持原值:如备注仅为附属信息,无法量化进度
- 若推断进度为 1,提示用户是否将该目标标记为已完成
⚠️ 补充备注 ≠ 完成目标,仅记录进度细节,不自动修改 completed 状态。
查看今日任务
Trigger: "查看今日任务", "今日任务", "今天的任务"
读取 monthly/{YYYY-MM}.json 的 days.{YYYY-MM-DD} 字段(当日),展示当日任务及完成状态。
查看/完成/删除目标
Trigger: "完成了XX", "XX做完了", "删除XX", "完成目标:XX", "删除目标:XX"
- 完成("完成了XX"):
- 日任务:标记 completed=true,记录完成时间,同步更新 monthly/{YYYY-MM}.json 的 completion_log
- 年/月目标:标记 completed=true,progress 更新为 1,同时在 notes 中追加一条完成记录(含完成日期和说明)
- 删除("删除XX"):采用软删除,标记 active=false,不物理移除数据
- 年/月目标:将 active 设为 false,该目标不再出现在日常展示和日任务生成中,同时在 notes 中追加一条删除记录
- 日任务:将 active 设为 false,该任务不再显示
- ⚠️ 已关联的日任务不清理,保留历史记录完整性
查看本月汇总
Trigger: "查看本月汇总", "本月汇总", "月度汇总"
读取 monthly/{YYYY-MM}.json 的 completion_log,输出本月完成率和目标完成情况。
生成/更新日任务
Trigger: "生成明天任务", "更新日任务"
读取月/年目标,智能生成日任务(按来源标注)。
自动生成逻辑(核心)
每日 21:00 日任务生成规则:
年目标与月目标是并列的,日任务由二者共同生成,不存在"年目标拆解为月目标"的逻辑。
- 执行数据备份:将
config.dataDir目录下的全部内容(含goals_yearly.json、monthly/等所有文件和子目录)递归复制到{dataDir}/../backups/{YYYY-MM-DD_HHmmss}/,备份完成后检查备份数量,超过config.maxBackups则按时间倒序删除最旧的备份 - 获取次日日期,提取 YYYY-MM-DD、YYYY-MM 和 YYYY
- 读取 monthly/{YYYY-MM}.json 的 goals 字段,取该月 active 目标
- 读取 goals_yearly.json 中次日所在年份("YYYY")的 active 目标
- 将上述月目标 + 年目标中每个 active 目标各生成一条日任务,内容根据原文长度决定(≤15字直接用原文,>15字概括核心),如"减肥7斤"、"读完8本书"等
- 写入 monthly/{YYYY-MM}.json 的 days.{YYYY-MM-DD} 字段,每条任务标 source、sourceGoalId、sourcePeriod
- 不覆盖已有记录,只追加
⚠️ 关键规则:日任务内容按目标原文长度决定展示方式,绝不自行推测时间/数量!
- 目标原文 ≤ 15 字:直接使用原文作为日任务内容
- "减肥7斤" → 日任务 =
减肥7斤 - "读完8本书" → 日任务 =
读完8本书
- "减肥7斤" → 日任务 =
- 目标原文 > 15 字:在原文基础上概括核心,保留关键信息
- "5月减肥7斤,因为这个月我要去其他地方玩" → 日任务 =
减肥7斤 - "今年系统学习前端开发,完成React和Vue两个框架的实战项目" → 日任务 =
学习前端开发
- "5月减肥7斤,因为这个月我要去其他地方玩" → 日任务 =
- 不自行补充用户未提及的时长、频率、数量等细节
手动日任务:用户随时可添加,source=manual
定时任务
⚠️ 触发机制:skill 本身无法设置系统定时器,以下定时任务由外部调度器(如 cron、云函数定时触发)按时间调用,或由用户发消息时检查当前时间判断是否需要执行。
每日目标提醒(每天 08:00)
读取 monthly/{YYYY-MM}.json 的 days.{YYYY-MM-DD} 字段(当日),重点展示未完成任务,简要提及月/年目标。
明日任务生成(每天 21:00)
执行"自动生成逻辑",生成次日任务。
月度目标汇总(每月最后一天 21:00)
读取 monthly/{YYYY-MM}.json 的 completion_log,取本月记录,输出月度复盘。
推送格式
以下为模板定义,
{}内为动态变量,实际推送时替换为真实数据。
每日目标提醒(08:00)
📅 {M}月{D}日 {周X}
⏳ 今日任务:{未完成数}项未完成
{序号}. [ ] {任务内容} {来源标签}
{序号}. [x] {任务内容} {来源标签}
...
—— 🎯 目标进度 ——
{YYYY}年 | {目标内容}
{进度条} {百分比}%
{M}月 | {目标内容}
{进度条} {百分比}%
(仅展示未完成的年/月目标,已完成的不显示)
...
变量说明:
- 标题行:
{M}月{D}日 {周X}+ 未完成数;全部完成时显示⏳ 今日任务:全部完成 ✓ - 任务行:
[ ]未完成,[x]已完成 - 来源标签:年目标
[年]、月目标[月]、手动添加不显示 - 目标进度行:仅展示
completed=false的年/月目标,已完成的不显示(避免消息随完成数增多而变长);年目标用{YYYY}年 |标注年份,月目标用{M}月 |标注月份;进度百分比由progress字段(0~1)乘以 100 取整得到;进度条 10 格,█填充 +░空白
明日任务生成推送(21:00)
✅ 明日任务已生成
📆 {次日M}月{次日D}日 | 共{任务数}项
{序号}. {任务内容} {来源标签}
...
晚安,明天也要加油呀 💪
变量说明:
- 来源标签:年目标
[年]、月目标[月]、手动添加不显示
月度目标汇总推送(月末 21:00)
📊 {M}月目标复盘
━━━━━━━━━━━━━━━━
📈 整体完成率:{百分比}%
📅 达标天数:{达标天数}天 / {有记录天数}天
— 目标完成情况 —
{目标内容} ✅ 已完成
{目标内容} 🔄 进行中({百分比}%)
...
— 任务统计 —
📝 总任务:{总数}项
✅ 已完成:{完成数}项
☐ 未完成:{未完成数}项
{M+1}月继续加油,未来可期 ✨
完成打卡反馈
当用户说"完成了XX":
- 单项完成:
{任务内容} ✓ 剩余 {N} 项 - 全部完成:
今日任务全部完成 ✓
边界场景
跨月/跨年处理
- 12月31日生成次日任务:次日为1月1日,需写入
monthly/{nextYear}-01.json,读取的月目标也是1月的,年目标取新年份 - 12月完成日任务:completion_log 写入
monthly/2026-12.json,即使当前已进入1月,完成记录仍归属于任务所在月份 - 跨月目标(如"5月、6月减肥15斤"):拆分为两条记录,分别写入各自月份文件
补录历史任务
- 用户补录昨天的任务时,按目标日期(而非当前日期)写入对应
monthly/{YYYY-MM}.json的days.{YYYY-MM-DD}字段 - 若目标日期跨月(如今天是6月1日,补5月31日的任务),写入
monthly/2026-05.json - completion_log 同样写入目标日期所在月份的文件
异常处理
config.json 损坏或缺失
- 若
config.json不存在:自动重建,dataDir默认./data(相对于 skill 目录),maxBackups默认5,然后从重建后的config.json中读取配置,并提示用户「配置文件缺失,已用默认配置重建」 - 若
config.json内容非法(JSON 解析失败):备份原文件为config.json.broken,用默认值重建,提示用户「配置文件损坏,已备份并重建默认配置」
dataDir 目录不存在
- 读写数据文件前检查
dataDir目录是否存在,不存在则自动创建(含monthly/子目录) - 提示用户「数据目录不存在,已自动创建」
数据文件损坏(JSON 解析失败)
- goals_yearly.json 损坏:备份为
goals_yearly.json.broken,重建空模板{},提示用户「年度目标文件损坏,已备份并重建空文件,历史数据需手动恢复」 - monthly/{YYYY-MM}.json 损坏:备份为
{YYYY-MM}.json.broken,重建空模板(goals/days/completion_log),提示用户「X月数据文件损坏,已备份并重建空文件,该月历史数据需手动恢复」 - ⚠️ 绝不静默丢弃数据,损坏文件必须备份后才可重建
数据文件缺失
- 文件不存在时直接创建空模板,无需额外提示(这是正常首次使用场景)
通用原则
- 先备份再修复:任何损坏文件都先
.broken备份,再重建 - 主动告知用户:异常情况必须提示,不可静默处理
- 最小影响:仅重建出问题的文件,不影响其他正常文件
- 可恢复:备份文件保留原始数据,用户有机会手动抢救
Rules
- UUID 生成方式:使用
Date.now() + 随机数拼接生成,不依赖外部 UUID 库。示例:Date.now().toString(36) + Math.random().toString(36).slice(2, 8) - 所有 JSON 数据文件必须格式化:写入时使用 indent=2 缩进,ensure_ascii=False 保留中文,不可压缩成一行
- 读取数据前必须先 load 对应文件
- 写操作后立即验证 JSON 可读
- 完成日任务时同步更新 monthly/{YYYY-MM}.json 的 completion_log
- 生成日任务时注明 sourceGoalId 和 sourcePeriod 便于追溯(月目标和年目标地位平等,不存在谁拆解谁)
- 每月汇总用上个月的时间范围(不是当月)
- 日任务生成不删除同日已有任务,只追加
- completion_log 每文件内按日期倒序存储(最新的在前)
- 年度/月度目标按年份/月份精确匹配,不是模糊匹配
- 每次读写数据文件前,必须先读取 config.json 获取 dataDir,若为相对路径则基于 config.json 所在目录解析为绝对路径,用其拼接完整文件路径,不可硬编码 data/ 目录
- notes 按时间倒序存储(最新的在前),补充备注时追加到数组开头
- notes 是目标日志,完成目标、删除目标等状态变更操作均须自动追加一条 note 记录
- 补充备注(notes)不改变目标 completed 状态,仅记录附属信息
- progress 字段为 0~1 的浮点数(归一化),新建目标默认 0,completed=true 时为 1;补充备注时根据内容智能推断进度并更新,无法推断则保持原值
- 推送格式中目标进度百分比由 progress × 100 取整得到,不另行计算
热门AI工具
相关专题
Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。
0
2026.10.21
Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。
0
2026.10.21
Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。
0
2026.10.21
Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。
0
2026.10.16
怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。
0
2026.10.16
Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。
0
2026.10.16
本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。
0
2026.10.16
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.4万人学习
共6课时 | 54.7万人学习

