Rank
65
LangChain/LangGraph tools for AI agent x402 payments on X1
Traction
No public download signal
Freshness
Updated 4mo ago
Xpersona Agent
Multi-agent AI system for automated job search: CrewAI + Claude + FastAPI + React JobHunter Agent π¨π»βπ» A multi-agent AI system that automates the most painful parts of job searching. Upload your resume, paste any job URL or description from LinkedIn, Indeed, Dice, or any company careers page, and get back an ATS fit score, tailored resume bullets, a personalized cold email, and interview strategy - all generated by four specialized AI agents working in sequence, powered by Claude. --- What You
git clone https://github.com/sriputta-dev/jobhunter.gitOverall rank
#30
Adoption
1 GitHub stars
Trust
Unknown
Freshness
May 31, 2026
Freshness
Last checked May 31, 2026
Best For
jobhunter is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.
Overview
Multi-agent AI system for automated job search: CrewAI + Claude + FastAPI + React JobHunter Agent π¨π»βπ» A multi-agent AI system that automates the most painful parts of job searching. Upload your resume, paste any job URL or description from LinkedIn, Indeed, Dice, or any company careers page, and get back an ATS fit score, tailored resume bullets, a personalized cold email, and interview strategy - all generated by four specialized AI agents working in sequence, powered by Claude. --- What You Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 5/31/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
May 31, 2026
Vendor
Sriputta Dev
Artifacts
0
Benchmarks
0
Last release
Unpublished
Install & run
git clone https://github.com/sriputta-dev/jobhunter.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.
Public facts
Vendor
Sriputta Dev
Protocol compatibility
OpenClaw
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Events
Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.
Captured outputs
Extracted files
0
Examples
6
Snippets
0
Languages
python
bash
git clone https://github.com/your-username/jobhunter.git cd jobhunter
bash
cp backend/.env.example backend/.env
text
ANTHROPIC_API_KEY=sk-ant-your-key-here
bash
cd backend python -m venv venv source venv/bin/activate pip install -r requirements.txt uvicorn api.main:app --reload --port 8000
bash
cd frontend npm install npm start
bash
cd backend python tests/test_jobhunter.py
Editorial read
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Multi-agent AI system for automated job search: CrewAI + Claude + FastAPI + React JobHunter Agent π¨π»βπ» A multi-agent AI system that automates the most painful parts of job searching. Upload your resume, paste any job URL or description from LinkedIn, Indeed, Dice, or any company careers page, and get back an ATS fit score, tailored resume bullets, a personalized cold email, and interview strategy - all generated by four specialized AI agents working in sequence, powered by Claude. --- What You
A multi-agent AI system that automates the most painful parts of job searching. Upload your resume, paste any job URL or description from LinkedIn, Indeed, Dice, or any company careers page, and get back an ATS fit score, tailored resume bullets, a personalized cold email, and interview strategy - all generated by four specialized AI agents working in sequence, powered by Claude.
Immediately, no API key needed:
An ATS fit score from 0 to 100 showing how well a job matches your skill profile, with the exact keywords that matched and which ones are missing.
After clicking Run AI Analysis (needs Anthropic key, ~$5 free credits):
Four agents run in sequence, each building on the previous output.
The Job Analyst reads your resume alongside the job description and returns a structured fit assessment - STRONG FIT, GOOD FIT, STRETCH, or SKIP - with clear reasoning. The Resume Tailor rewrites your summary and bullet points using the exact language of the JD, grounded in your actual resume content. The Outreach Specialist drafts a personalized cold email under 120 words with a specific hook for that company. The Strategy Coach generates five technical interview questions with hints drawn from your real projects, behavioral questions with STAR method outlines, a company research tip, and your unique angle for that role.
Everything is editable. Click Edit on any AI output, make your changes, save, and revert to the original anytime. Both versions are stored.
Paste Mode is the main way to use this. Find a job on LinkedIn, Indeed, Dice, Glassdoor, Greenhouse, Lever, or any company site. Copy either the URL or the job description text. Paste it into the Paste Job tab. The system auto-detects which one it received, extracts the content, scores it, and adds it to your tracker in under two seconds.
If a URL does not load because a site blocks automated fetching, just copy and paste the job description text directly. Text mode works everywhere.
Auto Search pulls from five free job boards simultaneously - Himalayas, Remotive, Jobicy, Arbeitnow, and Indeed RSS - with results scored and ready to review.
1. Clone
git clone https://github.com/your-username/jobhunter.git
cd jobhunter
2. Configure
cp backend/.env.example backend/.env
Open backend/.env and add your key:
ANTHROPIC_API_KEY=sk-ant-your-key-here
To get your key: go to console.anthropic.com, sign up free, go to API Keys, click Create Key. New accounts get $5 in credits which covers around 100 job analyses.
3. Backend
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn api.main:app --reload --port 8000
Windows: use venv\Scripts\activate instead. You should see Application startup complete.
4. Frontend
Open a new terminal:
cd frontend
npm install
npm start
Dashboard opens at http://localhost:3000.
Before running AI analysis, upload your resume so agents use your actual experience rather than the sample placeholder.
Click the resume area at the top of the left panel. Select your .pdf or .docx file. Text is extracted immediately and agents use it from that point forward, including after server restarts.
If your PDF is a scanned image rather than text-based, upload the .docx version instead. The system will tell you clearly if extraction fails and what to do.
Open backend/tools/ats_scorer.py and edit the CANDIDATE_PROFILE dictionary. The primary skills list drives 70 percent of the ATS score so accuracy here matters most. Replace the default .NET/React skill set with your actual stack.
Open backend/agents/agents.py and edit DEFAULT_CANDIDATE_BACKGROUND. This is what agents fall back to when no resume is uploaded. Once you upload a resume file it overrides this automatically.
Paste a job by clicking the Paste Job tab, entering a URL or description text, and clicking Add Job. The job appears with an ATS score in under two seconds.
Search for jobs by clicking Search Jobs, entering a title and location, and clicking Search. Results from five boards appear automatically.
Run AI analysis by clicking any job in the list, then clicking Run AI Analysis. Results come back in 30 to 90 seconds depending on API speed. Click the refresh button after waiting.
Edit AI output by clicking Edit on the Resume, Cold Email, or Strategy tabs. A textarea opens with the content. Save your version and click Revert to AI anytime to restore the original.
Track applications using the Status dropdown on any job - New, Applied, Interviewing, Rejected, Offered.
cd backend
python tests/test_jobhunter.py
Expected: ALL 50 TESTS PASSED - 0 failures
Covers ATS scoring, scraper functions, URL and source detection for twelve job boards, DOCX and PDF extraction, resume cache logic, paste-to-score pipeline, editable content fields, and all API endpoints.
Open backend/tools/job_scraper.py and add a function:
def scrape_myboard(query: str, limit: int = 10) -> List[Dict]:
jobs = []
resp = requests.get(f"https://myboard.com/api/jobs?q={query}", timeout=15)
for job in resp.json().get("results", [])[:limit]:
jobs.append({
"title": job["title"],
"company": job["company"],
"location": job.get("location", "Remote"),
"url": job["url"],
"description": job["description"],
"salary": job.get("salary", ""),
"source": "myboard",
"posted_date": job.get("date", ""),
})
return jobs
Then add it to the SOURCES list inside fetch_all_jobs(). Deduplication and scoring happen automatically.
| Endpoint | Method | Description | |---|---|---| | GET /health | GET | Health check | | GET /api/jobs | GET | List jobs with optional status, min_score, source filters | | GET /api/jobs/{id} | GET | Single job with all AI outputs and edits | | PATCH /api/jobs/{id} | PATCH | Update status, notes, favorite | | PATCH /api/jobs/{id}/edit | PATCH | Save user edits to resume, email, or strategy | | POST /api/jobs/paste | POST | Add job by URL or pasted text | | POST /api/jobs/{id}/analyze | POST | Trigger 4-agent AI crew in background | | POST /api/search | POST | Search all five free job boards | | POST /api/resume/upload | POST | Upload resume PDF or DOCX | | GET /api/resume | GET | Get current resume profile and preview | | DELETE /api/resume | DELETE | Remove uploaded resume | | GET /api/stats | GET | Dashboard statistics |
jobhunter/
backend/
agents/
agents.py 4 CrewAI agent definitions and resume cache logic
tasks.py Task definitions with context chaining
crew.py Crew orchestrator
api/
main.py All endpoints including resume upload and edit save
models/
database.py Job, SearchRun, ResumeProfile models
tools/
resume_parser.py PDF and DOCX text extraction
job_extractor.py URL fetch and text parser for paste mode
job_scraper.py Five free job board scrapers
ats_scorer.py ATS keyword scoring engine
tests/
test_jobhunter.py 50 tests
requirements.txt
.env.example
frontend/
src/
App.jsx
App.css
components/
ResumeUploader.jsx
SearchPanel.jsx
JobList.jsx
JobDetail.jsx
StatsBar.jsx
docker-compose.yml
README.md
Backend does not start: make sure the virtual environment is active (source venv/bin/activate) and dependencies are installed (pip install -r requirements.txt).
Dashboard shows "Failed to load jobs": confirm the backend is running. Test with curl http://localhost:8000/health - should return {"status":"ok"}.
URL paste returns nothing: some sites block automated fetching. Copy and paste the job description text directly instead. This works everywhere.
AI analysis not appearing: check ANTHROPIC_API_KEY in backend/.env. Check the backend terminal for error messages.
ATS scores look off: edit CANDIDATE_PROFILE in backend/tools/ats_scorer.py with your real skills.
Resume not affecting AI output: make sure your PDF is text-based not a scanned image. Try uploading the DOCX version.
Daily digest emails delivering the top matching jobs to your inbox every morning. A browser extension for one-click job adding without opening the dashboard. RAG-based semantic profile matching that understands the meaning of your experience rather than keyword counts. Multi-resume support for different roles.
This is version 1. Will keep shipping.
MIT
Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.
Machine interfaces
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/trust"
Operational fit
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-08T22:19:24.506Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"label": "Vendor",
"value": "Sriputta Dev",
"category": "vendor",
"href": "https://github.com/sriputta-dev/jobhunter",
"sourceUrl": "https://github.com/sriputta-dev/jobhunter",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-23T06:54:02.795Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-05-23T06:54:02.795Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "traction",
"label": "Adoption signal",
"value": "1 GitHub stars",
"category": "adoption",
"href": "https://github.com/sriputta-dev/jobhunter",
"sourceUrl": "https://github.com/sriputta-dev/jobhunter",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-23T06:54:02.795Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-sriputta-dev-jobhunter/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
]Change Events JSON
[]
Sponsored
Ads related to jobhunter and adjacent AI workflows.