Jobautopilot Search

v1.3.0

Reads your resume pool to build a candidate profile, then searches LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs, and company career pages for match...

0· 245·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for jerronl/jobautopilot-search.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Jobautopilot Search" (jerronl/jobautopilot-search) from ClawHub.
Skill page: https://clawhub.ai/jerronl/jobautopilot-search
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: JOB_SEARCH_KEYWORDS, JOB_SEARCH_LOCATION, JOB_SEARCH_TRACKER, JOB_SEARCH_HANDOFF, RESUME_DIR, JOB_SEARCH_MIN_SALARY, JOB_SEARCH_MAX_AGE_DAYS
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install jobautopilot-search

ClawHub CLI

Package manager switcher

npx clawhub@latest install jobautopilot-search
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the required inputs and actions: it legitimately needs JOB_SEARCH_* vars, a RESUME_DIR, and tracker/handoff paths to build a profile, run searches, and record results.
Instruction Scope
SKILL.md explicitly instructs the agent to read all files in $RESUME_DIR, the tracker, and the handoff file, then use a browser tool to query external job sites and append results. That behavior is consistent with the stated purpose, but it involves reading potentially sensitive personal data (complete resumes) and sending queries via the browser tool; users should be aware of privacy implications and ensure RESUME_DIR contains only intended files. The instructions do not direct the agent to authenticate, post data, or transmit resume contents to arbitrary external endpoints beyond normal browsing/searching.
Install Mechanism
Instruction-only skill with no install spec and no code files — lowest install risk. Nothing is downloaded or written by an install step.
Credentials
All required env vars (keywords, location, tracker, handoff, resume dir, salary/age filters) are appropriate for a job-search/agent pipeline. No unrelated credentials or secrets are requested.
Persistence & Privilege
always:false (not force-installed). Model invocation is allowed (default), so the agent could invoke this skill autonomously. Combined with instructions to read local resumes, this raises a privacy concern: if you permit autonomous runs, the skill may access sensitive files without a separate confirmation step. Consider restricting autonomous access or ensuring agent policies require explicit user approval before running.
Assessment
This skill appears to do what it says, but it will read all files in the directory you point it at and use a browser tool to query external job sites. Before installing or running it: 1) verify RESUME_DIR points only to resumes you are willing to expose; consider creating a sanitized copy with only the data the agent needs; 2) confirm JOB_SEARCH_TRACKER and JOB_SEARCH_HANDOFF paths are acceptable locations for appended data; 3) avoid granting persistent/autonomous execution if you want explicit approval before the agent reads your resumes; 4) be aware browsing LinkedIn/Indeed may surface or require logins — do not supply unrelated credentials to the skill. If the skill included code, network endpoints, or requested unrelated cloud credentials, the assessment would change to suspicious — provide those artifacts if available for re-evaluation.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🔍 Clawdis
EnvJOB_SEARCH_KEYWORDS, JOB_SEARCH_LOCATION, JOB_SEARCH_TRACKER, JOB_SEARCH_HANDOFF, RESUME_DIR, JOB_SEARCH_MIN_SALARY, JOB_SEARCH_MAX_AGE_DAYS
latestvk976j21q803w9ah12b39tp69ts842ry0
245downloads
0stars
17versions
Updated 3w ago
v1.3.0
MIT-0

Job Autopilot — Search Agent

Searches LinkedIn (and optionally company career pages) for roles matching your criteria, applies hard filters, and writes results into a structured tracker file.

Setup

All env vars below are set by setup.sh (from jobautopilot-bundle). If you install standalone, add to ~/.openclaw/users/<you>/config.sh:

export JOB_SEARCH_KEYWORDS="quant risk python c++ developer"
export JOB_SEARCH_LOCATION="New York City"
export JOB_SEARCH_MIN_SALARY=200000      # optional, for known listings
export JOB_SEARCH_MAX_AGE_DAYS=90        # only keep listings posted within N days
export JOB_SEARCH_TRACKER="$HOME/.openclaw/workspace/job_search/job_application_tracker.md"
export JOB_SEARCH_HANDOFF="$HOME/.openclaw/workspace/job_search/SEARCH_AGENT_HANDOFF.md"
export RESUME_DIR="$HOME/Documents/jobs/"  # path to your resume files

