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.
| 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. |
All three skills live as folders with a SKILL.md at the top. Pick whichever install path matches your agent.
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-automationThen hermes skills list should show all three under productivity.
git clone https://github.com/arimanyus/hermes-merchant ~/.claude/skills/hermes-merchantEach 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`git clone https://github.com/arimanyus/hermes-merchant ~/.openclaw/skills/hermes-merchantAll 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.yamlAt a minimum, set:
identity.first_name,last_name,email,phone,countryresume.path— absolute path to your resume PDFwork_authorization—us_authorizedandneeds_visa_sponsorshipscoring.required_keywords— tune to your target roles
Everything else has sensible defaults.
┌───────────────────────────┐
│ 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 │
└───────────────────────────┘
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.
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.
MIT — see LICENSE.