Skip to content

arimanyus/hermes-merchant

Repository files navigation

hermes-merchant

A collection of portable agent skills for running an automated job hunt — scraping ML/AI roles across Greenhouse, AshbyHQ, and Lever; scoring them against your profile; and filling Greenhouse applications via browser automation.

Compatible with Hermes, Claude Code, OpenClaw, and any other SKILL.md-compatible agent.

Merchant skills are a class of skills that help you sell yourself — to an ATS, a recruiter, a platform. Start here: the job-hunt set. Expect more merchant skills over time.

Skills in this repo

Skill What it does
job-scraper-pipeline Scrape ML/AI jobs from Greenhouse, AshbyHQ, Lever. Dedupe, score 0–100, classify tier-1/2/3. Encoded field-tested notes on which sources work and which are blocked.
greenhouse-job-application Fill a Greenhouse application in one JS expression using the React native-value setter. Verify fields, detect reCAPTCHA, fall back to careers@ email when React dropdowns can't be driven.
browser-harness-ats-automation CDP + cross-origin iframe patterns for Ashby/Greenhouse/Workday: attach to the form iframe, set file inputs, click hidden work-authorization checkboxes, intercept the GraphQL submit response.

Install

All three skills live as folders with a SKILL.md at the top. Pick whichever install path matches your agent.

Hermes

git clone https://github.com/arimanyus/hermes-merchant ~/hermes-merchant

# Symlink the skills into your Hermes skills directory
ln -s ~/hermes-merchant/job-scraper-pipeline            ~/.hermes/skills/productivity/job-scraper-pipeline
ln -s ~/hermes-merchant/greenhouse-job-application      ~/.hermes/skills/productivity/greenhouse-job-application
ln -s ~/hermes-merchant/browser-harness-ats-automation  ~/.hermes/skills/productivity/browser-harness-ats-automation

Then hermes skills list should show all three under productivity.

Claude Code

git clone https://github.com/arimanyus/hermes-merchant ~/.claude/skills/hermes-merchant

Each subfolder is a self-contained skill. Reference them from your CLAUDE.md:

- Job scraping    → read `~/.claude/skills/hermes-merchant/job-scraper-pipeline/SKILL.md`
- Apply on Greenhouse → read `~/.claude/skills/hermes-merchant/greenhouse-job-application/SKILL.md`
- ATS browser automation (Ashby, Greenhouse) → read `~/.claude/skills/hermes-merchant/browser-harness-ats-automation/SKILL.md`

OpenClaw

git clone https://github.com/arimanyus/hermes-merchant ~/.openclaw/skills/hermes-merchant

Configure your profile

All three skills read from a single profile.yaml at the repo root. This file is gitignored so your PII never leaves your machine.

cd ~/hermes-merchant
cp profile.yaml.example profile.yaml
$EDITOR profile.yaml

At a minimum, set:

  • identity.first_name, last_name, email, phone, country
  • resume.path — absolute path to your resume PDF
  • work_authorizationus_authorized and needs_visa_sponsorship
  • scoring.required_keywords — tune to your target roles

Everything else has sensible defaults.

What the pipeline looks like end-to-end

┌───────────────────────────┐
│  job-scraper-pipeline     │  every 15 min
│  Greenhouse / Ashby /     │──┐
│  Lever → score → queue    │  │
└───────────────────────────┘  │
                               ▼
                   ┌───────────────────────────┐
                   │  state/queue/jobs.json    │
                   │  [{tier-1, tier-2, ...}]  │
                   └───────────────────────────┘
                               │
                               ▼
┌──────────────────────────────────────────────────┐
│  greenhouse-job-application /                    │  every 30 min
│  browser-harness-ats-automation                  │
│  → fill form, attach resume, submit or email     │
└──────────────────────────────────────────────────┘
                               │
                               ▼
                   ┌───────────────────────────┐
                   │  state/applied/           │
                   │  applied.json             │
                   └───────────────────────────┘

Why three skills instead of one

Each skill is short, scoped to one kind of failure, and can be read by the agent on-demand. When Greenhouse ships a new React widget and something breaks, you only have to touch one file — the others stay stable. It also lets you cherry-pick; if you just want the scraper and plan to apply manually, skip the two applier skills.

Contributing

PRs welcome, especially:

  • New ATS platforms (Lever, Workday, SmartRecruiters application filling)
  • More careers@ fallbacks in profile.yaml.example
  • Better scoring heuristics for specific role families

Please keep PII out of your diffs — if you catch a hardcoded name/email in a PR, call it out.

License

MIT — see LICENSE.

About

A collection of portable agent skills that scrape ML/AI jobs, score them against your profile, and auto-fill Greenhouse applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors