job-hunter
Build and deploy an automated job hunting system with Telegram bot. Scrapes LinkedIn jobs, scores them by match percentage, sends notifications with apply buttons, and generates tailored CVs. Use when: setting up job search automation, building a job-matching bot, creating a Telegram-based job alert system, helping someone find a job automatically. Triggers: 'job search bot', 'automated job hunting', 'find jobs for', 'job alert system', 'build job bot'.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/barleviatias/job-hunter-botJob Hunter - Automated Job Search System
Build a complete job hunting system: LinkedIn scraper, match scorer, and Telegram bot with inline buttons.
What This System Does
- Scrapes real jobs from LinkedIn (public guest API, no login needed)
- Scores each job 0-100% based on candidate profile (title, skills, experience, location)
- Sends matching jobs to Telegram with action buttons (details, apply, remove)
- Provides a clean foundation you can extend with CV generation later if needed
Setup Flow
1. Gather Candidate Profile
Ask the user for:
- Target roles (e.g. data analyst, BI developer, frontend developer)
- Core skills (e.g. SQL, Python, React, Power BI)
- Bonus skills (nice-to-have)
- Max years of experience they qualify for
- Preferred location and metro area cities
- Contact info (name, email, phone, LinkedIn URL)
- Work experience (companies, roles, dates, bullet points)
- Education (degree, institution, year)
2. Create Telegram Bot
Guide the user:
- Open Telegram, search for @BotFather
- Send
/newbot, choose a name and username - Copy the bot token
- Get their Telegram user ID (send a message to @userinfobot)
- Optionally add more authorized users (e.g. the job seeker)
3. Deploy the System
Create a project directory and deploy these scripts (from scripts/):
job-hunter/
├── config.json # Bot token, user IDs, candidate profile
├── jobs.db # SQLite database (auto-created)
├── scorer.py # Match scoring engine
├── linkedin_scraper.py # LinkedIn job scraper
├── bot.py # Telegram bot with inline buttons
└── notify_new_jobs.py # Send new matches to Telegram
config.json Structure
{
"telegram_bot_token": "TOKEN_FROM_BOTFATHER",
"telegram_user_id": 123456789,
"authorized_users": [123456789],
"notify_users": [123456789],
"candidate": {
"name": "Full Name",
"email": "[email protected]",
"phone": "054-1234567",
"linkedin": "linkedin.com/in/username",
"location": "Tel Aviv, Israel",
"target_titles": ["data analyst", "bi developer"],
"good_titles": ["business analyst"],
"core_skills": ["sql", "python", "power bi"],
"bonus_skills": ["etl", "dax", "pandas"],
"max_years": 2,
"preferred_locations": ["tel aviv", "herzliya", "ramat gan"],
"metro_locations": ["petah tikva", "rishon lezion"]
}
}
4. Customize Scripts
After copying scripts from scripts/, customize:
scorer.py- Update PROFILE dict with candidate's profile from config.jsonlinkedin_scraper.py- Update DEFAULT_QUERIES with relevant search termsbot.py- Should work with just config.json changesnotify_new_jobs.py- Verify notification flow and recipients
5. Install Dependencies
Install Python dependencies required by the included scripts. At minimum, verify the libraries imported by the scraper and bot are available in your environment.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-barleviatias-job-hunter-bot": {
"enabled": true,
"auto_update": true
}
}
}