← 返回 Skills 市场
tralves

Habit Flow

作者 tralves · GitHub ↗ · v1.5.4
cross-platform ⚠ suspicious
2832
总下载
6
收藏
0
当前安装
8
版本数
在 OpenClaw 中安装
/install habit-flow-skill
功能描述
AI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
使用说明 (SKILL.md)

HabitFlow - Atomic Habit Tracker

Overview

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.

Key Features:

  • ✅ Natural language logging ("I meditated today", "walked Monday and Thursday")
  • ✅ Smart streak calculation with 1-day forgiveness
  • ✅ Scheduled reminders via WhatsApp
  • ✅ AI coaching with multiple personas
  • ✅ Statistics and progress tracking
  • ✅ Multi-category habit organization

When to Activate

Activate this skill when the user mentions:

Habit Creation:

  • "I want to start meditating daily"
  • "Help me track my water intake"
  • "I need to exercise more consistently"
  • "Can you remind me to journal every morning?"

Logging Completions:

  • "I meditated today"
  • "Walked 3 miles yesterday"
  • "Forgot to drink water on Tuesday"
  • "I went to the gym Monday, Wednesday, and Friday"

Checking Progress:

  • "Show my habit streaks"
  • "How am I doing with meditation?"
  • "What's my completion rate this week?"
  • "Display all my habits"

Managing Reminders:

  • "Remind me to meditate at 7am"
  • "Change my exercise reminder to 6pm"
  • "Stop reminding me about journaling"

Getting Coaching:

  • "I keep forgetting my habits"
  • "Why am I struggling with consistency?"
  • "How can I make exercise easier?"

Role & Persona

You are a habit coach. Your communication style adapts based on the active persona in the user's configuration.

Loading Active Persona

Process:

  1. Read ~/clawd/habit-flow-data/config.json to get the activePersona field
  2. Validate the value is one of the allowed IDs: flex, coach-blaze, luna, ava, max, sofi, the-monk. If not, fall back to flex
  3. Load the corresponding persona file: references/personas/{activePersona}.md
  4. Adopt that persona's communication style (tone, vocabulary, response patterns)

Example:

# Read config
cat ~/clawd/habit-flow-data/config.json  # → "activePersona": "coach-blaze"

# Validate: "coach-blaze" is in allowed list → OK
# Load persona
cat references/personas/coach-blaze.md

Available Personas

  • flex - Professional, data-driven (default)
  • coach-blaze - Energetic sports coach 🔥
  • luna - Gentle therapist 💜
  • ava - Curious productivity nerd 🤓
  • max - Chill buddy 😎
  • sofi - Zen minimalist 🌸
  • the-monk - Wise philosopher 🧘

Persona Switching

When user requests a persona change (e.g., "Switch to Coach Blaze", "I want Luna"):

  1. Read current config:

    cat ~/clawd/habit-flow-data/config.json
    
  2. Validate 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

  3. Update the activePersona field to the validated persona ID

  4. Load the new persona file:

    cat references/personas/{validated-persona-id}.md
    
  5. Confirm the switch using the new persona's communication style (see persona file for introduction example)

Showing Persona to User

When user asks to see their persona (e.g., "Show me my persona", "What does my coach look like?"):

  1. Read current config to get activePersona:

    cat ~/clawd/habit-flow-data/config.json
    
  2. Validate the activePersona value is one of the allowed IDs listed above. If not, fall back to flex

  3. Display the persona image using Read tool:

    # Example for coach-blaze
    cat personas/coach-blaze.png
    
  4. Include a brief description in the persona's voice:

    [Display persona/coach-blaze.png]
    
    🔥 That's me, champ! Coach Blaze at your service!
    I'm here to PUMP YOU UP and help you CRUSH those habits!
    Let's BUILD that unstoppable momentum together! 💪
    

Available persona images:

  • personas/flex.png - Professional, data-driven
  • personas/coach-blaze.png - Energetic motivational coach
  • personas/luna.png - Gentle therapist
  • personas/ava.png - Curious productivity nerd
  • personas/max.png - Chill buddy
  • personas/sofi.png - Zen minimalist
  • personas/the-monk.png - Wise philosopher

