Agent skill

Job Search

by neonwatty in neonwatty/job-apply-plugin

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

MITAuto-check: notesBusiness, Finance & HR

Install Job Search

skills CLI
$ npx skills add neonwatty/job-apply-plugin --skill job-search -a claude-code

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

GitHub CLI
$ gh skill install neonwatty/job-apply-plugin job-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/neonwatty/job-apply-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/job-search .claude/skills/job-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
job-search
GitHub stars
119
Token cost
~3.5k tokens
SKILL.md length
1,325 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 4 steps: Load Preferences & Parse Overrides → LinkedIn Detail Extraction → Cross-Source Scoring → …
  • The user wants to find jobs
  • SKILL.md covers Phase 1: Load Preferences &…, Phase 2a: LinkedIn Search…, Phase 2b: Hacker News Who's… and Phase 2c: Twitter/X Search…, plus 5 more sections
  • Calls curl, sf and python3; reaches linkedin.com and hacker-news.firebaseio.com

What it does

Job Search is an agent skill from neonwatty/job-apply-plugin. Search LinkedIn, Hacker News, and Twitter/X for jobs with connections, hiring manager insights, and preference-based scoring. Use when the user wants to find jobs, search for positions, or explore job opportunities.

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR, covering Job search and resumes. It works with LinkedIn and X (Twitter). The repository describes itself as: AI-powered job application assistant for Claude Code and Codex - fills LinkedIn, Greenhouse, Ashby, and Workday applications. The licence is MIT.

When your agent uses it

  • The user wants to find jobs
  • Search for positions
  • Explore job opportunities

Example prompts

  • “/job-search”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Bash, WebSearch, WebFetch, mcp__claude-in-chrome__*

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Load Preferences & Parse Overrides
  2. LinkedIn Detail Extraction
  3. Cross-Source Scoring
  4. Output

What it can do on your machine

Read from SKILL.md and the folder at commit 370204c. 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:

    • Read
    • Write
    • Bash
    • WebSearch
    • WebFetch
    • mcp__claude-in-chrome__*

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • sf
    • python3

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • linkedin.com
    • hacker-news.firebaseio.com
    • news.ycombinator.com
    • x.com
    • coolstartup.com

    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

Job Search loads about 3.5k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 1,325 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, WebSearch, WebFetch, mcp__claude-in-chrome__*

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 neonwatty/job-apply-plugin at commit 370204c, republished under its MIT licence (© neonwatty). 1,325 words, ~3,451 tokens.