Initialize the tracker if it does not exist yet:

mkdir -p ~/.openclaw/workspace/job_search
touch ~/.openclaw/workspace/job_search/job_application_tracker.md
touch ~/.openclaw/workspace/job_search/SEARCH_AGENT_HANDOFF.md

Read at session start

Every session, before searching, the agent must read in order:

  1. $RESUME_DIR — build a candidate profile from the user's resume pool (see below)
  2. $JOB_SEARCH_TRACKER — check existing entries to avoid duplicates
  3. $JOB_SEARCH_HANDOFF — pick up context from previous sessions

How to read the resume pool

Scan all files in $RESUME_DIR (.docx, .pdf, .md, .txt). From them, extract and record:

  • Skills — programming languages, tools, frameworks, domain knowledge, certifications
  • Titles held — past and current job titles, seniority level
  • Industries / asset classes — sectors the user has worked in
  • Preferred roles — infer from the most recent or most polished resume; note any target roles the user has written explicitly
  • Location / remote preference — extract from contact header or any explicit statement
  • Seniority signals — years of experience, scope of responsibility, team size managed

Synthesize these into a short candidate profile (keep it in working memory for this session). Use the profile to:

  • Derive search keywords (e.g. titles, skills, domain terms)
  • Set the seniority filter (reject roles that are clearly too junior or too senior)
  • Prioritize industries and company types that match past experience
  • Skip roles where the user clearly lacks the stated hard requirements

Search behavior

Use the browser tool with profile search. Search LinkedIn Jobs as the primary source. Also search company career pages for target employers when useful.

Keyword combinations to try (mix and match from config):

<keyword1> <keyword2> <location>
site:linkedin.com/jobs <keyword> <location>

Repeat with multiple keyword pairs. Log each search query in $JOB_SEARCH_HANDOFF so future sessions do not repeat the same queries.

Hard filters — reject if ANY applies

  • Location is not $JOB_SEARCH_LOCATION (or explicitly remote)
  • Posted more than $JOB_SEARCH_MAX_AGE_DAYS days ago
  • Salary listed and below $JOB_SEARCH_MIN_SALARY
  • Role is clearly junior (< 3 years required) unless explicitly configured otherwise
  • Duplicate of an existing tracker entry (same company + title)

Tracker format

Append one row per kept result to $JOB_SEARCH_TRACKER. Use this format exactly:

| Company | Title | Location | URL | Posted | Salary | Status | Notes |
|---------|-------|----------|-----|--------|--------|--------|-------|
| Acme Corp | Quant Developer | NYC | https://... | 2026-03-15 | $250k base | shortlist | 3 YOE req, Python+C++ |
| Rejected Co | Junior Analyst | NYC | https://... | 2026-01-01 | unknown | rejected | too junior |

Status values: shortlist | rejected | error

Both kept and rejected results must be recorded. Every kept result must include the exact job URL.

Handoff notes

After each search session, update $JOB_SEARCH_HANDOFF with:

  • Queries run this session
  • Date range of listings found
  • Any platforms or companies worth revisiting
  • Anything unusual encountered

Optional: Find hiring managers (user-initiated only)

This step is only performed when the user explicitly asks (e.g. "find the hiring manager", "who should I contact at X"). It is never run automatically.

When requested, use the browser tool to look up the relevant person via:

  • LinkedIn — search for recruiters or engineering managers at the company
  • Company website — check the careers page or team page for contact information

Record any found contacts in the tracker's Notes column.

Scope

This skill covers search, screening, and optional hiring manager outreach. Do not tailor resumes, write cover letters, or submit applications. Hand off shortlist entries to the jobautopilot-tailor skill.

Support

If Job Autopilot saved you time: paypal.me/ZLiu308

Comments

Loading comments...