A Claude Code skill for searching LinkedIn jobs with a focus on finding positions where you have network connections or hiring managers are listed.
Automatically searches LinkedIn jobs based on your resume, prioritizing roles with your connections or hiring managers listed. Creates a profile from your resume file, then navigates LinkedIn to find and rank jobs by network advantage.
/plugin marketplace add neonwatty/job-apply-plugin/plugin install job-apply@neonwatty-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
A Claude Code skill for searching LinkedIn jobs with a focus on finding positions where you have network connections or hiring managers are listed.
When this skill is invoked, first check if a profile exists at ~/.claude-job-profile.json.
If NO profile exists, say:
Welcome to the Job Search Assistant! I'll help you find jobs on LinkedIn where you have connections or hiring managers are listed.
First, I need to set up your profile so I can suggest relevant search terms based on your experience.
Please provide the path to your resume file (PDF, DOCX, or TXT).
For example:
~/Documents/resume.pdfor/Users/you/Desktop/MyResume.pdf
Then wait for the user to provide the path before proceeding with profile extraction.
If a profile DOES exist, analyze it and present suggestions:
Welcome back! I found your profile at
~/.claude-job-profile.json.Based on your resume, here's what I suggest for your job search:
Keywords: [Most recent job title], [Related titles based on skills] Location: [City, State from profile] Experience Level: [Calculated level] ([X] years of experience)
Would you like to:
- Search with these suggestions
- Modify the keywords, location, or other filters
- Reset your profile from a new resume
Just let me know how you'd like to proceed!
~/.claude-job-profile.jsonThese values are automatically extracted from the user's profile and presented for confirmation:
workHistory and skills arrayprofile.location (city, state)workHistory
User can specify or modify:
The profile is stored at ~/.claude-job-profile.json and shared with the /job-apply skill. Run /job-search reset profile to re-extract from a new resume.
Search results are automatically saved to ~/.claude-job-searches/search-{timestamp}.json. This enables:
~/.claude-job-profile.jsonfirstName, lastName, email, phonelocation (city, state, country, zip)linkedInUrl, portfolioUrl, githubUrlworkHistory[]: array of { company, title, startDate, endDate, current, description }education[]: array of { school, degree, field, startDate, endDate, gpa }skills[]: array of skill strings~/.claude-job-profile.jsonworkHistory (most recent first)skills arraytabs_context_mcptabs_create_mcphttps://www.linkedin.com/jobs/read_page to check for profile menu or sign-in buttonscomputer with wait action (2-3 seconds)For each job listing (up to maxResults):
read_pagecomputer with left_click on job titlefind with query: "connections work here" or "connections at"find with query: "hiring team" or "Meet the hiring team"~/.claude-job-searches/~/.claude-job-searches/search-{ISO-timestamp}.jsonBase URL: https://www.linkedin.com/jobs/search/
| Parameter | Purpose | Values |
|---|---|---|
keywords | Search terms | URL-encoded string |
location | Geographic area | City, state, or country name |
f_WT | Work type | 1 (on-site), 2 (hybrid), 3 (remote) |
f_TPR | Time posted | r86400 (24h), r604800 (week), r2592000 (month) |
f_E | Experience level | 1 (intern), 2 (entry), 3 (associate), 4 (mid-senior), 5 (director), 6 (executive) |
f_JIYN | In your network | true (shows jobs at companies with connections) |
f_AL | Actively hiring | true |
f_EA | Easy Apply only | true |
sortBy | Sort order | DD (date), R (relevance) |
Example URL:
https://www.linkedin.com/jobs/search/?keywords=Senior%20Software%20Engineer&location=San%20Francisco%2C%20CA&f_WT=2%2C3&f_E=4&f_TPR=r604800&sortBy=DD
Use read_page to look for:
- Profile menu in top navigation (user is logged in)
- "Sign in" or "Join now" buttons (user is NOT logged in)
If not logged in, stop and inform user.
Use read_page with filter: "interactive" to see job cards
Each job card typically contains:
- Job title (clickable link)
- Company name
- Location
- Posted date
- Easy Apply badge (if applicable)
After clicking into job detail:
1. Use find with query: "connections work here"
2. Or use find with query: "connections at this company"
3. Look for section showing connection profile pictures/names
After clicking into job detail:
1. Use find with query: "Meet the hiring team"
2. Or use find with query: "hiring manager"
3. If found, extract:
- Name (usually in heading or profile card)
- Title (usually below name)
- Profile link (href on the card)
LinkedIn uses infinite scroll:
1. Use computer with action: "scroll", scroll_direction: "down"
2. Wait 2-3 seconds for new results to load
3. Use read_page to see newly loaded job cards
4. Repeat until desired count or no more results
=== LinkedIn Job Search Results ===
Search: "Senior Software Engineer" in San Francisco, CA
Filters: Remote/Hybrid | Past Week | Mid-Senior Level
Found: 12 jobs analyzed
Saved to: ~/.claude-job-searches/search-2026-01-06T10-30-00.json
-----------------------------------------------------------
1. [HIRING MANAGER] Senior Software Engineer
Company: Acme Corp
Location: San Francisco, CA (Remote)
Posted: 2 days ago | 45 applicants
Hiring Manager: Jane Smith (Engineering Manager)
Connections: 2 (John Doe, Sarah Lee)
Apply: Easy Apply
URL: https://linkedin.com/jobs/view/123456
-----------------------------------------------------------
2. [CONNECTIONS] Staff Software Engineer
Company: TechStart Inc
Location: Palo Alto, CA (Hybrid)
Posted: 1 day ago | 23 applicants
Connections: 5 (including 2 Stanford alumni)
Apply: Easy Apply
URL: https://linkedin.com/jobs/view/789012
-----------------------------------------------------------
... (additional results)
=== Summary ===
- 2 jobs with hiring managers listed
- 4 jobs with 1st-degree connections
- 3 jobs with alumni connections
- 3 jobs with no network advantage
{
"searchMetadata": {
"keywords": "Senior Software Engineer",
"location": "San Francisco, CA",
"filters": {
"workType": ["remote", "hybrid"],
"postedWithin": "week",
"experienceLevel": "mid-senior"
},
"timestamp": "2026-01-06T10:30:00Z",
"totalJobsAnalyzed": 12
},
"jobs": [
{
"id": "123456",
"url": "https://linkedin.com/jobs/view/123456",
"title": "Senior Software Engineer",
"company": {
"name": "Acme Corp",
"linkedinUrl": "https://linkedin.com/company/acme-corp"
},
"location": "San Francisco, CA",
"workType": "remote",
"postedDate": "2 days ago",
"applicantCount": 45,
"applyMethod": "easyApply",
"hiringManager": {
"name": "Jane Smith",
"title": "Engineering Manager",
"profileUrl": "https://linkedin.com/in/janesmith"
},
"connections": [
{
"name": "John Doe",
"title": "Software Engineer",
"connectionDegree": 1,
"profileUrl": "https://linkedin.com/in/johndoe"
}
],
"connectionSummary": {
"total": 2,
"firstDegree": 2,
"secondDegree": 0,
"alumni": 0
},
"priority": "high"
}
],
"summary": {
"withHiringManager": 2,
"withFirstDegreeConnections": 4,
"withAlumniConnections": 3,
"noNetworkAdvantage": 3
}
}
New user (no profile):
User: /job-search
Claude: Welcome! Please provide your resume path to get started.
User: ~/Documents/resume.pdf
Claude: [Parses resume, presents suggestions]
Based on your resume, I suggest searching for "Product Manager" in Seattle, WA...
Returning user:
User: /job-search
Claude: Welcome back! Based on your profile, I suggest:
Keywords: "Senior Software Engineer", "Staff Engineer"
Location: San Francisco, CA
Experience: Mid-Senior (7 years)
Ready to search, or would you like to adjust?
User: Search for remote only
Claude: [Executes search with remote filter, displays results]
With specific request:
User: /job-search for machine learning roles in NYC
Claude: I'll search for machine learning roles in NYC. Based on your 5 years of experience,
I'll filter for Mid-Senior level. Any preference for remote/hybrid/onsite?
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.