Skip to content
All Skills

Habit Tracker & Streak Builder

Creates a markdown-based habit tracker with daily checkboxes, streak counting, and weekly review prompts. Tracks habits in a file you update daily. Prerequisites: python3.

Health & Wellness|v1|Updated 5/19/2026
MCP get_skill({ skillId: "habit-tracker-streak-builder-9946cffe" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Habit Tracker & Streak Builder

Create a trackable habit system using markdown files. Check off daily habits, track streaks, and get weekly progress reviews.

## When to Use

- "Set up a habit tracker for me"
- "I want to track 5 daily habits"
- "Show my habit streak progress"

## Requirements

- **python3** for streak calculations and progress reports
- Filesystem for habit tracking files

## Workflow

### Step 1 — Define Habits

Collect:
- **Habits to track** (3-7 recommended — more causes fatigue)
- **Frequency** (daily, weekdays only, 3x/week)
- **Time of day** (morning routine, evening routine, anytime)
- **Why** (one sentence — "I want to read because it reduces my screen time")

### Step 2 — Create Tracker File

```bash
mkdir -p outputs/habits
cat > "outputs/habits/habits-{MONTH}-{YEAR}.md" << 'EOF'
# Habit Tracker — {MONTH} {YEAR}

## Habits
1. 🏋️ Exercise (30 min) — daily
2. 📖 Read (20 min) — daily
3. 🧘 Meditate (10 min) — daily
4. 💧 Drink 8 glasses water — daily
5. 📝 Journal — weekdays

## Week 1 (Mar 1-7)
| Habit | Mon | Tue | Wed | Thu | Fri | Sat | Sun | Score |
|-------|-----|-----|-----|-----|-----|-----|-----|-------|
| 🏋️ Exercise | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | 0/7 |
| 📖 Read | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | 0/7 |
| 🧘 Meditate | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | 0/7 |
| 💧 Water | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | 0/7 |
| 📝 Journal | [ ] | [ ] | [ ] | [ ] | [ ] | - | - | 0/5 |

## Week 2 (Mar 8-14)
...
EOF
```

User checks off `[x]` each day as they complete habits.

### Step 3 — Calculate Streaks & Progress

When user asks for progress:

```bash
python3 << 'PYEOF'
import re

with open('outputs/habits/habits-{MONTH}-{YEAR}.md') as f:
    content = f.read()

# Count completed vs total
completed = len(re.findall(r'\[x\]', content, re.IGNORECASE))
total = len(re.findall(r'\[[ x]\]', content, re.IGNORECASE))

rate = (completed / total * 100) if total > 0 else 0
print(f"Completion rate: {completed}/{total} ({rate:.0f}%)")
print(f"Grade: {'A' if rate >= 90 else 'B' if rate >= 75 else 'C' if rate >= 60 else 'D' if rate >= 40 else 'F'}")
PYEOF
```

### Step 4 — Weekly Review

```markdown
## Weekly Review — Week {N}

📊 Completion: {X}/{Y} ({Z}%)
🔥 Longest streak: {HABIT} — {N} days
⭐ Best habit: {HABIT} (100% this week)
⚠️ Needs work: {HABIT} (only {X}% this week)

### Reflection
- What worked well?
- What got in the way?
- Adjustment for next week?
```

## Important Rules

- Keep habits actionable and specific ("Exercise 30 min" not "Be healthier")
- Recommend starting with 3-5 habits max — can add more once established
- Track completion honestly — missed days are data, not failures
- Two missed days in a row is the critical point — flag it proactively

## Example Prompts

- "Set up a habit tracker for exercise, reading, and meditation"
- "How are my habit streaks looking?"
- "Do my weekly habit review"
#habits#tracking#productivity#pythonpython3