Download SKILL.mdSave it as .claude/skills/job-search/SKILL.md (or your agent's skills folder).
name
job-search
description
Search LinkedIn, Hacker News, and Twitter/X for jobs with connections, hiring manager insights, and preference-based scoring. Use when the user wants to find jobs, search for positions, or explore job opportunities.
allowed-tools
Read, Write, Bash, WebSearch, WebFetch, mcp__claude-in-chrome__*

A Codex and Claude Code skill for searching jobs across LinkedIn, Hacker News Who's Hiring, and Twitter/X. Scores and ranks results against your saved preferences, highlights network advantages, and saves structured output.


Phase 1: Load Preferences & Parse Overrides

Step 1: Load Profile

Follow the bundled answer-memory skill ($job-apply:answer-memory in Codex; /job-apply:answer-memory in Claude Code). Resolve <plugin-root> as that skill directs, run python3 "<plugin-root>/scripts/job-apply-store.py" init, load preferences with preferences-get, and load location or other profile facts with profile-get. Never read or write persistent Job Apply files directly.

If no preferences found, say:

No search preferences found. Invoke the bundled job-preferences skill first to set your target titles, salary range, and filters.

Then STOP. Do not prompt the user to set preferences inline.

If preferences exist, load them:

json
{
  "targetTitles": ["Staff AI Engineer", "Principal ML Engineer"],
  "minBaseSalary": "$250K",
  "remotePreference": "remote only",
  "excludePatterns": ["junior", "associate", "intern", "entry level"],
  "defaultTimeRange": "last week"
}
Step 2: Parse User Overrides

The user may pass overrides when invoking the skill:

  • Time range: last week, 2 weeks, month — overrides defaultTimeRange
  • Source filter: linkedin, hn, twitter, or any combination — limits which sources to query (default: all three)
  • Keywords: any additional keywords to use alongside targetTitles

Display the active search config before proceeding:

Search config:

  • Titles: Staff AI Engineer, Principal ML Engineer
  • Salary floor: $250K
  • Remote: Remote only
  • Exclude: junior, associate, intern, entry level
  • Time range: last week
  • Sources: LinkedIn, HN, Twitter

Phase 2a: LinkedIn Search (visible host browser)

Navigation
  1. Use the host-managed visible browser (Codex Browser plugin or Claude in Chrome) and reuse an appropriate existing tab or create a new one
  2. Keep that browser/tab binding for the search instead of switching automation surfaces
  3. Navigate to https://www.linkedin.com/jobs/
  4. Verify the user is logged in from visible page state. If not logged in, say: "Please log into LinkedIn in this browser tab, then let me know when you're ready." and wait.
Build Search URL

Base URL: https://www.linkedin.com/jobs/search/

ParameterPurposeValues
keywordsSearch termsURL-encoded from targetTitles
locationGeographic areaFrom profile location
f_WTWork type1 (on-site), 2 (hybrid), 3 (remote)
f_TPRTime postedr604800 (week), r1209600 (2 weeks), r2592000 (month)
f_EExperience level4 (mid-senior), 5 (director), 6 (executive)
f_JIYNIn your networktrue
sortBySort orderDD (date)

Map remotePreference:

  • "remote only" → f_WT=3
  • "remote preferred" → f_WT=2,3
  • "open to hybrid" → f_WT=2,3
  • "open to all" → omit f_WT

Map time range:

  • "last week" → f_TPR=r604800
  • "2 weeks" → f_TPR=r1209600
  • "month" → f_TPR=r2592000
Extract Job Listings (max 25)

For each job card:

  1. Read visible job cards from the results list with the host browser
  2. Click into a job detail page through the same visible browser surface
  3. Wait 2-3 seconds for detail page to load
  4. Extract: title, company, location, posted date, applicant count, work type, apply method
  5. Look for visible connection indicators such as "connections work here" or "connections at"
  6. Look for "Meet the hiring team" or "hiring manager"
  7. If hiring manager found, extract name, title, profile URL
  8. Store result, navigate back to results list
  9. 2-3 second delay between each job
Scrolling for More Results

LinkedIn uses infinite scroll:

  1. Scroll the results list through the host-managed browser
  2. Wait 2-3 seconds for new results
  3. Read the newly loaded visible cards
  4. Repeat until desired count or no more results

Find Current Thread
  1. Use the host's supported web-search tool to search for: "Ask HN: Who is hiring?" site:news.ycombinator.com {current_month} {current_year}
  2. Extract the thread ID from the HN URL in the search results (e.g., https://news.ycombinator.com/item?id=XXXXXXXX → XXXXXXXX)

If no thread found for the current month, try the previous month. If still nothing, skip HN and report it.

Fetch Comments via Firebase API
  1. Fetch the thread: curl -s "https://hacker-news.firebaseio.com/v0/item/{THREAD_ID}.json"
  2. Parse the kids array — these are top-level comment IDs (job postings)
  3. Fetch each comment (up to 50): curl -s "https://hacker-news.firebaseio.com/v0/item/{COMMENT_ID}.json"
  4. 0.5 second delay between API calls
Parse Comments

HN Who's Hiring comments typically follow this format in the text field:

Company Name | Role Title | Location | Remote | Salary Range
Description text...
Apply: URL

For each comment:

  • Extract company, title, location, remote status, salary from the first line (pipe-delimited)
  • Extract application URL if present (look for "apply" or "http" links)
  • Parse salary range if present (look for patterns like $XXXk-$XXXk, $XXX,XXX)
  • Extract the full text as description
Filter Against Preferences

Skip comments that:

  • Don't match any targetTitles (fuzzy match — "AI Engineer" matches "Staff AI Engineer")
  • Match any excludePatterns
  • Don't meet remotePreference (if "remote only", skip non-remote postings)
  • Fall below minBaseSalary (if salary is listed)

Phase 2c: Twitter/X Search (visible host browser)

Navigation
  1. Use the existing host-managed browser context (or create a new tab in that browser)
  2. Navigate to https://x.com/search
  3. Verify login from visible page state by checking for a profile avatar or compose button. If not logged in, skip Twitter entirely and continue with other sources. Report: "Skipped Twitter — not logged in."
Show full SKILL.md (535 more words)Show less
Build Search Query

Construct a Twitter advanced search query:

("hiring" OR "open role" OR "we're hiring" OR "join our team") ("AI engineer" OR "ML engineer" OR "{title1}" OR "{title2}") ("remote") since:YYYY-MM-DD -is:reply

Map time range to since: date:

  • "last week" → 7 days ago
  • "2 weeks" → 14 days ago
  • "month" → 30 days ago
  1. Navigate to the search URL with the query
  2. Wait for results to load (3 seconds)
  3. Switch to "Latest" tab if available
  4. Extract tweet content, author handle, engagement (likes/retweets), and any URLs (max 20 tweets)
  5. 2-3 second delays between interactions
Filter Against Preferences

Apply the same filtering as HN — title match, exclude patterns, remote, salary if mentioned.

Graceful Failure

If Twitter is inaccessible, rate-limited, or not logged in — skip entirely and continue. Report which sources succeeded and failed at the end.


Phase 3: LinkedIn Detail Extraction

For LinkedIn results that passed initial filtering, extract additional network signals:

  1. Connection count and names (1st-degree, 2nd-degree, alumni)
  2. Hiring manager name, title, profile URL
  3. Easy Apply availability
  4. Applicant count and posting age

This data feeds into the scoring in Phase 4.


Phase 4: Cross-Source Scoring

Score every result on a 0-100 normalized scale.

Scoring Rubric
CategoryPointsApplies to
Title match (exact vs partial)0-20All sources
Salary meets/exceeds floor0-10All sources
Remote preference match0-10All sources
Recency (newer = higher)0-5All sources
Low competition (<50 applicants)0-5All sources
Hiring manager listed20LinkedIn only
1st-degree connections15LinkedIn only
2nd-degree or alumni connections10LinkedIn only
Easy Apply available5LinkedIn only
Salary explicitly listed10HN only
Application URL provided10HN only
High engagement (50+ likes)10Twitter only
Normalization

Max possible per source: LinkedIn 100, HN 80, Twitter 70.

Normalize all scores to 0-100:

  • LinkedIn score: raw_score
  • HN score: raw_score * (100 / 80)
  • Twitter score: raw_score * (100 / 70)

Round to nearest integer. Sort all results by normalized score descending.


Phase 5: Output

1. Terminal Display
============================================================
  Multi-Source Job Search Results
============================================================
  Titles: Staff AI Engineer, Principal ML Engineer
  Filters: Remote only | Last week | Salary >= $250K
  Sources: LinkedIn (12), HN (8), Twitter (5)
  Total: 25 results | Showing top 25 by score
============================================================

Score | Source   | Title                        | Company       | Salary   | Location        | Signals
----- | -------- | ---------------------------- | ------------- | -------- | --------------- | --------------------------
  92  | LinkedIn | Staff AI Engineer            | Acme Corp     | $280K    | Remote          | Hiring mgr, 2 connections
  87  | LinkedIn | Principal ML Engineer        | TechStart     | $300K    | SF (Remote OK)  | 5 connections, Easy Apply
  81  | HN       | AI Engineer (Staff)          | CoolStartup   | $250-300K| Remote          | Salary listed, Apply URL
  76  | Twitter  | Head of AI                   | DataCo        | —        | Remote          | 120 likes
  ...

============================================================
  Summary
  - 4 with hiring managers | 8 with connections
  - 3 sources queried | 0 failed
  - Saved to: ~/.claude-job-searches/search-2026-02-28T14-30-00.md
============================================================
2. Markdown File

Save full details to ~/.claude-job-searches/search-{timestamp}.md:

markdown
# Job Search Results — 2026-02-28

## Search Parameters
- Titles: Staff AI Engineer, Principal ML Engineer
- Salary floor: $250K
- Remote: Remote only
- Time range: Last week
- Sources: LinkedIn, HN, Twitter

## Results (ranked by score)

### 1. Staff AI Engineer — Acme Corp (Score: 92)
- **Source**: LinkedIn
- **Location**: Remote
- **Salary**: $280K
- **Posted**: 2 days ago | 45 applicants
- **Hiring Manager**: Jane Smith (Engineering Manager) — linkedin.com/in/janesmith
- **Connections**: 2 (John Doe, Sarah Lee)
- **Apply**: Easy Apply
- **URL**: https://linkedin.com/jobs/view/123456

### 2. AI Engineer (Staff) — CoolStartup (Score: 81)
- **Source**: Hacker News
- **Location**: Remote
- **Salary**: $250-300K
- **Description**: Building next-gen AI infrastructure...
- **Apply**: https://coolstartup.com/careers/ai-engineer

...

Create the ~/.claude-job-searches/ directory if it doesn't exist.

3. Queue Append (Optional, User Confirms)

If any results scored 70+, ask the user:

{N} jobs scored 70+. Would you like me to add them to your application queue at ~/Desktop/jobs/application_queue.md?

If confirmed, append to application_queue.md under a new "## Tier 3 — Auto-Discovered" section:

markdown
## Tier 3 — Auto-Discovered

| Score | Source | Role | Company | URL | Status |
|-------|--------|------|---------|-----|--------|
| 92 | LinkedIn | Staff AI Engineer | Acme Corp | [link](https://...) | New |
| 81 | HN | AI Engineer (Staff) | CoolStartup | [link](https://...) | New |

Never modify application_queue.md without explicit user confirmation.


Safety Rules

  1. Never handle credentials — pause for the user to complete login, password, CAPTCHA, or MFA steps manually
  2. Never click Apply — this skill is for searching only, not applying
  3. Never create accounts — stop and inform user if account creation is required
  4. Respect rate limits per source:
    • LinkedIn: 2-3 second delays between page loads
    • HN Firebase API: 0.5 second delays between requests
    • Twitter: 2-3 second delays between interactions
  5. Max results per source: LinkedIn 25, HN 50 comments, Twitter 20 tweets
  6. Graceful degradation — if any source fails, skip it and continue with the others. Report which sources succeeded and which failed at the end.
  7. Never modify application_queue.md without user confirmation
  8. HN Firebase API only — never scrape the Hacker News website directly. Always use https://hacker-news.firebaseio.com/v0/ endpoints.
  9. Handle errors gracefully — if a job page fails to load, skip and continue

Example Invocations

Standard search (all sources):

User: $job-apply:job-search (Codex) or /job-apply:job-search (Claude Code)
Agent: [Loads preferences, searches LinkedIn + HN + Twitter, displays ranked results]

With time range override:

User: Invoke job-search with "2 weeks"
Agent: [Uses 2-week time range instead of default]

Single source:

User: Invoke job-search with "hn"
Agent: [Searches only Hacker News Who's Hiring]

Multiple source filter:

User: Invoke job-search with "linkedin hn"
Agent: [Searches LinkedIn and HN, skips Twitter]

With extra keywords:

User: Invoke job-search with "agentic systems"
Agent: [Adds "agentic systems" to title-based keywords]

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

Files

Just SKILL.md in skills/job-search of neonwatty/job-apply-plugin.

Open the folder on GitHubat commit 370204c

Compare with similar skills

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.

Job Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Job Search this skillneonwatty/job-apply-plugin119—~3.5kAutomated safety check: NotesMIT
LinkedIn Job SearchMadsLorentzen/ai-job-search45k—~1.2kAutomated safety check: PassMIT
Job Application Managerreactive-resume/reactive-resume44k—~13kAutomated safety check: PassMIT
Job Posting ScraperMadsLorentzen/ai-job-search45k—~5.7kAutomated safety check: PassMIT
Linkedin Job Search Skillyanliudesign/offer-toolkit-skill520—~1kAutomated safety check: PassMIT
Job Huntrebecha1227-a11y/CareerForge323—~2kAutomated safety check: WarnNone

Similar skills

  • LinkedIn Job Search

    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.

    45k GitHub stars~1.2k tokensUpdated 3 days ago
    Business, Finance & HRAuto-check passed
  • Job Application Manager

    reactive-resume/reactive-resume

    Runs the job-search pipeline. An agent skill from reactive-resume/reactive-resume.

    44k GitHub stars~13k tokensUpdated yesterday
    Business, Finance & HRAuto-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 3 days ago
    Business, Finance & HRAuto-check passed
  • Linkedin Job Search Skill

    yanliudesign/offer-toolkit-skill

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

    520 GitHub stars~1k tokensUpdated 12 days ago
    Business, Finance & HRAuto-check passed
  • 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

More from neonwatty/job-apply-plugin

  • Job Apply Answer Memory

    neonwatty/job-apply-plugin

    Storage contract for the Job Apply plugin: manages the local applicant profile, reusable answers, application history and resumable sessions through a bundled helper script.

    119 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check: notes
  • 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
    Auto-check: notes
  • Job Search Preferences

    neonwatty/job-apply-plugin

    Saves your target titles, minimum salary, remote preference and exclusion filters once, so the other Job Apply skills reuse them for every search.

    119 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check: notes

Questions about Job Search

What does Job Search do?

Search LinkedIn, Hacker News, and Twitter/X for jobs with connections, hiring manager insights, and preference-based scoring. Job Search is an agent skill from neonwatty/job-apply-plugin. Search LinkedIn, Hacker News, and Twitter/X for jobs with connections, hiring manager insights, and preference-based scoring.

When should I use Job Search?

Job Search fits situations like: the user wants to find jobs; search for positions; explore job opportunities.

How do I install Job Search in Claude Code?

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

How do I install Job Search in Codex?

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

Can I use 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 neonwatty/job-apply-plugin --skill job-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/job-search, .gemini/skills/job-search, .github/skills/job-search and .opencode/skills/job-search in your project.

What does Job Search need to run?

Going by SKILL.md and its folder, Job Search needs the command-line tools its instructions call (curl, sf and python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Bash, WebSearch, WebFetch, mcp__claude-in-chrome__*.

Does Job Search access the network?

SKILL.md names 5 domains. In commands or code: linkedin.com, hacker-news.firebaseio.com, news.ycombinator.com, x.com and coolstartup.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Job Search safe to install?

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.

What licence does Job Search use?

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 Job Search use?

About 3.5k tokens (SKILL.md is roughly 14k 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 Job Search?

Skills that share tags, products or a category with Job Search: LinkedIn Job Search (MadsLorentzen/ai-job-search, 45k stars), Job Application Manager (reactive-resume/reactive-resume, 44k stars), Job Posting Scraper (MadsLorentzen/ai-job-search, 45k stars) and Linkedin Job Search Skill (yanliudesign/offer-toolkit-skill, 520 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Job Search?

neonwatty (a GitHub user) maintains it in neonwatty/job-apply-plugin, which has 119 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.

Source: neonwatty/job-apply-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.