Skip to content

Gym AI Coach Agent for personalized fitness planning#119

Open
harishdtu wants to merge 9 commits into
Lamatic:old-mainfrom
harishdtu:main
Open

Gym AI Coach Agent for personalized fitness planning#119
harishdtu wants to merge 9 commits into
Lamatic:old-mainfrom
harishdtu:main

Conversation

@harishdtu
Copy link
Copy Markdown

@harishdtu harishdtu commented Mar 30, 2026

PR Checklist

1. Select Contribution Type

  • Kit (kits/<category>/<kit-name>/)
  • Bundle (bundles/<bundle-name>/)
  • Template (templates/gym-ai-coach-agent/)

2. General Requirements

  • PR is for one project only (no unrelated changes)
  • No secrets, API keys, or real credentials are committed
  • Folder name uses kebab-case and matches the flow ID
  • All changes are documented in README.md (purpose, setup, usage)

3. File Structure (Check what applies)

  • config.json present with valid metadata
  • All flows include:
    • config.json
    • inputs.json
    • meta.json
    • README.md
  • No hand-edited flow config.json

4. Validation

  • PR title is clear ([template] Add Gym AI Coach Agent)
  • GitHub Actions workflows pass
  • No secrets committed
  • Only one project added

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:

  • .vscode/settings.json - Added VS Code workspace setting to ignore pull requests targeting the main branch

Flow Overview

Gym AI Coach Agent is a personalized fitness planning chatbot with the following architecture:

Node Types & Data Flow:

  1. Chat Trigger Node (triggerNode_1) - Entry point capturing user input via chat interface with custom styling, placeholder text, and suggested prompts
  2. LLM Node / Dynamic Node (LLMNode_567) - Processes user input using Gemini 2.5-flash model with system and user prompts
  3. Chat Response Node (responseNode_triggerNode_1) - Returns generated response to user

Functional Behavior:

  • System prompts instruct the AI to act as an expert fitness coach generating personalized plans
  • Plans include: diet recommendations (budget-friendly Indian foods), workout routines (beginner-friendly), daily protein targets, protein sources, and practical tips
  • User prompt guides structured output formatting with sections for profile summary, diet plan, workout plan, protein targets, and tips
  • System rules: use simple Indian diet, budget-conscious approach, beginner-appropriate unless specified, vegetarian/non-vegetarian and budget considerations

Configuration:

  • Requires Gemini API model selection via inputs.json (marked as private input)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 30, 2026

Review Change Stack

Walkthrough

This 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.

Changes

Gym AI Coach Agent Template

Layer / File(s) Summary
Workflow Nodes & Graph Definition
templates/gym-ai-coach-agent/config.json
Three-node workflow defines a chat trigger (triggerNode_1) with UI/greeting configuration, an LLM node (LLMNode_567) configured with system/user prompts for structured gym diet and workout guidance using Gemini model, and a response node that outputs the LLM result. Edges wire trigger → LLM → response execution flow.
Input Configuration & Metadata
templates/gym-ai-coach-agent/inputs.json, templates/gym-ai-coach-agent/meta.json
Input schema declares LLMNode_567's required generative model selection with configA default and dynamic model loading. Template metadata includes name, description, tags, test input, and documentation/deployment URLs.
Template Documentation
templates/gym-ai-coach-agent/README.md
Documentation provides Lamatic Studio editor link, flow overview (trigger, LLM, response nodes), configuration requirements via inputs.json, list of packaged files, contribution steps (fork/add files/PR), support references, and export timestamp.

Workspace Configuration

Layer / File(s) Summary
VS Code Settings
.vscode/settings.json
GitHub Pull Requests extension setting added to ignore pull requests targeting the main branch.

Suggested reviewers

  • amanintech
  • d-pamneja
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main contribution: a Gym AI Coach Agent template for personalized fitness planning.
Description check ✅ Passed The PR description follows the required template structure, with all sections completed and checkboxes properly marked to confirm compliance with contribution requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@harishdtu
Copy link
Copy Markdown
Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 30, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between afae1bd and da97ad7.

