Agent skill

LinkedIn Job Search

by MadsLorentzen in 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.

MITAuto-check passedBusiness, Finance & HR

Install LinkedIn Job Search

skills CLI
$ npx skills add MadsLorentzen/ai-job-search --skill linkedin-search -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MadsLorentzen/ai-job-search linkedin-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MadsLorentzen/ai-job-search.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/linkedin-search .claude/skills/linkedin-search && rm -rf skills-src

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

Facts

Skill name
linkedin-search
GitHub stars
45k
Token cost
~1.2k tokens
SKILL.md length
385 words
Files
16
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Searching for job openings in a particular city, country or remote
  • SKILL.md covers ⚠️ Personal use only, When to use this skill, Commands and Usage examples, plus 2 more sections
  • Runs TypeScript scripts from its folder; calls bun
  • Filtering listings by how recently they were posted or by workplace type

What it does

The skill runs a small bun-based command-line tool against LinkedIn's public job pages. A search needs a --location, such as a city, a country or Remote, and can add a keyword query, a recency filter in days or minutes, a workplace type of remote, hybrid or onsite, a page number, a result limit and an output format of JSON, table or plain text. A detail command takes a job ID, a jobs/view URL or a job posting URN and returns the full description, seniority, employment type, job function and industries.

No authentication, API key or runtime dependency beyond bun is needed, and the same skill works in any market because the location is always passed explicitly. It carries a personal-use warning: automated access is against LinkedIn's terms of service, so volume should stay low and the tool should not be used commercially or for bulk collection. A URL reference file and tests for flag validation, parsing, timeouts and retries ship with it.

When your agent uses it

  • Searching for job openings in a particular city, country or remote
  • Filtering listings by how recently they were posted or by workplace type
  • Pulling the full description of one LinkedIn job posting

Example prompts

  • “Find data engineer jobs in Berlin posted in the last 7 days.”
  • “Search for remote product designer roles and show them as a table.”
  • “Get the full description for this LinkedIn job posting URL and summarize the requirements.”

Requirements

  • bun
  • Network access to LinkedIn's public job pages
  • Pre-approved tools (allowed-tools): Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *)

What it can do on your machine

Read from SKILL.md and the folder at commit a011214. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

LinkedIn Job Search loads about 1.2k tokens when it runs. Until then it costs about 143 tokens; SKILL.md has 385 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

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

SKILL.md

The full file from MadsLorentzen/ai-job-search at commit a011214, republished under its MIT licence (© MadsLorentzen). 385 words, ~1,159 tokens.

Download SKILL.mdSave it as .claude/skills/linkedin-search/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
linkedin-search
description
Use this skill whenever the user wants to search for jobs in any location or market, find job listings, or look up a specific job posting — in any country, city, or remotely. Invoke for open positions, vacancies, and hiring across any sector or role (software, data, design, marketing, finance, legal, operations, etc.). The location is always supplied explicitly by the user. Trigger phrases: find a job, job search, search for jobs, job openings, vacancies, hiring, positions open, remote jobs, "are there any X jobs in <place>", look up this job posting.
allowed-tools
Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *)
version
1.0.0
context
fork
enabled
true

LinkedIn Search Skill

Search live job listings from LinkedIn's public job board for any country/region (and remote). No authentication, no API key, and zero runtime dependencies — it runs with just bun. The location is always passed explicitly, so the same skill works for a forker in any market out of the box.

This is a country-agnostic worked example of the repo's job-portal-skill pattern. LinkedIn's jobs-guest endpoints are global and the HTML parsing is country-independent; only the --location you pass changes per market.

⚠️ Personal use only

This uses LinkedIn's public job pages; automated access is against LinkedIn's Terms of Service, so keep volume low and don't use it commercially or for bulk data collection. Run it on your own responsibility.

When to use this skill

  • Search for job openings in a given location (any country/city) or remotely
  • Filter by recency (posted today / last 7 / 14 / 30 days) or workplace type (remote/hybrid/onsite)
  • Get the full description of a specific job listing

Commands

Search job listings
bash
bun run .agents/skills/linkedin-search/cli/src/cli.ts search --location "<place>" [flags]

