Skip to content

[kit] Add AI Interview Coach for personalized interview preparation #161

Open
piyushkumar0707 wants to merge 5 commits into
Lamatic:mainfrom
piyushkumar0707:feat/interview-coach-kit
Open

[kit] Add AI Interview Coach for personalized interview preparation #161
piyushkumar0707 wants to merge 5 commits into
Lamatic:mainfrom
piyushkumar0707:feat/interview-coach-kit

Conversation

@piyushkumar0707
Copy link
Copy Markdown

PR Checklist

1. Select Contribution Type

  • Kit (kits/<category>/<kit-name>/)
  • Bundle (bundles/<bundle-name>/)
  • Template (templates/<template-name>/)

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 (name, description, tags, steps, author, env keys)
  • All flows in flows/<flow-name>/ (where applicable) include:
    • config.json (Lamatic flow export)
    • inputs.json
    • meta.json
    • README.md
  • .env.example with placeholder values only (kits only)
  • No hand‑edited flow config.json node graphs (changes via Lamatic Studio export)

4. Validation

  • npm install && npm run dev works locally (kits: UI runs; bundles/templates: flows are valid)
  • PR title is clear (e.g., [kit] Add <name> for <use case>)
  • GitHub Actions workflows pass (all checks are green)
  • All CodeRabbit or other PR review comments are addressed and resolved
  • No unrelated files or projects are modified

Copilot AI review requested due to automatic review settings May 18, 2026 10:37
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 18, 2026

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • agentkit-challenge

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4ea79b49-b3dd-4d67-899c-05ac0a211600

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ 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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new "AI Interview Coach" kit under kits/assistant/interview-coach/ — a Next.js 14 + Tailwind app with a server action that calls a Lamatic flow to generate personalized interview prep (technical/behavioral questions, company insights, 30-60-90 day plan).

Changes:

  • New Next.js app (layout, page, InterviewCoach component with form + tabbed results UI).
  • Server-side orchestration layer (actions/orchestrate.ts, lib/lamatic-client.ts) wrapping a Lamatic GraphQL executeWorkflow call.
  • Kit metadata and flow setup docs (config.json, flows/interview-coach/*, README.md, .env.example).

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
kits/assistant/interview-coach/tsconfig.json Standard Next.js TS config.
kits/assistant/interview-coach/tailwind.config.js Tailwind setup with custom brand palette.
kits/assistant/interview-coach/README.md Kit overview, setup, env-var, and deployment docs.
kits/assistant/interview-coach/postcss.config.js Tailwind/Autoprefixer PostCSS config.
kits/assistant/interview-coach/package.json Dependencies for Next 14 + Lamatic client.
kits/assistant/interview-coach/next.config.js Empty Next config.
kits/assistant/interview-coach/lib/lamatic-client.ts GraphQL client wrapping executeWorkflow — uses env var names that don't match .env.example.
kits/assistant/interview-coach/flows/interview-coach/meta.json Flow metadata.
kits/assistant/interview-coach/flows/interview-coach/inputs.json Flow input schema.
kits/assistant/interview-coach/flows/interview-coach/FLOW_SETUP.md Lamatic Studio setup prompts.
kits/assistant/interview-coach/config.json Kit metadata for AgentKit registry.
kits/assistant/interview-coach/components/InterviewCoach.tsx Form + tabbed results UI; accesses nested fields without guards.
kits/assistant/interview-coach/app/page.tsx Page renders InterviewCoach.
kits/assistant/interview-coach/app/layout.tsx Root layout + metadata.
kits/assistant/interview-coach/app/globals.css Tailwind base + gradient background + fade-in animation.
kits/assistant/interview-coach/actions/orchestrate.ts Server action; reads wrong env var for flow ID, no schema normalization.
kits/assistant/interview-coach/.gitignore Standard Next/Node ignores.
kits/assistant/interview-coach/.env.example Documents env vars (names don't match code).
Comments suppressed due to low confidence (1)

kits/assistant/interview-coach/actions/orchestrate.ts:59

  • When the raw response is already an object, it is cast directly to InterviewCoachResult without validating that the expected fields (technicalQuestions, behavioralQuestions, answerTips, companyInsights, ninetyDayPlan.first30/next30/final30) exist. If the LLM omits a field (e.g., answerTips), the UI accesses result.answerTips.length and result.ninetyDayPlan.first30 directly, causing a runtime "cannot read properties of undefined" crash. Consider normalizing the parsed object with default empty arrays / a default ninetyDayPlan before returning.
  if (resultData && typeof resultData === 'object') {
    return { success: true, data: resultData as InterviewCoachResult }
  }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread kits/interview-coach/apps/lib/lamatic-client.ts
Comment thread kits/interview-coach/apps/actions/orchestrate.ts
Comment thread kits/assistant/interview-coach/components/InterviewCoach.tsx Outdated
Comment thread kits/assistant/interview-coach/README.md Outdated
@akshatvirmani
Copy link
Copy Markdown

Hello @piyushkumar0707

Can you please check and update the file structure?

Reference: https://github.com/Lamatic/AgentKit/blob/main/CONTRIBUTING.md#repository-layout

…dd optional chaining

- .env.example: improve comments with accurate navigation paths
- README.md: fix Step 2 env var table to match actual variable names
  used in the code (LAMATIC_PROJECT_API_KEY, LAMATIC_PROJECT_ENDPOINT,
  LAMATIC_FLOW_ID) instead of the wrong LAMATIC_API_KEY / LAMATIC_API_URL /
  INTERVIEW_COACH_FLOW_ID that were previously documented
- InterviewCoach.tsx: add optional chaining on result.answerTips?.length
  to guard against potential undefined access

No logic or code changes - app behaviour is identical.
@piyushkumar0707
Copy link
Copy Markdown
Author

Hello @piyushkumar0707

Can you please check and update the file structure?

Reference: https://github.com/Lamatic/AgentKit/blob/main/CONTRIBUTING.md#repository-layout

@akshatvirmani repository layout has been updated to match the guidelines.

@piyushkumar0707
Copy link
Copy Markdown
Author

Hello @piyushkumar0707
Can you please check and update the file structure?
Reference: https://github.com/Lamatic/AgentKit/blob/main/CONTRIBUTING.md#repository-layout

@akshatvirmani repository layout has been updated to match the guidelines.

@akshatvirmani add labels to it

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants