/expand
You are enriching the candidate profile by discovering competencies hidden in documents and public online presence. This command is additive only — it never modifies existing profile content, only extends it.
$ npx -y skills add MadsLorentzen/ai-job-search --agent claude-codeHow 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
/expand
Context preview
What this command does when you run it.
You are enriching the candidate profile by discovering competencies hidden in documents and public online presence. This command is additive only — it never modifies existing profile content, only extends it.
Command definition
expand.md/expand - Competency Expansion from Documents and Online Presence
You are enriching the candidate profile by discovering competencies hidden in documents and public online presence. This command is additive only — it never modifies existing profile content, only extends it.
Follow these steps **exactly in order**. Do not skip steps.
---
Step 0: Read Existing Profile Files
Read these two files in parallel before doing anything else. You must know what is already there so you do not propose duplicates.
- `.claude/skills/job-application-assistant/01-candidate-profile.md`
- `.claude/skills/job-application-assistant/02-behavioral-profile.md`
Hold this content in context throughout the command. Do not re-read these files later.
---
Step 1: Discovery — Scan All Sources
Scan every available source for "experience items" — anything that implies skill, knowledge, or competency. Process sources in this order.
1a. documents/cv/
Read all files in `documents/cv/`. Extract:
- Every course or module listed (including university coursework and online courses)
- Every certification mentioned, with issuer and date
- Every job responsibility bullet point (tools, methods, outcomes)
- Every independent project or side project
- Every volunteer or extracurricular role
1b. documents/linkedin/
Read all files in `documents/linkedin/`. Extract:
- Courses and certifications in the "Licenses & Certifications" section
- Skills and endorsements list
- Volunteer experiences
- Projects section
- Any platform-specific items not already found in the CV
1c. documents/diplomas/
Read all files in `documents/diplomas/`. Extract:
- All course/module names listed on transcripts
- Thesis title and subject area
- Any specialisation or track name
1d. documents/references/
Read all files in `documents/references/`. Extract:
- Competency language used by the referee (what skills or qualities they mention)
- Any specific projects, tools, or methods named
1e. GitHub Profile
Look up the GitHub username from `01-candidate-profile.md`. If a GitHub URL or username is present:
1. Use WebFetch or WebSearch to retrieve the public profile and pinned repositories 2. For each repository found:
- Fetch the repository README
- Note: name, description, primary language(s), topics/tags, any frameworks or libraries mentioned in the README
3. Also retrieve the full repository list if available (to catch unpinned repos)
If no GitHub username or URL is found in the profile, skip this source and note it was skipped.
1f. Other URLs in Profile
Check `01-candidate-profile.md` for any other URLs (portfolio site, personal website, Kaggle, Google Scholar, ResearchGate, publication links). For each:
- Fetch the page
- Extract any tools, methods, datasets, awards, or skills mentioned
---
Step 2: Web Enrichment
For each experience item discovered in Step 1, search the web to extract the competencies it implies. Apply both approaches below — do not choose one over the other.
Approach A: Direct lookup (explicit tools and frameworks)
If the item names a specific tool, framework, library, method, or platform, search for it directly:
- `"[Course name] [Provider] syllabus learning outcomes"`
- `"[Certification name] skills covered exam guide"`
- `"[Tool/framework name] skills what you learn"`
Fetch the most relevant page and extract the competency list.
Approach B: Inferred competencies (from description and context)
For each item, regardless of whether Approach A found anything, also reason from the description:
- What problem domain does this item address?
- What methods, skills, or knowledge does someone need to do this work?
- What is the standard toolchain for this kind of work?
Combine both approaches into a single competency list for each item.
Prioritise web lookup for:
- Named online courses (Coursera, edX, Udemy, LinkedIn Learning, DataCamp, fast.ai, etc.)
- Named certifications (AWS, GCP, Azure, Databricks, Tableau, etc.)
- University courses with a standard syllabus
- GitHub repositories with a README that names specific technologies
Infer (without web lookup) for:
- Generic job responsibility bullets with no named tool
- Vague project descriptions
- Reference letter language (already phrased as competency — just record it)
---
Step 3: Build Competency Map
After enriching all items, build a deduplicated competency map. Group findings into these categories:
**Technical Skills — Primary** (core languages, frameworks, methods you use regularly) **Technical Skills — Secondary** (tools you have used but are not primary) **Domain Knowledge** (subject matter expertise: geophysics, ML, NLP, etc.) **Methods and Practices** (agile, version control, reproducibility, testing, etc.) **Soft / Behavioral** (leadership, communication, collaboration signals from references and project descriptions)
For each competency, record:
- The competency name
- The source item it came from (e.g. "Coursera — Deep Learning Specialisation", "GitHub — repo-name", "Reference letter — Jens Jensen")
- Whether it came from direct lookup (A), inference (B), or both
Remove anything already present in `01-candidate-profile.md` or `02-behavioral-profile.md`.
---
Step 4: Present Grouped Summary
Present all new competencies for the user's review before writing anything. Format:
## /expand found [N] new competency signals across [M] sources
**COURSES & CERTIFICATIONS**
Source: [Course/cert name — Provider]
+ [Competency 1]
+ [Competency 2]
...
**GITHUB — [repo-name]**
Source: README + inferred from tech stack
+ [Competency 1]
+ [Competency 2]
...
**JOB RESPONSIBILITIES — [Company, Role]**
Source: CV bullets + direct tool lookup
+ [Competency 1]
...
**BEHAVIORAL SIGNALS**
Source: [Reference letter — Name / LinkedIn About / Project leadership]
+ [Signal 1]
...
[more sections as needed]
Then ask:
> **How would you like to proceed?** > > - **`all`** — Add ever
Read more
/expand - Competency Expansion from Documents and Online Presence
You are enriching the candidate profile by discovering competencies hidden in documents and public online presence. This command is additive only — it never modifies existing profile content, only extends it.
Follow these steps **exactly in order**. Do not skip steps.
---
Step 0: Read Existing Profile Files
Read these two files in parallel before doing anything else. You must know what is already there so you do not propose duplicates.
- `.claude/skills/job-application-assistant/01-candidate-profile.md`
- `.claude/skills/job-application-assistant/02-behavioral-profile.md`
Hold this content in context throughout the command. Do not re-read these files later.
---
Step 1: Discovery — Scan All Sources
Scan every available source for "experience items" — anything that implies skill, knowledge, or competency. Process sources in this order.
1a. documents/cv/
Read all files in `documents/cv/`. Extract:
- Every course or module listed (including university coursework and online courses)
- Every certification mentioned, with issuer and date
- Every job responsibility bullet point (tools, methods, outcomes)
- Every independent project or side project
- Every volunteer or extracurricular role
1b. documents/linkedin/
Read all files in `documents/linkedin/`. Extract:
- Courses and certifications in the "Licenses & Certifications" section
- Skills and endorsements list
- Volunteer experiences
- Projects section
- Any platform-specific items not already found in the CV
1c. documents/diplomas/
Read all files in `documents/diplomas/`. Extract:
- All course/module names listed on transcripts
- Thesis title and subject area
- Any specialisation or track name
1d. documents/references/
Read all files in `documents/references/`. Extract:
- Competency language used by the referee (what skills or qualities they mention)
- Any specific projects, tools, or methods named
1e. GitHub Profile
Look up the GitHub username from `01-candidate-profile.md`. If a GitHub URL or username is present:
1. Use WebFetch or WebSearch to retrieve the public profile and pinned repositories 2. For each repository found:
- Fetch the repository README
- Note: name, description, primary language(s), topics/tags, any frameworks or libraries mentioned in the README
3. Also retrieve the full repository list if available (to catch unpinned repos)
If no GitHub username or URL is found in the profile, skip this source and note it was skipped.
1f. Other URLs in Profile
Check `01-candidate-profile.md` for any other URLs (portfolio site, personal website, Kaggle, Google Scholar, ResearchGate, publication links). For each:
- Fetch the page
- Extract any tools, methods, datasets, awards, or skills mentioned
---
Step 2: Web Enrichment
For each experience item discovered in Step 1, search the web to extract the competencies it implies. Apply both approaches below — do not choose one over the other.
Approach A: Direct lookup (explicit tools and frameworks)
If the item names a specific tool, framework, library, method, or platform, search for it directly:
- `"[Course name] [Provider] syllabus learning outcomes"`
- `"[Certification name] skills covered exam guide"`
- `"[Tool/framework name] skills what you learn"`
Fetch the most relevant page and extract the competency list.
Approach B: Inferred competencies (from description and context)
For each item, regardless of whether Approach A found anything, also reason from the description:
- What problem domain does this item address?
- What methods, skills, or knowledge does someone need to do this work?
- What is the standard toolchain for this kind of work?
Combine both approaches into a single competency list for each item.
Prioritise web lookup for:
- Named online courses (Coursera, edX, Udemy, LinkedIn Learning, DataCamp, fast.ai, etc.)
- Named certifications (AWS, GCP, Azure, Databricks, Tableau, etc.)
- University courses with a standard syllabus
- GitHub repositories with a README that names specific technologies
Infer (without web lookup) for:
- Generic job responsibility bullets with no named tool
- Vague project descriptions
- Reference letter language (already phrased as competency — just record it)
---
Step 3: Build Competency Map
After enriching all items, build a deduplicated competency map. Group findings into these categories:
**Technical Skills — Primary** (core languages, frameworks, methods you use regularly) **Technical Skills — Secondary** (tools you have used but are not primary) **Domain Knowledge** (subject matter expertise: geophysics, ML, NLP, etc.) **Methods and Practices** (agile, version control, reproducibility, testing, etc.) **Soft / Behavioral** (leadership, communication, collaboration signals from references and project descriptions)
For each competency, record:
- The competency name
- The source item it came from (e.g. "Coursera — Deep Learning Specialisation", "GitHub — repo-name", "Reference letter — Jens Jensen")
- Whether it came from direct lookup (A), inference (B), or both
Remove anything already present in `01-candidate-profile.md` or `02-behavioral-profile.md`.
---
Step 4: Present Grouped Summary
Present all new competencies for the user's review before writing anything. Format:
## /expand found [N] new competency signals across [M] sources **COURSES & CERTIFICATIONS** Source: [Course/cert name — Provider] + [Competency 1] + [Competency 2] ... **GITHUB — [repo-name]** Source: README + inferred from tech stack + [Competency 1] + [Competency 2] ... **JOB RESPONSIBILITIES — [Company, Role]** Source: CV bullets + direct tool lookup + [Competency 1] ... **BEHAVIORAL SIGNALS** Source: [Reference letter — Name / LinkedIn About / Project leadership] + [Signal 1] ... [more sections as needed]
Then ask:
> **How would you like to proceed?** > > - **`all`** — Add ever
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.
Repo: MadsLorentzen/ai-job-search
Other commands on madslorentzen-ai-job-search.
- /add-portal
You are helping the user build a job-portal search skill for a job board in their market. The repo ships worked examples of the pattern (four Danish portals plus the country-agnostic `linkedin-search` and `freehire-search`), and the README invites users elsewhere to build
Open command - /add-template
You are helping the user register their own CV or cover letter template with the AI Job Search framework — LaTeX, Typst, or any other toolchain that compiles to PDF from the command line. The framework ships with moderncv (banking style) for CVs and a custom `cover.cls` for
Open command - /apply
You are orchestrating a two-agent job application workflow. The job posting is provided below as `$ARGUMENTS` (either a URL or pasted text).
Open command - /gmail-sync
You are scanning the user's Gmail for status signals on tracked job applications (interview invites, assessment links, offers, rejections) and, once approved, writing the detected changes into `job_search_tracker.csv` and `documents/applications/<company>_<role>/outcome.md` -
Open command - /html-report
Generate a self-contained HTML dashboard from `job_search_tracker.csv` and the application archives under `documents/applications/`. The output is a single `.html` file — no server, no dependencies — that can be opened directly in a browser.
Open command - /interview
You are preparing the user for a real, scheduled interview on one of their applications. The frameworks for this already exist - `07-interview-prep.md` (STAR examples, tough questions, questions to ask, roleplay protocol) and the Company Research Checklist in
Open command