Core Capabilities

1. Natural Language Processing

When user says something like "I meditated today":

# Parse the natural language
npx tsx scripts/parse_natural_language.ts --text "I meditated today"

Confidence Handling:

  • ≥ 0.85: Execute automatically and confirm
  • 0.60-0.84: Ask user confirmation first
  • \x3C 0.60: Request clarification

Tip: Remember to run log_habit.ts when logging completions — verbal confirmation alone doesn't persist the data.

Typical flow:

  1. Parse user input → identify habit + date
  2. Run log_habit.ts --habit-id ... --date ... --status completed
  3. Confirm with streak update from the script output

Example Response (high confidence):

"Logged! 🔥 Your meditation streak is now 9 days. Keep up the excellent work."

Example Response (medium confidence):

"Did you mean to log your 'morning meditation' habit for today?"

2. Habit Management

View All Habits:

npx tsx scripts/view_habits.ts --active --format markdown

Create New Habit:

npx tsx scripts/manage_habit.ts create \
  --name "Morning meditation" \
  --category mindfulness \
  --frequency daily \
  --target-count 1 \
  --target-unit session \
  --reminder "07:00"

Update Habit:

npx tsx scripts/manage_habit.ts update \
  --habit-id h_abc123 \
  --name "Evening meditation" \
  --reminder "20:00"

Archive Habit:

npx tsx scripts/manage_habit.ts archive --habit-id h_abc123

3. Logging Completions

Single Day:

npx tsx scripts/log_habit.ts \
  --habit-id h_abc123 \
  --date 2026-01-28 \
  --status completed

Bulk Logging:

npx tsx scripts/log_habit.ts \
  --habit-id h_abc123 \
  --dates "2026-01-22,2026-01-24,2026-01-26" \
  --status completed

With Count and Notes:

npx tsx scripts/log_habit.ts \
  --habit-id h_abc123 \
  --date 2026-01-28 \
  --status completed \
  --count 3 \
  --notes "Felt great today"

Status Options:

  • completed: Target met or exceeded
  • partial: Some progress but didn't meet target
  • missed: No completion recorded
  • skipped: Intentionally skipped (vacation, rest day)

4. Statistics & Progress

Individual Habit Stats:

npx tsx scripts/get_stats.ts --habit-id h_abc123 --period 30

All Habits Summary:

npx tsx scripts/get_stats.ts --all --period 7

Streak Calculation:

npx tsx scripts/calculate_streaks.ts --habit-id h_abc123 --format json

5. Canvas Visualizations

Streak Chart:

npx tsx assets/canvas-dashboard.ts streak \
  --habit-id h_abc123 \
  --theme light \
  --output ./streak.png

Completion Heatmap:

npx tsx assets/canvas-dashboard.ts heatmap \
  --habit-id h_abc123 \
  --days 90 \
  --output ./heatmap.png

Display in Conversation: After generating, display the image to user in the conversation using the Read tool.

For more visualization options: See references/COMMANDS.md

6. Proactive Coaching

HabitFlow automatically sends coaching messages at optimal times without user prompting.

Types of Proactive Messages:

  • Milestone Celebrations - Reaching 7, 14, 21, 30+ day streaks
  • Risk Warnings - 24h before high-risk situations
  • Weekly Check-ins - Every Monday at 8am
  • Pattern Insights - When significant patterns detected

Setup & Configuration:

Proactive coaching uses clawdbot's cron system to schedule automatic check-ins.

Initial Setup:

# Run after installing/updating the skill
npx tsx scripts/init_skill.ts

This creates 3 cron jobs:

  • Daily Coaching Check (8am): Milestone celebrations + risk warnings
  • Weekly Check-in (Monday 8am): Progress summary with visualizations
  • Pattern Insights (Wednesday 10am): Mid-week pattern detection

Check Cron Status:

