LLM Intern Skill
wanyichen06/LLMInternSkill
A skill your agent uses when polishing, diagnosing, tailoring, or exporting resumes for LLM, RAG, Agent, Agentic RL, post-training, pretraining, AIGC, search/ranking, multimodal, AI backend, or LLM…
Evaluates job postings against your profile, then tailors a LaTeX CV and cover letter and prepares interview answers for the roles you pursue.
$ npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MadsLorentzen/ai-job-search job-application-assistant --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/job-application-assistant .claude/skills/job-application-assistant && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "job-application-assistant" agent skill from https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistant into .claude/skills/job-application-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "job-application-assistant", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistantType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MadsLorentzen/ai-job-search job-application-assistant --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/job-application-assistant .agents/skills/job-application-assistant && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "job-application-assistant" agent skill from https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistant into .agents/skills/job-application-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "job-application-assistant", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MadsLorentzen/ai-job-search job-application-assistant --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/job-application-assistant .cursor/skills/job-application-assistant && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "job-application-assistant" agent skill from https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistant into .cursor/skills/job-application-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "job-application-assistant", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/MadsLorentzen/ai-job-search.git --path .claude/skills/job-application-assistant--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MadsLorentzen/ai-job-search job-application-assistant --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/job-application-assistant .gemini/skills/job-application-assistant && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "job-application-assistant" agent skill from https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistant into .gemini/skills/job-application-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "job-application-assistant", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install MadsLorentzen/ai-job-search job-application-assistantInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/job-application-assistant .github/skills/job-application-assistant && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "job-application-assistant" agent skill from https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistant into .github/skills/job-application-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "job-application-assistant", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MadsLorentzen/ai-job-search job-application-assistant --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/job-application-assistant .opencode/skills/job-application-assistant && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "job-application-assistant" agent skill from https://github.com/MadsLorentzen/ai-job-search/tree/master/.claude/skills/job-application-assistant into .opencode/skills/job-application-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "job-application-assistant", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
job-application-assistantEvaluates job postings against your profile, then tailors a LaTeX CV and cover letter and prepares interview answers for the roles you pursue.
When you give the agent a job posting as a link or text, it fetches the full text (a 403 response is not a dead end, and a separate research guide gives an escalation order, with the employer's own careers page preferred over an aggregator), analyzes required competencies and keywords, researches the company and scores the posting against your candidate profile using an evaluation framework. It shows an evaluation table and verdict, may suggest calling the employer before applying, and asks whether to proceed.
If you go ahead, it derives a company-and-role name once, reuses it for every file, picks the most relevant existing CV variant and writes a tailored LaTeX CV that adjusts the profile statement, skills, bullet emphasis and section order. The cover letter follows your writing-style rules, which ban em-dashes and cliches, and a template, then ties specific experience to the role. A later step records the application once both documents exist. The excerpt is cut off there.
Nine markdown files hold the rules and data: candidate profile, behavioral profile, writing style, job evaluation, CV templates, cover letter templates, interview prep, application forms and web research.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a011214. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGlobGrepWebFetchWebSearchBashEditWriteAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Job Application Assistant loads about 1.2k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 563 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Glob, Grep, WebFetch, WebSearch, Bash, Edit, Write, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from MadsLorentzen/ai-job-search at commit a011214, republished under its MIT licence (© MadsLorentzen). 563 words, ~1,187 tokens.
.claude/skills/job-application-assistant/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.When the user provides a job posting (URL or text), follow this workflow:
09-web-research.md before concluding a page is unavailable, and prefer the employer's own careers posting over an aggregator listing09-web-research.md04-job-evaluation.md04-job-evaluation.md for guidance)<company>_<role> once by the Subfolder naming rule in documents/README.md; reuse that exact value for the CV, cover letter, and Step 3b archive path. If the rule says to stop because the derived name is empty, stop before creating any file.cv/ as a starting point05-cv-templates.mdcv/main_<company>_<role>.tex with tailored content03-writing-style.md (critical: no em-dashes, no cliches)06-cover-letter-templates.mdcover_letters/cover_<company>_<role>.tex/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. Four 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, deadline is the application deadline from the posting text Step 1 keeps verbatim (empty when the posting states none - never guess one), and the posting text item 7 archives is the one Step 1 read./scrape Step 5 routes straight into this skill. Without it, that path writes two documents and records nothing.07-interview-prep.md| 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 |
The user may also ask for individual steps without the full workflow:
© MadsLorentzen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files in .claude/skills/job-application-assistant of MadsLorentzen/ai-job-search.
Open the folder on GitHubat commit a011214
Job Application Assistant next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Job Application Assistant this skillMadsLorentzen/ai-job-search | 45k | — | ~1.2k | Automated safety check: Notes | MIT | |
| LLM Intern Skillwanyichen06/LLMInternSkill | 326 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Career-Ops Job Search Centercareer-ops-hq/career-ops | 74k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Internship Project Preparation ToolLiuMengxuan04/shushu-internship-tool | 2.1k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Offer Negotiationreactive-resume/reactive-resume | 44k | — | ~10k | Automated safety check: Pass | MIT | |
| Backend and Agent Project Selectorlishuangqiang/backend-agent-resume-scout | 350 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 |
wanyichen06/LLMInternSkill
A skill your agent uses when polishing, diagnosing, tailoring, or exporting resumes for LLM, RAG, Agent, Agentic RL, post-training, pretraining, AIGC, search/ranking, multimodal, AI backend, or LLM…
career-ops-hq/career-ops
Routes job-search requests to modes for evaluating offers, scanning portals, generating tailored CVs, tracking applications and drafting outreach, starting from a pasted job URL or description.
LiuMengxuan04/shushu-internship-tool
Turns a target internship job description into a resume-ready, interview-ready project by finding and auditing GitHub projects and drafting resume bullets and interview Q&A.
reactive-resume/reactive-resume
Evaluates and negotiates job offers. An agent skill from reactive-resume/reactive-resume.
lishuangqiang/backend-agent-resume-scout
Finds backend or AI agent projects on GitHub that are worth putting on a resume, checks them against local source and writes a Markdown resume package.
reactive-resume/reactive-resume
Tailors one resume to one specific job posting. An agent skill from reactive-resume/reactive-resume.
MadsLorentzen/ai-job-search
Searches live software, data and engineering job listings through the freehire.me public API, or fetches one posting, with filters for country, region and skills.
MadsLorentzen/ai-job-search
Searches LinkedIn's public job listings for any location or remote work and fetches the full description of a posting, with no login or API key.
MadsLorentzen/ai-job-search
Compares the jobs you track with your candidate profile to find skill gaps, then builds a gap heatmap and a prioritized learning plan with study resources.
MadsLorentzen/ai-job-search
Finds new job postings that match your profile through installed portal-search CLIs, dedupes against past runs and your application tracker, and rates each one's fit.
Works with
Categories
Evaluates job postings against your profile, then tailors a LaTeX CV and cover letter and prepares interview answers for the roles you pursue. When you give the agent a job posting as a link or text, it fetches the full text (a 403 response is not a dead end, and a separate research guide gives an escalation order, with the employer's own careers page preferred over an aggregator), analyzes required competencies and keywords, researches the company and scores the posting against your candidate profile using an evaluation framework. It shows an evaluation table and verdict, may suggest calling the employer before applying, and asks whether to proceed.
Job Application Assistant fits situations like: judging how well a job posting fits your background before applying; tailoring a CV to a specific role; writing a cover letter in your own style for a posting; preparing for an interview or filling in an application form.
Run `npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a claude-code`. Or copy the skill folder (.claude/skills/job-application-assistant in MadsLorentzen/ai-job-search) into .claude/skills/job-application-assistant in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a codex`. Or copy the skill folder (.claude/skills/job-application-assistant in MadsLorentzen/ai-job-search) into .agents/skills/job-application-assistant in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MadsLorentzen/ai-job-search --skill job-application-assistant -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/job-application-assistant, .gemini/skills/job-application-assistant, .github/skills/job-application-assistant and .opencode/skills/job-application-assistant in your project.
SKILL.md names no scripts, command-line tools or credentials: Job Application Assistant is instructions for the agent only. Our summary lists: Your candidate profile, writing style and CV variants in the project files; Network access to fetch postings and research companies. Its frontmatter pre-approves these tools: Read, Glob, Grep, WebFetch, WebSearch, Bash, Edit, Write, AskUserQuestion.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Job Application Assistant is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Job Application Assistant: LLM Intern Skill (wanyichen06/LLMInternSkill, 326 stars), Career-Ops Job Search Center (career-ops-hq/career-ops, 74k stars), Internship Project Preparation Tool (LiuMengxuan04/shushu-internship-tool, 2.1k stars) and Offer Negotiation (reactive-resume/reactive-resume, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MadsLorentzen (a GitHub user) maintains it in MadsLorentzen/ai-job-search, which has 45,410 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: MadsLorentzen/ai-job-search on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.