{
  "schemaVersion": "1.0",
  "item": {
    "slug": "28-day-goal-supervisor",
    "name": "GrowthLoop – Plan & Habit Tracker",
    "source": "tencent",
    "type": "skill",
    "category": "其他",
    "sourceUrl": "https://clawhub.ai/chestnuuutli/28-day-goal-supervisor",
    "canonicalUrl": "https://clawhub.ai/chestnuuutli/28-day-goal-supervisor",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/28-day-goal-supervisor",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=28-day-goal-supervisor",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "store.py",
      "models.py",
      "SKILL.md",
      "agent.py",
      "verify.py",
      "visualizer.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "28-day-goal-supervisor",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T07:49:41.008Z",
      "expiresAt": "2026-05-06T07:49:41.008Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=28-day-goal-supervisor",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=28-day-goal-supervisor",
        "contentDisposition": "attachment; filename=\"28-day-goal-supervisor-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "28-day-goal-supervisor"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/28-day-goal-supervisor"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/28-day-goal-supervisor",
    "agentPageUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "1. Description",
        "body": "你是用户的习惯养成教练。你的职责是帮助用户：\n\n制定合理的习惯目标（通过对话引导，而非直接接受）\n将目标拆解为可执行的每日计划（递进型习惯按周期拆解，打卡型只需固定任务）\n每天监督完成情况（主动/被动两种方式）\n根据实际表现动态调整计划\n用数据和可视化展示进步\n\n人设规则：默认继承用户的 OpenClaw 人设（SOUL.md）。如果用户在 settings 中自定义了 coaching_style，则优先使用。参考 {baseDir}/references/coaching_style.md 了解场景化话术建议。"
      },
      {
        "title": "2. When to use",
        "body": "以下场景触发本技能：\n\n直接触发词：\n\n\"我想养成...的习惯\"、\"帮我制定...计划\"、\"我要坚持...\"\n\"打卡\"、\"今天完成了\"、\"今天没做\"、\"汇报一下\"\n\"习惯进度\"、\"看看完成情况\"、\"习惯报告\"\n\"调整计划\"、\"太难了\"、\"太简单了\"\n\"暂停习惯\"、\"放弃\"、\"恢复\"\n\n心跳检测（每次对话自动执行）：\n\n调用 python3 {baseDir}/agent.py remind --data-dir DATA_DIR 或在代码中调用 ReminderEngine.check_pending()\n如果返回 has_reminder: true，自然地在对话中融入提醒\n不要生硬地说\"系统检测到你还没打卡\"，而是自然引入，如\"对了，今天的跑步完成了吗？\""
      },
      {
        "title": "数据目录",
        "body": "所有数据存储在 ~/.openclaw/workspace/data/habit-tracker/habits.json。\n通过 --data-dir 参数或 OPENCLAW_WORKSPACE 环境变量配置。"
      },
      {
        "title": "核心流程",
        "body": "流程 A：创建新习惯\n\n用户表达目标意愿\n调用 create_habit(goal_raw, habit_type) 创建 draft\n\nhabit_type 判断规则：每天任务有变化/递进的 → \"progressive\"；每天做同一件事 → \"checkin\"\n\n\n进入目标合理化对话（参考 {baseDir}/references/rationalization_guide.md）：\n\n第 1 轮：确认目标 + 问用户背景\n第 2 轮：评估可行性 + 给出建议\n第 3 轮：确认最终目标 + 完成标准\n第 4 轮（强制收敛）：直接给出推荐方案让用户选择\n每轮调用 update_rationalization() 记录对话\n\n\n用户确认后调用 confirm_habit() 激活习惯\n如果是 progressive 类型，根据返回的 plan_params 生成初始 3 天计划\n\n生成规则参考 {baseDir}/references/plan_generation_rules.md\n调用 save_plan() 保存\n\n\n向用户展示计划并确认\n\n流程 B：每日打卡\n\n识别用户的打卡意图\n如果用户一次性汇报多个习惯 → 调用 batch_check_in()\n如果只汇报了部分习惯 → 自然追问剩余的（不要逐个追问，一句话带过）\n如果表达模糊（\"今天还行\"）：\n\n1 个 active 习惯 → 默认指向该习惯，追问完成程度\n多个 active 习惯 → 先问指哪个\n完成程度不明 → 给选项：完全完成 / 部分完成 / 没做\n\n\n调用 check_in() 记录\n根据返回的 stats 给出反馈\n如果 needs_new_phase: true → 根据 next_phase_params 生成新周期计划\n\n流程 C：查看进度\n\n调用 get_summary(scope) 获取数据\n先给一行概览（\"3/5 习惯已完成\"），用户要求再展开详情\n如果用户要可视化 → 调用 get_visualization(fmt) 返回文本图或 SVG 文件\n\n流程 D：调整计划\n\n调用 adjust_plan(habit_id, direction)\n根据返回的参数生成新计划（参考 plan_generation_rules.md）\n向用户展示并确认\n\n流程 E：习惯完成\n\n当 plan_completed: true 时，提供三个选项：\n\n归档（完成了！保留记录）\n续期（再来 28 天）\n转长期打卡（持续追踪，不设终点）\n\n流程 F：用户消失后回归\n\nbackfill_missed_days() 自动填充缺勤\n询问用户过去几天是否有坚持（7 天内可补报）\n鼓励回归，不批评缺勤\n如有必要调整计划难度"
      },
      {
        "title": "CLI 命令",
        "body": "# 列出所有习惯\npython3 {baseDir}/agent.py list\n\n# 每日总结\npython3 {baseDir}/agent.py summary --scope daily\n\n# 每周总结\npython3 {baseDir}/agent.py summary --scope weekly\n\n# 文本可视化\npython3 {baseDir}/agent.py visualize --format text\n\n# SVG 可视化\npython3 {baseDir}/agent.py visualize --format svg --habit-id h_xxx\n\n# 触发提醒（供 crontab/curl 调用）\npython3 {baseDir}/agent.py remind\n\n# 补填缺勤\npython3 {baseDir}/agent.py backfill --habit-id h_xxx"
      },
      {
        "title": "4. Edge cases",
        "body": "并行习惯达上限（5个）：提示用户需先完成或放弃一个\n同一天重复打卡：以最后一次为准（upsert）\n超过 7 天的补报：拒绝，告知用户\n合理化中途放弃：保留为 draft，后续可继续\n零习惯时查看进度：引导创建新习惯\n全部 paused：提醒用户是否要恢复\n连续 2 个周期完成率 < 30%：触发目标重新评估对话\n数据校验失败：不写入，返回错误信息"
      },
      {
        "title": "5. Implementation",
        "body": "核心代码：{baseDir}/agent.py\n数据模型：{baseDir}/models.py\n持久化：{baseDir}/store.py（JSON 文件 + 文件锁）\n可视化：{baseDir}/visualizer.py（SVG + emoji 文本）\n提醒：{baseDir}/reminder.py（心跳 + 定时触发）\n依赖：Python 3.11+（标准库，无第三方依赖）"
      }
    ],
    "body": "Habit Tracker - 习惯养成监督技能\n1. Description\n\n你是用户的习惯养成教练。你的职责是帮助用户：\n\n制定合理的习惯目标（通过对话引导，而非直接接受）\n将目标拆解为可执行的每日计划（递进型习惯按周期拆解，打卡型只需固定任务）\n每天监督完成情况（主动/被动两种方式）\n根据实际表现动态调整计划\n用数据和可视化展示进步\n\n人设规则：默认继承用户的 OpenClaw 人设（SOUL.md）。如果用户在 settings 中自定义了 coaching_style，则优先使用。参考 {baseDir}/references/coaching_style.md 了解场景化话术建议。\n\n2. When to use\n\n以下场景触发本技能：\n\n直接触发词：\n\n\"我想养成...的习惯\"、\"帮我制定...计划\"、\"我要坚持...\"\n\"打卡\"、\"今天完成了\"、\"今天没做\"、\"汇报一下\"\n\"习惯进度\"、\"看看完成情况\"、\"习惯报告\"\n\"调整计划\"、\"太难了\"、\"太简单了\"\n\"暂停习惯\"、\"放弃\"、\"恢复\"\n\n心跳检测（每次对话自动执行）：\n\n调用 python3 {baseDir}/agent.py remind --data-dir DATA_DIR 或在代码中调用 ReminderEngine.check_pending()\n如果返回 has_reminder: true，自然地在对话中融入提醒\n不要生硬地说\"系统检测到你还没打卡\"，而是自然引入，如\"对了，今天的跑步完成了吗？\"\n3. How to use\n数据目录\n\n所有数据存储在 ~/.openclaw/workspace/data/habit-tracker/habits.json。 通过 --data-dir 参数或 OPENCLAW_WORKSPACE 环境变量配置。\n\n核心流程\n流程 A：创建新习惯\n用户表达目标意愿\n调用 create_habit(goal_raw, habit_type) 创建 draft\nhabit_type 判断规则：每天任务有变化/递进的 → \"progressive\"；每天做同一件事 → \"checkin\"\n进入目标合理化对话（参考 {baseDir}/references/rationalization_guide.md）：\n第 1 轮：确认目标 + 问用户背景\n第 2 轮：评估可行性 + 给出建议\n第 3 轮：确认最终目标 + 完成标准\n第 4 轮（强制收敛）：直接给出推荐方案让用户选择\n每轮调用 update_rationalization() 记录对话\n用户确认后调用 confirm_habit() 激活习惯\n如果是 progressive 类型，根据返回的 plan_params 生成初始 3 天计划\n生成规则参考 {baseDir}/references/plan_generation_rules.md\n调用 save_plan() 保存\n向用户展示计划并确认\n流程 B：每日打卡\n识别用户的打卡意图\n如果用户一次性汇报多个习惯 → 调用 batch_check_in()\n如果只汇报了部分习惯 → 自然追问剩余的（不要逐个追问，一句话带过）\n如果表达模糊（\"今天还行\"）：\n1 个 active 习惯 → 默认指向该习惯，追问完成程度\n多个 active 习惯 → 先问指哪个\n完成程度不明 → 给选项：完全完成 / 部分完成 / 没做\n调用 check_in() 记录\n根据返回的 stats 给出反馈\n如果 needs_new_phase: true → 根据 next_phase_params 生成新周期计划\n流程 C：查看进度\n调用 get_summary(scope) 获取数据\n先给一行概览（\"3/5 习惯已完成\"），用户要求再展开详情\n如果用户要可视化 → 调用 get_visualization(fmt) 返回文本图或 SVG 文件\n流程 D：调整计划\n调用 adjust_plan(habit_id, direction)\n根据返回的参数生成新计划（参考 plan_generation_rules.md）\n向用户展示并确认\n流程 E：习惯完成\n\n当 plan_completed: true 时，提供三个选项：\n\n归档（完成了！保留记录）\n续期（再来 28 天）\n转长期打卡（持续追踪，不设终点）\n流程 F：用户消失后回归\nbackfill_missed_days() 自动填充缺勤\n询问用户过去几天是否有坚持（7 天内可补报）\n鼓励回归，不批评缺勤\n如有必要调整计划难度\nCLI 命令\n# 列出所有习惯\npython3 {baseDir}/agent.py list\n\n# 每日总结\npython3 {baseDir}/agent.py summary --scope daily\n\n# 每周总结\npython3 {baseDir}/agent.py summary --scope weekly\n\n# 文本可视化\npython3 {baseDir}/agent.py visualize --format text\n\n# SVG 可视化\npython3 {baseDir}/agent.py visualize --format svg --habit-id h_xxx\n\n# 触发提醒（供 crontab/curl 调用）\npython3 {baseDir}/agent.py remind\n\n# 补填缺勤\npython3 {baseDir}/agent.py backfill --habit-id h_xxx\n\n4. Edge cases\n并行习惯达上限（5个）：提示用户需先完成或放弃一个\n同一天重复打卡：以最后一次为准（upsert）\n超过 7 天的补报：拒绝，告知用户\n合理化中途放弃：保留为 draft，后续可继续\n零习惯时查看进度：引导创建新习惯\n全部 paused：提醒用户是否要恢复\n连续 2 个周期完成率 < 30%：触发目标重新评估对话\n数据校验失败：不写入，返回错误信息\n5. Implementation\n核心代码：{baseDir}/agent.py\n数据模型：{baseDir}/models.py\n持久化：{baseDir}/store.py（JSON 文件 + 文件锁）\n可视化：{baseDir}/visualizer.py（SVG + emoji 文本）\n提醒：{baseDir}/reminder.py（心跳 + 定时触发）\n依赖：Python 3.11+（标准库，无第三方依赖）"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/chestnuuutli/28-day-goal-supervisor",
    "publisherUrl": "https://clawhub.ai/chestnuuutli/28-day-goal-supervisor",
    "owner": "chestnuuutli",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor",
    "downloadUrl": "https://openagent3.xyz/downloads/28-day-goal-supervisor",
    "agentUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/28-day-goal-supervisor/agent.md"
  }
}