Productivity & Collaboration

Upskill — Skill Gap Analysis & Learning Plan

Compares your tracked job postings against your profile, surfaces skill gaps, and generates a prioritized learning plan with real, web-searched study resources.

51/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Claude Code
Stars
★ 47k
Last updated
17d ago
License
MIT
career-planningskill-gap-analysislearning-planjob-search
+2web-searchresume

What does this skill do, and when should you use it?

Upskill is a Claude Code skill inside the ai-job-search framework (MadsLorentzen/ai-job-search, MIT-licensed). It reads the jobs you have tracked plus your candidate profile, computes hard-skill gaps, then synthesizes less obvious gaps in domain knowledge, soft skills, tooling, and credentials into a single priority heatmap. It then web-searches 2-3 current study resources per critical gap, writes tailored study directions, time estimates, and a suggested study order, and saves a Markdown report. It is one of nine skills in the collection; its scope is strictly gap analysis and learning planning — not CV generation or applications.

Offers two modes: /upskill (aggregate) reads job_search_tracker.csv and job_scraper/seen_jobs. (ranked entries with rank_score >= 45 only), dedupes, and builds a fit-weighted skill frequency map; /upskill <URL> (targeted) fetches a single posting with WebFetch and analyzes it alone. It reads .claude/skills/job-application-assistant/01-candidate-profile.md to subtract skills you already have. Pass 1 is a hard-skill diff; Pass 2 uses LLM synthesis to tag domain/soft/tooling/credential gaps. Results merge into a priority heatmap (Critical/High/Medium/Low, with provenance). WebSearch then finds current, well-rated resources for Critical and High gaps — each with 2-3 links, a study direction stating what to skip, and an hours-to-proficiency estimate — grouped by theme and ordered by a dependency-aware study sequence. The full report is written to upskill/report-YYYY-MM-DD.md, with a since-last-report diff when a previous report exists.

Good fit
  • Mid-search: after several applications, identify which skill gaps keep recurring and what to learn first.
  • Targeted check: you spot one attractive posting and want a fast gap list with time-to-competence estimates.
  • Career switchers: build a dependency-ordered self-study roadmap into an adjacent field.
  • Progress reviews: diff against a previous report to see which gaps you have closed and which are new.
  • Resource curation: get vetted-from-search course recommendations instead of hand-picking them.

How do you install this skill?

Before you use it
  • This is a static source-only review; nothing was executed, and conclusions rest on source reading alone.
  • The skill depends on WebSearch/WebFetch for study resources; these may be unreachable from mainland-China networks, potentially disabling the core function.
  • Reports are written to upskill/ automatically without a confirmation step — review generated files for overwrites and content.
  • Resource links and time estimates come from live web searches at run time and must be independently verified before use.
  • The skill reads personal data (candidate profile); verify gitignore and privacy boundaries on those files.
Before you start
Your agent needs
  • Network access
  • Local filesystem
Install first
  • Claude Code with WebFetch/WebSearch tools
  • data files from the ai-job-search repo (job_search_tracker.csv, job_scraper/seen_jobs., 01-candidate-profile.md)

The skill is not standalone; it ships with the ai-job-search framework: gh repo fork MadsLorentzen/ai-job-search --clone, then run /setup inside Claude Code to build your candidate profile. The skill lives at .claude/skills/upskill/SKILL.md. Standalone installation into other projects is not documented.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.claude/skills/upskill" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

In a Claude Code session: for aggregate mode run /upskill (requires data in job_search_tracker.csv and seen_jobs. from /rank or tracked applications); for targeted mode run /upskill <posting URL>. The heatmap prints to the terminal first, then resources are searched and the plan is saved to upskill/.

What are this skill's strengths and limitations?

Pros
  • Gap scoring is data-driven: fit-weighted per job, and recorded gaps from /rank are preferred over inferred ones.
  • Resources come from live web searches with the current year baked into queries; fabricating courses or URLs is explicitly forbidden.
  • Study directions are tailored to your background (e.g. skip the containers chapter if you already know Docker).
  • Defensive design: stored gap text is treated as untrusted data — instructions and links inside it are never followed or fetched.
  • Reports are saved to disk and diffed across runs, so progress is trackable.
Limitations
  • Tightly coupled to the framework: aggregate mode needs the tracker CSV, seen_jobs., and a populated candidate profile; standalone value is limited.
  • Without recorded gaps, aggregate mode falls back to inferring skills from job titles/sectors, which is less accurate.
  • Resource quality depends entirely on search results and is not guaranteed to stay current.
  • Claude Code-specific: frontmatter uses extensions like allowed-tools; porting to other agent platforms requires edits.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Upskill — Skill Gap Analysis & Learning Plan this page 51 · Use with care ★ 47k 17d ago MIT
Job Application Assistant 60 · Recommended ★ 47k 17d ago MIT
Job Scraper — Local-First Job Search Skill 54 · Use with care ★ 47k 17d ago MIT
Jobindex Denmark Job Search 58 · Recommended ★ 47k 17d ago MIT
LinkedIn Search Skill 55 · Use with care ★ 47k 17d ago MIT

