Skip to content
Productivity
Command

/setup

You are running the onboarding setup for the AI Job Search framework. Your goal is to collect the user's professional information and populate all profile files so the `/apply` workflow works out of the box.

From plugin
ai-job-search
42k12 skills1 agent12 commands
Install
$ npx -y skills add MadsLorentzen/ai-job-search --agent claude-code

How it fires

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

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/setup

Context preview

What this command does when you run it.

You are running the onboarding setup for the AI Job Search framework. Your goal is to collect the user's professional information and populate all profile files so the `/apply` workflow works out of the box.

Command definition

setup.md

/setup - Profile Onboarding

You are running the onboarding setup for the AI Job Search framework. Your goal is to collect the user's professional information and populate all profile files so the `/apply` workflow works out of the box.

There are three paths into setup. Step 0 picks the right one; all three converge on Step 3 (file generation) and Step 4 (confirmation).

---

Step 0: Welcome & Choose Path

If `$ARGUMENTS` contains `--section <name>`, skip directly to that section in Path C for an update-only flow. Do not run the path-selection prompt below.

Otherwise, first check where this working copy would publish to — **before anything is written, not after** (the Step 4 privacy note fires only once every file is already on disk, which is too late to inform the decision). Run `git remote get-url origin`; if the command fails (no remote, or not a git checkout), skip this check silently. If there is a GitHub `origin`, check it with `gh repo view <owner/repo> --json visibility,isFork` when `gh` is available. If the origin is a **public fork** of the template — or its visibility cannot be determined — warn now and wait:

> **Heads-up before we start:** your `origin` points at `<owner/repo>`, which is a > public GitHub fork. This setup writes your personal data (name, contact details, > employment history, salary expectations) into **tracked** files, and anything you > commit *and push* to that fork is visible to anyone. Two safe options: keep your > profile commits local and never push them, or push to a **private** repository > instead — SETUP.md section 8 has the two-minute private-remote recipe. Want to > continue with the setup?

Wait for the user's confirmation before showing the path prompt. A private origin, no origin, or a non-fork remote needs no warning — continue silently.

Then, before greeting the user, scan the `documents/` folder. Use Glob with `documents/**/*` and count files per subfolder (`cv/`, `linkedin/`, `diplomas/`, `references/`, `applications/`).

Then welcome the user with a single message that lists three paths. The wording changes based on what was found.

**If `documents/` has files** in one or more subfolders, lead with Path A:

> **Welcome to the AI Job Search setup!** > > I'll help you build your professional profile so Claude can evaluate job postings, tailor CVs, write cover letters, and prepare you for interviews. > > I see files in your `documents/` folder: [list per subfolder, e.g. "2 in cv/, 1 in linkedin/, 3 in references/"]. Three ways to start: > > **Path A: Read my documents folder** (recommended for what you have) - I'll read everything in `documents/`, cross-reference for consistency, and build your profile from real source materials. Idempotent and safe to re-run as you add more documents. > > **Path B: Single CV import** - Paste or @-mention a single CV/resume here. I'll extract it and ask follow-up questions for what's missing. > > **Path C: Interview mode** - I'll walk you through structured questions section by section. > > Which would you like?

**If `documents/` is empty or missing**, surface Path A as a "do this if you have materials" option:

> **Welcome to the AI Job Search setup!** > > I'll help you build your professional profile so Claude can evaluate job postings, tailor CVs, write cover letters, and prepare you for interviews. > > Three ways to start: > > **Path A: Documents folder** (best signal if you have several materials) - Drop your CV / LinkedIn export / diplomas / reference letters in the `documents/` folder, then say "go". I'll read everything and build your profile from it. See `documents/README.md` for the folder layout. > > **Path B: Single CV import** - Paste or @-mention a single CV/resume here. I'll extract it and ask follow-up questions for what's missing. > > **Path C: Interview mode** - I'll walk you through structured questions section by section. Good if you're starting from scratch. > > Which would you like?

Wait for the user's choice. If they pick A but the folder is still empty, tell them what to add (point at `documents/README.md`) and stop.

---

Path A: Documents Folder

Reads structured documents in `documents/`, cross-references them for consistency, and merges extracted data into the seven profile skill files. Read-before-write and idempotent: changes already present will not be proposed again.

Follow these steps **exactly in order**.

Step A1: Inventory

Use Glob with `documents/**/*` to scan the full tree. Print:

## Documents Found

**cv/**: [list files, or "(empty)"]
**linkedin/**: [list files, or "(empty)"]
**diplomas/**: [list files, or "(empty)"]
**references/**: [list files, or "(empty)"]
**applications/**: [list subfolders with their files, or "(empty)"]

I will read these and cross-reference before proposing any changes.

If every subfolder is empty, stop and tell the user to populate the folder. Point at `documents/README.md` for the layout.

Step A2: Read Existing Skill Files

Read these in parallel before extracting anything. You must know what is already there to make the merge intelligent.

  • `.claude/skills/job-application-assistant/01-candidate-profile.md`
  • `.claude/skills/job-application-assistant/02-behavioral-profile.md`
  • `.claude/skills/job-application-assistant/03-writing-style.md`
  • `.claude/skills/job-application-assistant/04-job-evaluation.md`
  • `.claude/skills/job-application-assistant/05-cv-templates.md`
  • `.claude/skills/job-application-assistant/06-cover-letter-templates.md`
  • `.claude/skills/job-application-assistant/07-interview-prep.md`

Hold this content in context throughout Path A. Do not re-read.

Step A3: Parse Documents

Read each document found in Step A1. Process subfolders in this order: `cv/`, `linkedin/`, `diplomas/`, `references/`, `applications/`.

**`cv/` documents:** name, contact (email, phone, LinkedIn, GitHub), education (degree, institution, dates, thesis), work experience (title, company, dates, location, bullets), s

Read more
Ships withai-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

Other commands on ai-job-search.