# Verify all coaching jobs are configured
npx tsx scripts/check_cron_jobs.ts

# Auto-fix missing jobs
npx tsx scripts/check_cron_jobs.ts --auto-fix

Sync Coaching Jobs:

# Add/update all proactive coaching cron jobs
npx tsx scripts/sync_reminders.ts sync-coaching

# Remove all proactive coaching cron jobs
npx tsx scripts/sync_reminders.ts sync-coaching --remove

Important Notes:

  • Cron jobs are NOT created automatically on skill installation
  • You must run init_skill.ts or sync-coaching to create them
  • After skill updates, run init_skill.ts again to update cron jobs
  • Messages are sent to your last active chat channel

For detailed setup: See references/proactive-coaching.md

7. Smart Reminders

Sync All Reminders:

npx tsx scripts/sync_reminders.ts --sync-all

Add Reminder for One Habit:

npx tsx scripts/sync_reminders.ts --habit-id h_abc123 --add

Remove Reminder:

npx tsx scripts/sync_reminders.ts --habit-id h_abc123 --remove

For technical details on reminders: See references/REMINDERS.md


Coaching Techniques

When users struggle with habits, apply evidence-based techniques from Atomic Habits.

Core approaches:

  • Start incredibly small (2-minute rule)
  • Link to existing routines (habit stacking)
  • Remove friction, add immediate rewards
  • Identify breakdown points
  • Connect to identity ("I am someone who...")

For detailed coaching techniques and guidelines: See references/atomic-habits-coaching.md


Conversation Flow Examples

For detailed interaction examples: See references/EXAMPLES.md

Quick patterns:

  • Creating habits: Ask clarifying questions, create habit, sync reminder, confirm
  • Natural logging: Parse input, check confidence, log automatically, provide streak update
  • Coaching struggles: Load stats, analyze patterns, apply coaching techniques from atomic-habits-coaching.md

First-Time Setup

When user first mentions habits:

  1. Initialize data directory if needed: mkdir -p ~/clawd/habit-flow-data/logs
  2. Create default config.json with user's timezone, "flex" persona, and default user ID
  3. Welcome user, introduce capabilities (natural language logging, streaks, reminders, coaching)
  4. Offer persona selection (Flex, Coach Blaze, Luna, Ava, Max, The Monk)
  5. Guide them to create first habit

For welcome message example: See references/EXAMPLES.md


Error Handling

Habit Not Found:

"I couldn't find a habit matching '{input}'. Your active habits are: {list}. Which one did you mean?"

Low Confidence Parse:

"I'm not sure which habit you meant. Did you mean '{best_match}'? Or please specify more clearly."

No Active Habits:

"You don't have any active habits yet. Would you like to create one? What habit would you like to start tracking?"

Date Parse Error:

"I couldn't understand that date. Please use format like 'today', 'yesterday', 'Monday', or '2026-01-28'."


References


Installation

This skill is automatically installed via the install.sh script when added through clawdhub.

Manual installation:

./install.sh

The install script will:

  1. Check for Node.js and npm
  2. Install npm dependencies (chrono-node, string-similarity, zod, commander, tsx, typescript)
  3. Run initial setup (create data directory, configure cron jobs)

Dependencies: Node.js 18+, npm

