Skip to content
Automation
Skill

/job-applier

Apply to jobs from your real browser. Reads job postings, matches requirements against your resume, fills out application forms, and handles multi-step flows on Lever, Greenhouse, Workday, Indeed, LinkedIn Jobs, and other platforms. Reviews everything before submitting. Requires

From plugin
hanzi-browse
17512 skills
Install
$ npx -y skills add hanzili/hanzi-browse --skill job-applier --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/job-applier

Context preview

The summary Claude sees to decide when to auto-load this skill.

Apply to jobs from your real browser. Reads job postings, matches requirements against your resume, fills out application forms, and handles multi-step flows on Lever, Greenhouse, Workday, Indeed, LinkedIn Jobs, and other platforms. Reviews everything before submitting. Requires

SKILL.md

job-applier.SKILL.md
name: job-applier
description: Apply to jobs from your real browser. Reads job postings, matches requirements against your resume, fills out application forms, and handles multi-step flows on Lever, Greenhouse, Workday, Indeed, LinkedIn Jobs, and other platforms. Reviews everything before submitting. Requires the hanzi browser automation MCP server and Chrome extension.
category: life

Job Application Helper

You help users apply to jobs by reading postings, matching qualifications, and filling out application forms in a real browser with their signed-in sessions.

Tool Selection Rule

  • **Prefer existing tools first**: code search, file reads, APIs, and other MCP integrations.
  • **Use Hanzi only for browser-required steps**: navigating job boards, reading authenticated postings, and filling application forms.
  • **If a platform shows a CAPTCHA, rate limit, or bot detection**, stop immediately and tell the user.

Before Starting — Preflight Check

Try calling `browser_status` to verify the browser extension is reachable. If the tool doesn't exist or returns an error:

> **Hanzi isn't set up yet.** This skill needs the hanzi browser extension running in Chrome. > > 1. Install from the Chrome Web Store: https://chromewebstore.google.com/detail/hanzi-browse/iklpkemlmbhemkiojndpbhoakgikpmcd > 2. The extension will walk you through setup (~1 minute) > 3. Then come back and run this again

---

What You Need From the User

1. **Job URL** — link to the job posting 2. **Resume / profile context** — either a file path to their resume, a pasted summary, or "use my LinkedIn profile" 3. **Additional context** — cover letter tone, salary expectations, visa status, availability, or any field-specific answers

Optional:

  • Preferred name or contact info overrides
  • Answers to common screening questions (years of experience, willing to relocate, etc.)
  • Whether to actually submit or just fill and pause for review

---

Phase 1: Gather Context BEFORE Opening the Browser

Read the user's resume

If the user provided a file path, read it. If they pasted text, use that. Extract:

  • Name, email, phone, location
  • Current title and company
  • Skills and technologies
  • Years of experience
  • Education
  • Notable achievements

Store these as structured data — you'll need them for every form field.

Read the job posting

If the job URL is publicly accessible, try fetching it with `WebFetch` or `curl` first — no browser needed for public postings.

If it requires authentication (LinkedIn Jobs behind login, internal company portals), use `browser_start` to navigate and read the posting.

Extract from the posting:

  • Job title, company, location, remote/hybrid/onsite
  • Required qualifications
  • Preferred qualifications
  • Responsibilities
  • Application deadline (if listed)

Match qualifications

Compare the user's profile against the job requirements. Present a brief match summary:

Match summary for [Job Title] at [Company]:

Strong matches:
- [Requirement] — [How the user matches]
- [Requirement] — [How the user matches]

Gaps:
- [Requirement] — [What's missing or weak]

Overall fit: [Strong / Moderate / Weak]

If the fit is weak, tell the user honestly. Ask if they want to proceed anyway.

---

Phase 2: Prepare Application Answers

Before touching the browser, prepare answers for common application fields:

**Standard fields** (auto-fill from resume):

  • Full name, email, phone, location
  • Current company, current title
  • LinkedIn URL, portfolio/website
  • Resume upload (file path)

**Screening questions** (need user input if not provided):

  • Are you authorized to work in [country]?
  • Do you require visa sponsorship?
  • Years of experience in [skill]
  • Desired salary / salary expectations
  • Earliest start date
  • Willing to relocate?
  • How did you hear about this role?

**Cover letter** (generate if needed):

  • Tailor to the specific role and company
  • Reference 2-3 specific requirements from the posting that match the user's experience
  • Keep it under 300 words
  • Match the tone the user requested (professional, conversational, etc.)

Present all prepared answers to the user. Ask them to confirm or adjust before proceeding.

---

Phase 3: Fill the Application Form

Navigate to the application page using `browser_start`. Apply **one job at a time, sequentially**.

Platform-specific patterns

**Lever** (jobs.lever.co):

  • Single-page form with resume upload, standard fields, and custom questions
  • Upload resume first — Lever sometimes auto-fills fields from it
  • Custom questions appear below the standard fields

**Greenhouse** (boards.greenhouse.io):

  • Multi-step form: personal info, resume, custom questions, voluntary self-identification
  • Each step has a "Next" or "Continue" button
  • EEOC/voluntary fields are optional — skip unless the user wants to fill them

**Workday** (*.myworkdayjobs.com):

  • Requires account creation — warn the user before proceeding
  • Multi-page flow with "Save and Continue" between sections
  • Often requires re-entering information already on the resume
  • May have autofill from LinkedIn — use it if the user is signed in

**LinkedIn Jobs** (linkedin.com/jobs):

  • "Easy Apply" is a modal overlay, not a new page
  • May have 1-3 steps within the modal
  • Can upload resume or use LinkedIn profile
  • Some postings redirect to the company's external ATS

**Indeed** (indeed.com):

  • May require an Indeed account
  • "Apply Now" sometimes redirects to external site
  • Indeed's own application flow has screening questions upfront

**Generic ATS / company career pages**:

  • Look for the application form — usually behind "Apply" or "Apply Now"
  • Fill fields based on label matching (name, email, phone, etc.)
  • For file uploads, use the resume file path from the user
  • For dropdowns, select the closest matching option

Filling strategy

1. Navigate to the application URL 2. If the platform auto-fills from resume upload, upload first and let it populate 3. Fill remaining

Read more
Ships withhanzi-browse

The context layer for browsing agents. Your browsing agent keeps failing on real sites — X uses Draft.js, LinkedIn hides the connect button, Gmail needs keyboard shortcuts.

Get the whole plugin

Other skills on hanzi-browse.