Habit Tracker Dashboard
Sets up and monitors daily habits with streak tracking, completion rates, correlation analysis, and visual progress dashboards
Habit Tracker Dashboard
Sets up and monitors daily habits with streak tracking, completion rates, correlation analysis, and visual progress dashboards. Tracks your habits in simple local files, generates weekly and monthly reports, identifies patterns between habits, and produces ASCII and markdown-based visualizations. No app needed — just your terminal and a structured data file.
Supported Platforms & Integrations
| Platform | Integration Type | Features |
|---|---|---|
| Apple Health | CSV export | Import exercise, sleep, and step data to correlate with tracked habits |
| Google Fit | CSV/JSON export | Pull activity and wellness metrics for habit correlation analysis |
| Todoist | CSV export | Import completed tasks to cross-reference with habit completions |
| Notion | CSV/Markdown | Export habit databases from Notion for migration or backup analysis |
| Obsidian | Markdown files | Read daily note files with habit checkboxes in Obsidian vault format |
| Google Sheets | CSV download | Import or export habit data from spreadsheet-based tracking |
When to Use
- Starting a new habit system: Set up a structured tracking framework with clear definitions, targets, and measurement criteria for each habit
- Weekly habit reviews: Generate a summary of the past week showing completions, streaks, and areas that need attention
- Monthly progress reports: Produce comprehensive monthly dashboards with trend lines, best/worst days, and month-over-month comparisons
- Habit correlation discovery: Find hidden connections between habits — does your morning exercise correlate with better evening reading streaks?
- Streak recovery motivation: Visualize your longest streaks and current progress to maintain motivation after a break
- Habit system redesign: Analyze which habits stick and which consistently fail, to simplify your system and focus on high-impact behaviors
Alternatives to consider:
- For mobile-first habit tracking with notifications, use Streaks, Habitica, or Loop Habit Tracker
- For habits tied to specific goals with milestone tracking, a full goal-tracking system may be better
- For team accountability habits, consider shared tools like Focusmate or StickK
Quick Start
habit_tracker: data_file: "./habits/habit-log.csv" # CSV with daily check-ins habits: - name: "Morning Exercise" target: "daily" category: "health" - name: "Read 30 minutes" target: "daily" category: "learning" - name: "No social media before noon" target: "weekdays" category: "focus" - name: "Write 500 words" target: "weekdays" category: "creative" - name: "Meditate 10 minutes" target: "daily" category: "wellness" report_type: "weekly" # daily | weekly | monthly output_path: "./habits/reports/"
Example prompt:
Generate my weekly habit report for March 9-15, 2026. I track 5 daily habits
in ./habits/habit-log.csv. Show me streaks, completion rates, and which
day of the week is my strongest.
Example output:
Weekly Habit Report: March 9-15, 2026
Habit M T W T F S S Rate Streak
Morning Exercise * * * . * * . 71% 2 days
Read 30 minutes * * * * * * * 100% 18 days!
No social media < noon * * . * * - - 80% 2 days
Write 500 words * . * * * - - 80% 3 days
Meditate 10 minutes * * * * . * * 86% 3 days
Overall completion: 83% (29/35 possible)
Best day: Monday (5/5 = 100%)
Weakest day: Thursday (3/5 = 60%)
Longest active streak: Reading (18 days)
Trend: Up 7% from last week (76%)
Advanced Configuration
Correlation analysis settings:
correlation: enabled: true min_data_points: 14 # need 2 weeks minimum significance_threshold: 0.6 # correlation coefficient compare_external_data: true external_sources: - type: "sleep" file: "./health/sleep-export.csv" column: "hours_slept" - type: "steps" file: "./health/steps-export.csv" column: "step_count"
Visualization preferences:
visualization: style: "ascii" # ascii | markdown | html heatmap: true # GitHub-style contribution heatmap sparklines: true # mini trend lines per habit chart_width: 52 # weeks to show in yearly view
Full parameter reference:
| Parameter | Type | Default | Description |
|---|---|---|---|
data_file | string | required | Path to CSV file with daily habit check-ins |
habits | array | required | List of habits with name, target frequency, and category |
report_type | string | weekly | Report period: daily, weekly, monthly, yearly |
start_date | string | auto | Report start date (defaults to period start) |
streak_minimum | integer | 3 | Minimum days to highlight as a notable streak |
show_correlations | boolean | false | Include habit-to-habit correlation analysis |
include_heatmap | boolean | true | Generate a visual heatmap grid |
category_grouping | boolean | true | Group habits by category in reports |
rest_days | array | [] | Days excluded from targets (e.g., ["sunday"]) |
accountability_mode | boolean | false | Add motivational messages and next-day commitments |
export_format | string | markdown | Output: markdown, csv, json, html |
Core Concepts
| Concept | Description |
|---|---|
| Streak | Consecutive days a habit is completed without a miss. Streaks reset on any missed target day (rest days excluded). The longest streak is persisted for motivation. |
| Completion Rate | Percentage of target days where the habit was completed. A daily habit has 7 targets per week; a weekday habit has 5. Only applicable days count. |
| Correlation Analysis | Statistical comparison between habits using Pearson correlation. Reveals pairs like "exercise days have 85% meditation completion vs 40% on non-exercise days." |
| Category Scoring | Habits grouped by category (health, learning, creative) with aggregate completion scores per category, revealing which life areas get the most consistency. |
| Heatmap Visualization | GitHub-style grid showing daily completions over time with intensity shading. Darker cells mean more habits completed that day. Reveals weekly and seasonal patterns. |
Habit Tracking Data Flow
Daily Input Processing Outputs
+-----------+ +----------------+ +---------------+
| CSV Log |--->| |--->| Weekly Report |
| (check-in)| | Streak Calc | | Monthly Report|
+-----------+ | Completion % | +---------------+
| Correlation | |
+-----------+ | Category Agg | +---------------+
| External |--->| Trend Analysis |--->| Heatmap |
| (health) | | Visualization | | Sparklines |
+-----------+ +----------------+ | Correlations |
| +---------------+
habit-state.json
(streaks, history)
Workflow Examples
Scenario 1: Weekly review and planning
Input: "Show my weekly habit report and suggest adjustments for
habits that are consistently below 60% completion."
Output: Weekly Report: March 9-15, 2026
Below target habits:
Write 500 words: 40% (2/5 weekdays)
Pattern: Only completed on Mon/Wed
Suggestion: Move writing to mornings — your exercise habit
(completed every morning) shows strong AM consistency.
Consider pairing: exercise then write.
Meditate 10 minutes: 57% (4/7 days)
Pattern: Missed on busy workdays (Tue/Thu)
Suggestion: Reduce to 5 minutes on heavy meeting days
rather than skipping entirely. Partial > zero.
Adjust next week? Recommend:
1. Writing moved to 7:30am slot (post-exercise)
2. Meditation split: 10min normal days, 5min busy days
Scenario 2: Monthly dashboard with correlations
Input: "Generate my February 2026 monthly dashboard with habit
correlations and sleep data comparison."
Output: February 2026 Monthly Dashboard
Overall: 78% completion (219/281 habit-days)
Best week: Feb 16-22 (89%)
Worst week: Feb 2-8 (64%)
Correlations found (p > 0.6):
Exercise <-> Meditation: 0.73 (strong positive)
Sleep 7+ hrs <-> Exercise: 0.81 (strong positive)
Exercise <-> Writing: 0.42 (weak)
Social media <-> Reading: -0.67 (strong negative)
Insight: Days with 7+ hours of sleep show 81% exercise
completion vs 35% on short sleep days. Sleep appears to
be the keystone habit driving your entire system.
Heatmap:
Feb M T W T F S S
W1 ## ## . ## . # .
W2 . ## ## . ## ## #
W3 ## ## ## ## ## ## ##
W4 ## ## ## . ## ## #
Scenario 3: Year-in-review analysis
Input: "Analyze my habit data for all of 2025. Which habits had
the best adherence? Which should I drop or modify for 2026?"
Output: 2025 Year in Review:
Habit Annual Rate Best Month Worst Month
Morning Exercise 82% July (95%) Dec (58%)
Read 30 minutes 91% All year Feb (84%)
Write 500 words 47% Jan (72%) Nov (23%)
Meditate 68% Sept (89%) June (45%)
No social media < noon 55% Mar (78%) Aug (31%)
Recommendations for 2026:
KEEP: Reading (91% — it's automatic)
KEEP: Exercise (82% — strong and impactful)
MODIFY: Meditation (68% — reduce target to 4x/week)
MODIFY: Writing (47% — change to 3x/week, not daily)
DROP or REDEFINE: Social media rule (55% — consider
"limit to 30min" instead of hard cutoff)
Best Practices
-
Start with 3-5 habits maximum: Tracking too many habits leads to decision fatigue and lower overall completion. Master a small set before expanding. Research suggests 3 habits have the highest long-term success rate.
-
Log habits at the same time each day: Consistency in tracking is as important as consistency in doing. Set a fixed time (e.g., 9pm) to log the day's completions. Delayed logging leads to inaccurate data.
-
Use binary tracking, not subjective ratings: Did you do it or not? Avoid "quality" ratings like 1-5 scales that introduce subjective bias and analysis complexity. A completed habit is a completed habit.
-
Review weekly, adjust monthly: Weekly reviews catch slipping habits early. Monthly reviews reveal trends and justify system changes. Do not change your habit system more often than monthly — give habits time to form.
-
Celebrate streaks but do not fear breaking them: Long streaks are motivating, but a broken streak should not trigger abandonment. Track "total completions this month" alongside streaks to maintain perspective after a miss.
Common Issues
CSV format not being parsed correctly
The expected CSV format is: date,habit_name,completed where completed is 1 or 0. Ensure your date format matches ISO 8601 (YYYY-MM-DD) and habit names exactly match your config. Extra whitespace in habit names causes mismatches.
Correlation results seem random or meaningless
Correlation analysis requires at least 14 days of data to produce meaningful results, and ideally 30+ days. With fewer data points, random coincidences produce high correlation coefficients. Increase min_data_points and wait for more data.
Streaks reset incorrectly on weekends
If your habit target is weekdays but your streak resets on Saturday, check that rest_days is configured correctly. Weekday habits should use target: weekdays which automatically excludes Saturday and Sunday from streak calculations.
Privacy & Data Handling
- All data is local: Habit logs, reports, and analysis files are stored in your specified directory. No data is sent to external servers or cloud services.
- Health data imports: If you import Apple Health or Google Fit data, it is read locally from your exported CSV files. No direct API connection to health platforms is established.
- No account required: This tool operates entirely on local files. No registration, login, or authentication is needed.
- Data portability: All habit data is stored in standard CSV format, easily imported into any spreadsheet application, database, or alternative tracking tool.
- Report sharing: Generated reports are markdown files you control. Share them or keep them private — there is no automatic sharing or publishing mechanism.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Full-Stack Code Reviewer
Comprehensive code review skill that checks for security vulnerabilities, performance issues, accessibility, and best practices across frontend and backend code.
Test Suite Generator
Generates comprehensive test suites with unit tests, integration tests, and edge cases. Supports Jest, Vitest, Pytest, and Go testing.
Pro Architecture Workspace
Battle-tested skill for architectural, decision, making, framework. Includes structured workflows, validation checks, and reusable patterns for development.