job-application-assist…
Tailors CVs and cover letters, evaluates job fit, and prepares interviews. Activates on: applying to a job, evaluating a posting, writing a CV/cover letter,…
Analyzes skill gaps against your tracked jobs or a single posting, then builds a prioritized learning plan with real, web-searched resources. Activates on: upskill, skill gap, what should I learn, /upskill.
$ npx -y skills add suraj-davariya/ai-job-search --skill career-development --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/career-developmentContext preview
The summary Claude sees to decide when to auto-load this skill.
Analyzes skill gaps against your tracked jobs or a single posting, then builds a prioritized learning plan with real, web-searched resources. Activates on: upskill, skill gap, what should I learn, /upskill.
name: career-development description: "Analyzes skill gaps against your tracked jobs or a single posting, then builds a prioritized learning plan with real, web-searched resources. Activates on: upskill, skill gap, what should I learn, /upskill." allowed-tools: - Read - Write - Edit - Bash - Glob - Grep - WebSearch - WebFetch
This file is the Plane 1 knowledge anchor for the Career Development workflow (ARCH-0040). As a Plane 1 skill it lives under `.claude/skills/career-development/` and provides structured knowledge — it does not execute binaries. When activated, it compares the candidate's current skills against demand (either every job in the tracker, or one target posting), produces a prioritized gap heatmap, finds real learning resources via web search, sequences them into a study order, and persists a markdown report under `upskill/`. It operates under the no-fabrication rule (ARCH-0007), the read-before-write invariant, and never invents learning resources.
This skill backs the `/upskill` command (`.claude/commands/upskill.md`) and the dashboard's Upskill surface, which reads the reports this skill writes (`upskill/report-*.md`).
| File | When to Read | |------|--------------| | `../job-application-assistant/01-candidate-profile.md` | Always — the source of the candidate's *current* skills, education, and experience to diff against | | `../job-application-assistant/04-job-evaluation.md` | For the candidate's stated strong/weak areas and career goals, to weight and frame gaps |
This skill also reads, outside the skill directory:
| Source | Mode | Purpose | |--------|------|---------| | `job_search_tracker.csv` (repo root) | Aggregate | Role, company, and `fit_rating` per tracked application | | `upskill/report-YYYY-MM-DD.md` (most recent) | Aggregate | Previous report, for delta comparison (REQ-3010) | | Job posting (URL or pasted text) | Targeted | The single posting to analyze |
---
The skill runs the same six analytical stages in both modes; what differs is the input and how priority is computed.
Decide the mode from the invocation:
report — tell the user honestly: *"You have no tracked applications yet. Run `/search` and `/apply` first, or give me a job URL for a targeted analysis (`/upskill <url>`)."*
posting text (DEC-011) — never abort.
context.
The report's date is today's date (`YYYY-MM-DD`), available from context.
Extract required and preferred **technical** skills from the source(s) and diff against the profile.
`gap_weight(skill) = sum over postings mentioning it of ((100 − fit_rating) / 100 × occurrence)`. Lower-fit jobs contribute more (the candidate is further from those roles).
each group.
"Python" covers "Python scripting"; "AWS" covers "Amazon Web Services".
Reason holistically about gaps mechanical diffing misses. Consider and tag each:
postings** list it as preferred (aggregate) or it is explicitly required (targeted).
No duplication with Pass 1.
Combine Pass 1 + Pass 2 into a prioritized table, printed to the terminal **before** the learning plan:
| Priority | Skill / Area | Type | Gap Source | |----------|-------------|------|------------|
priority).
entry unless the user asks (REQ-3011).
For every **Critical** and **High** gap (and **Medium** gaps too if the total gap count is fewer than 5), produce a learning entry:
the current year in queries so results are fresh.
books for domain knowledge.
what they already know, and where to start.
An AI job-search assistant that finds postings, writes tailored CVs and cover letters, and compiles them to print-ready PDFs — all on your own machine.
Repo: suraj-davariya/ai-job-search
Tailors CVs and cover letters, evaluates job fit, and prepares interviews. Activates on: applying to a job, evaluating a posting, writing a CV/cover letter,…
Searches configured job portals via web search, deduplicates against seen jobs and the tracker, quick-rates fit, and presents new matches for evaluation.…