Within ai-job-search, /rank scores and shortlists jobs before you apply, while /upskill aggregates your personal skill gaps across jobs for learning planning. No third-party competitors are named in the source.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
51/ 100 5-point scale 2.6 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust14 / 25 · 2.8/5

Skill uses only Read/Write/Glob/Grep/WebFetch/WebSearch, writes confined to upskill/ reports; data flow (tracker, seen_jobs., candidate profile) fully disclosed; Rule 8 treats stored gaps as data not instructions and forbids fetching embedded URLs, showing clear injection-awareness. Deductions: no user confirmation before writing reports, unscoped WebFetch/WebSearch calls, and sensitive profile data handling not restated within this skill.

2Reliability9 / 20 · 2.3/5

Instructions are self-consistent with detailed abnormal-path handling: dedupe rules, missing gaps field (skip + count, never back-fill), blank fit_rating fallback, dead-link skip — all consistently specified with explainable failure behavior. Deductions: no tests or reproducible artifacts covering this skill's key paths (CI covers LaTeX/CLIs, not upskill), and the weighting/scoring logic is executed ad hoc by the LLM so determinism cannot be confirmed statically.

3Adaptability8 / 15 · 2.7/5

Two modes (aggregate/targeted) with clear inputs/outputs, explicit trigger phrases, mode boundaries (targeted ignores state files), and well-documented interplay with /rank and /outcome. Deductions: English/Claude Code only; WebSearch/WebFetch depend on services unreachable or restricted from mainland-China networks, so the core resource-search function may be unusable there; non-fit ranges undeclared.

4Convention11 / 15 · 3.7/5

Well-layered docs (overview → steps → rules → report template), concrete examples, a rules section capturing known pitfalls; repo has MIT license, CI lint, and a framework_version guard. Deductions: the skill file itself carries no version number or changelog reference; fictional example resources could be misread as recommendations; maintenance responsibility only inferable at repo level.

5Effectiveness5 / 15 · 1.7/5

Outputs (prioritized heatmap, resource-backed learning plan, study order) are well specified and offer real marginal value over manual research. Deductions: static review cannot verify search quality or time-estimate usability; WebSearch result quality is uncontrolled and the final plan still requires user vetting of resources.

6Verifiability4 / 10 · 2.0/5

Skill rules are internally auditable; README/SECURITY.md supply a threat model and repo evidence includes real CI workflows. Deductions: no tests or third-party execution evidence for upskill itself; README's outcome claims (69 applications, 20 interviews) relate to the framework broadly and are not independently corroborated.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 09, 2026 Reviewed revision 8c81edc330b9 Review evidence[1][2][3][4][5][6][7][8][9]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Do I need to use the framework's other commands first?
Aggregate mode is only meaningful with data files produced by tracking/ranking; but targeted `/upskill <URL>` works with just a candidate profile.
Are the study resources trustworthy?
The skill's rules require citing only real WebSearch results with the current year in the query and forbid invention — but search-result quality itself is not human-vetted.
Does it cost anything?
The skill is MIT-licensed and free; you consume Claude Code WebSearch/WebFetch usage. The project has no paid sponsorship program (the README warns that any token offering is a scam).
Does targeted mode touch my tracking data?
No — the rules explicitly require targeted mode to analyze only the fetched posting and ignore both tracker and seen_jobs..

More skills from this repository

All from MadsLorentzen/ai-job-search

Productivity & Collaboration

Job Application Assistant

A job search that runs on your machine: evaluate postings, tailor a LaTeX CV, write cover letters, and prep interviews — all inside Claude Code.

★ 47k FS 60 Recommended 17d ago
Productivity & Collaboration

Job Scraper — Local-First Job Search Skill

Automatically searches multiple job portals for new postings matching your profile, deduplicates across runs, and presents them sorted by fit — no more manual site-hopping.

★ 47k FS 54 Use with care 17d ago
Productivity & Collaboration

Jobindex Denmark Job Search

Query the public Jobindex.dk API to search live Danish job listings across all sectors from Claude Code — no account or key required.

★ 47k FS 58 Recommended 17d ago
Productivity & Collaboration

LinkedIn Search Skill

Search live LinkedIn job listings for any country or remote market with no login, no API key, and zero runtime dependencies — just Bun.

★ 47k FS 55 Use with care 17d ago
Dev & Engineering

FreeHire Tech Job Search Skill

Search live software, data, and engineering jobs across ~50 ATS platforms via freehire.me's public API — no API key, no signup, one command.

★ 47k FS 63 Recommended 17d ago
Productivity & Collaboration

Jobdanmark Search (Denmark Job Listings)

Query the Jobdanmark.dk public API straight from your AI assistant — search ~15,000+ live Danish job listings by keyword, city, category and employment type, with no login required.

★ 47k FS 60 Recommended 17d ago
Productivity & Collaboration

Jobnet-Search: Danish Official Job Portal Skill

Query the Jobnet.dk public API directly to search Denmark's official government job portal — 21,000+ live listings, no account or key required.

★ 47k FS 59 Recommended 17d ago
Dev & Engineering

Jobbank Search Skill

Search live Danish job listings from Akademikernes Jobbank locally, with keyword and multi-dimensional filtering for academic and highly educated positions in Denmark.

★ 47k FS 57 Use with care 17d ago

Related skills