local · open source · MIT

Your job search, as two agent skills.

Find roles you can actually get — level and stack matched, never guessed — then apply through your own Chrome, with a local tracker that remembers everything.

install — one line
$ npx skills add \
    xpressabhi/job-search-skills \
    -s job-finder -s apply-to-jobs \
    -a '*' -g -y

What you get

Two skills that work together — one finds and remembers, one applies — with a calibrated decision layer underneath.

01

job-finder

Interviews you once from your CV, then sweeps your companies and boards every run — filtering by real eligibility, not marketing.

  • Level + stack matches only — a mismatch drops, it never surfaces
  • Remote region, timezone, and comp floor enforced
  • Learns companies you like, ignores the ones you don't
  • Never surfaces the same role twice
02

apply-to-jobs

Autofills and submits applications in your own visible Chrome — the form sees you, not a bot service.

  • Ashby · Greenhouse · Lever · Workable · Workday · LinkedIn +3
  • Jev picks every click and fill from the live page
  • Pauses only on captchas, logins, consent, knockouts
  • Answers banked so nothing is ever invented
03

Jev — the decision layer

Every judgment — eligibility, level/stack fit, liveness, duplicates, form answers, the next click — is a typed answer with a calibrated confidence from TypeSafe's System One model.

  • Below-level or missing-requirement roles drop — no wasted applications
  • Browser loop: observe the page, jev_decide picks the operation, code acts
  • Uncertain stays uncertain — never rounded up to a yes
  • Profiles redacted before every call

How it works

One setup conversation. After that it's one-liners.

step 1

Onboard once

Point it at your CV. It confirms what it found and asks only what the CV can't answer.

step 2

Sweep & rank

Starter companies, learned sources, and boards — verified live, gated by level + stack, ranked by fit.

step 3

Apply

Say “apply to all interested”. Chrome does the typing; the tracker records every outcome.

Local by default

No server, no account, no external apply service. Profile, history, notes, and CV stay on disk — Jev calls send only redacted judgment input, never your identity.

Level + stack matched, then ranked
#3 Stripe — Staff Engineer · $210–260k · remote (EU) · confirmed
#4 Glean — Senior SWE, Infra · $180–230k · hybrid BLR · likely
12 dropped — below level ×5 · missing requirement ×7
~/.job-search/
├ profile.json — you
├ data.json — every role seen
├ companies.json — learned & ignored
├ agent-logs/ — every decision audited
└ applications.md — human-readable

Free to start — runs on OpenCode with Zen's free models.

More tokens? OpenCode Go, $10/month (referral link).