Tool tree
gradeNot graded
get_athlete_profileAnswer
Read the current GymDeck athlete profile, training goal, units, experience, equipment, and weekly schedule.
View tool JSON
{
"name": "get_athlete_profile",
"kind": "answer",
"impl": "imperative",
"description": "Read the current GymDeck athlete profile, training goal, units, experience, equipment, and weekly schedule.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}get_today_workoutAnswer
Read today’s workout, including exercise order, target and completed sets, reps, weights, rest times, and status.
View tool JSON
{
"name": "get_today_workout",
"kind": "answer",
"impl": "imperative",
"description": "Read today’s workout, including exercise order, target and completed sets, reps, weights, rest times, and status.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}get_training_planAnswer
Read the complete saved training plan, including every day, focus, exercise, prescription, and cardio block. A response with id 'plan-empty' and zero days means the workspace has no saved plan yet.
View tool JSON
{
"name": "get_training_plan",
"kind": "answer",
"impl": "imperative",
"description": "Read the complete saved training plan, including every day, focus, exercise, prescription, and cardio block. A response with id 'plan-empty' and zero days means the workspace has no saved plan yet.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}search_exercisesAnswer
Search GymDeck’s exercise library by name, muscle, movement, or equipment before adding or swapping an exercise.
View tool JSON
{
"name": "search_exercises",
"kind": "answer",
"impl": "imperative",
"description": "Search GymDeck’s exercise library by name, muscle, movement, or equipment before adding or swapping an exercise.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Exercise, muscle, movement, or equipment to search for."
}
},
"required": [
"query"
],
"additionalProperties": false
}
}get_exercise_historyAnswer
Read the athlete’s recorded performance history for one exercise, ordered by date.
View tool JSON
{
"name": "get_exercise_history",
"kind": "answer",
"impl": "imperative",
"description": "Read the athlete’s recorded performance history for one exercise, ordered by date.",
"inputSchema": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
}
},
"required": [
"exerciseName"
],
"additionalProperties": false
}
}create_training_planAction
Create and save a 2–5 day training plan only when GymDeck has no saved plan. This initializes a fresh workspace and never overwrites or removes an existing plan.
View tool JSON
{
"name": "create_training_plan",
"kind": "act",
"impl": "imperative",
"description": "Create and save a 2–5 day training plan only when GymDeck has no saved plan. This initializes a fresh workspace and never overwrites or removes an existing plan.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"goal": {
"type": "string"
},
"daysPerWeek": {
"type": "integer",
"minimum": 2,
"maximum": 5
}
},
"required": [
"name",
"goal",
"daysPerWeek"
],
"additionalProperties": false
}
}replace_training_planAction
Replace GymDeck’s existing saved plan with a new 2–5 day plan only when the user explicitly asks to replace it. Workout history is preserved.
View tool JSON
{
"name": "replace_training_plan",
"kind": "act",
"impl": "imperative",
"description": "Replace GymDeck’s existing saved plan with a new 2–5 day plan only when the user explicitly asks to replace it. Workout history is preserved.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"goal": {
"type": "string"
},
"daysPerWeek": {
"type": "integer",
"minimum": 2,
"maximum": 5
}
},
"required": [
"name",
"goal",
"daysPerWeek"
],
"additionalProperties": false
}
}prepare_focused_workoutAction
Prepare a complete workout from a short request such as 'make me a shoulders and arms workout', 'give me a leg day', or 'I want to train back'. Default to today unless the user explicitly asks to save it to the plan. This is the best tool for a simple workout request.
View tool JSON
{
"name": "prepare_focused_workout",
"kind": "act",
"impl": "imperative",
"description": "Prepare a complete workout from a short request such as 'make me a shoulders and arms workout', 'give me a leg day', or 'I want to train back'. Default to today unless the user explicitly asks to save it to the plan. This is the best tool for a simple workout request.",
"inputSchema": {
"type": "object",
"properties": {
"focus": {
"type": "string",
"description": "Short requested focus, e.g. shoulders and arms, legs, pull, or full body."
},
"destination": {
"type": "string",
"enum": [
"today",
"plan"
],
"description": "Optional; defaults to today."
},
"label": {
"type": "string",
"description": "Optional plan-day label when saving to the plan."
}
},
"required": [
"focus"
],
"additionalProperties": false
}
}set_plan_dayAction
Create a saved workout day with an exact exercise list, or replace one existing day. Use this for requests like 'make me a shoulders and arms day' when the requested exercises or prescriptions are explicit. This changes the saved plan, not only today’s workout.
View tool JSON
{
"name": "set_plan_day",
"kind": "act",
"impl": "imperative",
"description": "Create a saved workout day with an exact exercise list, or replace one existing day. Use this for requests like 'make me a shoulders and arms day' when the requested exercises or prescriptions are explicit. This changes the saved plan, not only today’s workout.",
"inputSchema": {
"type": "object",
"properties": {
"focus": {
"type": "string",
"description": "Human-readable focus such as Shoulders & Arms."
},
"dayLabel": {
"type": "string",
"description": "Day label such as Day 4 or Saturday."
},
"mode": {
"type": "string",
"enum": [
"add",
"replace"
],
"description": "Add a new day or replace the day matching dayLabel/focus."
},
"exercises": {
"type": "array",
"minItems": 1,
"maxItems": 12,
"items": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
},
"sets": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"reps": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
},
"restSeconds": {
"type": "integer",
"minimum": 15,
"maximum": 600
},
"durationMinutes": {
"type": "integer",
"minimum": 5,
"maximum": 180
}
},
"required": [
"exerciseName"
],
"additionalProperties": false
}
}
},
"required": [
"focus",
"mode",
"exercises"
],
"additionalProperties": false
}
}edit_plan_dayAction
Make one precise change to an existing saved plan day: rename it, add/update/remove/reorder an exercise, or delete the day. Use this instead of editing today’s workout when the user asks to change their plan.
View tool JSON
{
"name": "edit_plan_day",
"kind": "act",
"impl": "imperative",
"description": "Make one precise change to an existing saved plan day: rename it, add/update/remove/reorder an exercise, or delete the day. Use this instead of editing today’s workout when the user asks to change their plan.",
"inputSchema": {
"type": "object",
"properties": {
"day": {
"type": "string",
"description": "Existing day label or focus."
},
"action": {
"type": "string",
"enum": [
"rename",
"add_exercise",
"update_exercise",
"remove_exercise",
"move_exercise",
"delete_day"
]
},
"exerciseName": {
"type": "string"
},
"newLabel": {
"type": "string"
},
"newFocus": {
"type": "string"
},
"sets": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"reps": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
},
"restSeconds": {
"type": "integer",
"minimum": 15,
"maximum": 600
},
"position": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"day",
"action"
],
"additionalProperties": false
}
}load_plan_dayAction
Load one saved plan day into Today’s Workout. This is the explicit bridge between editing a plan and performing that session.
View tool JSON
{
"name": "load_plan_day",
"kind": "act",
"impl": "imperative",
"description": "Load one saved plan day into Today’s Workout. This is the explicit bridge between editing a plan and performing that session.",
"inputSchema": {
"type": "object",
"properties": {
"day": {
"type": "string",
"description": "Saved day label or focus."
}
},
"required": [
"day"
],
"additionalProperties": false
}
}add_cardio_blockAction
Add timed cardio from a short request such as 'add 20 minutes on the bike'. Default to the end of today’s workout unless the user names a saved plan day. Accepts bike, rower, StairMaster, treadmill, or elliptical and records minutes rather than fake reps.
View tool JSON
{
"name": "add_cardio_block",
"kind": "act",
"impl": "imperative",
"description": "Add timed cardio from a short request such as 'add 20 minutes on the bike'. Default to the end of today’s workout unless the user names a saved plan day. Accepts bike, rower, StairMaster, treadmill, or elliptical and records minutes rather than fake reps.",
"inputSchema": {
"type": "object",
"properties": {
"machine": {
"type": "string",
"description": "Cardio machine in natural wording, e.g. bike or StairMaster."
},
"durationMinutes": {
"type": "integer",
"minimum": 5,
"maximum": 180
},
"destination": {
"type": "string",
"enum": [
"today",
"plan"
],
"description": "Optional; defaults to today."
},
"planDay": {
"type": "string",
"description": "Optional saved day label/focus when destination is plan."
}
},
"required": [
"machine",
"durationMinutes"
],
"additionalProperties": false
}
}undo_last_changeAction
Undo exactly the most recent visible GymDeck change. Use when the user explicitly asks to undo an accidental plan or workout edit.
View tool JSON
{
"name": "undo_last_change",
"kind": "act",
"impl": "imperative",
"description": "Undo exactly the most recent visible GymDeck change. Use when the user explicitly asks to undo an accidental plan or workout edit.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}add_exerciseAction
Add an exercise from the GymDeck library to today’s workout with a target prescription.
View tool JSON
{
"name": "add_exercise",
"kind": "act",
"impl": "imperative",
"description": "Add an exercise from the GymDeck library to today’s workout with a target prescription.",
"inputSchema": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
},
"sets": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"reps": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
}
},
"required": [
"exerciseName",
"sets",
"reps",
"weight"
],
"additionalProperties": false
}
}update_exercise_prescriptionAction
Change the target sets, reps, weight, or rest time for an exercise in today’s workout.
View tool JSON
{
"name": "update_exercise_prescription",
"kind": "act",
"impl": "imperative",
"description": "Change the target sets, reps, weight, or rest time for an exercise in today’s workout.",
"inputSchema": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
},
"sets": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"reps": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
},
"restSeconds": {
"type": "integer",
"minimum": 15,
"maximum": 600
}
},
"required": [
"exerciseName"
],
"additionalProperties": false
}
}swap_exerciseAction
Replace an exercise in today’s workout while preserving completed set history and recording the reason.
View tool JSON
{
"name": "swap_exercise",
"kind": "act",
"impl": "imperative",
"description": "Replace an exercise in today’s workout while preserving completed set history and recording the reason.",
"inputSchema": {
"type": "object",
"properties": {
"currentExercise": {
"type": "string"
},
"replacementExercise": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"currentExercise",
"replacementExercise",
"reason"
],
"additionalProperties": false
}
}log_setAction
Record one completed set in today’s workout using the actual reps, weight, and optional effort rating.
View tool JSON
{
"name": "log_set",
"kind": "act",
"impl": "imperative",
"description": "Record one completed set in today’s workout using the actual reps, weight, and optional effort rating.",
"inputSchema": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
},
"setNumber": {
"type": "integer",
"minimum": 1
},
"reps": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
},
"effort": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"exerciseName",
"setNumber",
"reps",
"weight"
],
"additionalProperties": false
}
}edit_setAction
Correct reps, weight, effort, or notes for a set in today’s workout without changing its completion status.
View tool JSON
{
"name": "edit_set",
"kind": "act",
"impl": "imperative",
"description": "Correct reps, weight, effort, or notes for a set in today’s workout without changing its completion status.",
"inputSchema": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
},
"setNumber": {
"type": "integer",
"minimum": 1
},
"reps": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
},
"effort": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"note": {
"type": "string"
}
},
"required": [
"exerciseName",
"setNumber"
],
"additionalProperties": false
}
}adjust_current_workoutAction
Adapt today’s remaining workout by shortening it, skipping an exercise, adding a set, or moving an exercise in the order.
View tool JSON
{
"name": "adjust_current_workout",
"kind": "act",
"impl": "imperative",
"description": "Adapt today’s remaining workout by shortening it, skipping an exercise, adding a set, or moving an exercise in the order.",
"inputSchema": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"shorten",
"skip",
"add_set",
"move"
]
},
"exerciseName": {
"type": "string"
},
"targetMinutes": {
"type": "integer",
"minimum": 5,
"maximum": 180
},
"position": {
"type": "integer",
"minimum": 1
},
"reason": {
"type": "string"
}
},
"required": [
"action"
],
"additionalProperties": false
}
}get_progress_summaryAnswer
Read overall training volume, workout completion, current personal records, consistency, and recent performance.
View tool JSON
{
"name": "get_progress_summary",
"kind": "answer",
"impl": "imperative",
"description": "Read overall training volume, workout completion, current personal records, consistency, and recent performance.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}recommend_next_sessionAction
Calculate and save transparent load recommendations from the completed sets in today’s workout.
View tool JSON
{
"name": "recommend_next_session",
"kind": "act",
"impl": "imperative",
"description": "Calculate and save transparent load recommendations from the completed sets in today’s workout.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}apply_progression_to_planAction
Apply pending history-based progression recommendations to matching exercises in the saved weekly plan. Use after recommend_next_session when the user asks to update their routine. An optional exercise name limits the change; an optional weight lets the user edit one suggestion before applying it.
View tool JSON
{
"name": "apply_progression_to_plan",
"kind": "act",
"impl": "imperative",
"description": "Apply pending history-based progression recommendations to matching exercises in the saved weekly plan. Use after recommend_next_session when the user asks to update their routine. An optional exercise name limits the change; an optional weight lets the user edit one suggestion before applying it.",
"inputSchema": {
"type": "object",
"properties": {
"exerciseName": {
"type": "string"
},
"weight": {
"type": "number",
"minimum": 0
}
},
"required": [],
"additionalProperties": false
}
}get_weekly_summaryAnswer
Summarize the athlete’s last seven days of training, volume, exercises, and notable progress.
View tool JSON
{
"name": "get_weekly_summary",
"kind": "answer",
"impl": "imperative",
"description": "Summarize the athlete’s last seven days of training, volume, exercises, and notable progress.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}