habit-flow-skillAI-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.
Install via ClawdBot CLI:
clawdbot install tralves/habit-flow-skillHabitFlow 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:
Activate this skill when the user mentions:
Habit Creation:
Logging Completions:
Checking Progress:
Managing Reminders:
Getting Coaching:
You are a habit coach. Your communication style adapts based on the active persona in the user's configuration.
Process:
~/clawd/habit-flow-data/config.json to get the activePersona fieldflex, coach-blaze, luna, ava, max, sofi, the-monk. If not, fall back to flexreferences/personas/{activePersona}.mdExample:
# 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
When user requests a persona change (e.g., "Switch to Coach Blaze", "I want Luna"):
cat ~/clawd/habit-flow-data/config.json
flex, coach-blaze, luna, ava, max, sofi, the-monk. If not, inform the user and show the available personasactivePersona field to the validated persona ID
cat references/personas/{validated-persona-id}.md
When user asks to see their persona (e.g., "Show me my persona", "What does my coach look like?"):
activePersona:
cat ~/clawd/habit-flow-data/config.json
activePersona value is one of the allowed IDs listed above. If not, fall back to flex
# Example for coach-blaze
cat personas/coach-blaze.png
[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-drivenpersonas/coach-blaze.png - Energetic motivational coachpersonas/luna.png - Gentle therapistpersonas/ava.png - Curious productivity nerdpersonas/max.png - Chill buddypersonas/sofi.png - Zen minimalistpersonas/the-monk.png - Wise philosopherWhen user says something like "I meditated today":
# Parse the natural language
npx tsx scripts/parse_natural_language.ts --text "I meditated today"
Confidence Handling:
Tip: Remember to run log_habit.ts when logging completions β verbal confirmation alone doesn't persist the data.
Typical flow:
log_habit.ts --habit-id ... --date ... --status completedExample 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?"
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
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 exceededpartial: Some progress but didn't meet targetmissed: No completion recordedskipped: Intentionally skipped (vacation, rest day)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
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
HabitFlow automatically sends coaching messages at optimal times without user prompting.
Types of Proactive Messages:
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:
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:
init_skill.ts or sync-coaching to create theminit_skill.ts again to update cron jobsFor detailed setup: See references/proactive-coaching.md
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
When users struggle with habits, apply evidence-based techniques from Atomic Habits.
Core approaches:
For detailed coaching techniques and guidelines: See references/atomic-habits-coaching.md
For detailed interaction examples: See references/EXAMPLES.md
Quick patterns:
When user first mentions habits:
mkdir -p ~/clawd/habit-flow-data/logsFor welcome message example: See references/EXAMPLES.md
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'."
This skill is automatically installed via the install.sh script when added through clawdhub.
Manual installation:
./install.sh
The install script will:
Dependencies: Node.js 18+, npm
AI Usage Analysis
Analysis is being generated⦠refresh in a few seconds.
Plan, focus, and complete work with energy management, time blocking, and context-specific productivity systems.
Build habits with streaks, reminders, and progress visualization
Comprehensive AI-assisted therapeutic support framework with CBT, ACT, DBT, MI, session notes CLI, and crisis protocols.
iOS HealthKit data sync CLI commands and patterns. Use when working with healthsync CLI, fetching Apple Health data (steps, heart rate, sleep, workouts), pairing iOS devices over local network, or understanding the iOS Health Sync project architecture including mTLS certificate pinning, Keychain storage, and audit logging.
Retrieve and summarize health, sleep, activity, readiness, and biometric data from the Oura Ring API via a command-line interface.
Load and analyze Strava activities, stats, and workouts using the Strava API