-
Notifications
You must be signed in to change notification settings - Fork 92
mission-possible: Resume Analyzer Agent #99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Resume Analyzer Agent | ||
|
|
||
| ## 🚀 Overview | ||
| This AI agent analyzes a resume and compares it with a job description. | ||
|
|
||
| ## 🔥 Features | ||
| - Extracts matching skills | ||
| - Calculates match percentage | ||
| - Provides improvement suggestions | ||
|
|
||
| ## 🛠️ How it Works | ||
| 1. Takes resume text | ||
| 2. Takes job description | ||
| 3. Compares keywords | ||
| 4. Returns match score and suggestions | ||
|
|
||
| ## 💡 Use Case | ||
| Helps job seekers improve their resumes for better job matching. | ||
|
|
||
| ## ⚡ Built With | ||
| Lamatic AgentKit | ||
|
Comment on lines
+1
to
+21
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add required The README is present, but it does not yet document setup steps, env vars, or usage instructions, which are required for kits. Proposed documentation patch # Resume Analyzer Agent
## 🚀 Overview
This AI agent analyzes a resume and compares it with a job description.
+
+## 🧰 Setup
+1. Ensure Python is installed.
+2. Navigate to this kit directory.
+3. Run the agent:
+ ```bash
+ python agent.py
+ ```
+
+## 🔐 Environment Variables
+- None required for the current implementation.
## 🔥 Features
- Extracts matching skills
- Calculates match percentage
- Provides improvement suggestions
@@
## 💡 Use Case
Helps job seekers improve their resumes for better job matching.
+## ▶️ Usage
+You can call the analyzer directly:
+
+```python
+from agent import analyze_resume
+
+resume = "Python developer with API and backend experience"
+job = "Looking for Python backend developer with API skills"
+print(analyze_resume(resume, job))
+```
+
## ⚡ Built With
Lamatic AgentKitAs per coding guidelines, " |
||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,24 @@ | ||||||||||
| def analyze_resume(resume_text, job_description): | ||||||||||
| result = {} | ||||||||||
|
|
||||||||||
| resume_words = set(resume_text.lower().split()) | ||||||||||
| job_words = set(job_description.lower().split()) | ||||||||||
|
Comment on lines
+1
to
+5
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Validate input types at function entry. If either argument is Proposed fix def analyze_resume(resume_text, job_description):
+ if not isinstance(resume_text, str) or not isinstance(job_description, str):
+ raise TypeError("resume_text and job_description must be strings")
+
result = {} |
||||||||||
|
|
||||||||||
| matched_skills = resume_words.intersection(job_words) | ||||||||||
|
|
||||||||||
| result["matched_skills"] = list(matched_skills) | ||||||||||
| result["match_percentage"] = round(len(matched_skills) / len(job_words) * 100, 2) if job_words else 0 | ||||||||||
|
Comment on lines
+9
to
+10
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Return
Proposed fix- result["matched_skills"] = list(matched_skills)
+ result["matched_skills"] = sorted(matched_skills)📝 Committable suggestion
Suggested change
|
||||||||||
|
|
||||||||||
| if result["match_percentage"] < 50: | ||||||||||
| result["suggestion"] = "Add more relevant skills to improve match." | ||||||||||
| else: | ||||||||||
| result["suggestion"] = "Good match! Improve formatting and clarity." | ||||||||||
|
|
||||||||||
| return result | ||||||||||
|
|
||||||||||
|
|
||||||||||
| if __name__ == "__main__": | ||||||||||
| resume = "Python developer with API and backend experience" | ||||||||||
| job = "Looking for Python backend developer with API skills" | ||||||||||
|
|
||||||||||
| print(analyze_resume(resume, job)) | ||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| name: resume-analyzer-agent | ||
| description: Analyze resume and match with job description | ||
|
|
||
| entrypoint: agent.py |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Align feature wording with actual behavior.
The implementation does keyword overlap, not true skill extraction. Consider wording this as “matching keywords/tokens” to avoid overstating capability.