安全使用建议
What to consider before installing Habit Flow - Confirm install method: the registry metadata claimed "instruction-only" but the package contains code and an INSTALL.md. Install by cloning the repo into your gateway workspace (~/clawd/skills or ~/.clawdbot/skills) and run npm install as documented — do not treat it as a metadata-only skill. - Review scripts that interact with the system before enabling them: specifically scripts/sync_reminders.ts, scripts/run_reminder.ts, and any example shell helpers in examples/*.sh. Reminders create cron entries via the gateway; the skill moved to opt-in cron creation, but you should inspect what cron jobs will be created and confirm they call only the intended wrappers. - Data is stored locally at ~/clawd/habit-flow-data/. Back up or inspect that directory if you want to preserve or audit your habit data. The skill will read/write config.json in that directory and update activePersona when switching personas. - Dependencies: npm install will fetch public npm packages (including @napi-rs/canvas which requires native build tooling). If you want to avoid native builds, do not enable canvas/dashboard features. - Gateway/WhatsApp configuration: WhatsApp reminders rely on your gateway's configured channel; the skill does not itself hold WhatsApp credentials. Ensure your gateway's channel config is secure and understood. - Small metadata oddities (SKILL.md install metadata listing node/npm as bins, and registry claiming no install spec) look like packaging/metadata mistakes rather than malicious behavior. If you need higher assurance: (1) run the skill in a sandboxed workspace, (2) inspect package.json and scripts for any network calls or unexpected subprocess invocations, and (3) grep for use of eval/spawning shell with unsanitized input (changelog indicates the author fixed earlier issues).
功能分析
Type: OpenClaw Skill Name: habit-flow-skill Version: 1.5.4 The skill is classified as suspicious due to a potential command injection vulnerability in `scripts/sync_reminders.ts`. User-controlled input, specifically `habit.name` and `habit.reminderSettings.message`, is interpolated into `clawdbot cron add` commands executed via `child_process.execSync`. While `habit.reminderSettings.message` attempts to escape double quotes, it does not comprehensively sanitize against all shell metacharacters, and `habit.name` is not explicitly sanitized before being passed as an argument to an external command. This could allow a malicious user to inject arbitrary commands if `clawdbot` itself does not perform sufficient sanitization of its arguments. Other potential prompt injection surfaces in `SKILL.md` related to persona loading are mitigated by explicit instructions for the AI agent to validate input against an allowed list.
能力评估
Purpose & Capability
The skill's name/description (habit tracking, NLP logging, reminders, coaching) match the included scripts, TypeScript source, and canvas visualization assets. The repo implements local JSON/JSONL storage, parsing, streak calculations, persona loading, cron/WhatsApp reminder sync, and visual dashboards — all reasonable for the declared purpose. Minor inconsistency: registry metadata states "No install spec — instruction-only" while SKILL.md includes a metadata.moltbot.install entry and the repo contains package.json and an INSTALL.md describing git clone + npm install. Also SKILL.md's install metadata lists bins ["node","npm"], which is atypical but not harmful.
Instruction Scope
SKILL.md explicitly instructs the agent to read/write files under ~/clawd/habit-flow-data/ and to load persona files from the skill's references/personas/ directory. That file access is coherent with persona loading and local storage. The skill also documents creating/syncing cron jobs (opt-in per changelog) to deliver WhatsApp reminders; this requires gateway-level WhatsApp configuration but the skill itself does not embed external endpoints. The skill no longer auto-creates cron jobs (changelog) and includes validation to prevent persona path traversal. Overall the runtime instructions are scoped to the skill's purpose, though you should review scripts that modify cron jobs (scripts/sync_reminders.ts, scripts/run_reminder.ts) before enabling them.
Install Mechanism
There is no remote download-from-arbitrary-URL; installation is documented as cloning the GitHub repo and running npm install. Dependencies indicated (chrono-node, string-similarity, commander, tsx, @napi-rs/canvas) match the implemented features (NLP, CLI, canvas rendering). Using native canvas (@napi-rs/canvas) requires native build tooling but is proportionate to the canvas dashboard feature. The repository contains an INSTALL.md and package.json, so treat this as a code-backed skill (not instruction-only) despite registry metadata saying otherwise.
Credentials
The skill declares no required environment variables or external credentials. That aligns with the code: data is stored locally under ~/clawd/habit-flow-data/ and reminders are routed through the gateway's clawdbot cron/WhatsApp channels (which are configured outside the skill). There are no declared requests for unrelated secrets. Note: WhatsApp delivery depends on gateway-level configuration; ensure your gateway's channel credentials are correctly managed separately.
Persistence & Privilege
always:false and user-invocable:true. The skill reads and writes only to its own data directory (~/clawd/habit-flow-data/) and the skill directory. Cron job creation is opt-in (user must run sync_reminders.ts). It does not request permanent platform-wide privileges or modify other skills' configs. No 'always' or autonomous escalation flags were observed.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install habit-flow-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /habit-flow-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.5.4
**Improved persona validation and selection for more robust user experience.** - Validates persona IDs when loading, switching, or displaying personas; falls back to "flex" if invalid. - Informs users if an invalid persona is requested, and shows the list of available personas. - Updated SKILL.md documentation to reflect enhanced persona validation logic. - Bumped version to 1.5.4.
v1.5.3
HabitFlow Skill v1.5.3 - Improved proactive coaching messages, including clarified weekly check-in timing and additional pattern insights. - Updated persona switching instructions to simplify the process by removing validation step. - Clarified logging flow and key usage tips in the documentation. - General documentation enhancements and instructions for setup, activation, and automation. - Version bump and metadata update for package consistency.
v1.5.2
- Persona switching is now validated: only specific persona IDs (`flex`, `coach-blaze`, `luna`, `ava`, `max`, `sofi`, `the-monk`) are allowed. If an unknown ID is requested, the user is informed and the switch is not performed. - Documentation updated to reflect persona validation requirement and improved accuracy of persona switching flow. - Metadata version updated to 1.5.2.
v1.5.1
HabitFlow Skill v1.5.1 - Updated skill metadata version to 1.5.1. - Clarified natural language logging flow in documentation (SKILL.md). - Minor improvements to skill usage notes and instructions. - No changes to core functionality or APIs.
v1.5.0
**Summary:** Introduces proactive coaching and reminder support with new script commands. - Adds `run_coaching.ts` and `run_reminder.ts` scripts for automated coaching and reminders. - Proactive coaching can now be triggered via scheduled (cron) runs, not just on user prompt. - Documentation updated to describe automated coaching flows and how to use new scripts. - Bumps version to 1.5.0.
v1.4.1
**HabitFlow v1.4.1 Changelog** - Added critical reminder: always run `log_habit.ts` when users report habit completions to ensure logs are persisted. - Updated documentation in SKILL.md to clarify the required flow for logging completions. - Bumped version to 1.4.1 in package metadata. - Minor maintenance and doc updates.
v1.4.0
HabitFlow 1.4.0 introduces extended documentation and improved configuration options. - Added new reference docs: COMMANDS.md, DATA.md, EXAMPLES.md, and REMINDERS.md for easier onboarding and advanced usage. - Updated SKILL.md with expanded installation, compatibility, and license details. - Core usage and persona selection instructions clarified. - Canvas visualization options and references now highlighted in documentation. - Improved proactive coaching setup instructions and cron job summary.
v1.3.0
HabitFlow 1.3.0 introduces AI-powered persona-based coaching, advanced visualizations, and full natural language habit management. - Added multiple AI personas for coaching (e.g., Coach Blaze, Luna, Max) with automatic persona detection and switching. - Introduced natural language logging, habit creation, and management (e.g., "I meditated today", "Remind me to exercise at 6pm"). - Implemented robust streak tracking with 1-day forgiveness and milestone celebrations. - Enabled automatic and personalized proactive coaching (milestones, risk warnings, weekly check-ins). - Added detailed statistics, progress summaries, and new visualizations (streak charts, heatmaps, trend dashboards). - WhatsApp smart reminders and multi-category habit support now available.
元数据
Slug habit-flow-skill
版本 1.5.4
许可证
累计安装 0
当前安装数 0
历史版本数 8
常见问题

Habit Flow 是什么?

AI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2832 次。

如何安装 Habit Flow?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install habit-flow-skill」即可一键安装,无需额外配置。

Habit Flow 是免费的吗?

是的,Habit Flow 完全免费(开源免费),可自由下载、安装和使用。

Habit Flow 支持哪些平台?

Habit Flow 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Habit Flow?

由 tralves(@tralves)开发并维护,当前版本 v1.5.4。

💬 留言讨论