📒 Files selected for processing (6)
  • templates/gym-ai-coach-agent/README.md
  • templates/gym-ai-coach-agent/config.json
  • templates/gym-ai-coach-agent/flows/gym-coach/README.md
  • templates/gym-ai-coach-agent/flows/gym-coach/config.json
  • templates/gym-ai-coach-agent/flows/gym-coach/inputs.json
  • templates/gym-ai-coach-agent/flows/gym-coach/meta.json

Comment thread templates/gym-ai-coach-agent/config.json Outdated
Comment thread templates/gym-ai-coach-agent/flows/gym-coach/config.json Outdated
Comment thread templates/gym-ai-coach-agent/flows/gym-coach/config.json Outdated
Comment thread templates/gym-ai-coach-agent/flows/gym-coach/config.json Outdated
Comment thread templates/gym-ai-coach-agent/flows/gym-coach/inputs.json Outdated
Comment thread templates/gym-ai-coach-agent/flows/gym-coach/meta.json Outdated
Comment thread templates/gym-ai-coach-agent/README.md Outdated
@harishdtu
Copy link
Copy Markdown
Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 30, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@harishdtu
Copy link
Copy Markdown
Author

Requesting maintainer to add 'mission-possible' label if required.

@harishdtu
Copy link
Copy Markdown
Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 30, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@harishdtu
Copy link
Copy Markdown
Author

Requesting maintainer to add 'mission-possible' label if required.

@coderabbitai coderabbitai Bot requested a review from amanintech March 30, 2026 19:25
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

♻️ Duplicate comments (1)
templates/gym-ai-coach-agent/flows/gym-coach/config.json (1)

88-98: ⚠️ Potential issue | 🔴 Critical

Mission compromised: Hardcoded credential identifiers detected in operational template.

Agent, this is a critical security concern. The generativeModelName configuration 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.json correctly 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

📥 Commits

Reviewing files that changed from the base of the PR and between da97ad7 and 6adda56.

📒 Files selected for processing (5)
  • templates/gym-ai-coach-agent/config.json
  • templates/gym-ai-coach-agent/flows/gym-coach/README.md
  • templates/gym-ai-coach-agent/flows/gym-coach/config.json
  • templates/gym-ai-coach-agent/flows/gym-coach/inputs.json
  • templates/gym-ai-coach-agent/flows/gym-coach/meta.json

Comment thread templates/gym-ai-coach-agent/config.json Outdated
Comment on lines +17 to +27
"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"
],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 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.

Comment on lines +1 to +5
# 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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 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.

Suggested change
# 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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 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.

Suggested change
- 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.

Copy link
Copy Markdown
Contributor

@d-pamneja d-pamneja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@harishdtu
Copy link
Copy Markdown
Author

harishdtu commented Mar 31, 2026 via email

Copy link
Copy Markdown
Contributor

@d-pamneja d-pamneja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 4, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 6, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 8, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 8, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot requested a review from d-pamneja May 8, 2026 09:42
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 6adda56 and 72fc08e.

📒 Files selected for processing (5)
  • .vscode/settings.json
  • templates/gym-ai-coach-agent/README.md
  • templates/gym-ai-coach-agent/config.json
  • templates/gym-ai-coach-agent/inputs.json
  • templates/gym-ai-coach-agent/meta.json

Comment thread .vscode/settings.json
Comment on lines +1 to +5
{
"githubPullRequests.ignoredPullRequestBranches": [
"main"
]
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

Comment on lines +12 to +14
"domains": [
"*"
],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 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.

Comment on lines +24 to +33
"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",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

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.

Comment on lines +88 to +97
"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"
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

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.

Suggested change
"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).

Comment on lines +2 to +8
"name": "1 - Getting Started",
"description": "",
"tags": "",
"testInput": "",
"githubUrl": "",
"documentationUrl": "",
"deployUrl": ""
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ 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.

Comment on lines +1 to +5
https://studio.lamatic.ai/HarishsOrganization135/project/GymAiCoachAgent262/flow/bdbf6a03-6419-4eec-befd-0266b5436b7a/edit

# 1 - Getting Started

## About This Flow
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

Comment on lines +7 to +19
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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

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.

@github-actions
Copy link
Copy Markdown

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:

  1. Read through all CodeRabbit comments carefully
  2. Address each issue raised (or reply explaining why you disagree)
  3. Push your fixes as new commits
  4. Once all issues are resolved, comment here so we can re-review

This helps keep the review process efficient for everyone. Thank you! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants