# How to Tailor Applications to Specific Company Requirements Using the AI Job Search Assistant

> Tailor applications to company needs with the AI Job Search Assistant. Analyze postings, score fit, and generate custom CVs and cover letters to highlight relevant skills.

- Repository: [Mads Lorentzen/ai-job-search](https://github.com/MadsLorentzen/ai-job-search)
- Tags: how-to-guide
- Published: 2026-07-09

---

**The AI Job Search Assistant automatically tailors CVs and cover letters to specific company requirements by analyzing job postings, scoring fit against your profile, and generating company-specific LaTeX documents that emphasize relevant competencies.**

The open-source repository `MadsLorentzen/ai-job-search` provides an end-to-end workflow that helps candidates tailor applications to specific company requirements using Claude Code. This system moves beyond generic templates by researching employer priorities, restructuring content, and verifying ATS compatibility before submission.

## The Four-Stage Tailoring Workflow

The **Job Application Assistant** skill orchestrates a tightly-coupled pipeline defined in [`.claude/skills/job-application-assistant/SKILL.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-application-assistant/SKILL.md). Each stage transforms raw job posting data into polished, company-specific application materials.

### Research and Fit Evaluation

The workflow begins by fetching the job posting via `WebFetch` and parsing it for required competencies, keywords, and priorities. The system researches the company through website analysis, LinkedIn profiles, and recent news, then scores the opportunity against your candidate profile using the framework defined in [`04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/04-job-evaluation.md).

This evaluation produces a detailed scoring table and actionable recommendation: apply immediately, call the recruiter first, or skip the opportunity. The research phase ensures all subsequent tailoring targets the specific pain points and technical requirements mentioned in the posting.

### CV Tailoring with LaTeX

Once the fit is confirmed, the assistant reads your base CV from `cv/main_example.tex` and creates a company-specific version at `cv/main_<company>.tex`. Following the rules in [`05-cv-templates.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/05-cv-templates.md), the AI performs structural adjustments:

- Rewriting the profile statement to mirror the company's stated values
- Reordering sections to prioritize relevant experience
- Emphasizing bullet points that match the posting's keywords
- Cutting low-relevance lines while preserving strict two-page layout using `\needspace` and `\enlargethispage` commands

The tailoring preserves the moderncv formatting while ensuring every line speaks directly to the employer's requirements.

### Cover Letter Generation

Using the style guidelines in [`03-writing-style.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/03-writing-style.md) and the template in [`06-cover-letter-templates.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/06-cover-letter-templates.md), the assistant generates `cover_letters/cover_<company>_<role>.tex`. The letter explicitly connects your concrete experiences to the role's requirements, avoids clichés, and references "Claude Code" where AI tooling is mentioned in your background.

The cover letter complements the CV by narrative storytelling that bridges your past achievements with the company's specific challenges.

### Interview Preparation and ATS Verification

The final stage uses [`07-interview-prep.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/07-interview-prep.md) to assemble STAR-format answers and role-specific talking points. All documents are compiled using `lualatex` for the CV and `xelatex` for the cover letter.

An ATS check extracts the PDF text layer using `pdftotext` to verify that contact details remain literal text (not images) and that keywords appear correctly in the text layer. The workflow iterates until both PDFs satisfy the strict verification checklist outlined in the README.

## Triggering the Tailoring Commands

You initiate the workflow using Claude Code slash commands. The `/apply` command starts the full pipeline, while you can request individual steps after initial evaluation.

```bash

# Start the complete workflow with a job posting URL

/apply https://jobindex.dk/job/1234567

```

After the research phase completes, you can request specific tailoring:

```bash

# Generate only the tailored CV for a specific company

Create cv/main_acme-corp.tex based on the evaluation

```

```bash

# Generate a cover letter for a specific role

Write a cover letter for Data Engineer at Acme Corp

```

## Source File Reference

The tailoring logic depends on these key configuration files:

- [`.claude/skills/job-application-assistant/SKILL.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-application-assistant/SKILL.md) — Formal definition of the assistant's steps and allowed tools
- [`CLAUDE.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/CLAUDE.md) — Candidate profile containing education, experience, and skills used for matching
- [`04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/04-job-evaluation.md) — Scoring framework that maps posting requirements to your profile
- [`05-cv-templates.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/05-cv-templates.md) — LaTeX layout rules and tailoring constraints
- [`06-cover-letter-templates.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/06-cover-letter-templates.md) — Cover letter structure and style requirements

## Summary

- **Four-stage pipeline**: Research, CV tailoring, cover letter generation, and interview preparation
- **Dynamic LaTeX generation**: Creates `cv/main_<company>.tex` and `cover_letters/cover_<company>_<role>.tex` with company-specific content
- **ATS verification**: Uses `pdftotext` to confirm machine-readable text extraction before submission
- **Command-driven**: Initiated via `/apply` with support for individual step execution
- **Profile-aware**: All tailoring references [`CLAUDE.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/CLAUDE.md) to ensure authentic representation of your experience

## Frequently Asked Questions

### How does the AI evaluate if a job matches my profile?

The system uses the scoring framework in [`04-job-evaluation.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/04-job-evaluation.md) to compare required competencies against your [`CLAUDE.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/CLAUDE.md) profile. It assigns weighted scores to technical skills, cultural fit indicators, and experience levels, then outputs a recommendation to apply, call first, or skip based on threshold matches.

### What LaTeX commands ensure the CV stays within two pages?

The tailoring process uses `\needspace{3\baselineskip}` to prevent awkward page breaks and `\enlargethispage{2\baselineskip}` as a last resort when content slightly exceeds limits. These commands are applied automatically while the AI removes low-relevance bullets to maintain the two-page constraint defined in [`05-cv-templates.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/05-cv-templates.md).

### Can I run individual steps without the full workflow?

Yes. After running `/apply` to complete the initial research and evaluation, you can request specific artifacts. Ask the assistant to "Create the tailored CV for [Company]" or "Write the cover letter for [Role]" to execute individual stages without repeating the entire pipeline.

### How does the system verify ATS compatibility?

The assistant runs `pdftotext` on the compiled PDFs to extract the raw text layer. It verifies that contact information appears as literal text rather than image data, confirms that section headings parse correctly, and checks that keywords from the job posting appear in the extracted text. This ensures applicant tracking systems can index your qualifications properly.