Key flags:

  • --location <text> / -l <text> — required. A LinkedIn place string, e.g. "Mumbai, Maharashtra, India", "Berlin, Germany", "London, United Kingdom", or "Remote".
  • --query <text> / -q <text> — keyword search (title, skill, role). Recommended.
  • --jobage <days> — posted within N days: 1, 7, 14, 30. Omit for all postings.
  • --jobage-minutes <n> — posted within N minutes (sub-day precision, e.g. 30). Conflicts with --jobage — pass only one.
  • --remote <mode> — remote, hybrid, or onsite (workplace-type filter).
  • --page <n> — page number (1-indexed, 10 results per page).
  • --limit <n> / -n <n> — cap total results emitted (client-side).
  • --format json|table|plain — default json.
Show full SKILL.md (130 more words)Show less
Fetch full job detail
bash
bun run .agents/skills/linkedin-search/cli/src/cli.ts detail <id|url> [--format json|plain]

id is the job ID from search results (e.g. 4426311357). You may also pass a full LinkedIn jobs/view/... URL or a urn:li:jobPosting:... URN. Returns the full description, seniority, employment type, job function, and industries.

Usage examples

bash
# Data engineer roles in Bengaluru, last 30 days
bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "data engineer" -l "Bengaluru, Karnataka, India" --jobage 30 --format table

# Product manager roles in Berlin, remote
bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "product manager" -l "Berlin, Germany" --remote remote --format table

# Any role, fully remote
bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "paralegal" -l "Remote" --format table

# Engineer roles, remote, posted in the last 30 minutes
bun run .agents/skills/linkedin-search/cli/src/cli.ts search -q "engineer" -l "Remote" --jobage-minutes 30 --format table

# Full details for a specific job
bun run .agents/skills/linkedin-search/cli/src/cli.ts detail 4426311357 --format plain

Output formats

FormatBest for
jsonDefault — programmatic use, passing IDs to detail
tableQuick human-readable scanning
plainReading a single job's full detail (detail command)

All errors are written to stderr as { "error": "...", "code": "..." } and the process exits with code 1.

Notes

  • Data is from LinkedIn's public jobs-guest endpoints — no credentials required.
  • Page size is fixed at 10 results per page.
  • LinkedIn may rate-limit; the CLI retries 429/5xx with exponential backoff. Keep volume low (see ToS note above).
  • Job IDs are numeric (e.g. 4426311357) — pass them as-is to detail.

© MadsLorentzen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files in .agents/skills/linkedin-search of MadsLorentzen/ai-job-search.

  • SKILL.md
  • cli/README.md
  • cli/package.json
  • cli/src/cli.ts
  • cli/src/commands/detail.ts
  • cli/src/commands/search.ts
  • cli/src/helpers.ts
  • cli/tests/cli-flag-validation.test.ts
  • cli/tests/detail-input.test.ts
  • cli/tests/helpers.ts
  • cli/tests/parsing.test.ts
  • cli/tests/request-timeout.test.ts
  • cli/tests/retry-backoff.test.ts
  • cli/tests/search.test.ts
  • cli/tsconfig.json
  • url-reference.md

Open the folder on GitHubat commit a011214

Compare with similar skills

LinkedIn Job Search 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.

LinkedIn Job Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
LinkedIn Job Search this skillMadsLorentzen/ai-job-search45k—~1.2kAutomated safety check: PassMIT
Job Application Assistantneonwatty/job-apply-plugin119—~4.9kAutomated safety check: NotesMIT
Linkedin Job Search Skillyanliudesign/offer-toolkit-skill520—~1kAutomated safety check: PassMIT
Job Searchneonwatty/job-apply-plugin119—~3.5kAutomated safety check: NotesMIT
Job Huntrebecha1227-a11y/CareerForge323—~2kAutomated safety check: WarnNone
Linkedin Jobs Searchbrowser-act/skills6.1k—~2.5kAutomated safety check: PassMIT

