Skip to content
Productivity
Skill

/job-application-assistant

Assists with job applications: evaluating job postings, tailoring CVs, writing cover letters, and preparing for interviews. Triggers on keywords like: job posting, job application, CV, cover letter, resume, interview prep, job fit, career, application, apply, ansøgning, stilling

From plugin
madslorentzen-ai-job-search
31k3 skills1 agent12 commands
Install
$ npx -y skills add MadsLorentzen/ai-job-search --skill job-application-assistant --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/job-application-assistant

Context preview

The summary Claude sees to decide when to auto-load this skill.

Assists with job applications: evaluating job postings, tailoring CVs, writing cover letters, and preparing for interviews. Triggers on keywords like: job posting, job application, CV, cover letter, resume, interview prep, job fit, career, application, apply, ansøgning, stilling

SKILL.md

job-application-assistant.SKILL.md
name: job-application-assistant
description: >
  Assists with job applications: evaluating job postings, tailoring CVs, writing cover letters,
  and preparing for interviews. Triggers on keywords like: job posting, job application, CV,
  cover letter, resume, interview prep, job fit, career, application, apply, ansøgning, stilling
allowed-tools: Read, Glob, Grep, WebFetch, WebSearch, Bash, Edit, Write, AskUserQuestion
framework_version: 1.3.2

Job Application Assistant

---

Workflow

When the user provides a job posting (URL or text), follow this workflow:

Step 1: Research & Evaluate Fit

  • Fetch the job posting content (use WebFetch for URLs). **A 403 is not a dead end** - follow the escalation order in `09-web-research.md` before concluding a page is unavailable, and prefer the employer's own careers posting over an aggregator listing
  • Keep the **full posting text verbatim** for Step 3b to archive - never a summary
  • Analyze the posting for required competencies, keywords, and priorities
  • Research the company (website, LinkedIn, mission, recent news), per `09-web-research.md`
  • Score the posting against the candidate's profile using the framework in `04-job-evaluation.md`
  • Present the evaluation table and verdict
  • Suggest whether the candidate should call the employer before applying (see `04-job-evaluation.md` for guidance)
  • Ask the user if they want to proceed with an application

Step 2: Tailor CV

  • Read the most relevant existing CV variant from `cv/` as a starting point
  • Follow the guidelines in `05-cv-templates.md`
  • Create `cv/main_<company>_<role>.tex` with tailored content
  • Adjust: profile statement, skills section, experience bullet emphasis, section order

Step 3: Write Cover Letter

  • Follow the writing style rules in `03-writing-style.md` (critical: no em-dashes, no cliches)
  • Follow the template structure in `06-cover-letter-templates.md`
  • Create `cover_letters/cover_<company>_<role>.tex`
  • Ensure the letter connects specific experience to the role requirements

Step 3b: Record the Application

  • Run this once both documents exist. A CV or cover letter drafted alone is not yet an application.
  • Follow **`/apply` Step 6b** (`.claude/commands/apply.md`) exactly: same header, same match-then-update rule, same `drafted` row, same posting archive, same prohibition on touching `job_scraper/seen_jobs.json`. It is stated there once so the two paths cannot drift. Three of its values are named in `/apply`'s own terms: `cv_file`/`cover_letter_file` are the paths written in Steps 2 and 3 here, `source` is the posting URL from Step 1, and the posting text item 7 archives is the one Step 1 read.
  • This step exists here because `/scrape` Step 5 routes straight into this skill. Without it, that path writes two documents and records nothing.

Step 4: Interview Preparation

  • Follow the framework in `07-interview-prep.md`
  • Prepare STAR-format answers for likely questions
  • Identify role-specific talking points
  • Draft questions the candidate should ask the interviewer

---

Reference Files

| File | Purpose | |------|---------| | `01-candidate-profile.md` | Education, experience, skills, publications, awards | | `02-behavioral-profile.md` | Behavioral assessment, strengths, ideal environments | | `03-writing-style.md` | Tone, structure, do's and don'ts | | `04-job-evaluation.md` | Scoring framework for job fit | | `05-cv-templates.md` | LaTeX CV structure and tailoring rules | | `06-cover-letter-templates.md` | LaTeX cover letter structure and tailoring rules | | `07-interview-prep.md` | STAR examples, tough questions, roleplay guidelines | | `08-application-forms.md` | Portal free-text fields: self-introduction, project entries, character-limited pitches | | `09-web-research.md` | Fetching postings and company pages: trust boundary, the WebFetch 403 fallback, escalation order, claim verification |

---

Quick Commands

The user may also ask for individual steps without the full workflow:

  • "Evaluate this job posting" - Step 1 only
  • "Write a CV for [company]" - Step 2 only
  • "Write a cover letter for [role] at [company]" - Step 3 only
  • "Help me prepare for an interview at [company]" - Step 4 only
  • "What jobs should I look for?" - Career strategy discussion using profile + evaluation framework
Read more
Ships withmadslorentzen-ai-job-search

The job search that runs on your machine. An AI-powered job application framework built on Claude Code. Fork it, fill in your profile, and let Claude evaluate job postings, tailor your CV, write cover letters, and prepare you for interviews.

Get the whole plugin
Stats
30,955
Stars
10,606
Forks
Active
Maintenance
TypeScript
Language
MIT
License
5h ago
Last commit
4mo ago
Created

Repo: MadsLorentzen/ai-job-search