DEV Community

Cover image for A skill that builds ATS friendly Resumes (and actually matches the JD)
Qazi Qamar Siddiqui
Qazi Qamar Siddiqui

Posted on

A skill that builds ATS friendly Resumes (and actually matches the JD)

DEV Weekend Challenge: Community

If you’ve ever applied to a role you were clearly qualified for and still got nothing back, there’s a decent chance that your resume didn't pass the initial screening process.

Most resumes get screened by ATS before a recruiter sees them. If your formatting breaks parsing, your keywords don’t match the job description, or your structure isn’t predictable, your resume can get filtered out silently. No feedback.

That’s the gap I wanted to fix but in a way that fits how developers actually work.

Why a CLI skill, not another resume website?

Because developers live in the terminal.

We automate build steps, package releases, manage infra, ship code and then we’re supposed to open a drag-and-drop resume builder and fight PDF formatting like it’s 2009? Nah.

So I built a skill that lets you build, optimize, and tailor your resume without leaving your Gemini CLI.

The core design is simple

Your resume data should not live inside ten different documents.

Instead, it lives in one place, a master JSON file and the skill generates the output from that every time. That means updating your resume becomes a real dev workflow: change the source, regenerate, done.

What it actually does

  • First, it can generate a clean resume from your master data consistent structure, predictable headings, readable layout.

  • Second, it can transform your resume to be ATS-friendly, using a standards file that controls formatting rules and keyword optimization logic. No guessing what ATS wants. The rules live in the repo, and you can tweak them.

  • Third (and this is the fun one), it can personalize your resume for a specific job description. You paste the JD, it extracts the important skills/requirements, and aligns your resume content accordingly emphasizing relevant experience and language without you manually rewriting the whole thing every time.

That’s basically “resume tailoring” but as a deterministic workflow.

Usage: it’s meant to feel natural

I didn’t want it to feel like a tool with 30 flags. You trigger it like you’d talk to an agent:

@resume-builder personalize my resume for this job description: [paste JD]
Enter fullscreen mode Exit fullscreen mode

Or if you’re updating your master profile:

@resume-builder add my new role as Senior Developer at X to my master resume
Enter fullscreen mode Exit fullscreen mode

Why I think this helps the community

There are devs with real skills and real projects who lose opportunities because their resume is structured in a way machines don’t like. That’s not a talent problem that’s a tooling problem.

This skill is my attempt to make resume building feel like what it should’ve always been for developers: structured datarepeatable outputseasy tailoring.

Top comments (0)