Gym AI Coach Agent for personalized fitness planning#119
Conversation
WalkthroughThis PR introduces a new "Gym AI Coach Agent" template to AgentKit alongside a workspace configuration update. The template comprises a three-node workflow (chat trigger → LLM → response) configured with Gemini-backed prompts for generating beginner-friendly gym fitness plans, along with input schema, metadata, and comprehensive documentation for community adoption. ChangesGym AI Coach Agent Template
Workspace Configuration
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@templates/gym-ai-coach-agent/config.json`:
- Line 7: Update the step string that currently reads "Provide user input
(weight, goal, diet)" to include budget so it becomes "Provide user input
(weight, goal, diet, budget)"; locate and edit the corresponding entry in
templates/gym-ai-coach-agent/config.json (the step list string literal) so the
setup steps consistently include budget across templates and docs.
In `@templates/gym-ai-coach-agent/flows/gym-coach/config.json`:
- Around line 117-118: The combined constraint "If user is vegetarian → avoid
eggs/meat If budget is low → suggest cheap foods only" should be split into two
separate bullet constraints for clarity: create one bullet reading "If user is
vegetarian → avoid eggs/meat" and another reading "If budget is low → suggest
cheap foods only" in the same constraints list in config.json so the model
treats them as independent rules.
- Around line 128-130: The config currently hardcodes workspace-specific
credential values (credentialId: 32c708a5-14de-41ff-91fe-04edcd840f2a and
credential_name: gemini) which breaks portability; update the template to remove
those concrete values by replacing credentialId and credential_name with empty
strings, null, or a configurable placeholder (e.g., ${CREDENTIAL_ID} /
${CREDENTIAL_NAME}) and keep provider_name (gemini) if needed or make it
configurable as well so users must bind their own credentials at setup; ensure
any documentation or README notes that credentialId/credential_name must be
populated during deployment.
- Around line 1-170: The file currently contains YAML (starts with triggerNode:
and definitions like triggerNode_1, LLMNode_567, responseNode_triggerNode_1) and
therefore fails JSON parsing; fix by re-exporting the flow as JSON directly from
Lamatic Studio (do not hand-edit the content), replace the existing config.json
with the fresh Studio export, confirm the exported file is valid JSON and that
nodes triggerNode_1, LLMNode_567 and responseNode_triggerNode_1 remain intact,
then commit the exported JSON as-is.
In `@templates/gym-ai-coach-agent/flows/gym-coach/inputs.json`:
- Around line 2-5: The "input" string in
templates/gym-ai-coach-agent/flows/gym-coach/inputs.json contains raw newline
characters which break JSON validation; update the "input" value to a
single-line JSON string by replacing each literal newline with the escaped
sequence \n (e.g., "Weight: 61kg,\nGoal: Muscle Gain,\nBudget: Low,\nDiet:
Vegetarian") so the "input" key contains a valid JSON string.
In `@templates/gym-ai-coach-agent/flows/gym-coach/meta.json`:
- Around line 2-5: The "input" string in meta.json contains raw line breaks
which makes the JSON invalid; update the "input" value (the "input" property) to
either a single-line string or replace each literal newline with the escaped
sequence \n (e.g., "Weight: 61kg,\nGoal: Muscle Gain,\nBudget: Low,
Diet:\nVegetarian") so the JSON parses correctly and retains the same content.
In `@templates/gym-ai-coach-agent/README.md`:
- Around line 3-25: Add a blank line after each top-level heading to satisfy
markdownlint rules: insert an empty line after the headings "Problem",
"Solution", "Features", "Setup", and "Usage" in
templates/gym-ai-coach-agent/README.md, and ensure the file ends with exactly
one trailing newline; update the sections where lists or paragraphs immediately
follow a heading so there is a single blank line separating the heading from the
following content.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: a8e1fab0-5efa-4ad0-a60c-2339442aa77e
📒 Files selected for processing (6)
templates/gym-ai-coach-agent/README.mdtemplates/gym-ai-coach-agent/config.jsontemplates/gym-ai-coach-agent/flows/gym-coach/README.mdtemplates/gym-ai-coach-agent/flows/gym-coach/config.jsontemplates/gym-ai-coach-agent/flows/gym-coach/inputs.jsontemplates/gym-ai-coach-agent/flows/gym-coach/meta.json
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Requesting maintainer to add 'mission-possible' label if required. |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Requesting maintainer to add 'mission-possible' label if required. |
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (1)
templates/gym-ai-coach-agent/flows/gym-coach/config.json (1)
88-98:⚠️ Potential issue | 🔴 CriticalMission compromised: Hardcoded credential identifiers detected in operational template.
Agent, this is a critical security concern. The
generativeModelNameconfiguration at lines 95-97 contains workspace-specific credential bindings:
credentialId:"32c708a5-14de-41ff-91fe-04edcd840f2a"(internal UUID)credential_name:"gemini"(workspace credential reference)These values will fail in other environments and expose internal identifiers in a distributable artifact. The corresponding
inputs.jsoncorrectly uses empty placeholders, but this flow config overrides them with hardcoded values.Your mission: Clear these credential fields to ensure template portability.
🔐 Required credential sanitization
"generativeModelName": [ { "type": "generator/text", "params": {}, "configName": "configA", "model_name": "gemini/gemini-2.5-flash", - "credentialId": "32c708a5-14de-41ff-91fe-04edcd840f2a", + "credentialId": "", "provider_name": "gemini", - "credential_name": "gemini" + "credential_name": "" } ]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@templates/gym-ai-coach-agent/flows/gym-coach/config.json` around lines 88 - 98, The flow config under generativeModelName (entry with configName "configA" and model_name "gemini/gemini-2.5-flash") contains hardcoded credentialId and credential_name values; remove or clear those fields (or replace them with the same empty placeholder tokens used in inputs.json) so the template does not embed workspace-specific UUIDs and will read credentials from inputs at runtime instead of using "32c708a5-14de-41ff-91fe-04edcd840f2a" or "gemini".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@templates/gym-ai-coach-agent/config.json`:
- Around line 6-10: The steps array items in the "steps" key are indented
inconsistently with other top-level keys; fix by aligning each string element in
the "steps" array to match the file's established indentation style (indent the
array items to the same column as other top-level values under the root object),
ensuring consistent spacing before each quoted string in the "steps" array.
In `@templates/gym-ai-coach-agent/flows/gym-coach/config.json`:
- Around line 17-27: Replace the default Lamatic branding values in the chat
configuration by updating the "botName" to a fitness-focused name (e.g., "Gym AI
Coach"), change "imageUrl" to a fitness/coach avatar, adjust "placeholder" to
something like "Ask your fitness coach...", and replace the "suggestions" array
with fitness-themed prompts (e.g., workout plans, nutrition tips, form checks);
also verify "policyUrl" points to your product/privacy page or remove if not
applicable and ensure "displayMode" and "position" remain appropriate for the
widget.
In `@templates/gym-ai-coach-agent/flows/gym-coach/README.md`:
- Line 57: Replace the plain text "Check the Lamatic documentation at
docs.lamatic.ai" with an actionable hyperlink by converting it to markdown link
syntax (for example: "Check the Lamatic documentation at
https://docs.lamatic.ai" or "[Lamatic documentation](https://docs.lamatic.ai)");
update the README entry that currently contains that exact phrase so the
documentation reference becomes clickable in rendered docs.
- Around line 1-5: Update the "## About This Flow" section under the "# 1 -
Getting Started" header to replace generic boilerplate with a precise mission
statement describing that the Gym Coach flow generates personalized fitness and
diet plans; list core capabilities (personalized workout plan generation, diet
plan tailored to preferences and restrictions, progress tracking, and suggestion
of low-cost, India-specific food/substitute options), emphasize the
India-focused, budget-friendly approach, and enumerate expected user inputs
(e.g., weight, height, fitness goal, budget, diet type/restrictions, activity
level) so integrators and agents clearly know the flow's objective and required
data.
---
Duplicate comments:
In `@templates/gym-ai-coach-agent/flows/gym-coach/config.json`:
- Around line 88-98: The flow config under generativeModelName (entry with
configName "configA" and model_name "gemini/gemini-2.5-flash") contains
hardcoded credentialId and credential_name values; remove or clear those fields
(or replace them with the same empty placeholder tokens used in inputs.json) so
the template does not embed workspace-specific UUIDs and will read credentials
from inputs at runtime instead of using "32c708a5-14de-41ff-91fe-04edcd840f2a"
or "gemini".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6bde8756-9957-42c1-bab5-03fc329c6ff7
📒 Files selected for processing (5)
templates/gym-ai-coach-agent/config.jsontemplates/gym-ai-coach-agent/flows/gym-coach/README.mdtemplates/gym-ai-coach-agent/flows/gym-coach/config.jsontemplates/gym-ai-coach-agent/flows/gym-coach/inputs.jsontemplates/gym-ai-coach-agent/flows/gym-coach/meta.json
| "botName": "Lamatic Bot", | ||
| "imageUrl": "https://img.freepik.com/premium-vector/robot-android-super-hero_111928-7.jpg?w=826", | ||
| "position": "right", | ||
| "policyUrl": "https://lamatic.ai/docs/legal/privacy-policy", | ||
| "displayMode": "popup", | ||
| "placeholder": "Compose your message", | ||
| "suggestions": [ | ||
| "What is lamatic?", | ||
| "How do I add data to my chatbot?", | ||
| "Explain this product to me" | ||
| ], |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Mission observation: Chat widget branding uses default Lamatic configuration.
Agent, the chatConfig contains default Lamatic branding (bot name, suggestions about "What is lamatic?", greeting mentioning "Lamatic Bot"). For a Gym AI Coach template, consider customizing these to match the fitness coaching context.
💪 Fitness-themed chat configuration
"chatConfig": {
- "botName": "Lamatic Bot",
+ "botName": "Gym AI Coach",
"imageUrl": "https://img.freepik.com/premium-vector/robot-android-super-hero_111928-7.jpg?w=826",
...
"suggestions": [
- "What is lamatic?",
- "How do I add data to my chatbot?",
- "Explain this product to me"
+ "Create a muscle gain plan for 70kg",
+ "Vegetarian diet plan on a budget",
+ "Beginner workout routine for weight loss"
],
...
- "greetingMessage": "Hi, I am Lamatic Bot. Ask me anything about Lamatic",
+ "greetingMessage": "Hi, I'm your Gym AI Coach! Share your weight, fitness goal, budget, and diet preference for a personalized plan.",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@templates/gym-ai-coach-agent/flows/gym-coach/config.json` around lines 17 -
27, Replace the default Lamatic branding values in the chat configuration by
updating the "botName" to a fitness-focused name (e.g., "Gym AI Coach"), change
"imageUrl" to a fitness/coach avatar, adjust "placeholder" to something like
"Ask your fitness coach...", and replace the "suggestions" array with
fitness-themed prompts (e.g., workout plans, nutrition tips, form checks); also
verify "policyUrl" points to your product/privacy page or remove if not
applicable and ensure "displayMode" and "position" remain appropriate for the
widget.
| # 1 - Getting Started | ||
|
|
||
| ## About This Flow | ||
|
|
||
| This flow automates a workflow with **3 nodes** working together to process and transform data. The flow is designed to streamline operations and can be easily integrated into your existing systems. |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Mission advisory: Generic documentation doesn't brief agents on the actual objective.
Agent, this README uses boilerplate content that doesn't describe the Gym Coach flow's actual mission: generating personalized fitness and diet plans. Users deploying this template would benefit from knowing:
- What fitness planning capabilities this flow provides
- The India-focused, budget-friendly approach
- Expected user inputs (weight, goal, budget, diet type)
Consider customizing the description to match the flow's specialized function rather than keeping generic "Getting Started" content.
📝 Suggested customization for flow description
-# 1 - Getting Started
+# Gym AI Coach Flow
## About This Flow
-This flow automates a workflow with **3 nodes** working together to process and transform data. The flow is designed to streamline operations and can be easily integrated into your existing systems.
+This flow generates personalized, budget-friendly fitness and diet plans tailored for Indian users. It processes user input (weight, fitness goal, budget, diet type) through an AI coach that creates structured workout routines, diet recommendations, and protein targets.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # 1 - Getting Started | |
| ## About This Flow | |
| This flow automates a workflow with **3 nodes** working together to process and transform data. The flow is designed to streamline operations and can be easily integrated into your existing systems. | |
| # Gym AI Coach Flow | |
| ## About This Flow | |
| This flow generates personalized, budget-friendly fitness and diet plans tailored for Indian users. It processes user input (weight, fitness goal, budget, diet type) through an AI coach that creates structured workout routines, diet recommendations, and protein targets. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@templates/gym-ai-coach-agent/flows/gym-coach/README.md` around lines 1 - 5,
Update the "## About This Flow" section under the "# 1 - Getting Started" header
to replace generic boilerplate with a precise mission statement describing that
the Gym Coach flow generates personalized fitness and diet plans; list core
capabilities (personalized workout plan generation, diet plan tailored to
preferences and restrictions, progress tracking, and suggestion of low-cost,
India-specific food/substitute options), emphasize the India-focused,
budget-friendly approach, and enumerate expected user inputs (e.g., weight,
height, fitness goal, budget, diet type/restrictions, activity level) so
integrators and agents clearly know the flow's objective and required data.
|
|
||
| For questions or issues with this flow: | ||
| - Review the node documentation for specific integrations | ||
| - Check the Lamatic documentation at docs.lamatic.ai |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Mission intel: Documentation link should be actionable.
Agent, the documentation reference at Line 57 isn't formatted as a clickable hyperlink. Field operatives need quick access.
🔗 Convert to hyperlink
-- Check the Lamatic documentation at docs.lamatic.ai
+- Check the [Lamatic documentation](https://docs.lamatic.ai)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - Check the Lamatic documentation at docs.lamatic.ai | |
| - Check the [Lamatic documentation](https://docs.lamatic.ai) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@templates/gym-ai-coach-agent/flows/gym-coach/README.md` at line 57, Replace
the plain text "Check the Lamatic documentation at docs.lamatic.ai" with an
actionable hyperlink by converting it to markdown link syntax (for example:
"Check the Lamatic documentation at https://docs.lamatic.ai" or "[Lamatic
documentation](https://docs.lamatic.ai)"); update the README entry that
currently contains that exact phrase so the documentation reference becomes
clickable in rendered docs.
d-pamneja
left a comment
There was a problem hiding this comment.
This LGTM in working, but structurally is incorrect. You can keep all the files inside the gym-ai-coach-agent as they are. See the other templates
|
Thanks for the clarification! I've updated the structure to match existing
templates by flattening the flow files directly under the template folder
and removing the flows directory.
…On Tue, 31 Mar 2026 at 13:48, Dhruv Pamneja ***@***.***> wrote:
***@***.**** requested changes on this pull request.
This LGTM in working, but structurally is incorrect. You can keep all the
files inside the gym-ai-coach-agent as they are. See the other templates
—
Reply to this email directly, view it on GitHub
<#119?email_source=notifications&email_token=A2OGHB3AGKJOQWTK32MVO434TN5NZA5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTIMBTGU2TIOBRGUY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2L24DSL5ZGK5TJMV3V63TPORUWM2LDMF2GS33OONPWG3DJMNVQ#pullrequestreview-4035548151>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A2OGHBZAKVR3BEZJRKJ43XD4TN5NZAVCNFSM6AAAAACXGS4F6WVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHM2DAMZVGU2DQMJVGE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Deploy on Lamatic
d-pamneja
left a comment
There was a problem hiding this comment.
Could you remove the setting.json change of .vscode that is not needed. Also, you could change the config of the chat trigger to be more suitable to your use case. Else LGTM.
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.vscode/settings.json:
- Around line 1-5: This PR accidentally includes a reviewer-local workspace
setting (the githubPullRequests.ignoredPullRequestBranches entry) that should
not be committed; remove the committed workspace config file containing that key
from the PR by deleting it and committing the deletion so it no longer appears
in the branch, and prevent future accidental commits by adding that workspace
settings file to your local/global git exclude or your repo-level ignore rules.
In `@templates/gym-ai-coach-agent/config.json`:
- Around line 12-14: The "domains" field in
templates/gym-ai-coach-agent/config.json currently uses a wildcard value "*"
which is too permissive for the embed policy; replace the wildcard with an
explicit allowlist placeholder (e.g., an empty array or a sentinel like
["REPLACE_WITH_ALLOWED_DOMAINS"]) and update any setup docs or scripts to
require providing the allowed domains before deployment so the "domains" key is
not left as "*" at runtime.
- Around line 24-33: Update the chat copy values that reference "Lamatic" to
gym/coach-specific text: replace the sample prompts array entries with
fitness-planning examples (e.g., "Create a 4-week training plan for a beginner",
"How do I track my workouts?", "Suggest recovery strategies for sore muscles"),
change "greetingMessage" from "Hi, I am Lamatic Bot. Ask me anything about
Lamatic" to a Gym Coach greeting (e.g., "Hi, I'm your Gym Coach. Tell me your
goals and I'll create a workout plan"), and adjust "errorMessage" and any
branding strings ("hideBranding", "primaryColor", "headerBgColor",
"headerTextColor") only if necessary to match the Gym Coach persona; ensure keys
"greetingMessage", the prompts array, and "errorMessage" are updated
consistently.
- Around line 88-97: The template embeds environment-specific credentials in the
generativeModelName entry (fields credentialId and credential_name under the
object with configName "configA" and model_name "gemini/gemini-2.5-flash");
remove these concrete values from the shared template and replace them with a
neutral placeholder or omit them so the runtime uses private input binding
instead (ensure the generativeModelName array/object still contains model_name,
provider_name and configName but not credentialId/credential_name).
In `@templates/gym-ai-coach-agent/meta.json`:
- Around line 2-8: Update the template metadata in meta.json: replace the
generic "name" with a specific descriptive title for the agent, provide a
concise "description" summarizing purpose and capabilities, populate "tags" with
comma-separated searchable keywords (e.g., coaching, reinforcement-learning,
gym, agent), add a representative "testInput" (example JSON or prompt that
exercises the agent), and fill "githubUrl", "documentationUrl", and "deployUrl"
with valid URLs (or remove if not applicable) so the entry is searchable,
testable, and actionable in catalogs; target the file
templates/gym-ai-coach-agent/meta.json and the fields
"name","description","tags","testInput","githubUrl","documentationUrl","deployUrl"
when making these edits.
In `@templates/gym-ai-coach-agent/README.md`:
- Around line 7-19: Replace the generic flow prose with gym-specific setup:
update README to state this template uses nodes Chat Trigger, Generate Text,
Chat Response and requires specific private inputs in inputs.json named goal,
weight (kg or lbs with unit), diet_type (e.g., vegan/omnivore/keto), and budget
(weekly/monthly); describe the expected output JSON schema (fields:
personalized_plan {objective, duration_weeks}, workout_schedule [{day,
exercises[{name, sets, reps, duration}]}], meal_plan [{day, meals[{name,
calories, ingredients}]}], progress_metrics {weekly_checkins,
recommended_metrics}, and coach_tips); and add model configuration expectations
for the Generate Text node (model identifier, temperature range, max_tokens and
any system/prompt templates or role instructions required) so users can supply
them in inputs.json.
- Around line 1-5: Add a top-level H1 heading at the start of README.md and
replace the raw URL on the first line with a labeled Markdown link;
specifically, insert a line like "# Gym AI Coach Agent" (or appropriate project
title) above the existing "1 - Getting Started" section and change the raw
"https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/..."
into a labeled link (e.g., "[Project
Flow](https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/...)")
near the "About This Flow" heading so the file begins with a proper H1 and the
URL is readable.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4729efaa-75e7-49fc-83e3-a260f7a0c36a
📒 Files selected for processing (5)
.vscode/settings.jsontemplates/gym-ai-coach-agent/README.mdtemplates/gym-ai-coach-agent/config.jsontemplates/gym-ai-coach-agent/inputs.jsontemplates/gym-ai-coach-agent/meta.json
| { | ||
| "githubPullRequests.ignoredPullRequestBranches": [ | ||
| "main" | ||
| ] | ||
| } No newline at end of file |
There was a problem hiding this comment.
Mission brief: remove personal PR-filter settings from committed workspace config.
Line 2–3 introduces a reviewer-local preference that can hide main-targeted PRs for other contributors and is unrelated to this template change set. Please drop this file from the PR.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.vscode/settings.json around lines 1 - 5, This PR accidentally includes a
reviewer-local workspace setting (the
githubPullRequests.ignoredPullRequestBranches entry) that should not be
committed; remove the committed workspace config file containing that key from
the PR by deleting it and committing the deletion so it no longer appears in the
branch, and prevent future accidental commits by adding that workspace settings
file to your local/global git exclude or your repo-level ignore rules.
| "domains": [ | ||
| "*" | ||
| ], |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial | ⚡ Quick win
Mission hardening: avoid wildcard domain defaults for embed policy.
Line 13 uses "*", which is overly permissive as a default. Prefer an explicit allowlist placeholder and call out replacement during setup.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/gym-ai-coach-agent/config.json` around lines 12 - 14, The "domains"
field in templates/gym-ai-coach-agent/config.json currently uses a wildcard
value "*" which is too permissive for the embed policy; replace the wildcard
with an explicit allowlist placeholder (e.g., an empty array or a sentinel like
["REPLACE_WITH_ALLOWED_DOMAINS"]) and update any setup docs or scripts to
require providing the allowed domains before deployment so the "domains" key is
not left as "*" at runtime.
| "What is lamatic?", | ||
| "How do I add data to my chatbot?", | ||
| "Explain this product to me" | ||
| ], | ||
| "errorMessage": "Oops! Something went wrong. Please try again.", | ||
| "hideBranding": false, | ||
| "primaryColor": "#ef4444", | ||
| "headerBgColor": "#000000", | ||
| "greetingMessage": "Hi, I am Lamatic Bot. Ask me anything about Lamatic", | ||
| "headerTextColor": "#FFFFFF", |
There was a problem hiding this comment.
Mission alignment: update chat copy to the actual Gym Coach use case.
Line 24–33 still uses Lamatic-product prompts/greeting, which conflicts with this template’s fitness-planning objective and weakens first-run UX.
Suggested patch
"suggestions": [
- "What is lamatic?",
- "How do I add data to my chatbot?",
- "Explain this product to me"
+ "Create a beginner workout plan for fat loss",
+ "Give me a vegetarian high-protein diet on a budget",
+ "Plan a 3-day gym routine for muscle gain"
],
@@
- "greetingMessage": "Hi, I am Lamatic Bot. Ask me anything about Lamatic",
+ "greetingMessage": "Hi, I’m your Gym AI Coach. Share your goal, weight, diet type, and budget.",🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/gym-ai-coach-agent/config.json` around lines 24 - 33, Update the
chat copy values that reference "Lamatic" to gym/coach-specific text: replace
the sample prompts array entries with fitness-planning examples (e.g., "Create a
4-week training plan for a beginner", "How do I track my workouts?", "Suggest
recovery strategies for sore muscles"), change "greetingMessage" from "Hi, I am
Lamatic Bot. Ask me anything about Lamatic" to a Gym Coach greeting (e.g., "Hi,
I'm your Gym Coach. Tell me your goals and I'll create a workout plan"), and
adjust "errorMessage" and any branding strings ("hideBranding", "primaryColor",
"headerBgColor", "headerTextColor") only if necessary to match the Gym Coach
persona; ensure keys "greetingMessage", the prompts array, and "errorMessage"
are updated consistently.
| "generativeModelName": [ | ||
| { | ||
| "type": "generator/text", | ||
| "params": {}, | ||
| "configName": "configA", | ||
| "model_name": "gemini/gemini-2.5-flash", | ||
| "credentialId": "32c708a5-14de-41ff-91fe-04edcd840f2a", | ||
| "provider_name": "gemini", | ||
| "credential_name": "gemini" | ||
| } |
There was a problem hiding this comment.
Mission critical: scrub environment-specific credential references from template payload.
Line 94 and Line 96 embed concrete credential identifiers/names inside a shared template. This is a portability and privacy risk; rely on private input binding only.
Suggested patch
"generativeModelName": [
{
"type": "generator/text",
"params": {},
- "configName": "configA",
- "model_name": "gemini/gemini-2.5-flash",
- "credentialId": "32c708a5-14de-41ff-91fe-04edcd840f2a",
- "provider_name": "gemini",
- "credential_name": "gemini"
+ "configName": "configA"
}
]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "generativeModelName": [ | |
| { | |
| "type": "generator/text", | |
| "params": {}, | |
| "configName": "configA", | |
| "model_name": "gemini/gemini-2.5-flash", | |
| "credentialId": "32c708a5-14de-41ff-91fe-04edcd840f2a", | |
| "provider_name": "gemini", | |
| "credential_name": "gemini" | |
| } | |
| "generativeModelName": [ | |
| { | |
| "type": "generator/text", | |
| "params": {}, | |
| "configName": "configA" | |
| } |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/gym-ai-coach-agent/config.json` around lines 88 - 97, The template
embeds environment-specific credentials in the generativeModelName entry (fields
credentialId and credential_name under the object with configName "configA" and
model_name "gemini/gemini-2.5-flash"); remove these concrete values from the
shared template and replace them with a neutral placeholder or omit them so the
runtime uses private input binding instead (ensure the generativeModelName
array/object still contains model_name, provider_name and configName but not
credentialId/credential_name).
| "name": "1 - Getting Started", | ||
| "description": "", | ||
| "tags": "", | ||
| "testInput": "", | ||
| "githubUrl": "", | ||
| "documentationUrl": "", | ||
| "deployUrl": "" |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win
Mission directive: replace placeholder metadata before launch.
Line 2–8 still looks scaffolded (description, tags, testInput, and URLs are empty; name is generic). Please populate real template metadata so this entry is searchable, testable, and actionable in catalog contexts.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/gym-ai-coach-agent/meta.json` around lines 2 - 8, Update the
template metadata in meta.json: replace the generic "name" with a specific
descriptive title for the agent, provide a concise "description" summarizing
purpose and capabilities, populate "tags" with comma-separated searchable
keywords (e.g., coaching, reinforcement-learning, gym, agent), add a
representative "testInput" (example JSON or prompt that exercises the agent),
and fill "githubUrl", "documentationUrl", and "deployUrl" with valid URLs (or
remove if not applicable) so the entry is searchable, testable, and actionable
in catalogs; target the file templates/gym-ai-coach-agent/meta.json and the
fields
"name","description","tags","testInput","githubUrl","documentationUrl","deployUrl"
when making these edits.
| https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/bdbf6a03-6419-4eec-befd-0266b5436b7a/edit | ||
|
|
||
| # 1 - Getting Started | ||
|
|
||
| ## About This Flow |
There was a problem hiding this comment.
Mission polish: add an H1 at file start and convert the raw URL to a labeled link.
Line 1 currently violates markdown heading conventions and hurts readability.
Suggested patch
-https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/bdbf6a03-6419-4eec-befd-0266b5436b7a/edit
+# Gym AI Coach Agent
+
+[Open in Lamatic Studio](https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/bdbf6a03-6419-4eec-befd-0266b5436b7a/edit)
# 1 - Getting Started🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/gym-ai-coach-agent/README.md` around lines 1 - 5, Add a top-level
H1 heading at the start of README.md and replace the raw URL on the first line
with a labeled Markdown link; specifically, insert a line like "# Gym AI Coach
Agent" (or appropriate project title) above the existing "1 - Getting Started"
section and change the raw
"https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/..."
into a labeled link (e.g., "[Project
Flow](https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/...)")
near the "About This Flow" heading so the file begins with a proper H1 and the
URL is readable.
| This flow automates a workflow with **3 nodes** working together to process and transform data. The flow is designed to streamline operations and can be easily integrated into your existing systems. | ||
|
|
||
| ## Flow Components | ||
|
|
||
| This workflow includes the following node types: | ||
| - Chat Trigger | ||
| - Generate Text | ||
| - Chat Response | ||
|
|
||
| ## Configuration Requirements | ||
|
|
||
| This flow requires configuration for **1 node(s)** with private inputs (credentials, API keys, model selections, etc.). All required configurations are documented in the `inputs.json` file. | ||
|
|
There was a problem hiding this comment.
Mission fidelity: replace generic flow prose with gym-specific setup requirements.
Line 7–19 describes a generic 3-node automation, but this template is a fitness coach. Please document required user inputs (goal, weight, diet type, budget), expected output structure, and model configuration expectations explicitly.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/gym-ai-coach-agent/README.md` around lines 7 - 19, Replace the
generic flow prose with gym-specific setup: update README to state this template
uses nodes Chat Trigger, Generate Text, Chat Response and requires specific
private inputs in inputs.json named goal, weight (kg or lbs with unit),
diet_type (e.g., vegan/omnivore/keto), and budget (weekly/monthly); describe the
expected output JSON schema (fields: personalized_plan {objective,
duration_weeks}, workout_schedule [{day, exercises[{name, sets, reps,
duration}]}], meal_plan [{day, meals[{name, calories, ingredients}]}],
progress_metrics {weekly_checkins, recommended_metrics}, and coach_tips); and
add model configuration expectations for the Generate Text node (model
identifier, temperature range, max_tokens and any system/prompt templates or
role instructions required) so users can supply them in inputs.json.
|
Hi @harishdtu! 👋 Before this PR can be reviewed by maintainers, please resolve all comments and requested changes from the CodeRabbit automated review. Steps to follow:
This helps keep the review process efficient for everyone. Thank you! 🙏 |
PR Checklist
1. Select Contribution Type
kits/<category>/<kit-name>/)bundles/<bundle-name>/)templates/gym-ai-coach-agent/)2. General Requirements
kebab-caseand matches the flow IDREADME.md(purpose, setup, usage)3. File Structure (Check what applies)
config.jsonpresent with valid metadataconfig.jsoninputs.jsonmeta.jsonREADME.md4. Validation
[template] Add Gym AI Coach Agent)Files Added
templates/gym-ai-coach-agent/ directory with the following files:
config.json - Workflow configuration defining a 3-node flow architecture with edges connecting the nodes sequentially
inputs.json - Input schema configuration declaring the generative model selector for the LLM node (requires Gemini model selection)
meta.json - Template metadata with fields for name, description, tags, and URLs (test input, GitHub, documentation, and deployment links)
README.md - User documentation with direct Lamatic flow editor link, component overview, configuration requirements, and community contribution guidelines
Other:
mainbranchFlow Overview
Gym AI Coach Agent is a personalized fitness planning chatbot with the following architecture:
Node Types & Data Flow:
triggerNode_1) - Entry point capturing user input via chat interface with custom styling, placeholder text, and suggested promptsLLMNode_567) - Processes user input using Gemini 2.5-flash model with system and user promptsresponseNode_triggerNode_1) - Returns generated response to userFunctional Behavior:
Configuration:
inputs.json(marked as private input)