nexus_create_or_update_workout_draft
ChatGPTPlan a workout the user can follow, checking off sets as they go, or change one they already have. Use this when the user asks what to train, wants a workout, or picks one to start, e.g. "give me a 45-minute push day". Before planning a new workout, call nexus_get_history for their recent workouts. Work out their training goal from the conversation, since Nexus saves nutrition targets but not training goals; if they haven't said one, assume general fitness. Build the plan around that goal: heavier weights, fewer reps and longer rest for strength; moderate reps and more sets for muscle; higher reps and shorter rest for endurance or fat loss. Don't repeat their last session or train the same muscle on back-to-back days, give each exercise at least 3 working sets, and add extra work at the end for any muscle they want to bring up. Give target weights in the user's unit, with one unit for the call. To change a plan, pass its draft_id with operations; operations target the plan's item ids, not exercise_id. Keep the same draft_id and URL across turns, and share the returned link. Nothing is logged until the user taps Finish. Until then the workout is a draft (draft_ready or draft_in_progress), and nexus_get_history is the record of what they actually logged.
nexus_get_history
ChatGPTRead the user's logged meals, workouts, body weight and goals. Use this when an answer depends on what the user actually logged in Nexus: totals, progress, personal records or past workouts, e.g. "how much protein have I had today?". Ask for one date or a date range, and filter by type, muscle or friend_id when useful. No entries means nothing was logged, not that the user ate or trained nothing. To show the user a day, use nexus_show_interface.
nexus_get_logs_history
ChatGPTRead the user's logged meals, workouts, body weight and goals. Use this when an answer depends on what the user actually logged in Nexus: totals, progress, personal records or past workouts, e.g. "how much protein have I had today?". Ask for one date or a date range, and filter by type, muscle or friend_id when useful. No entries means nothing was logged, not that the user ate or trained nothing. To show the user a day, use nexus_show_interface.
nexus_link_tap
ChatGPTInternal. The Nexus card calls this when the user taps a link in it. Never call it yourself.
nexus_log_calories_and_workouts
ChatGPTLog meals with their calories and macros, finished workouts, and body weight. Use this when the user says what they ate or drank, shares a photo of food, or finishes exercise, e.g. "I had two eggs and toast", "did 3×8 bench at 60 kg" or "72.4 kg this morning". Estimate calories, protein, carbs, fat and fiber carefully from what they share; ask one short question only when an item or portion is too unclear to estimate. Send weights as the user said them, with unit kg or lb. Put everything from the message in one call. If the result is exercise_resolution_required, nothing was saved: follow next_instruction and retry the complete original batch. After a successful log, call nexus_show_interface so the user can check the entry and edit it.
nexus_log_entries
ChatGPTLog meals with their calories and macros, finished workouts, and body weight. Use this when the user says what they ate or drank, shares a photo of food, or finishes exercise, e.g. "I had two eggs and toast", "did 3×8 bench at 60 kg" or "72.4 kg this morning". Estimate calories, protein, carbs, fat and fiber carefully from what they share; ask one short question only when an item or portion is too unclear to estimate. Send weights as the user said them, with unit kg or lb. Put everything from the message in one call. If the result is exercise_resolution_required, nothing was saved: follow next_instruction and retry the complete original batch. After a successful log, call nexus_show_interface so the user can check the entry and edit it.
nexus_manage_friends
ChatGPTList the user's Nexus friends, pending requests, and friend code, or add, accept, reject, or remove a friendship. Add a friend with their NEXUS-XXXX code; accept, reject, or remove by email. To read a friend's shared fitness history, call nexus_get_history with the returned friend_id.
nexus_open_app
ChatGPTOpen the persistent Nexus app from navigation or on an explicit request to open the app. Its editable day view refreshes saved logs automatically. Never use this as a follow-up to logging or updating.
nexus_plan_workout_create_or_update
ChatGPTPlan a workout the user can follow, checking off sets as they go, or change one they already have. Use this when the user asks what to train, wants a workout, or picks one to start, e.g. "give me a 45-minute push day". Before planning a new workout, call nexus_get_logs_history for their recent workouts. Work out their training goal from the conversation, since Nexus saves nutrition targets but not training goals; if they haven't said one, assume general fitness. Build the plan around that goal: heavier weights, fewer reps and longer rest for strength; moderate reps and more sets for muscle; higher reps and shorter rest for endurance or fat loss. Don't repeat their last session or train the same muscle on back-to-back days, give each exercise at least 3 working sets, and add extra work at the end for any muscle they want to bring up. Give target weights in the user's unit, with one unit for the call. To change a plan, pass its plan_id with operations; operations target the plan's item ids, not exercise_id. Keep the same plan_id and URL across turns, and share the returned link. Nothing is logged until the user taps Finish. Until then the workout is a draft (draft_ready or draft_in_progress), and nexus_get_logs_history is the record of what they actually logged.
nexus_read_workout_draft
ChatGPTRead the user's workout session: the plan and the sets they've checked off so far. A session is a workout plan the user is working through. They check off sets as they go, but checked sets are progress, not logs: nothing is logged until they tap Finish, so use nexus_get_history for what they actually did. Use this to resume or discuss a session, e.g. "let's pick up yesterday's workout"; to change it, call nexus_create_or_update_workout_draft with its draft_id. Pass the draft_id you have. Without one, you get the latest unfinished session, plus a list of any others.
nexus_read_workout_plan
ChatGPTRead the user's workout session: the plan and the sets they've checked off so far. A session is a workout plan the user is working through. They check off sets as they go, but checked sets are progress, not logs: nothing is logged until they tap Finish, so use nexus_get_logs_history for what they actually did. Use this to resume or discuss a session, e.g. "let's pick up yesterday's workout"; to change it, call nexus_plan_workout_create_or_update with its plan_id. Pass the plan_id you have. Without one, you get the latest unfinished session, plus a list of any others.
nexus_set_goal
ChatGPTOlder way to save daily calorie, protein, carb, fat or fiber targets; use nexus_update_goals_and_preferences when it is available. Use this only when the user asks to save or change a target, e.g. "set my protein to 150 g". Send only the targets that change; the others stay. Include the user's reason if they give one. Discussing a target is not a request to save it.
nexus_show_interface
ChatGPTShow the user an interactive summary of their day in Nexus: logged meals, workouts and body weight, calorie and macro totals against their goals, and personal records. The user can edit entries right on the card. Call it after every successful nexus_log_entries, and whenever the user asks to see their day. The card shows the details, so keep your reply short; if the result includes a promo, let the card show it and don't repeat it in chat. For data you need to analyze, use nexus_get_logs_history.
nexus_update_entry
ChatGPTCorrect one entry the user already logged: a meal, a workout or a body weight. Use this when the user wants to fix something, e.g. "that was 2 eggs, not 3". Pass the entry's type, id and state_version from nexus_get_history or nexus_log_entries, plus only the fields that change. A workout's exercise cannot be changed. If state_version is stale, read the entry again and retry with a new mutation_id. To change a planned workout, use nexus_create_or_update_workout_draft.
nexus_update_goals_and_preferences
ChatGPTSave the user's daily nutrition goals and preferences: calorie, protein, carb, fat and fiber targets, their weight unit (kg or lb) and their timezone. Change targets or the weight unit only when the user asks, e.g. "set my protein to 150 g" or "use pounds". Set the timezone when the user says where they are, or when it's clear from the conversation. Send only what changes; everything else stays. Include the user's reason for a target change if they give one. Discussing a target is not a request to save it. The timezone is used for reminders only and does not change which day an entry is logged on. Workout, strength and body-weight goals are not supported.
nexus_update_logs
ChatGPTCorrect one entry the user already logged: a meal, a workout or a body weight. Use this when the user wants to fix something, e.g. "that was 2 eggs, not 3". Pass the entry's type, id and state_version from nexus_get_logs_history or nexus_log_entries, plus only the fields that change. A workout's exercise cannot be changed. If state_version is stale, read the entry again and retry with a new mutation_id. To change a planned workout, use nexus_plan_workout_create_or_update.
nexus_create_or_update_workout_draft
Claudenexus_get_history
Claudenexus_link_tap
Claudenexus_log_entries
Claudenexus_manage_friends
Claudenexus_prepare_workout
Claudenexus_read_workout_draft
Claudenexus_set_goal
Claudenexus_show_interface
Claudenexus_update_entry
Claude