Similar skills

  • Job Application Assistant

    neonwatty/job-apply-plugin

    Fills out job applications on LinkedIn Easy Apply, Greenhouse, Ashby, Lever, Rippling and Workday from your stored profile, using visible browser automation.

    119 GitHub stars~4.9k tokensUpdated yesterday
    Business, Finance & HRAuto-check: notes
  • Linkedin Job Search Skill

    yanliudesign/offer-toolkit-skill

    LinkedIn 岗位发现与匹配排序。根据用户给的一份种子 JD 和简历,提取目标岗位画像,自动生成多组 LinkedIn Jobs 搜索,采集、去重并按证据给岗位分层,最终输出可直接投递的 shortlist。用户说‘帮我找工作’、‘在 LinkedIn 搜适合我的岗位’、‘找相似职位’、‘根据简历推荐岗位’、‘job search’、‘find jobs like…

    520 GitHub stars~1k tokensUpdated 10 days ago
    Business, Finance & HRAuto-check passed
  • Job Search

    neonwatty/job-apply-plugin

    Search LinkedIn, Hacker News, and Twitter/X for jobs with connections, hiring manager insights, and preference-based scoring.

    119 GitHub stars~3.5k tokensUpdated yesterday
    Business, Finance & HRAuto-check: notes
  • Job Hunt

    rebecha1227-a11y/CareerForge

    AI 岗位猎手。基于用户简历,自动在各大招聘平台搜索匹配岗位,输出带匹配度评估的岗位列表. An agent skill from rebecha1227-a11y/CareerForge.

    323 GitHub stars~2k tokensUpdated 3 mo ago
    Business, Finance & HRAuto-check: warnings
  • Linkedin Jobs Search

    browser-act/skills

    Search LinkedIn job listings and extract full job details. An agent skill from browser-act/skills.

    6.1k GitHub stars~2.5k tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed
  • Linkedin Reader

    himself65/finance-skills

    Read LinkedIn for financial research through opencli: the user's feed, and job search with location, seniority, job type, remote, company, and date filters.

    3.4k GitHub stars~1.6k tokensUpdated 5 days ago
    Business, Finance & HRAuto-check passed

More from MadsLorentzen/ai-job-search

  • freehire Tech Job Search

    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.

    45k GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Job Skill Gap Upskill Planner

    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.

    45k GitHub stars~3.8k tokensUpdated yesterday
    Auto-check passed
  • Job Posting Scraper

    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.

    45k GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Job Application Assistant

    MadsLorentzen/ai-job-search

    Evaluates job postings against your profile, then tailors a LaTeX CV and cover letter and prepares interview answers for the roles you pursue.

    45k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check: notes

Works with

Questions about LinkedIn Job Search

What does LinkedIn Job Search do?

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. The skill runs a small bun-based command-line tool against LinkedIn's public job pages. A search needs a --location, such as a city, a country or Remote, and can add a keyword query, a recency filter in days or minutes, a workplace type of remote, hybrid or onsite, a page number, a result limit and an output format of JSON, table or plain text.

When should I use LinkedIn Job Search?

LinkedIn Job Search fits situations like: searching for job openings in a particular city, country or remote; filtering listings by how recently they were posted or by workplace type; pulling the full description of one LinkedIn job posting.

How do I install LinkedIn Job Search in Claude Code?

Run `npx skills add MadsLorentzen/ai-job-search --skill linkedin-search -a claude-code`. Or copy the skill folder (.agents/skills/linkedin-search in MadsLorentzen/ai-job-search) into .claude/skills/linkedin-search in your project. Claude Code loads it when a task matches its description.

How do I install LinkedIn Job Search in Codex?

Run `npx skills add MadsLorentzen/ai-job-search --skill linkedin-search -a codex`. Or copy the skill folder (.agents/skills/linkedin-search in MadsLorentzen/ai-job-search) into .agents/skills/linkedin-search in your project. Codex loads it when a task matches its description.

Can I use LinkedIn Job Search in Cursor, Gemini CLI or GitHub Copilot?

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 linkedin-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linkedin-search, .gemini/skills/linkedin-search, .github/skills/linkedin-search and .opencode/skills/linkedin-search in your project.

What does LinkedIn Job Search need to run?

Going by SKILL.md and its folder, LinkedIn Job Search needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bun). Our summary lists: bun; Network access to LinkedIn's public job pages. Its frontmatter pre-approves these tools: Bash(bun run .agents/skills/linkedin-search/cli/src/cli.ts *).

Does LinkedIn Job Search access the network?

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.

Is LinkedIn Job Search safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does LinkedIn Job Search use?

LinkedIn Job Search is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does LinkedIn Job Search use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to LinkedIn Job Search?

Skills that share tags, products or a category with LinkedIn Job Search: Job Application Assistant (neonwatty/job-apply-plugin, 119 stars), Linkedin Job Search Skill (yanliudesign/offer-toolkit-skill, 520 stars), Job Search (neonwatty/job-apply-plugin, 119 stars) and Job Hunt (rebecha1227-a11y/CareerForge, 323 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains LinkedIn Job Search?

MadsLorentzen (a GitHub user) maintains it in MadsLorentzen/ai-job-search, which has 45,336 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.