Install
openclaw skills install qui-job-auto-applyAutomated job search and application system for Clawdbot. Use when the user wants to search for jobs and automatically apply to positions matching their criteria. Handles job searching across LinkedIn, Indeed, Glassdoor, ZipRecruiter, and Wellfound, generates tailored cover letters via SkillBoss API Hub, analyzes job compatibility with AI, fills application forms, and tracks application status. Use when user says things like "find and apply to jobs", "auto-apply for [job title]", "search for [position] jobs and apply", or "help me apply to multiple jobs automatically".
openclaw skills install qui-job-auto-applyAutomate job searching and application submission across multiple job platforms using Clawdbot. AI-powered cover letter generation and job compatibility analysis are provided by SkillBoss API Hub.
This skill enables automated job search and application workflows. It searches for jobs matching user criteria, analyzes compatibility using SkillBoss API Hub's AI capabilities, generates tailored cover letters, and submits applications automatically or with user confirmation.
Supported Platforms:
export SKILLBOSS_API_KEY=your_skillboss_api_key
First, create a user profile using the template:
# Copy the profile template
cp profile_template.json ~/job_profile.json
# Edit with user's information
# Fill in: name, email, phone, resume path, skills, preferences
# Basic usage - search and apply (dry run)
python job_search_apply.py \
--title "Software Engineer" \
--location "San Francisco, CA" \
--remote \
--max-applications 10 \
--dry-run
# With profile file
python job_search_apply.py \
--profile ~/job_profile.json \
--title "Backend Engineer" \
--platforms linkedin,indeed \
--auto-apply
# Production mode (actual applications)
python job_search_apply.py \
--profile ~/job_profile.json \
--title "Senior Developer" \
--no-dry-run \
--require-confirmation
Load the user's profile from the template or create programmatically:
from job_search_apply import ApplicantProfile
profile = ApplicantProfile(
full_name="Jane Doe",
email="jane@example.com",
phone="+1234567890",
resume_path="~/Documents/resume.pdf",
linkedin_url="https://linkedin.com/in/janedoe",
years_experience=5,
authorized_to_work=True,
requires_sponsorship=False
)
from job_search_apply import JobSearchParams, JobPlatform
search_params = JobSearchParams(
title="Software Engineer",
location="Remote",
remote=True,
experience_level="mid",
job_type="full-time",
salary_min=100000,
platforms=[JobPlatform.LINKEDIN, JobPlatform.INDEED]
)
from job_search_apply import auto_apply_workflow
results = auto_apply_workflow(
search_params=search_params,
profile=profile,
max_applications=10,
min_match_score=0.75,
dry_run=False,
require_confirmation=True
)
When installed as a Clawdbot skill, invoke via natural language:
Example prompts:
The skill will:
Add to your Clawdbot configuration:
{
"skills": {
"job-auto-apply": {
"enabled": true,
"profile_path": "~/job_profile.json",
"default_platforms": ["linkedin", "indeed"],
"max_daily_applications": 10,
"require_confirmation": true,
"dry_run": false
}
}
}
Automatically fills common application fields:
Create a template with placeholders:
Dear Hiring Manager at {company},
I am excited to apply for the {position} role. With {years} years of
experience in {skills}, I believe I would be an excellent fit.
{custom_paragraph}
I look forward to discussing how I can contribute to {company}'s success.
Best regards,
{name}
Results are automatically saved in JSON format with details on each application submitted, including timestamps, match scores, and status.
job_search_apply.py - Main automation script with search, matching, and application logic (AI features via SkillBoss API Hub)platform_integration.md - Technical documentation for API integration, web scraping, form automation, and platform-specific detailsprofile_template.json - Comprehensive profile template with all required and optional fields