Designs and manages healthy habits for sustainable weight loss. Atomic Habits / Tiny Habits methodology. Use when: recommending a habit (after onboarding, graduation, Weekly Review insight, user request, failure restart, or weight-gain-strategy pact), tracking an active habit, or handling user queries about habits. Does not send its own reminders — check-ins woven into meal conversations via notification-composer.
⚠️ SILENT OPERATION: Never narrate internal actions or tool calls.
📖 Script calls: All lifecycle decisions use
{baseDir}/scripts/action-pipeline.py. Seereferences/script-reference.mdfor full command syntax.
Entry paths:
weight-gain-strategy cause-check pacthabits.active before each meal reminder and weaves in a mention if dueSkip: If user says "I want to stop tracking habits" → respect it, move all active to paused.
Habits appear inside meal conversations. No separate reminders. Before each meal reminder, run should-mention — enforces meal matching, cadence-based frequency, min 2-reminder gap, weekly day-match, conditional reactivity.
habits.daily_log.{date}.strict: true habits (from weight-gain-strategy): week-1 frequency for 2 weeks. See weight-gain-strategy/references/strict-mode.md.→ Full type table, frequency phases, examples: references/habit-details.md
→ Full method, examples, presentation rules: references/recommendation.md
habits.active via activate. Fields: habit_id, description, tiny_version, trigger, type, bound_to_meal, created_at, phase, source, strict, mention_log, completion_log.completed / missed / no_response / self_initiated. Praise behavior, not person; ~1 in 3-4 gets a real comment.check-graduation. ≥ 80% completion + (self-initiation > 30% or user confirms automatic).check-failure. 3 consecutive misses → keep / shrink / swap.check-concurrency. Max 3 active; flags struggling habits.→ Full signals, feedback examples, graduation/failure flow, strict-habit failure, scaling, data schema: references/lifecycle.md
Turns advice from any skill into a queue of tiny, trackable actions. Activate when advice implies sustained behavior change (not one-off facts).
Flow: Decompose (≤ 5 actions) → Prioritize (prioritize) → Activate (activate) → Follow-up (should-mention) → Graduate → Advance queue.
→ Full step details and queue rules: references/action-pipeline.md
| Signal | Action |
|---|---|
| Extreme habit proposed | Redirect to sustainable alternative. |
| Obsessive tracking / guilt over misses | Scale back frequency. Write flags.habit_anxiety: true. |
| Self-hatred over misses | Defer to emotional-support. Emotion first. Write flags.body_image_distress: true if severe. |
USER.md, health-profile.md, health-preferences.md, PLAN.md,
data/meals/YYYY-MM-DD.json (via nutrition-calc.py load),
data/weight.json (via weight-tracker.py load)
| Path | When |
|---|---|
habits.active | Habit accepted |
habits.graduated | Habit graduates |
habits.daily_log.{date} | Completion/miss/no_response |
habits.mention_counter | After each mention |
habits.lifestyle_gaps | Gap analysis (for Weekly Review) |
habits.action_queue | Pipeline actions with priority and status |
habits.advice_history | Completed advice records |
| File | Contents |
|---|---|
references/habit-details.md | Type → timing table, frequency phases, tiny-fy examples, feedback examples, blacklisted phrases, lifestyle gap dimensions |
references/recommendation.md | How to choose, tiny-fy, present, and handle acceptance/decline |
references/lifecycle.md | Active tracking, completion signals, graduation, failure/restart, strict-habit failure, scaling, concurrent habits, data schema |
references/action-pipeline.md | Advice-to-Action Pipeline step details and queue management rules |
references/script-reference.md | action-pipeline.py subcommand syntax and data structures |