Local-first job hunt workflow on Claude Code: 4-version LaTeX CV + AI cover letters + Claude in Chrome auto-apply. No SaaS, no subscriptions, no black-box agents.
SaferSkills independently audited claude-job-slayer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A local-first job-hunt workflow for technical roles.
Tell Claude /job-hunt and it searches jobs, picks the right resume version per JD, drafts a cover letter, and auto-fills the ATS form. You just confirm the screenshot before each Submit. All data stays in your local git.中文版 README · Mainland China users · Without Claude Code
You ▷ /job-hunt
Claude Scanned LinkedIn (last 7d, PhD intern) + 8 company career
pages. After dedup against your tracker, 23 roles. Sorted
🥇/🥈/🥉 by match score. Which to apply?
You ▷ 1, 3, 7
Claude #1: Acme Corp · ML Research Intern (PhD)
▸ Recommended CV: ai (JD mentions "foundation model evaluation")
▸ Cover letter draft (287 words): [...]
▸ Greenhouse form filled. Confirm screenshot:
[screenshot]
You ▷ Para 2: replace LangChain with Foundry, make it shorter
Claude Done: [new draft]
New screenshot: [...]
You ▷ ok
Claude ▸ Submitted. Confirmation: [screenshot]
▸ tracker updated
▸ Next: BetaTech · ...Every Submit pauses for your confirmation — that's hard-wired, not optional. Applications get logged to tracker/applications.csv automatically.
If you already have a specific role (friend's referral link, etc.), skip the search and use /apply:
cp applications/_template.md applications/2026-04-25_acme.md
# Fill in JD and custom questions
/apply applications/2026-04-25_acme.mdFastest path: clone + install LaTeX + ask Claude to set it up.
git clone https://github.com/BowennCAI/claude-job-slayer.git
cd claude-job-slayer
# Install LaTeX: macOS `brew install --cask mactex`. Linux: see docs/china-mainland.md
claude # Start Claude Code (add --chrome for browser auto-fill)In Claude Code, just type:
/setupGive it the path to your resume PDF. Claude will:
config/profile.yaml + cover-letter/my-background.md + rewrite all sections/*.tex with your real content (replacing the Jane Doe sample)make all to compile your 4 resume versions, show you the outputThen /job-hunt to start applying.
--chromeclaude --chromeThis routes browser actions through your real Chrome (already logged into LinkedIn / Meta / TikTok / Workday / etc.) — no re-authentication needed. See Claude in Chrome.
Every Submit click waits for your screenshot confirmation. Hard-wired, not optional.
Claude Code is hard to use in mainland China, but this repo runs fine there:
prompts/apply-prompt.md"prompts/apply-prompt.md (browser control built-in)prompts/standalone-mode.md into any chat LLM web UI (DeepSeek / Kimi / ChatGPT / Claude.ai). Zero install.Setup details: docs/china-mainland.md · docs/use-without-claude-code.md
# 1. Fill in basic info
cp config/profile.yaml.example config/profile.yaml
$EDITOR config/profile.yaml
make setup
# 2. Build sample resumes (Jane Doe placeholder content)
make all
# 3. Replace samples with your content
$EDITOR sections/*.tex
make all
# 4. Write your full background for the LLM to use
cp cover-letter/my-background.example.md cover-letter/my-background.md
$EDITOR cover-letter/my-background.mdThen for each application, either use /apply in Claude Code, or paste prompts/standalone-mode.md into any chat LLM.
LaTeX conditional compilation: one source, four targeted versions.
| Version | For |
|---|---|
research | Academic / research roles |
industry | Generic industry |
security | Security focus |
ai | AI / LLM focus |
research-cn, ai-cn | Chinese variants |
Toggle via \ifresearch / \ifindustry / \ifsecurity / \ifai set in each build-*.tex. Section files render differently per flag, so editing one bullet updates all relevant versions — no need to maintain four parallel documents.
make research / make all / make research-cn. Output: output/{YourName}_CV_{version}.pdf.
These are gitignored by default:
config/profile.yaml — your personal fieldscover-letter/my-background.md — full backgroundapplications/2026-*.md — each role's JDtracker/applications.csv — application logoutput/ — compiled PDFsThe only place this data goes is the conversation context of whatever LLM you're already using.
⚠️ Note: sections/*.tex are not gitignored (they're part of the template). If you fork this repo and put your real experience in sections, fork to a private repo before pushing, or your CV content goes public.
See CLAUDE.md.
deedy-resume-openfont.cls: derived from Deedy Resume, originally Apache 2.0Issues and PRs welcome. Especially valuable:
Open an issue first if the change is non-trivial.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.