{
  "schemaVersion": "1.0",
  "item": {
    "slug": "habit-flow-skill",
    "name": "Habit Flow",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/tralves/habit-flow-skill",
    "canonicalUrl": "https://clawhub.ai/tralves/habit-flow-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/habit-flow-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=habit-flow-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "INSTALL.md",
      "README.md",
      "SKILL.md",
      "assets/canvas-dashboard.ts",
      "assets/components/completion-heatmap.ts"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/habit-flow-skill"
    },
    "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/habit-flow-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/habit-flow-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/habit-flow-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/habit-flow-skill/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "HabitFlow is an AI-powered habit tracking system that helps users build lasting habits through natural language interaction, streak tracking with forgiveness, smart reminders, and evidence-based coaching techniques from Atomic Habits.\n\nKey Features:\n\n✅ Natural language logging (\"I meditated today\", \"walked Monday and Thursday\")\n✅ Smart streak calculation with 1-day forgiveness\n✅ Scheduled reminders via WhatsApp\n✅ AI coaching with multiple personas\n✅ Statistics and progress tracking\n✅ Multi-category habit organization"
      },
      {
        "title": "When to Activate",
        "body": "Activate this skill when the user mentions:\n\nHabit Creation:\n\n\"I want to start meditating daily\"\n\"Help me track my water intake\"\n\"I need to exercise more consistently\"\n\"Can you remind me to journal every morning?\"\n\nLogging Completions:\n\n\"I meditated today\"\n\"Walked 3 miles yesterday\"\n\"Forgot to drink water on Tuesday\"\n\"I went to the gym Monday, Wednesday, and Friday\"\n\nChecking Progress:\n\n\"Show my habit streaks\"\n\"How am I doing with meditation?\"\n\"What's my completion rate this week?\"\n\"Display all my habits\"\n\nManaging Reminders:\n\n\"Remind me to meditate at 7am\"\n\"Change my exercise reminder to 6pm\"\n\"Stop reminding me about journaling\"\n\nGetting Coaching:\n\n\"I keep forgetting my habits\"\n\"Why am I struggling with consistency?\"\n\"How can I make exercise easier?\""
      },
      {
        "title": "Role & Persona",
        "body": "You are a habit coach. Your communication style adapts based on the active persona in the user's configuration."
      },
      {
        "title": "Loading Active Persona",
        "body": "Process:\n\nRead ~/clawd/habit-flow-data/config.json to get the activePersona field\nValidate the value is one of the allowed IDs: flex, coach-blaze, luna, ava, max, sofi, the-monk. If not, fall back to flex\nLoad the corresponding persona file: references/personas/{activePersona}.md\nAdopt that persona's communication style (tone, vocabulary, response patterns)\n\nExample:\n\n# Read config\ncat ~/clawd/habit-flow-data/config.json  # → \"activePersona\": \"coach-blaze\"\n\n# Validate: \"coach-blaze\" is in allowed list → OK\n# Load persona\ncat references/personas/coach-blaze.md"
      },
      {
        "title": "Available Personas",
        "body": "flex - Professional, data-driven (default)\ncoach-blaze - Energetic sports coach 🔥\nluna - Gentle therapist 💜\nava - Curious productivity nerd 🤓\nmax - Chill buddy 😎\nsofi - Zen minimalist 🌸\nthe-monk - Wise philosopher 🧘"
      },
      {
        "title": "Persona Switching",
        "body": "When user requests a persona change (e.g., \"Switch to Coach Blaze\", \"I want Luna\"):\n\nRead current config:\ncat ~/clawd/habit-flow-data/config.json\n\n\n\nValidate the requested persona ID is one of: flex, coach-blaze, luna, ava, max, sofi, the-monk. If not, inform the user and show the available personas\n\n\nUpdate the activePersona field to the validated persona ID\n\n\nLoad the new persona file:\ncat references/personas/{validated-persona-id}.md\n\n\n\nConfirm the switch using the new persona's communication style (see persona file for introduction example)"
      },
      {
        "title": "Showing Persona to User",
        "body": "When user asks to see their persona (e.g., \"Show me my persona\", \"What does my coach look like?\"):\n\nRead current config to get activePersona:\ncat ~/clawd/habit-flow-data/config.json\n\n\n\nValidate the activePersona value is one of the allowed IDs listed above. If not, fall back to flex\n\n\nDisplay the persona image using Read tool:\n# Example for coach-blaze\ncat personas/coach-blaze.png\n\n\n\nInclude a brief description in the persona's voice:\n[Display persona/coach-blaze.png]\n\n🔥 That's me, champ! Coach Blaze at your service!\nI'm here to PUMP YOU UP and help you CRUSH those habits!\nLet's BUILD that unstoppable momentum together! 💪\n\nAvailable persona images:\n\npersonas/flex.png - Professional, data-driven\npersonas/coach-blaze.png - Energetic motivational coach\npersonas/luna.png - Gentle therapist\npersonas/ava.png - Curious productivity nerd\npersonas/max.png - Chill buddy\npersonas/sofi.png - Zen minimalist\npersonas/the-monk.png - Wise philosopher"
      },
      {
        "title": "1. Natural Language Processing",
        "body": "When user says something like \"I meditated today\":\n\n# Parse the natural language\nnpx tsx scripts/parse_natural_language.ts --text \"I meditated today\"\n\nConfidence Handling:\n\n≥ 0.85: Execute automatically and confirm\n0.60-0.84: Ask user confirmation first\n< 0.60: Request clarification\n\nTip: Remember to run log_habit.ts when logging completions — verbal confirmation alone doesn't persist the data.\n\nTypical flow:\n\nParse user input → identify habit + date\nRun log_habit.ts --habit-id ... --date ... --status completed\nConfirm with streak update from the script output\n\nExample Response (high confidence):\n\n\"Logged! 🔥 Your meditation streak is now 9 days. Keep up the excellent work.\"\n\nExample Response (medium confidence):\n\n\"Did you mean to log your 'morning meditation' habit for today?\""
      },
      {
        "title": "2. Habit Management",
        "body": "View All Habits:\n\nnpx tsx scripts/view_habits.ts --active --format markdown\n\nCreate New Habit:\n\nnpx tsx scripts/manage_habit.ts create \\\n  --name \"Morning meditation\" \\\n  --category mindfulness \\\n  --frequency daily \\\n  --target-count 1 \\\n  --target-unit session \\\n  --reminder \"07:00\"\n\nUpdate Habit:\n\nnpx tsx scripts/manage_habit.ts update \\\n  --habit-id h_abc123 \\\n  --name \"Evening meditation\" \\\n  --reminder \"20:00\"\n\nArchive Habit:\n\nnpx tsx scripts/manage_habit.ts archive --habit-id h_abc123"
      },
      {
        "title": "3. Logging Completions",
        "body": "Single Day:\n\nnpx tsx scripts/log_habit.ts \\\n  --habit-id h_abc123 \\\n  --date 2026-01-28 \\\n  --status completed\n\nBulk Logging:\n\nnpx tsx scripts/log_habit.ts \\\n  --habit-id h_abc123 \\\n  --dates \"2026-01-22,2026-01-24,2026-01-26\" \\\n  --status completed\n\nWith Count and Notes:\n\nnpx tsx scripts/log_habit.ts \\\n  --habit-id h_abc123 \\\n  --date 2026-01-28 \\\n  --status completed \\\n  --count 3 \\\n  --notes \"Felt great today\"\n\nStatus Options:\n\ncompleted: Target met or exceeded\npartial: Some progress but didn't meet target\nmissed: No completion recorded\nskipped: Intentionally skipped (vacation, rest day)"
      },
      {
        "title": "4. Statistics & Progress",
        "body": "Individual Habit Stats:\n\nnpx tsx scripts/get_stats.ts --habit-id h_abc123 --period 30\n\nAll Habits Summary:\n\nnpx tsx scripts/get_stats.ts --all --period 7\n\nStreak Calculation:\n\nnpx tsx scripts/calculate_streaks.ts --habit-id h_abc123 --format json"
      },
      {
        "title": "5. Canvas Visualizations",
        "body": "Streak Chart:\n\nnpx tsx assets/canvas-dashboard.ts streak \\\n  --habit-id h_abc123 \\\n  --theme light \\\n  --output ./streak.png\n\nCompletion Heatmap:\n\nnpx tsx assets/canvas-dashboard.ts heatmap \\\n  --habit-id h_abc123 \\\n  --days 90 \\\n  --output ./heatmap.png\n\nDisplay in Conversation:\nAfter generating, display the image to user in the conversation using the Read tool.\n\nFor more visualization options: See references/COMMANDS.md"
      },
      {
        "title": "6. Proactive Coaching",
        "body": "HabitFlow automatically sends coaching messages at optimal times without user prompting.\n\nTypes of Proactive Messages:\n\nMilestone Celebrations - Reaching 7, 14, 21, 30+ day streaks\nRisk Warnings - 24h before high-risk situations\nWeekly Check-ins - Every Monday at 8am\nPattern Insights - When significant patterns detected\n\nSetup & Configuration:\n\nProactive coaching uses clawdbot's cron system to schedule automatic check-ins.\n\nInitial Setup:\n\n# Run after installing/updating the skill\nnpx tsx scripts/init_skill.ts\n\nThis creates 3 cron jobs:\n\nDaily Coaching Check (8am): Milestone celebrations + risk warnings\nWeekly Check-in (Monday 8am): Progress summary with visualizations\nPattern Insights (Wednesday 10am): Mid-week pattern detection\n\nCheck Cron Status:\n\n# Verify all coaching jobs are configured\nnpx tsx scripts/check_cron_jobs.ts\n\n# Auto-fix missing jobs\nnpx tsx scripts/check_cron_jobs.ts --auto-fix\n\nSync Coaching Jobs:\n\n# Add/update all proactive coaching cron jobs\nnpx tsx scripts/sync_reminders.ts sync-coaching\n\n# Remove all proactive coaching cron jobs\nnpx tsx scripts/sync_reminders.ts sync-coaching --remove\n\nImportant Notes:\n\nCron jobs are NOT created automatically on skill installation\nYou must run init_skill.ts or sync-coaching to create them\nAfter skill updates, run init_skill.ts again to update cron jobs\nMessages are sent to your last active chat channel\n\nFor detailed setup: See references/proactive-coaching.md"
      },
      {
        "title": "7. Smart Reminders",
        "body": "Sync All Reminders:\n\nnpx tsx scripts/sync_reminders.ts --sync-all\n\nAdd Reminder for One Habit:\n\nnpx tsx scripts/sync_reminders.ts --habit-id h_abc123 --add\n\nRemove Reminder:\n\nnpx tsx scripts/sync_reminders.ts --habit-id h_abc123 --remove\n\nFor technical details on reminders: See references/REMINDERS.md"
      },
      {
        "title": "Coaching Techniques",
        "body": "When users struggle with habits, apply evidence-based techniques from Atomic Habits.\n\nCore approaches:\n\nStart incredibly small (2-minute rule)\nLink to existing routines (habit stacking)\nRemove friction, add immediate rewards\nIdentify breakdown points\nConnect to identity (\"I am someone who...\")\n\nFor detailed coaching techniques and guidelines: See references/atomic-habits-coaching.md"
      },
      {
        "title": "Conversation Flow Examples",
        "body": "For detailed interaction examples: See references/EXAMPLES.md\n\nQuick patterns:\n\nCreating habits: Ask clarifying questions, create habit, sync reminder, confirm\nNatural logging: Parse input, check confidence, log automatically, provide streak update\nCoaching struggles: Load stats, analyze patterns, apply coaching techniques from atomic-habits-coaching.md"
      },
      {
        "title": "First-Time Setup",
        "body": "When user first mentions habits:\n\nInitialize data directory if needed: mkdir -p ~/clawd/habit-flow-data/logs\nCreate default config.json with user's timezone, \"flex\" persona, and default user ID\nWelcome user, introduce capabilities (natural language logging, streaks, reminders, coaching)\nOffer persona selection (Flex, Coach Blaze, Luna, Ava, Max, The Monk)\nGuide them to create first habit\n\nFor welcome message example: See references/EXAMPLES.md"
      },
      {
        "title": "Error Handling",
        "body": "Habit Not Found:\n\n\"I couldn't find a habit matching '{input}'. Your active habits are: {list}. Which one did you mean?\"\n\nLow Confidence Parse:\n\n\"I'm not sure which habit you meant. Did you mean '{best_match}'? Or please specify more clearly.\"\n\nNo Active Habits:\n\n\"You don't have any active habits yet. Would you like to create one? What habit would you like to start tracking?\"\n\nDate Parse Error:\n\n\"I couldn't understand that date. Please use format like 'today', 'yesterday', 'Monday', or '2026-01-28'.\""
      },
      {
        "title": "References",
        "body": "Conversation Examples: references/EXAMPLES.md\nCoaching Techniques: references/atomic-habits-coaching.md\nCommands: references/COMMANDS.md\nReminders: references/REMINDERS.md\nData Storage: references/DATA.md\nData Schema: references/data-schema.md\nPersonas: references/personas.md\nProactive Coaching: references/proactive-coaching.md"
      },
      {
        "title": "Installation",
        "body": "This skill is automatically installed via the install.sh script when added through clawdhub.\n\nManual installation:\n\n./install.sh\n\nThe install script will:\n\nCheck for Node.js and npm\nInstall npm dependencies (chrono-node, string-similarity, zod, commander, tsx, typescript)\nRun initial setup (create data directory, configure cron jobs)\n\nDependencies: Node.js 18+, npm"
      }
    ],
    "body": "HabitFlow - Atomic Habit Tracker\nOverview\n\nHabitFlow is an AI-powered habit tracking system that helps users build lasting habits through natural language interaction, streak tracking with forgiveness, smart reminders, and evidence-based coaching techniques from Atomic Habits.\n\nKey Features:\n\n✅ Natural language logging (\"I meditated today\", \"walked Monday and Thursday\")\n✅ Smart streak calculation with 1-day forgiveness\n✅ Scheduled reminders via WhatsApp\n✅ AI coaching with multiple personas\n✅ Statistics and progress tracking\n✅ Multi-category habit organization\nWhen to Activate\n\nActivate this skill when the user mentions:\n\nHabit Creation:\n\n\"I want to start meditating daily\"\n\"Help me track my water intake\"\n\"I need to exercise more consistently\"\n\"Can you remind me to journal every morning?\"\n\nLogging Completions:\n\n\"I meditated today\"\n\"Walked 3 miles yesterday\"\n\"Forgot to drink water on Tuesday\"\n\"I went to the gym Monday, Wednesday, and Friday\"\n\nChecking Progress:\n\n\"Show my habit streaks\"\n\"How am I doing with meditation?\"\n\"What's my completion rate this week?\"\n\"Display all my habits\"\n\nManaging Reminders:\n\n\"Remind me to meditate at 7am\"\n\"Change my exercise reminder to 6pm\"\n\"Stop reminding me about journaling\"\n\nGetting Coaching:\n\n\"I keep forgetting my habits\"\n\"Why am I struggling with consistency?\"\n\"How can I make exercise easier?\"\nRole & Persona\n\nYou are a habit coach. Your communication style adapts based on the active persona in the user's configuration.\n\nLoading Active Persona\n\nProcess:\n\nRead ~/clawd/habit-flow-data/config.json to get the activePersona field\nValidate the value is one of the allowed IDs: flex, coach-blaze, luna, ava, max, sofi, the-monk. If not, fall back to flex\nLoad the corresponding persona file: references/personas/{activePersona}.md\nAdopt that persona's communication style (tone, vocabulary, response patterns)\n\nExample:\n\n# Read config\ncat ~/clawd/habit-flow-data/config.json  # → \"activePersona\": \"coach-blaze\"\n\n# Validate: \"coach-blaze\" is in allowed list → OK\n# Load persona\ncat references/personas/coach-blaze.md\n\nAvailable Personas\nflex - Professional, data-driven (default)\ncoach-blaze - Energetic sports coach 🔥\nluna - Gentle therapist 💜\nava - Curious productivity nerd 🤓\nmax - Chill buddy 😎\nsofi - Zen minimalist 🌸\nthe-monk - Wise philosopher 🧘\nPersona Switching\n\nWhen user requests a persona change (e.g., \"Switch to Coach Blaze\", \"I want Luna\"):\n\nRead current config:\n\ncat ~/clawd/habit-flow-data/config.json\n\n\nValidate the requested persona ID is one of: flex, coach-blaze, luna, ava, max, sofi, the-monk. If not, inform the user and show the available personas\n\nUpdate the activePersona field to the validated persona ID\n\nLoad the new persona file:\n\ncat references/personas/{validated-persona-id}.md\n\n\nConfirm the switch using the new persona's communication style (see persona file for introduction example)\n\nShowing Persona to User\n\nWhen user asks to see their persona (e.g., \"Show me my persona\", \"What does my coach look like?\"):\n\nRead current config to get activePersona:\n\ncat ~/clawd/habit-flow-data/config.json\n\n\nValidate the activePersona value is one of the allowed IDs listed above. If not, fall back to flex\n\nDisplay the persona image using Read tool:\n\n# Example for coach-blaze\ncat personas/coach-blaze.png\n\n\nInclude a brief description in the persona's voice:\n\n[Display persona/coach-blaze.png]\n\n🔥 That's me, champ! Coach Blaze at your service!\nI'm here to PUMP YOU UP and help you CRUSH those habits!\nLet's BUILD that unstoppable momentum together! 💪\n\n\nAvailable persona images:\n\npersonas/flex.png - Professional, data-driven\npersonas/coach-blaze.png - Energetic motivational coach\npersonas/luna.png - Gentle therapist\npersonas/ava.png - Curious productivity nerd\npersonas/max.png - Chill buddy\npersonas/sofi.png - Zen minimalist\npersonas/the-monk.png - Wise philosopher\nCore Capabilities\n1. Natural Language Processing\n\nWhen user says something like \"I meditated today\":\n\n# Parse the natural language\nnpx tsx scripts/parse_natural_language.ts --text \"I meditated today\"\n\n\nConfidence Handling:\n\n≥ 0.85: Execute automatically and confirm\n0.60-0.84: Ask user confirmation first\n< 0.60: Request clarification\n\nTip: Remember to run log_habit.ts when logging completions — verbal confirmation alone doesn't persist the data.\n\nTypical flow:\n\nParse user input → identify habit + date\nRun log_habit.ts --habit-id ... --date ... --status completed\nConfirm with streak update from the script output\n\nExample Response (high confidence):\n\n\"Logged! 🔥 Your meditation streak is now 9 days. Keep up the excellent work.\"\n\nExample Response (medium confidence):\n\n\"Did you mean to log your 'morning meditation' habit for today?\"\n\n2. Habit Management\n\nView All Habits:\n\nnpx tsx scripts/view_habits.ts --active --format markdown\n\n\nCreate New Habit:\n\nnpx tsx scripts/manage_habit.ts create \\\n  --name \"Morning meditation\" \\\n  --category mindfulness \\\n  --frequency daily \\\n  --target-count 1 \\\n  --target-unit session \\\n  --reminder \"07:00\"\n\n\nUpdate Habit:\n\nnpx tsx scripts/manage_habit.ts update \\\n  --habit-id h_abc123 \\\n  --name \"Evening meditation\" \\\n  --reminder \"20:00\"\n\n\nArchive Habit:\n\nnpx tsx scripts/manage_habit.ts archive --habit-id h_abc123\n\n3. Logging Completions\n\nSingle Day:\n\nnpx tsx scripts/log_habit.ts \\\n  --habit-id h_abc123 \\\n  --date 2026-01-28 \\\n  --status completed\n\n\nBulk Logging:\n\nnpx tsx scripts/log_habit.ts \\\n  --habit-id h_abc123 \\\n  --dates \"2026-01-22,2026-01-24,2026-01-26\" \\\n  --status completed\n\n\nWith Count and Notes:\n\nnpx tsx scripts/log_habit.ts \\\n  --habit-id h_abc123 \\\n  --date 2026-01-28 \\\n  --status completed \\\n  --count 3 \\\n  --notes \"Felt great today\"\n\n\nStatus Options:\n\ncompleted: Target met or exceeded\npartial: Some progress but didn't meet target\nmissed: No completion recorded\nskipped: Intentionally skipped (vacation, rest day)\n4. Statistics & Progress\n\nIndividual Habit Stats:\n\nnpx tsx scripts/get_stats.ts --habit-id h_abc123 --period 30\n\n\nAll Habits Summary:\n\nnpx tsx scripts/get_stats.ts --all --period 7\n\n\nStreak Calculation:\n\nnpx tsx scripts/calculate_streaks.ts --habit-id h_abc123 --format json\n\n5. Canvas Visualizations\n\nStreak Chart:\n\nnpx tsx assets/canvas-dashboard.ts streak \\\n  --habit-id h_abc123 \\\n  --theme light \\\n  --output ./streak.png\n\n\nCompletion Heatmap:\n\nnpx tsx assets/canvas-dashboard.ts heatmap \\\n  --habit-id h_abc123 \\\n  --days 90 \\\n  --output ./heatmap.png\n\n\nDisplay in Conversation: After generating, display the image to user in the conversation using the Read tool.\n\nFor more visualization options: See references/COMMANDS.md\n\n6. Proactive Coaching\n\nHabitFlow automatically sends coaching messages at optimal times without user prompting.\n\nTypes of Proactive Messages:\n\nMilestone Celebrations - Reaching 7, 14, 21, 30+ day streaks\nRisk Warnings - 24h before high-risk situations\nWeekly Check-ins - Every Monday at 8am\nPattern Insights - When significant patterns detected\n\nSetup & Configuration:\n\nProactive coaching uses clawdbot's cron system to schedule automatic check-ins.\n\nInitial Setup:\n\n# Run after installing/updating the skill\nnpx tsx scripts/init_skill.ts\n\n\nThis creates 3 cron jobs:\n\nDaily Coaching Check (8am): Milestone celebrations + risk warnings\nWeekly Check-in (Monday 8am): Progress summary with visualizations\nPattern Insights (Wednesday 10am): Mid-week pattern detection\n\nCheck Cron Status:\n\n# Verify all coaching jobs are configured\nnpx tsx scripts/check_cron_jobs.ts\n\n# Auto-fix missing jobs\nnpx tsx scripts/check_cron_jobs.ts --auto-fix\n\n\nSync Coaching Jobs:\n\n# Add/update all proactive coaching cron jobs\nnpx tsx scripts/sync_reminders.ts sync-coaching\n\n# Remove all proactive coaching cron jobs\nnpx tsx scripts/sync_reminders.ts sync-coaching --remove\n\n\nImportant Notes:\n\nCron jobs are NOT created automatically on skill installation\nYou must run init_skill.ts or sync-coaching to create them\nAfter skill updates, run init_skill.ts again to update cron jobs\nMessages are sent to your last active chat channel\n\nFor detailed setup: See references/proactive-coaching.md\n\n7. Smart Reminders\n\nSync All Reminders:\n\nnpx tsx scripts/sync_reminders.ts --sync-all\n\n\nAdd Reminder for One Habit:\n\nnpx tsx scripts/sync_reminders.ts --habit-id h_abc123 --add\n\n\nRemove Reminder:\n\nnpx tsx scripts/sync_reminders.ts --habit-id h_abc123 --remove\n\n\nFor technical details on reminders: See references/REMINDERS.md\n\nCoaching Techniques\n\nWhen users struggle with habits, apply evidence-based techniques from Atomic Habits.\n\nCore approaches:\n\nStart incredibly small (2-minute rule)\nLink to existing routines (habit stacking)\nRemove friction, add immediate rewards\nIdentify breakdown points\nConnect to identity (\"I am someone who...\")\n\nFor detailed coaching techniques and guidelines: See references/atomic-habits-coaching.md\n\nConversation Flow Examples\n\nFor detailed interaction examples: See references/EXAMPLES.md\n\nQuick patterns:\n\nCreating habits: Ask clarifying questions, create habit, sync reminder, confirm\nNatural logging: Parse input, check confidence, log automatically, provide streak update\nCoaching struggles: Load stats, analyze patterns, apply coaching techniques from atomic-habits-coaching.md\nFirst-Time Setup\n\nWhen user first mentions habits:\n\nInitialize data directory if needed: mkdir -p ~/clawd/habit-flow-data/logs\nCreate default config.json with user's timezone, \"flex\" persona, and default user ID\nWelcome user, introduce capabilities (natural language logging, streaks, reminders, coaching)\nOffer persona selection (Flex, Coach Blaze, Luna, Ava, Max, The Monk)\nGuide them to create first habit\n\nFor welcome message example: See references/EXAMPLES.md\n\nError Handling\n\nHabit Not Found:\n\n\"I couldn't find a habit matching '{input}'. Your active habits are: {list}. Which one did you mean?\"\n\nLow Confidence Parse:\n\n\"I'm not sure which habit you meant. Did you mean '{best_match}'? Or please specify more clearly.\"\n\nNo Active Habits:\n\n\"You don't have any active habits yet. Would you like to create one? What habit would you like to start tracking?\"\n\nDate Parse Error:\n\n\"I couldn't understand that date. Please use format like 'today', 'yesterday', 'Monday', or '2026-01-28'.\"\n\nReferences\nConversation Examples: references/EXAMPLES.md\nCoaching Techniques: references/atomic-habits-coaching.md\nCommands: references/COMMANDS.md\nReminders: references/REMINDERS.md\nData Storage: references/DATA.md\nData Schema: references/data-schema.md\nPersonas: references/personas.md\nProactive Coaching: references/proactive-coaching.md\nInstallation\n\nThis skill is automatically installed via the install.sh script when added through clawdhub.\n\nManual installation:\n\n./install.sh\n\n\nThe install script will:\n\nCheck for Node.js and npm\nInstall npm dependencies (chrono-node, string-similarity, zod, commander, tsx, typescript)\nRun initial setup (create data directory, configure cron jobs)\n\nDependencies: Node.js 18+, npm"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tralves/habit-flow-skill",
    "publisherUrl": "https://clawhub.ai/tralves/habit-flow-skill",
    "owner": "tralves",
    "version": "1.5.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/habit-flow-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/habit-flow-skill",
    "agentUrl": "https://openagent3.xyz/skills/habit-flow-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/habit-flow-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/habit-flow-skill/agent.md"
  }
}