habit-flow-skill
AI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders.
Installation
npx clawhub@latest install habit-flow-skillView the full skill documentation and source below.
Documentation
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:
~/clawd/habit-flow-data/config.json to get the activePersona fieldreferences/personas/{activePersona}.mdExample:
# Read config
cat ~/clawd/habit-flow-data/config.json # → "activePersona": "coach-blaze"
# 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"):
cat ~/clawd/habit-flow-data/config.json
activePersona field to the requested persona IDcat references/personas/{new-persona-id}.md
Showing Persona to User
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
# 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 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
- < 0.60: Request clarification
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 exceededpartial: Some progress but didn't meet targetmissed: No completion recordedskipped: 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 Sunday at 7pm
- 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 (Sunday 7pm): 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.tsorsync-coachingto create them - After skill updates, run
init_skill.tsagain 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:
mkdir -p ~/clawd/habit-flow-data/logsFor 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
- Conversation Examples: references/EXAMPLES.md
- Coaching Techniques: references/atomic-habits-coaching.md
- Commands: references/COMMANDS.md
- Reminders: references/REMINDERS.md
- Data Storage: references/DATA.md
- Data Schema: references/data-schema.md
- Personas: references/personas.md
- Proactive Coaching: references/proactive-coaching.md
Installation
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