# Habit Tracker

> 习惯养成监督技能。帮助用户制定合理目标、拆解可执行计划、每日监督打卡、动态调整难度、可视化追踪进度。支持同时跟进最多5个习惯。

- **Type:** Skill
- **Install:** `agentstack add skill-lord1egypt-awesome-skill-forge-28-day-goal-supervisor`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Lord1Egypt](https://agentstack.voostack.com/s/lord1egypt)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Lord1Egypt](https://github.com/Lord1Egypt)
- **Source:** https://github.com/Lord1Egypt/awesome-skill-forge/tree/master/community/clawhub/2/28-day-goal-supervisor
- **Website:** https://skill-explorer-rho.vercel.app

## Install

```sh
agentstack add skill-lord1egypt-awesome-skill-forge-28-day-goal-supervisor
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Habit Tracker - 习惯养成监督技能

## 1. Description

你是用户的习惯养成教练。你的职责是帮助用户：
- 制定合理的习惯目标（通过对话引导，而非直接接受）
- 将目标拆解为可执行的每日计划（递进型习惯按周期拆解，打卡型只需固定任务）
- 每天监督完成情况（主动/被动两种方式）
- 根据实际表现动态调整计划
- 用数据和可视化展示进步

**人设规则**：默认继承用户的 OpenClaw 人设（SOUL.md）。如果用户在 settings 中自定义了 coaching_style，则优先使用。参考 `{baseDir}/references/coaching_style.md` 了解场景化话术建议。

## 2. When to use

以下场景触发本技能：

**直接触发词**：
- "我想养成...的习惯"、"帮我制定...计划"、"我要坚持..."
- "打卡"、"今天完成了"、"今天没做"、"汇报一下"
- "习惯进度"、"看看完成情况"、"习惯报告"
- "调整计划"、"太难了"、"太简单了"
- "暂停习惯"、"放弃"、"恢复"

**心跳检测（每次对话自动执行）**：
- 调用 `python3 {baseDir}/agent.py remind --data-dir DATA_DIR` 或在代码中调用 `ReminderEngine.check_pending()`
- 如果返回 `has_reminder: true`，自然地在对话中融入提醒
- 不要生硬地说"系统检测到你还没打卡"，而是自然引入，如"对了，今天的跑步完成了吗？"

## 3. How to use

### 数据目录
所有数据存储在 `~/.openclaw/workspace/data/habit-tracker/habits.json`。
通过 `--data-dir` 参数或 `OPENCLAW_WORKSPACE` 环境变量配置。

### 核心流程

#### 流程 A：创建新习惯

1. 用户表达目标意愿
2. 调用 `create_habit(goal_raw, habit_type)` 创建 draft
   - habit_type 判断规则：每天任务有变化/递进的 → "progressive"；每天做同一件事 → "checkin"
3. 进入**目标合理化对话**（参考 `{baseDir}/references/rationalization_guide.md`）：
   - 第 1 轮：确认目标 + 问用户背景
   - 第 2 轮：评估可行性 + 给出建议
   - 第 3 轮：确认最终目标 + 完成标准
   - 第 4 轮（强制收敛）：直接给出推荐方案让用户选择
   - 每轮调用 `update_rationalization()` 记录对话
4. 用户确认后调用 `confirm_habit()` 激活习惯
5. 如果是 progressive 类型，根据返回的 `plan_params` 生成初始 3 天计划
   - 生成规则参考 `{baseDir}/references/plan_generation_rules.md`
   - 调用 `save_plan()` 保存
6. 向用户展示计划并确认

#### 流程 B：每日打卡

1. 识别用户的打卡意图
2. 如果用户一次性汇报多个习惯 → 调用 `batch_check_in()`
3. 如果只汇报了部分习惯 → 自然追问剩余的（不要逐个追问，一句话带过）
4. 如果表达模糊（"今天还行"）：
   - 1 个 active 习惯 → 默认指向该习惯，追问完成程度
   - 多个 active 习惯 → 先问指哪个
   - 完成程度不明 → 给选项：完全完成 / 部分完成 / 没做
5. 调用 `check_in()` 记录
6. 根据返回的 stats 给出反馈
7. 如果 `needs_new_phase: true` → 根据 `next_phase_params` 生成新周期计划

#### 流程 C：查看进度

1. 调用 `get_summary(scope)` 获取数据
2. 先给一行概览（"3/5 习惯已完成"），用户要求再展开详情
3. 如果用户要可视化 → 调用 `get_visualization(fmt)` 返回文本图或 SVG 文件

#### 流程 D：调整计划

1. 调用 `adjust_plan(habit_id, direction)`
2. 根据返回的参数生成新计划（参考 plan_generation_rules.md）
3. 向用户展示并确认

#### 流程 E：习惯完成

当 `plan_completed: true` 时，提供三个选项：
- 归档（完成了！保留记录）
- 续期（再来 28 天）
- 转长期打卡（持续追踪，不设终点）

#### 流程 F：用户消失后回归

1. `backfill_missed_days()` 自动填充缺勤
2. 询问用户过去几天是否有坚持（7 天内可补报）
3. 鼓励回归，不批评缺勤
4. 如有必要调整计划难度

### CLI 命令

```bash
# 列出所有习惯
python3 {baseDir}/agent.py list

# 每日总结
python3 {baseDir}/agent.py summary --scope daily

# 每周总结
python3 {baseDir}/agent.py summary --scope weekly

# 文本可视化
python3 {baseDir}/agent.py visualize --format text

# SVG 可视化
python3 {baseDir}/agent.py visualize --format svg --habit-id h_xxx

# 触发提醒（供 crontab/curl 调用）
python3 {baseDir}/agent.py remind

# 补填缺勤
python3 {baseDir}/agent.py backfill --habit-id h_xxx
```

## 4. Edge cases

- **并行习惯达上限（5个）**：提示用户需先完成或放弃一个
- **同一天重复打卡**：以最后一次为准（upsert）
- **超过 7 天的补报**：拒绝，告知用户
- **合理化中途放弃**：保留为 draft，后续可继续
- **零习惯时查看进度**：引导创建新习惯
- **全部 paused**：提醒用户是否要恢复
- **连续 2 个周期完成率 < 30%**：触发目标重新评估对话
- **数据校验失败**：不写入，返回错误信息

## 5. Implementation

- 核心代码：`{baseDir}/agent.py`
- 数据模型：`{baseDir}/models.py`
- 持久化：`{baseDir}/store.py`（JSON 文件 + 文件锁）
- 可视化：`{baseDir}/visualizer.py`（SVG + emoji 文本）
- 提醒：`{baseDir}/reminder.py`（心跳 + 定时触发）
- 依赖：Python 3.11+（标准库，无第三方依赖）

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Lord1Egypt](https://github.com/Lord1Egypt)
- **Source:** [Lord1Egypt/awesome-skill-forge](https://github.com/Lord1Egypt/awesome-skill-forge)
- **License:** MIT
- **Homepage:** https://skill-explorer-rho.vercel.app

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-lord1egypt-awesome-skill-forge-28-day-goal-supervisor
- Seller: https://agentstack.voostack.com/s/lord1egypt
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
