Sandbox
@arimanyus/hermes-merchant

Portable skills for job search and Greenhouse applications

This repo packages three portable skills for job-hunt automation. One skill scrapes roles from Greenhouse, Ashby, and Lever and scores them; another fills Greenhouse forms; the third handles browser automation patterns for ATS sites.

36 stars2 forksUpdated 4mo ago
Who it's for

Builders who want Claude Code or another `SKILL.md` agent to handle job search and application workflows.

What it delivers

You can find relevant roles, rank them, and submit applications with less repeated manual work.

What it does

Scrape and score jobs

Pulls ML/AI roles from Greenhouse, AshbyHQ, and Lever, then dedupes, scores, and tiers them.

Fill Greenhouse applications

Uses browser automation and the React native-value setter to populate forms and submit applications.

Handle ATS browser edge cases

Includes patterns for cross-origin iframes, hidden checkboxes, file inputs, and submit-response interception.

Use one shared profile file

Reads identity, resume, work authorization, and scoring settings from `profile.yaml`.

How to get it

  1. 1Run
    git clone https://github.com/arimanyus/hermes-merchant ~/.claude/skills/hermes-merchant
  2. 2Run
    git clone https://github.com/arimanyus/hermes-merchant ~/.openclaw/skills/hermes-merchant

README

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

SkillWhat it does
job-scraper-pipelineScrape 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-applicationFill 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-automationCDP + 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.

Files in the repo

Repository payload8 top-level entries
  • browser-harness-ats-automation
  • greenhouse-job-application
  • job-scraper-pipeline
  • .gitignore
  • CHANGELOG.md
  • LICENSE
  • profile.yaml.example
  • README.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More skills

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

117k
1 add

Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

71k
ayghri/
i-have-adhd

A skill to stop your coding agent from burying the answer. ADHD-friendly output.

38k
mvanhorn/
last30days-skill

AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary

62k
Nanako0129/
sepia

De-AI writing skill for any Agent Skills-compatible agent (77+ via the Skills CLI), with native plugins for Claude Code, Codex, Grok Build, and Antigravity. Narrative-architecture repair for fiction, venue-matched rules for professional prose. Based on StoryScope (arXiv:2604.03136).

2.5k
Imbad0202/
academic-research-skills

Academic Research Skills for Claude Code: research → write → review → revise → finalize

48k