SuperAPI AI Directory

ai-job-search

The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.

Open website

About this tool

ai-job-search is a job application framework that runs on a local machine, built on Claude Code. According to the project description, it turns Claude Code into a full-process job application assistant: evaluating job fit, tailoring resumes, writing cover letters, and helping prepare for interviews. The project author comes from a geophysics background and built the framework for their own job search after being laid off in late 2025. According to their own account, they ran it weekly using the /scrape, /apply, and /interview workflows, ultimately completing 69 tailored applications, obtaining 20 first-round interviews, and starting an AI engineer position in June 2026. The author states that the project is an independent open-source project with no affiliation, endorsement, sponsorship, or maintenance relationship with Anthropic; they also state that there is no associated cryptocurrency, token, or paid sponsorship program, and that the only ways to support it are Ko-fi and GitHub contributions.

  1. Purpose and Core Workflow This framework is aimed at job application scenarios. The core workflow includes self-profiling, fit evaluation, and a "draft-review" application pipeline, which is said to be language- and country-agnostic. The job portal search skill is currently targeted at the Danish market (Jobindex, Jobnet, Akademikernes Jobbank, etc.), but the pattern is designed to be replaceable with the user's local job boards. The three core commands are /setup, /scrape, and /apply.

  2. Main Capabilities

  3. Profile setup: /setup offers three paths—reading a pre-populated documents/ folder (resume PDFs, LinkedIn export, diplomas, recommendation letters, past applications), importing a single resume pasted in chat, or completing setup through an interview; it automatically detects existing content and asks. The document folder mode is an idempotent operation and can be safely rerun as materials are added.

  4. Job search: /scrape searches multiple job portals for jobs matching the profile, deduplicates them, and sorts them by fit. You can choose a match to directly run /apply, or first use /rank to batch-score and obtain a sorted candidate list.

  5. Application process: /apply runs the full pipeline—parsing job information (URL or text), evaluating fit against the profile (skills, experience, culture, location, career fit), drafting a tailored resume and cover letter in LaTeX, launching a review agent to research the company and critique the draft, revising based on feedback, compilingand check both PDFs (résumé with lualatex, cover letter with xelatex), perform an ATS check, and finally attach a verification checklist to show the final output.

  6. PDF verification loop: /apply compiles and visually inspects each PDF, applying targeted fixes (\needspace, \enlargethispage, list-item font matching wrappers, etc.) until the résumé is exactly 2 pages with no orphaned entry titles, the cover letter is exactly 1 page with the signature visible, and the fonts are consistent.

  7. ATS verification: extract the text layer of the compiled résumé (pdftotext), verify from an ATS parser's perspective whether the contact details are literal text, whether there is garbled text, and whether the reading order is normal, and score job keyword coverage. Honesty rule: keywords not supported by the profile will be acknowledged as gaps and never stuffed.

  8. Relevance-weighted résumé trimming: when the résumé exceeds 2 pages, score each line by relevance to the target job, uniqueness within the document, and whether the cover letter depends on that content, and trim the lines with the lowest total score first.

  9. Draft-review separation: the drafter writes, a second Claude agent researches the company with fresh context and critiques the draft, then the drafter revises, to catch missed keywords, weak framing, and generic language.

  10. Extended commands: 13 commands in total. Besides the three core ones, there are also /interview (build a staged preparation package for scheduled interviews, research the company and interviewers, map likely questions to STAR cases, and provide mock interviews), /outcome (record application outcomes, archive materials, update the tracking sheet, with /outcome followup to follow up on silent applications and draft thank-you notes), /notion-sync (one-way read-only sync of the pipeline to a Notion database via the official Notion MCP server), /gmail-sync (read status signals via the Gmail connector and propose batches), /rank (batch scoring and ranking), /expand (scan publicly linked sources in the profile to enrich the portrait), /upskill (analyze skill gaps and generate a learning plan), /html-report (generate an offline HTML dashboard), /add-template (register your own résumé or cover letter template), /add-portal (generate search skills for local job sites), /reset.

III. How to Use

  1. Fork and clone the repository. Note: a fork of a public repository is always public, and /setup will write personal data into the trackedtracked files; if it is only for your own job search, it is recommended to use a private repository with this repository as upstream, as explained in Section 8 of SETUP.md.
  2. Install the job search tools (Bash / zsh / Git Bash commands; the specific commands in the material are temporarily not fully provided due to formatting truncation). Installation of linkedin-search and freehire-search is optional: both have zero runtime dependencies and can be run with ordinary bun; bun install only pulls TypeScript development types.
  3. Run /setup to set up your personal profile.
  4. Run /scrape to search for jobs.
  5. Run /apply to apply for jobs; if the URL cannot be scraped (some portals block automated access), you can paste the job description directly.

IV. Dependency requirements Claude Code (CLI), no free tier, requires a Claude Pro/Max/Team subscription or Anthropic API credits; if using other agent tools (Codex, Antigravity, Gemini CLI), you can start from AGENTS.md, the portal search skills work out of the box, and community forks adapt the complete workflow. Bun (for the job search CLI tools). A LaTeX distribution with lualatex and xelatex (TeX Live, MacTeX, TinyTeX, or MiKTeX); resumes are compiled with lualatex (pdflatex often fails on modern MiKTeX due to fontawesome5 font expansion errors), cover letters are compiled with xelatex (cover.cls requires fontspec); if using a minimal installation such as TinyTeX or BasicTeX, additional packages need to be installed according to SETUP.md. Optional: pip install pypdf for the ATS parseability check in /apply; Poppler pdftotext as a fallback; when both are missing, the check degrades to a visual keyword review.

V. Applicable scenarios and limitations Applicable scenarios include: automating the entire job application process, batch-evaluating job fit, customizing resumes and cover letters, preparing for interviews, and analyzing skill gaps for career planning. Limitations include: the core workflow is language- and country-agnostic, but the job portal search skills currently target only the Danish market; using Claude Code requiresa paid subscription or API credits; a LaTeX environment is required; job information is treated as untrusted input, and the workflow does not follow instructions embedded in it or scrape links from its body, but agent defense is instruction-level rather than a sandbox, so before sending on unfamiliar recruitment websites you should check what is scraped and written (see SECURITY.md for details); the system does not fabricate skills or experience, and all claims in resumes and cover letters are verified against the real personal profile; customization details such as templates and compilation commands require reference to SETUP.md.