Research & Analysis🌐universal

🤖 Agentic AI Resume Screening System

An intelligent, multi-agent system that evaluates resumes against job descriptions using specialized AI agents that collaborate through a LangGraph workflow.

Quick Start

Install this Skill

npx skills add MananGupta123/AI-Resume-Screening
# 🤖 Agentic AI Resume Screening System

An intelligent, multi-agent system that evaluates resumes against job descriptions using specialized AI agents that collaborate through a LangGraph workflow.

## 🎯 Overview

This system takes a resume (PDF, DOCX, or TXT) and a job description, then produces a structured recommendation about whether the candidate should proceed to an interview. Unlike simple keyword matching or single-prompt approaches, this system uses **multiple specialized agents** that each handle a specific aspect of the evaluation and pass structured data to each other.

### Key Features

- **Multi-Agent Architecture**: 6 specialized agents with clear responsibilities
- **LangGraph Orchestration**: Parallel execution where possible, with convergence for decision making
- **Structured Reasoning**: Every decision includes explainable reasoning
- **Human-in-the-Loop**: Automatic flagging of uncertain cases for human review
- **Error Handling**: Graceful degradation when parsing fails or data is incomplete

## 🏗️ Architecture

```
                    ┌─────────────────┐
                    │  Resume (PDF/   │
                    │  DOCX/TXT)      │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │ Document Parser │
                    └────────┬────────┘
                             │
              ┌──────────────┼──────────────┐
              │              │              │
     ┌────────▼────────┐     │     ┌────────▼────────┐
     │  Resume Parser  │     │     │  Job Analyzer   │
     │     Agent       │     │     │     Agent       │
     └────────┬────────┘     │     └────────┬────────┘
              │              │              │
     ┌────────▼────────┐     │              │
     │ Skill Extractor │     │              │
     │     Agent       │     │              │
     └────────┬────────┘     │              │
              │              │              │
              └──────────────┼──────────────┘
                             │
              ┌──────────────┴──────────────┐
              │                             │
     ┌────────▼────────┐           ┌────────▼────────┐
     │ Skills Matcher  │           │   Experience    │
     │     Agent       │           │   Evaluator     │
     └────────┬────────┘           └────────┬────────┘
              │                             │
              └──────────────┬──────────────┘
                             │
                    ┌────────▼────────┐
                    │    Decision     │
                    │   Synthesizer   │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │  JSON Output    │
                    │  with Reasoning │
                    └─────────────────┘
```

### Agents and Their Responsibilities

| Agent | Responsibility |
|-------|----------------|
| **Document Parser** | Extract text from PDF/DOCX/TXT files |
| **Resume Parser Agent** | Structure resume into sections (contact, education, experience) |
| **Skill Extractor Agent** | Identify and categorize skills (technical, soft, tools) |
| **Job Analyzer Agent** | Parse job requirements (required vs preferred) |
| **Skills Matcher Agent** | Compare skills with semantic matching |
| **Experience Evaluator Agent** | Assess experience relevance and gaps |
| **Decision Synthesizer Agent** | Combine all inputs into final recommendation |

## 📋 Prerequisites

- Python 3.10+
- An LLM API key (choose one):
  - **Gemini** (free): [Google AI Studio](https://makersuite.google.com/app/apikey)
  - **Groq** (free, faster): [console.groq.com](https://console.groq.com)

## 🚀 Quick Start

### 1. Clone and Install

```bash
cd "Agentic AI resume Screening"
pip install -r requirements.txt
```

### 2. Configure API Key

Copy the example environment file and add your API key:

```bash
copy .env.example .env
```

Edit `.env` and add your API key:

```bash
# Option 1: Use Gemini
GEMINI_API_KEY=your_gemini_key_here
LLM_PROVIDER=gemini

# Option 2: Use Groq (faster, recommended)
GROQ_API_KEY=your_groq_key_here
LLM_PROVIDER=groq
```

### 3. Run the System

**Option 1: Command Line**
```bash
python run.py --resume sample_data/resumes/senior_python_dev.txt --job-file sample_data/job_descriptions/backend_engineer.txt
```

**Option 2: Interactive Mode**
```bash
python run.py --interactive
```

> ⚠️ **Windows Note**: Interactive mode may have issues with pasting multi-line job descriptions in Windows terminals. Each pasted line gets executed as a command. **Recommendation**: Use `--job-file` option instead for job descriptions.

**Option 3: JSON Output**
```bash
python run.py --resume resume.pdf --job "Job description..." --json
```

**Option 4: Save to File**
```bash
python run.py --resume resume.pdf --job-file job.txt --json > output.json
```

## 📤 Output Format

The system produces a JSON output with the following fields:

```json
{
  

... (truncated)
Repository
7stars
0forks
View on GitHub
Details
DiscoveredJan 19, 2026
Last UpdatedJan 19, 2026
Quality Score
40/100

Related Skills

More research & analysis skills you might like

pr-improver
Research & Analysis
Runs an autonomous review-and-fix improvement loop over the current branch's changes until a PR review comes back clean, scoped mechanically to the directories the branch touched. Reviews are performed by an installed PR-review skill (default: pr-review-toolkit's review-pr). Use to fix review findings on a branch before opening or updating a pull request ('clean up this branch', 'fix this PR until review passes', 'run review-and-fix on my changes'). NOT for a one-time review — run the PR-review skill directly.
🤖claude🌐universal
7.5k
643
View
code-improver
Research & Analysis
Runs an autonomous review-and-fix improvement loop over any code target — a skill, plugin, module, or directory — using a reviewer the user names: any installed skill or agent. Keeps a cross-round findings ledger, escalates when fixes stop converging, and guards scope mechanically. Use when asked to 'improve this code until review passes', 'run an improvement loop with <reviewer>', or to iterate review-and-fix with a specific reviewer. For skills prefer the skill-improver entry; for a branch prefer pr-improver.
🤖claude🌐universal
7.5k
643
View
skill-improver
Research & Analysis
Runs an autonomous review-and-fix improvement loop over a Claude Code skill until a review comes back clean, with a cross-round findings ledger, escalation when fixes stop converging, and a mechanical scope guard. Reviews are performed by the plugin-dev skill-reviewer agent. Use to fix skill quality issues, iteratively refine a skill, or resume a loop after an escalation ('fix my skill', 'improve this skill until it passes review', 'skill improvement loop'). NOT for a one-time review — use the plugin-dev skill-reviewer agent directly.
🤖claude🌐universal
7.5k
643
View
audit-augmentation
Research & Analysis
Augments Trailmark code graphs with external audit findings from SARIF static analysis results, weAudit annotation files, and version-gated Trailmark 0.4.x binary-analysis graph exports. Maps findings to graph nodes by file and line overlap, creates severity-based subgraphs, and enables cross-referencing findings with pre-analysis data (blast radius, taint, etc.). Use when projecting SARIF results onto a code graph, overlaying weAudit annotations, importing binary graph findings, cross-referencing Semgrep, CodeQL, or binary-analysis findings with call graph data, or visualizing audit findings in the context of code structure.
🌐universal
7.5k
643
View