| name | job-hunter |
| description | Primary job search command center. Routes to individual skills for all job search work. |
| when_to_use | Use for all job search work: running hunts, processing candidates, tailoring, researching, and managing the pipeline. |
| argument-hint | [batch|one <url>|finalize|tailor <job>|outreach <job>|interview <job>|score <job>|research <co>|stories|linkedin <cmd>|add-region|style|setup|doctor|dashboard|help] |
| disable-model-invocation | true |
| allowed-tools | Bash Read Edit Write WebSearch WebFetch |
| author | Abdul Basit (@abdulrbasit) |
| category | workflow |
Execute .claude/skills/caveman/SKILL.md inline before processing any command.
Execute .claude/skills/job-hunter/_rules.md inline before processing any command.
Job Hunter Command Center
One entry point for all job search work. Keep output compact — no raw candidate snapshots, full logs, PDFs, or Draft/raw story-bank sections.
Arguments: $ARGUMENTS
Key Paths
| What | Path |
|---|
| Story bank | profile/story_bank.md |
| Candidate queue | outputs/state/agent_candidate_queue.json |
| Job outputs | outputs/jobs/<slug>/ |
| Job DB | outputs/state/jobs.db |
| Config | config/job_hunter.yml |
Safety Rules
- Never fabricate resume facts, employers, dates, metrics, skills, or job history.
- Never submit applications, send messages, connect, follow, like, comment, or post automatically.
- Never overwrite profile/config inputs unless that mode requires it and the user requested it.
- Leave generated changes uncommitted unless the user runs
job-hunter finalize.
Initialization
Before any mode that reads profile files (batch, one, tailor, score, screen, interview, outreach), run:
job-hunter internal compile-profile
This compiles profile files into minified versions for the session. A missing config or
profile file is a silent no-op (fine for a fresh workspace). Any other failure logs one
compact warning line to job_hunt.log and falls back to the raw profile files — it never
raises or blocks the session.
Routing
Normalize the first argument to lowercase. Empty argument → help.
Daily workflow
dashboard, apps, applications: tell the user to open the Job Hunter app (job-hunter dash) and use the Applications view — there is no terminal dashboard to run inline.
batch, process, queue: execute .claude/skills/job-hunter/modes/batch.md inline.
one <url>, url <url>, or any pasted http(s):// URL: execute .claude/skills/job-hunter/modes/one.md inline with the URL and remaining arguments.
finalize: run job-hunter finalize (add --push if the user asked to push). It validates, commits, and optionally pushes durable outputs itself — no separate skill needed. Show its output verbatim.
screen: execute .claude/skills/job-hunter/modes/screen.md inline.
Per-job actions — second token is the job slug
tailor <job>: execute .claude/skills/job-hunter/modes/tailor.md inline.
outreach <job>: execute .claude/skills/job-hunter/modes/outreach.md inline.
interview <job>: execute .claude/skills/job-hunter/modes/interview.md inline.
score <job>: execute .claude/skills/job-hunter/modes/score.md inline.
research <job>: execute .claude/skills/job-hunter/modes/research.md inline.
stories: execute .claude/skills/job-hunter/modes/stories.md inline.
LinkedIn sub-router — linkedin (alone or with sub-argument): execute .claude/skills/linkedin/SKILL.md inline with remaining arguments.
Setup sub-router — setup, init, onboard, doctor, health, check, add-region, region, style: execute .claude/skills/setup/SKILL.md inline with remaining arguments.
Unknown mode → print the command menu and ask the user to choose a listed mode.
Command Menu
Job Hunter Command Center
── Daily Workflow ──────────────────────────────────────────────────────
/job-hunter dashboard Open the Job Hunter app to review applications
/job-hunter batch Process the next frozen candidate batch
/job-hunter one <url> Process one job URL end-to-end
/job-hunter finalize Runs `job-hunter finalize` to commit durable reviewed outputs
/job-hunter screen Pre-screen a frozen batch against config exclusion rules
── Per-Job Actions ─────────────────────────────────────────────────────
/job-hunter tailor <job> Tailor resume + cover letter for a job
/job-hunter outreach <job> Draft LinkedIn connection + follow-up
/job-hunter interview <job> Generate predicted interview questions
/job-hunter score <job> Score one job 0-100 vs. resume and story bank
/job-hunter research <job> Web-search a company for an imported job
/job-hunter stories Refine raw work notes into rated STAR stories
── LinkedIn ────────────────────────────────────────────────────────────
/job-hunter linkedin ideas Generate weekly LinkedIn post ideas
/job-hunter linkedin draft Write one ready-to-post LinkedIn draft
/job-hunter linkedin engage Draft comments for posts in your feed
/job-hunter linkedin network Build a weekly connection queue
── Tools ───────────────────────────────────────────────────────────────
/job-hunter setup One-time onboarding for a fresh workspace
/job-hunter doctor Run the health checker and show setup status
/job-hunter add-region Add/remove a region — dash → Settings → Guided → Regions
/job-hunter style Change resume color/font — dash → Settings → Resume Style
Output Rules
- Execute child skills inline from their
SKILL.md; do not print a slash command as a handoff.
- Print only paths, counts, short decisions, and next actions.
- Leave generated changes uncommitted unless the user runs
job-hunter finalize.