Productivity & Collaboration career-planningskill-gap-analysislearning-planjob-searchweb-searchresume

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.

FollowSkills review · FSRS-2.0
Use with care
51/ 100 5-point scale 2.6 / 5
1 2 3 4 5 6
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.

Evidence confidence:Low Reviewed Sep 09, 2026 Reviewed revision 8c81edc330b9
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.
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.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

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.

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

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 do you install this skill?

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.

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/.

How does this skill compare with similar options?

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.

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.

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.

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.

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.

Productivity & Collaboration

freehire Search Skill

Search tech job listings across many markets through freehire.me's public aggregator API — no keys, no signup, runs on your machine.

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.

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.

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.

Related skills