Agentic Job Applications

Feb 19, 2026

Waging Bot Warfare

There’s a digital battlefield out there for all employment seekers, and it’s us against HR bots. There’s a finite limit to the number of generic rejection letters you can receive before it starts to weigh heavily on you, even if they are just emails from soulless HR bots that failed to find a keyword or two in your resume. [I received yet another while writing this very paragraph.]

Part of me feels conflicted about using AI to tailor my resume for each application. But, then again, if companies are going to use bots to filter me out, why shouldn’t I use a bot to help me pass through?

Aside from filter optimization, there’s the issue of time. It’s easily possible to spend all your time finding job postings, tailoring your resume and cover, and then actually applying, which often involves spending time inputting the exact same information that you just spent time putting into your resume. It’s a real hassle to go through just to end up with a stack of bot rejection emails for your efforts. And, quite uniquely for software developers, this takes away extremely valuable time that should be spent building things, freshening up on DSA, or staying up to date on tools that are now evolving more rapidly than ever. It’s a really tough balance to strike.

Application Template

I put in quite a bit of work to make the process as painless as possible before I even started using AI. My process is pretty basic, the foundation of which is a super solid latex template.

Example Workflow

  1. Build a standard generic resume and cover letter in the main/master git branch
  2. Run archive.sh -c generic to make an archive of all the essential components
    • For example, archives/generic.tar.xz will contain all your generic components
  3. Apply for a SWE position with Company ABC
    • Update common/companyinfo.tex
    • Put the job posting details in job-desc. It’s nice to have a reference if you get a call after the posting gets dropped.
    • Tailor the cover and resume components for the position.
    • Run make to generate both the resume and cover PDFs.
    • Run archive.sh -c company-abc_swe to make an archive of all your company/position specific components
  4. Apply for a DevOps position with Company XYZ
    • To get back to your generic components, run archive.sh -x generic
    • Follow all the same steps then archive your new application with archive.sh -c company-xyz_devops

After following those steps, you’ll have a great starting point to quickly apply for other Company ABC or XYZ positions. Let’s say you have a really nice DevOps cover letter and resume for Company XYZ, but you’re applying for a DevOps position with Company ABC.

./archive.sh -xrl company-xyz_devops # extract only resume and cover letter
./archive.sh -xi company-abc_swe # extract only info

Now you have the cover letter from Company XYZ in place with the info for Company ABC. All you have to do is update the position name in common/info/companyinfo.tex, run make and then you’re good to go!

Agentic Guardrails

It’s probably not a good idea to simply point an agent to a job posting and ask it to update your resume. You’d end up with a beautiful resume containing a ton of experience that you probably don’t have. It might be possible to get by in some sectors being untruthful, but definitely not tech/engineering.

To minimize hallucinations, I use a generic agents.md file to feed agents basic repository information and instructions. To make my agents.md file publicly available while keeping my personal details private, I point the agent to the file me.md, which contains all the personal details that I might want to include in any resume. The agents.md file instructs the agent to use the me.md file as the sole source of information for updates.

I just started this process, so we’ll see how it goes. Feeding the agent strict guidelines seems to be working quite well with the top models. Please feel free to shoot me an email if you find any of this useful.

- caj