feat: Add Research Agent for interview prep #247
Conversation
WalkthroughChangesIntroduces a complete Company Interview Research Agent kit with metadata, a web-research and interview-classification flow, Gemini model configurations, safety constitution, prompts, setup documentation, and GraphQL invocation examples. Company Interview Research Agent
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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 |
|
@Dhanuanur25 please check the https://github.com/Lamatic/AgentKit/blob/main/CONTRIBUTING.md to make proper PR with structure. Your last PR was invalid so is this one. |
:robot_face: AgentKit Structural ValidationNew Contributions Detected
Check Results
🎉 All checks passed! This contribution follows the AgentKit structure. |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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
`@kits/company-interview-research-agent/prompts/company-interview-research-agent_agent-classifier-node-548_user_1.md`:
- Line 1: Update the prompt text before the {{triggerNode_1.output.job_title}}
placeholder to include a separating space after the colon, preserving the
existing wording and placeholder unchanged.
In
`@kits/company-interview-research-agent/prompts/company-interview-research-agent_llmnode-621_user_1.md`:
- Line 1: Update the interview prep prompt around the placeholders in the
opening sentence and company research clause, adding spaces between literal text
and each template expression so words do not concatenate. Preserve the existing
placeholder names, ordering, and section structure.
In `@kits/company-interview-research-agent/README.md`:
- Around line 76-78: Specify the text language on the fenced directory-tree code
block in the README by changing its opening fence to use text, while preserving
the existing tree 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: b8d0addc-d338-4bdc-b85d-4ea02323e8c9
📒 Files selected for processing (12)
kits/company-interview-research-agent/.gitignorekits/company-interview-research-agent/README.mdkits/company-interview-research-agent/agent.mdkits/company-interview-research-agent/constitutions/default.mdkits/company-interview-research-agent/flows/company-interview-research-agent.tskits/company-interview-research-agent/lamatic.config.tskits/company-interview-research-agent/model-configs/company-interview-research-agent_agent-classifier-node-548_generative-model-name.tskits/company-interview-research-agent/model-configs/company-interview-research-agent_llmnode-621_generative-model-name.tskits/company-interview-research-agent/prompts/company-interview-research-agent_agent-classifier-node-548_system_0.mdkits/company-interview-research-agent/prompts/company-interview-research-agent_agent-classifier-node-548_user_1.mdkits/company-interview-research-agent/prompts/company-interview-research-agent_llmnode-621_system_0.mdkits/company-interview-research-agent/prompts/company-interview-research-agent_llmnode-621_user_1.md
| @@ -0,0 +1 @@ | |||
| Classify the likely interview format for this job title:{{triggerNode_1.output.job_title}} No newline at end of file | |||
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Insert a space before the placeholder.
Agent, we've intercepted a slight anomaly in the transmission. There's a missing space before your placeholder which could garble our intel. Your mission, should you choose to accept it, is to insert a space before {{triggerNode_1.output.job_title}}.
🕵️ Proposed fix
-Classify the likely interview format for this job title:{{triggerNode_1.output.job_title}}
+Classify the likely interview format for this job title: {{triggerNode_1.output.job_title}}📝 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.
| Classify the likely interview format for this job title:{{triggerNode_1.output.job_title}} | |
| Classify the likely interview format for this job title: {{triggerNode_1.output.job_title}} |
🧰 Tools
🪛 markdownlint-cli2 (0.23.0)
[warning] 1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
[warning] 1-1: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 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
`@kits/company-interview-research-agent/prompts/company-interview-research-agent_agent-classifier-node-548_user_1.md`
at line 1, Update the prompt text before the {{triggerNode_1.output.job_title}}
placeholder to include a separating space after the colon, preserving the
existing wording and placeholder unchanged.
| @@ -0,0 +1,5 @@ | |||
| Create an interview prep brief for a candidate interviewing for the role of{{triggerNode_1.output.job_title}} at {{triggerNode_1.output.company_name}}. Use this research about the company: {{webSearchNode_224.output.output}}Based on prior analysis, this role has been classified as: {{agentClassifierNode_548.output.class}}Structure your response with these sections: | |||
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Add missing spaces around placeholders.
Agent, the data stream is looking a bit cramped. We're missing spaces around several template placeholders, which might confuse the target's generative processors by merging words together. Your mission, should you choose to accept it, is to add the necessary spacing so the intel reads cleanly.
🕵️ Proposed fix
-Create an interview prep brief for a candidate interviewing for the role of{{triggerNode_1.output.job_title}} at {{triggerNode_1.output.company_name}}. Use this research about the company: {{webSearchNode_224.output.output}}Based on prior analysis, this role has been classified as: {{agentClassifierNode_548.output.class}}Structure your response with these sections:
+Create an interview prep brief for a candidate interviewing for the role of {{triggerNode_1.output.job_title}} at {{triggerNode_1.output.company_name}}. Use this research about the company: {{webSearchNode_224.output.output}} Based on prior analysis, this role has been classified as: {{agentClassifierNode_548.output.class}} Structure your response with these sections:📝 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.
| Create an interview prep brief for a candidate interviewing for the role of{{triggerNode_1.output.job_title}} at {{triggerNode_1.output.company_name}}. Use this research about the company: {{webSearchNode_224.output.output}}Based on prior analysis, this role has been classified as: {{agentClassifierNode_548.output.class}}Structure your response with these sections: | |
| Create an interview prep brief for a candidate interviewing for the role of {{triggerNode_1.output.job_title}} at {{triggerNode_1.output.company_name}}. Use this research about the company: {{webSearchNode_224.output.output}} Based on prior analysis, this role has been classified as: {{agentClassifierNode_548.output.class}} Structure your response with these sections: |
🧰 Tools
🪛 markdownlint-cli2 (0.23.0)
[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
`@kits/company-interview-research-agent/prompts/company-interview-research-agent_llmnode-621_user_1.md`
at line 1, Update the interview prep prompt around the placeholders in the
opening sentence and company research clause, adding spaces between literal text
and each template expression so words do not concatenate. Preserve the existing
placeholder names, ordering, and section structure.
| ``` | ||
| kits/company-interview-research-agent/ | ||
| ├── flows/ |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
Specify a language for the fenced code block.
Agent, our visual scanners have flagged an unidentified code block format. Your mission, should you choose to accept it, is to specify text for this directory tree to evade the markdown linters' radar. This message will self-destruct.
🕵️ Proposed fix
-```
+```text
kits/company-interview-research-agent/
├── flows/📝 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.
| ``` | |
| kits/company-interview-research-agent/ | |
| ├── flows/ |
🧰 Tools
🪛 markdownlint-cli2 (0.23.0)
[warning] 76-76: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 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 `@kits/company-interview-research-agent/README.md` around lines 76 - 78,
Specify the text language on the fenced directory-tree code block in the README
by changing its opening fence to use text, while preserving the existing tree
content.
|
/validate |
|
📡 Running Studio validation — results will appear here shortly. |
Studio Runtime Validation (Phase 2)✅ Studio validation passed. The kit loaded successfully in Lamatic Studio. This PR is ready for final review and merge. |
Summary
Adds a new kit: Company Interview Research Agent.
Given a company name and job title, it performs live web research on the company, classifies the likely interview format (technical/case-based vs. behavioral/mixed), and generates a structured interview preparation brief.
Unlike existing resume-matching tools in this repo, this kit takes no resume as input, it focuses entirely on researching the company itself, so candidates know what to expect walking into a specific company's interview process, not just how well their resume matches a job description.
Flow
Interface (API Request) → Web Search → Classifier → Generate Text → Response
What's included
kits/company-interview-research-agent/lamatic.config.tskits/company-interview-research-agent/README.mdkits/company-interview-research-agent/flows/company-interview-research-agent.yamlTested
(example: PG&E / Data Analyst - see README for full sample output)
company-interview-research-agentkit configuration, metadata, README, and setup documentation..gitignorefor Lamatic artifacts, dependencies, and environment files.interview_brief.flow.jsonfile was present; the flow is defined inflows/company-interview-research-agent.ts.