@starascendin/lifeos-mcp 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.d.ts +2 -2
- package/dist/build-info.js +2 -2
- package/dist/index.js +309 -12
- package/package.json +1 -1
package/dist/build-info.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.7.
|
|
2
|
-
export declare const BUILD_TIME = "2026-02-
|
|
1
|
+
export declare const VERSION = "0.7.4";
|
|
2
|
+
export declare const BUILD_TIME = "2026-02-18T19:45:47.374Z";
|
package/dist/build-info.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// AUTO-GENERATED — do not edit. Regenerated on every build.
|
|
2
|
-
export const VERSION = "0.7.
|
|
3
|
-
export const BUILD_TIME = "2026-02-
|
|
2
|
+
export const VERSION = "0.7.4";
|
|
3
|
+
export const BUILD_TIME = "2026-02-18T19:45:47.374Z";
|
package/dist/index.js
CHANGED
|
@@ -2316,7 +2316,7 @@ const TOOLS = [
|
|
|
2316
2316
|
// ==================== HEALTH (Oura Ring) Tools ====================
|
|
2317
2317
|
{
|
|
2318
2318
|
name: "get_health_sleep",
|
|
2319
|
-
description: "Get daily sleep data from Oura Ring including scores, durations (total/deep/REM/light), HRV, resting heart rate, and
|
|
2319
|
+
description: "Get daily sleep data from Oura Ring including scores, durations (total/deep/REM/light), HRV, resting heart rate, bedtime start/end, time in bed, average breath rate, restless periods, average heart rate, and contributor scores.",
|
|
2320
2320
|
inputSchema: {
|
|
2321
2321
|
type: "object",
|
|
2322
2322
|
properties: {
|
|
@@ -2350,7 +2350,7 @@ const TOOLS = [
|
|
|
2350
2350
|
},
|
|
2351
2351
|
{
|
|
2352
2352
|
name: "get_health_readiness",
|
|
2353
|
-
description: "Get daily readiness scores from Oura Ring including readiness score, temperature deviation, and recovery contributor scores.",
|
|
2353
|
+
description: "Get daily readiness scores from Oura Ring including readiness score, temperature deviation, temperature trend deviation, and recovery contributor scores.",
|
|
2354
2354
|
inputSchema: {
|
|
2355
2355
|
type: "object",
|
|
2356
2356
|
properties: {
|
|
@@ -2384,7 +2384,7 @@ const TOOLS = [
|
|
|
2384
2384
|
},
|
|
2385
2385
|
{
|
|
2386
2386
|
name: "get_health_spo2",
|
|
2387
|
-
description: "Get daily blood oxygen (SpO2) percentage data from Oura Ring.",
|
|
2387
|
+
description: "Get daily blood oxygen (SpO2) percentage and breathing disturbance index data from Oura Ring.",
|
|
2388
2388
|
inputSchema: {
|
|
2389
2389
|
type: "object",
|
|
2390
2390
|
properties: {
|
|
@@ -2418,7 +2418,58 @@ const TOOLS = [
|
|
|
2418
2418
|
},
|
|
2419
2419
|
{
|
|
2420
2420
|
name: "get_health_workouts",
|
|
2421
|
-
description: "Get workout history from Oura Ring including activity type, duration, calories, intensity, and distance.",
|
|
2421
|
+
description: "Get workout history from Oura Ring including activity type, label, source, duration, calories, intensity, and distance.",
|
|
2422
|
+
inputSchema: {
|
|
2423
|
+
type: "object",
|
|
2424
|
+
properties: {
|
|
2425
|
+
userId: {
|
|
2426
|
+
type: "string",
|
|
2427
|
+
description: "Override the default user ID (optional)",
|
|
2428
|
+
},
|
|
2429
|
+
days: {
|
|
2430
|
+
type: "number",
|
|
2431
|
+
description: "Number of days to fetch (default 30)",
|
|
2432
|
+
},
|
|
2433
|
+
},
|
|
2434
|
+
},
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
name: "get_health_resilience",
|
|
2438
|
+
description: "Get daily resilience data from Oura Ring including resilience level (limited/adequate/solid/strong/exceptional) and contributor scores (sleep recovery, daytime recovery, stress).",
|
|
2439
|
+
inputSchema: {
|
|
2440
|
+
type: "object",
|
|
2441
|
+
properties: {
|
|
2442
|
+
userId: {
|
|
2443
|
+
type: "string",
|
|
2444
|
+
description: "Override the default user ID (optional)",
|
|
2445
|
+
},
|
|
2446
|
+
days: {
|
|
2447
|
+
type: "number",
|
|
2448
|
+
description: "Number of days to fetch (default 30)",
|
|
2449
|
+
},
|
|
2450
|
+
},
|
|
2451
|
+
},
|
|
2452
|
+
},
|
|
2453
|
+
{
|
|
2454
|
+
name: "get_health_cardio_age",
|
|
2455
|
+
description: "Get daily cardiovascular age data from Oura Ring. Shows vascular age estimate based on cardiovascular health markers.",
|
|
2456
|
+
inputSchema: {
|
|
2457
|
+
type: "object",
|
|
2458
|
+
properties: {
|
|
2459
|
+
userId: {
|
|
2460
|
+
type: "string",
|
|
2461
|
+
description: "Override the default user ID (optional)",
|
|
2462
|
+
},
|
|
2463
|
+
days: {
|
|
2464
|
+
type: "number",
|
|
2465
|
+
description: "Number of days to fetch (default 30)",
|
|
2466
|
+
},
|
|
2467
|
+
},
|
|
2468
|
+
},
|
|
2469
|
+
},
|
|
2470
|
+
{
|
|
2471
|
+
name: "get_health_vo2_max",
|
|
2472
|
+
description: "Get VO2 max estimates from Oura Ring. VO2 max (ml/kg/min) measures cardiorespiratory fitness level.",
|
|
2422
2473
|
inputSchema: {
|
|
2423
2474
|
type: "object",
|
|
2424
2475
|
properties: {
|
|
@@ -2846,6 +2897,145 @@ const TOOLS = [
|
|
|
2846
2897
|
required: ["actionItemId"],
|
|
2847
2898
|
},
|
|
2848
2899
|
},
|
|
2900
|
+
// ==================== HABIT TRACKER ====================
|
|
2901
|
+
{
|
|
2902
|
+
name: "get_habits",
|
|
2903
|
+
description: "Get all active habits grouped by category with streaks and completion stats. Returns habits with their current streak, longest streak, total completions, and category groupings.",
|
|
2904
|
+
inputSchema: {
|
|
2905
|
+
type: "object",
|
|
2906
|
+
properties: {
|
|
2907
|
+
categoryId: { type: "string", description: "Filter by category ID" },
|
|
2908
|
+
includeArchived: { type: "boolean", description: "Include archived habits (default false)" },
|
|
2909
|
+
},
|
|
2910
|
+
},
|
|
2911
|
+
},
|
|
2912
|
+
{
|
|
2913
|
+
name: "get_habits_for_date",
|
|
2914
|
+
description: "Get habits scheduled for a specific date with their check-in status (completed/skipped/pending/incomplete). Essential for daily habit reviews and check-ins.",
|
|
2915
|
+
inputSchema: {
|
|
2916
|
+
type: "object",
|
|
2917
|
+
properties: {
|
|
2918
|
+
date: { type: "string", description: "Date in YYYY-MM-DD format" },
|
|
2919
|
+
},
|
|
2920
|
+
required: ["date"],
|
|
2921
|
+
},
|
|
2922
|
+
},
|
|
2923
|
+
{
|
|
2924
|
+
name: "get_habit",
|
|
2925
|
+
description: "Get a single habit with extended stats including monthly completions and completion rate.",
|
|
2926
|
+
inputSchema: {
|
|
2927
|
+
type: "object",
|
|
2928
|
+
properties: {
|
|
2929
|
+
habitId: { type: "string", description: "The habit ID" },
|
|
2930
|
+
},
|
|
2931
|
+
required: ["habitId"],
|
|
2932
|
+
},
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
name: "create_habit",
|
|
2936
|
+
description: "Create a new habit to track. Supports daily or weekly frequency with specific target days.",
|
|
2937
|
+
inputSchema: {
|
|
2938
|
+
type: "object",
|
|
2939
|
+
properties: {
|
|
2940
|
+
name: { type: "string", description: "Habit name (e.g., 'Meditate', 'Read 30 min', 'No social media')" },
|
|
2941
|
+
description: { type: "string", description: "Habit description" },
|
|
2942
|
+
icon: { type: "string", description: "Emoji icon for the habit" },
|
|
2943
|
+
categoryId: { type: "string", description: "Category ID to group under" },
|
|
2944
|
+
initiativeId: { type: "string", description: "Link to a yearly initiative" },
|
|
2945
|
+
frequency: { type: "string", enum: ["daily", "weekly"], description: "How often the habit should be tracked" },
|
|
2946
|
+
targetDays: {
|
|
2947
|
+
type: "array",
|
|
2948
|
+
items: { type: "string", enum: ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"] },
|
|
2949
|
+
description: "For weekly habits: which days to track",
|
|
2950
|
+
},
|
|
2951
|
+
},
|
|
2952
|
+
required: ["name", "frequency"],
|
|
2953
|
+
},
|
|
2954
|
+
},
|
|
2955
|
+
{
|
|
2956
|
+
name: "update_habit",
|
|
2957
|
+
description: "Update a habit's details (name, frequency, category, etc.)",
|
|
2958
|
+
inputSchema: {
|
|
2959
|
+
type: "object",
|
|
2960
|
+
properties: {
|
|
2961
|
+
habitId: { type: "string", description: "The habit ID" },
|
|
2962
|
+
name: { type: "string", description: "Updated name" },
|
|
2963
|
+
description: { type: "string", description: "Updated description" },
|
|
2964
|
+
icon: { type: "string", description: "Updated emoji icon" },
|
|
2965
|
+
categoryId: { type: "string", description: "Move to different category (use 'null' to uncategorize)" },
|
|
2966
|
+
initiativeId: { type: "string", description: "Link/unlink initiative (use 'null' to unlink)" },
|
|
2967
|
+
frequency: { type: "string", enum: ["daily", "weekly"], description: "Updated frequency" },
|
|
2968
|
+
targetDays: {
|
|
2969
|
+
type: "array",
|
|
2970
|
+
items: { type: "string", enum: ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"] },
|
|
2971
|
+
description: "For weekly habits: updated target days",
|
|
2972
|
+
},
|
|
2973
|
+
isActive: { type: "boolean", description: "Activate or deactivate the habit" },
|
|
2974
|
+
},
|
|
2975
|
+
required: ["habitId"],
|
|
2976
|
+
},
|
|
2977
|
+
},
|
|
2978
|
+
{
|
|
2979
|
+
name: "archive_habit",
|
|
2980
|
+
description: "Archive a habit (soft delete). Preserves check-in history but removes from active tracking.",
|
|
2981
|
+
inputSchema: {
|
|
2982
|
+
type: "object",
|
|
2983
|
+
properties: {
|
|
2984
|
+
habitId: { type: "string", description: "The habit ID" },
|
|
2985
|
+
},
|
|
2986
|
+
required: ["habitId"],
|
|
2987
|
+
},
|
|
2988
|
+
},
|
|
2989
|
+
{
|
|
2990
|
+
name: "check_in_habit",
|
|
2991
|
+
description: "Check in a habit for a specific date. Mark as completed, skipped (with optional reason), or incomplete. This is the primary tool for daily habit tracking.",
|
|
2992
|
+
inputSchema: {
|
|
2993
|
+
type: "object",
|
|
2994
|
+
properties: {
|
|
2995
|
+
habitId: { type: "string", description: "The habit ID" },
|
|
2996
|
+
date: { type: "string", description: "Date in YYYY-MM-DD format" },
|
|
2997
|
+
completed: { type: "boolean", description: "true = completed, false = incomplete" },
|
|
2998
|
+
skipped: { type: "boolean", description: "true = intentionally skipped (not a failure)" },
|
|
2999
|
+
note: { type: "string", description: "Optional note or reason (especially useful for skips)" },
|
|
3000
|
+
},
|
|
3001
|
+
required: ["habitId", "date", "completed"],
|
|
3002
|
+
},
|
|
3003
|
+
},
|
|
3004
|
+
{
|
|
3005
|
+
name: "get_habit_check_ins",
|
|
3006
|
+
description: "Get check-in history for a specific habit. Shows completion dates, skips, and notes.",
|
|
3007
|
+
inputSchema: {
|
|
3008
|
+
type: "object",
|
|
3009
|
+
properties: {
|
|
3010
|
+
habitId: { type: "string", description: "The habit ID" },
|
|
3011
|
+
limit: { type: "number", description: "Max results (default 30, max 100)" },
|
|
3012
|
+
},
|
|
3013
|
+
required: ["habitId"],
|
|
3014
|
+
},
|
|
3015
|
+
},
|
|
3016
|
+
{
|
|
3017
|
+
name: "get_habit_categories",
|
|
3018
|
+
description: "Get all habit categories for organizing habits into groups.",
|
|
3019
|
+
inputSchema: {
|
|
3020
|
+
type: "object",
|
|
3021
|
+
properties: {
|
|
3022
|
+
includeArchived: { type: "boolean", description: "Include archived categories (default false)" },
|
|
3023
|
+
},
|
|
3024
|
+
},
|
|
3025
|
+
},
|
|
3026
|
+
{
|
|
3027
|
+
name: "create_habit_category",
|
|
3028
|
+
description: "Create a new habit category for grouping related habits together.",
|
|
3029
|
+
inputSchema: {
|
|
3030
|
+
type: "object",
|
|
3031
|
+
properties: {
|
|
3032
|
+
name: { type: "string", description: "Category name (e.g., 'Morning Routine', 'Health', 'Mindset')" },
|
|
3033
|
+
icon: { type: "string", description: "Emoji icon (default: 📋)" },
|
|
3034
|
+
color: { type: "string", description: "Hex color (default: #6366f1)" },
|
|
3035
|
+
},
|
|
3036
|
+
required: ["name"],
|
|
3037
|
+
},
|
|
3038
|
+
},
|
|
2849
3039
|
// MCP Server Info
|
|
2850
3040
|
{
|
|
2851
3041
|
name: "get_version",
|
|
@@ -3149,6 +3339,28 @@ const PROMPTS = [
|
|
|
3149
3339
|
},
|
|
3150
3340
|
],
|
|
3151
3341
|
},
|
|
3342
|
+
{
|
|
3343
|
+
name: "habit-check",
|
|
3344
|
+
description: "Daily habit check-in: review today's habits, mark completions, celebrate streaks.",
|
|
3345
|
+
arguments: [
|
|
3346
|
+
{
|
|
3347
|
+
name: "habits",
|
|
3348
|
+
description: "Specific habits to check in (optional, comma-separated habit names or IDs)",
|
|
3349
|
+
required: false,
|
|
3350
|
+
},
|
|
3351
|
+
],
|
|
3352
|
+
},
|
|
3353
|
+
{
|
|
3354
|
+
name: "daily-training-report",
|
|
3355
|
+
description: "Comprehensive daily training report: yesterday's results, today's focus, habit compliance, health data, ADHD focus management.",
|
|
3356
|
+
arguments: [
|
|
3357
|
+
{
|
|
3358
|
+
name: "date",
|
|
3359
|
+
description: "Specific date in ISO format (optional, defaults to today)",
|
|
3360
|
+
required: false,
|
|
3361
|
+
},
|
|
3362
|
+
],
|
|
3363
|
+
},
|
|
3152
3364
|
];
|
|
3153
3365
|
// Prompt message templates keyed by prompt name
|
|
3154
3366
|
const PROMPT_MESSAGES = {
|
|
@@ -3753,17 +3965,22 @@ ${titleClause}
|
|
|
3753
3965
|
type: "text",
|
|
3754
3966
|
text: `Give me a quick health overview. Use the LifeOS MCP tools to gather Oura Ring data for the last ${daysCount} days:
|
|
3755
3967
|
|
|
3756
|
-
1. Call get_health_sleep with days=${daysCount} for sleep scores
|
|
3968
|
+
1. Call get_health_sleep with days=${daysCount} for sleep scores, durations, bedtime, breath rate
|
|
3757
3969
|
2. Call get_health_activity with days=${daysCount} for activity scores and steps
|
|
3758
3970
|
3. Call get_health_readiness with days=${daysCount} for readiness scores
|
|
3759
3971
|
4. Call get_health_heart_rate with days=${daysCount} for resting heart rate trends
|
|
3972
|
+
5. Call get_health_resilience with days=${daysCount} for resilience levels
|
|
3973
|
+
6. Call get_health_vo2_max with days=${daysCount} for VO2 max estimates
|
|
3974
|
+
7. Call get_health_cardio_age with days=${daysCount} for cardiovascular age
|
|
3760
3975
|
|
|
3761
3976
|
Present a concise health dashboard:
|
|
3762
3977
|
- **Overall Status**: Quick assessment (great / good / needs attention)
|
|
3763
|
-
- **Sleep**: Average score, total sleep trend, any concerning nights
|
|
3978
|
+
- **Sleep**: Average score, total sleep trend, bedtime consistency, avg breath rate, any concerning nights
|
|
3764
3979
|
- **Activity**: Average score, daily steps, active calories
|
|
3765
3980
|
- **Readiness**: Average score, trend direction (improving/declining/stable)
|
|
3766
3981
|
- **Heart Rate**: Resting HR trend, HRV if available
|
|
3982
|
+
- **Resilience**: Current level and trend (limited/adequate/solid/strong/exceptional)
|
|
3983
|
+
- **Fitness**: VO2 max trend, cardiovascular age vs actual age
|
|
3767
3984
|
- **Insights**: 2-3 actionable observations based on the data
|
|
3768
3985
|
|
|
3769
3986
|
Keep it concise. Highlight anything unusual or noteworthy.`,
|
|
@@ -3781,19 +3998,25 @@ Keep it concise. Highlight anything unusual or noteworthy.`,
|
|
|
3781
3998
|
type: "text",
|
|
3782
3999
|
text: `Run a weekly health review for the last ${weeksCount} week(s). Use the LifeOS MCP tools:
|
|
3783
4000
|
|
|
3784
|
-
1. Call get_health_sleep with days=${daysCount} for sleep data
|
|
4001
|
+
1. Call get_health_sleep with days=${daysCount} for sleep data (scores, durations, bedtime, breath rate, restless periods)
|
|
3785
4002
|
2. Call get_health_activity with days=${daysCount} for activity data
|
|
3786
4003
|
3. Call get_health_readiness with days=${daysCount} for readiness data
|
|
3787
4004
|
4. Call get_health_stress with days=${daysCount} for stress/recovery data
|
|
3788
|
-
5. Call get_health_workouts with days=${daysCount} for workout history
|
|
4005
|
+
5. Call get_health_workouts with days=${daysCount} for workout history (prefer label over activity for display name)
|
|
3789
4006
|
6. Call get_health_heart_rate with days=${daysCount} for HR trends
|
|
4007
|
+
7. Call get_health_resilience with days=${daysCount} for resilience levels and contributors
|
|
4008
|
+
8. Call get_health_vo2_max with days=${daysCount} for VO2 max estimates
|
|
4009
|
+
9. Call get_health_cardio_age with days=${daysCount} for cardiovascular age
|
|
4010
|
+
10. Call get_health_spo2 with days=${daysCount} for SpO2 and breathing disturbance index
|
|
3790
4011
|
|
|
3791
4012
|
Present a detailed weekly health review:
|
|
3792
|
-
- **Sleep Quality**: Weekly average scores, best/worst nights, sleep duration trends, deep/REM balance
|
|
4013
|
+
- **Sleep Quality**: Weekly average scores, best/worst nights, sleep duration trends, deep/REM balance, bedtime consistency, avg breath rate
|
|
3793
4014
|
- **Activity Patterns**: Weekly step averages, active days vs rest days, calorie burn
|
|
3794
|
-
- **Readiness & Recovery**: Score trends, stress vs recovery balance
|
|
3795
|
-
- **
|
|
3796
|
-
- **
|
|
4015
|
+
- **Readiness & Recovery**: Score trends, stress vs recovery balance, temperature trend
|
|
4016
|
+
- **Resilience**: Daily levels trend (limited→exceptional), contributor breakdown (sleep recovery, daytime recovery, stress)
|
|
4017
|
+
- **Fitness**: VO2 max trend (ml/kg/min), cardiovascular age trend, week-over-week changes
|
|
4018
|
+
- **Workouts**: List workouts with type/label, duration, calories burned
|
|
4019
|
+
- **Heart Rate & Breathing**: Resting HR trend, HRV trend, SpO2, breathing disturbance index
|
|
3797
4020
|
- **Week-over-Week**: Compare this week vs last week (if multiple weeks)
|
|
3798
4021
|
- **Recommendations**: 3-5 specific, actionable health recommendations
|
|
3799
4022
|
|
|
@@ -3922,6 +4145,80 @@ Present a session review:
|
|
|
3922
4145
|
},
|
|
3923
4146
|
];
|
|
3924
4147
|
},
|
|
4148
|
+
"habit-check": (args) => {
|
|
4149
|
+
const habitsClause = args.habits
|
|
4150
|
+
? `The user wants to check in these specific habits: ${args.habits}. Use check_in_habit to mark them as completed.`
|
|
4151
|
+
: "";
|
|
4152
|
+
return [
|
|
4153
|
+
{
|
|
4154
|
+
role: "user",
|
|
4155
|
+
content: {
|
|
4156
|
+
type: "text",
|
|
4157
|
+
text: `Run a daily habit check-in. Use the LifeOS tools to:
|
|
4158
|
+
|
|
4159
|
+
1. Call get_habits_for_date with today's date to see all scheduled habits and their status
|
|
4160
|
+
2. Call get_habits to see full habit list with streaks
|
|
4161
|
+
|
|
4162
|
+
Present a clear dashboard showing:
|
|
4163
|
+
- Each habit scheduled for today with status (completed/pending/skipped)
|
|
4164
|
+
- Current streaks for each habit
|
|
4165
|
+
- Overall completion rate for today
|
|
4166
|
+
- Any streaks at risk (habits not yet completed today that have active streaks)
|
|
4167
|
+
|
|
4168
|
+
${habitsClause}
|
|
4169
|
+
|
|
4170
|
+
Tone: Direct, accountability-focused. Celebrate completed habits, flag pending ones with urgency.`,
|
|
4171
|
+
},
|
|
4172
|
+
},
|
|
4173
|
+
];
|
|
4174
|
+
},
|
|
4175
|
+
"daily-training-report": (args) => {
|
|
4176
|
+
const dateClause = args.date
|
|
4177
|
+
? `Use date: ${args.date}`
|
|
4178
|
+
: "Use today's date.";
|
|
4179
|
+
return [
|
|
4180
|
+
{
|
|
4181
|
+
role: "user",
|
|
4182
|
+
content: {
|
|
4183
|
+
type: "text",
|
|
4184
|
+
text: `Generate a comprehensive daily training report. Use the LifeOS tools to gather:
|
|
4185
|
+
|
|
4186
|
+
1. HABITS: Call get_habits_for_date for yesterday's date (habit compliance review)
|
|
4187
|
+
2. HABITS TODAY: Call get_habits_for_date for today's date (today's targets)
|
|
4188
|
+
3. HEALTH: Call get_health_sleep, get_health_readiness, get_health_activity (1 day each) for Oura Ring data
|
|
4189
|
+
4. AGENDA: Call get_daily_agenda for today's schedule and tasks
|
|
4190
|
+
5. INITIATIVES: Call get_initiatives to check yearly goal progress
|
|
4191
|
+
6. ACTION ITEMS: Call get_coaching_action_items for pending coaching items
|
|
4192
|
+
|
|
4193
|
+
${dateClause}
|
|
4194
|
+
|
|
4195
|
+
Synthesize into a structured report:
|
|
4196
|
+
|
|
4197
|
+
**YESTERDAY'S RESULTS**
|
|
4198
|
+
- Habit completion: X/Y completed, list each with status
|
|
4199
|
+
- Streaks maintained or broken
|
|
4200
|
+
- Health scores (sleep, readiness, activity)
|
|
4201
|
+
|
|
4202
|
+
**TODAY'S FOCUS**
|
|
4203
|
+
- Top 3 priorities (from agenda + top priority tasks)
|
|
4204
|
+
- Habits scheduled for today
|
|
4205
|
+
- Any overdue items or broken streaks to recover
|
|
4206
|
+
|
|
4207
|
+
**ACCOUNTABILITY**
|
|
4208
|
+
- Habits skipped or missed yesterday (call these out directly)
|
|
4209
|
+
- Streak warnings (habits with active streaks that need attention today)
|
|
4210
|
+
- "Never skip a rep" reminder for any pending habits
|
|
4211
|
+
|
|
4212
|
+
**ADHD FOCUS CHECK**
|
|
4213
|
+
- Are today's tasks aligned with your initiatives/yearly goals?
|
|
4214
|
+
- Flag any "busy work" vs "real progress" items
|
|
4215
|
+
- Suggested focus blocks for deep work
|
|
4216
|
+
|
|
4217
|
+
Keep it direct and no-BS. This is a personal trainer report, not a gentle suggestion.`,
|
|
4218
|
+
},
|
|
4219
|
+
},
|
|
4220
|
+
];
|
|
4221
|
+
},
|
|
3925
4222
|
};
|
|
3926
4223
|
// Configuration: CLI flags take precedence over env vars
|
|
3927
4224
|
// NOTE: HTTP routes are served from .convex.site, NOT .convex.cloud
|
package/package.json
CHANGED