hermes atlas
288·repos hermes·v0.21.5 ★ star this repo

shbernal/hermes-linkedin-jobsearch

Let your agent apply for you: find postings, research companies, tailor resumes, apply and track applications.

★ 0 langPython licenseMIT updated2026-11-04

hermes-linkedin-jobsearch is a Hermes profile distribution that searches LinkedIn on a schedule, researches employers, prepares tailored resumes and application answers, and tracks applications. It presents ready entries for your approval; Easy Apply is sent after you name an entry, while external forms are sent only if you opt in.

  • Organizes job searches into tracks with separate queries and base resumes.
  • Creates employer dossiers and prepares resumes and answers from your profile facts.
  • Tracks application status from LinkedIn and, optionally, email.
full readme from github
hermes-linkedin-jobsearch: the agent lists ready entries, you reply apply 1 and 3

A job-search agent for Hermes that works your LinkedIn pipeline from posting to answer.

Version Hermes CI License


Install • Quickstart • How it works


hermes-linkedin-jobsearch is a Hermes profile distribution. It installs an agent that searches LinkedIn on a schedule, researches the employers behind the postings, tailors a resume and answers for each one, and keeps track of every application. You decide what gets sent.

  • Discovery per track: a kind of role with its own LinkedIn queries, fit scoring and base resume.
  • An employer dossier for every new entry, then a shortlist or drop with the reason.
  • A resume and form answers per entry, written from your profile facts, never invented.
  • Easy Apply sent once you name the entry. External forms are read and filled through atsfill, and sent only if you opt in.
  • Status tracking from LinkedIn and, optionally, your email.
  • A weekly report on what each track's postings ask for.
A ready entry: the employer dossier with its shortlist verdict, and the tailored resume and form answers, each line linked to the profile fact it comes from

Install

You need Hermes 0.22.2 or later, a LinkedIn account and uv. Setup checks for the other tools (node, git, cratecv, optionally Himalaya for email and gh for filing issues) and offers to install what is missing.

hermes profile install github.com/shbernal/hermes-linkedin-jobsearch --alias

This creates a jobsearch profile and a jobsearch command next to your other Hermes profiles.

Quickstart

  1. Pick the model the agent runs on, if the profile has none yet:

    jobsearch model
    
  2. Open a chat with the agent:

    jobsearch chat
    
  3. Run the setup and answer its questions:

    /jobsearch-init
    
A /jobsearch-init session: LinkedIn login, profile facts, criteria, autonomy, a first track and the scheduled runs

Setup logs in to LinkedIn, builds your profile facts from LinkedIn and your CV, interviews you for your criteria, sets what may be sent without asking, creates a first track and schedules the jobs. It can stop at any step: running it again picks up where it left off.

Tested with gpt-5.6-sol through the openai-codex provider, and glm-5.3 through zai on the Z.ai coding plan.

What it never does on its own

Action Default You can change it to
Send Easy Apply after you name the entry ("apply 1 and 3") prepare only, or send unattended
Send an external form never: you send it yourself after approval, or unattended
Hide a job from LinkedIn search for good never on
Archive email never on
File an issue upstream when a tool fails never: recorded in ~/jobsearch/issues/ with a link to file it after asking, or unattended
Message or connect with anyone never: the tools are disabled not available

Sends are capped at 2 a day by default, attended or not. Set issues to unattended if you can: upstream fixes come from these reports, and they carry the tool call, the system and the result, never your data. All of these live in ~/jobsearch/workspace.yaml.

[!CAUTION] LinkedIn's user agreement prohibits automated access to the site. This agent reads and applies through your own logged-in session, and LinkedIn may restrict or ban an account it flags. You use it at your own risk.

How it works

flowchart LR
    D["Discovery<br/>per track"] --> P[("~/jobsearch<br/>pipeline")]
    P --> A["Advance<br/>research, prepare"]
    A --> R["pipeline/ready.md"]
    R -- "you: apply 1 and 3" --> S["Apply<br/>Easy Apply, atsfill"]
    S --> P
    T["Tracking<br/>LinkedIn, email"] --> P

Everything personal lives in ~/jobsearch, a git repository the agent commits to: your criteria, profile facts, resumes, employer dossiers and the pipeline. The profile itself holds only the skills and the configuration, so hermes profile update jobsearch never touches your data.

Scheduled runs report to the chat you choose during setup (Telegram, Discord, or the local log). An Advance report ends with the numbered list of ready entries, and you approve by replying to it.

LinkedIn access goes through a pinned fork of linkedin-mcp-server that adds Easy Apply and job close-out tools.

More