by Gsync
Job application tracker and AI-powered job search assistant. Helps job seekers manage their search journey with AI resume review, job matching, task logging, and application analytics, all while keeping your data private.
# Add to your Claude Code skills
git clone https://github.com/Gsync/jobsyncLast scanned: 8/6/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@eslint/config-array: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@eslint/eslintrc: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@hono/node-server: Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encoded backslash (`%5C`)",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@modelcontextprotocol/sdk: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: DoS via unbounded expansion length causing an out-of-memory process crash",
"severity": "high"
},
{
"type": "npm-audit",
"message": "diff: jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"severity": "low"
},
{
"type": "npm-audit",
"message": "eslint: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to host confusion via backslash authority introducer",
"severity": "high"
},
{
"type": "npm-audit",
"message": "hono: Hono: ReDoS in CORS middleware via Access-Control-Request-Headers",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address: Address4 decodes leading-zero octets as decimal while resolvers decode them as octal, allowing SSRF and trust-boundary bypass",
"severity": "high"
},
{
"type": "npm-audit",
"message": "minimatch: Vulnerability found",
"severity": "high"
},
{
"file": "README.md",
"line": 71,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/Gsync/jobsync/main/deploy.sh | sudo\"",
"severity": "low"
}
],
"status": "WARNING",
"scannedAt": "2026-08-06T06:30:16.283Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how jobsync compares with popular alternatives.
jobsync is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Gsync. Job application tracker and AI-powered job search assistant. Helps job seekers manage their search journey with AI resume review, job matching, task logging, and application analytics, all while keeping your data private. It has 1,271 GitHub stars.
jobsync returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/Gsync/jobsync" and add it to your Claude Code skills directory (see the Installation section above).
jobsync is primarily written in TypeScript. It is open-source under Gsync on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh jobsync against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
JobSync is a free, open-source companion for your job search: track applications, manage and export resumes, and ask a built-in AI assistant to review a resume, match it against a job, write a cover letter, or add a job from a posting you paste in — all self-hosted on your own server, so your data stays under your control. AI features can run entirely locally via Ollama or through your choice of cloud provider, and JobSync's built-in MCP server lets AI agents like Claude Desktop add jobs and interview questions straight from your chat.

Application Tracker: Keep a detailed record of all your job applications, including company details, job titles, application dates, and current status.

Monitoring Dashboard: Visualize your job search progress with an interactive dashboard that provides insights into your application activities, success rates, and upcoming tasks.
Resume Management: Store and manage your resumes, export them as professionally formatted PDFs (Simple or Professional template), and use them with AI to get reviews and match with job descriptions. Import existing resumes from PDF or Word (.docx) files — AI extracts and structures your contact info, experience, education, and certifications so you can review and save each section individually.
Automated Job Discovery: Schedule automations that track companies via job board APIs, then AI-match each listing against your resume and surface the best fits for review. See Features in Detail below.
Task & Activity Management: Manage tasks, track activities linked with tasks including time tracking.
Contacts: Keep the people behind your job hunt — recruiters, hiring managers, interviewers, referrers and references — with how you know them and when you last spoke. Link a contact to any number of jobs with a role on each link, so the same recruiter can sit on three applications, and filter by role to find your references in one click.
Company Pages: Every company gets a details page with its jobs, the people who work there or worked with you there, and links to its website, careers page and job board. Watch a company to put it on your watchlist; watched companies with a job board appear in their own Watched group when you pick companies for an automation.
Question Bank: Build a library of interview questions with your answers, tagged by skill, so your preparation is in one place when the next interview comes up.
Data Backup & Restore: Download every job, resume, task, activity, contact and question — plus your uploaded resume files — as one zip from Settings > Data, and import it back on any JobSync instance. Backups never contain API keys, MCP tokens or passwords, and every import first saves a snapshot so you can undo it.
AI Assistant: A chat panel that stays docked beside whatever page you're on. Ask it to review a resume, score how well it matches the job you're viewing, write a tailored cover letter, or add a job straight from a posting you paste in — it asks for your confirmation before saving anything. See Features in Detail below.
AI Agent Integration (MCP): Connect AI agents like Claude Desktop via a built-in MCP server to add job applications and Question Bank entries directly from your chat, with your approval. When a job description is substantial enough, the agent can also analyze it against your default resume and save a job match score right from the chat.
Make sure Docker is installed and running, then:
git clone https://github.com/Gsync/jobsync.git
cd jobsync
docker compose up
Note: The first startup builds the app image, which can take a few minutes — if the app is unreachable right after
docker compose up, wait a bit before accessing it in your browser.
Open http://localhost:3737 and create your account. That's it!
API keys for AI providers can be configured in Settings after signing in.
Environment variables can be set in docker-compose.yml:
| Variable | Description |
|---|---|
TZ |
Your timezone (e.g. America/Edmonton). Set this on remote servers to avoid activity time shifts. |
AUTH_SECRET |
Auto-generated if not set. To set manually: openssl rand -base64 32 |
ENCRYPTION_KEY |
Encrypts the API keys you save in Settings. Set your own (openssl rand -base64 32) before adding any keys, and never change it afterwards — a new value makes every stored API key unrecoverable. |
NEXTAUTH_URL |
The address you open JobSync at. Defaults to http://localhost:3737; on a homelab server, use the server's IP or hostname. |
MCP_ENABLED |
Set to false to turn off the MCP server. Enabled by default in docker-compose.yml. |
From the project directory, run the deploy script to pull the latest changes and rebuild:
curl -fsSL https://raw.githubusercontent.com/Gsync/jobsync/main/deploy.sh | sudo bash -s
On Windows, run the PowerShell equivalent from the project directory instead (deploy.sh needs WSL or Git Bash; deploy.ps1 runs natively):
.\deploy.ps1
Note: If you are updating in a homelab environment, edit
NEXTAUTH_URLin your.envfile to use your server IP address instead oflocalhost. See.env.examplefor the expected format.
All of JobSync's AI features live in one place: a chat panel that docks to the side of the app instead of taking it over, so the page you were on stays visible and usable while the assistant works.
Open it from the AI Assistant button in the header, or let the app open it for you — the Review button on a resume and the Match with AI and Cover Letter buttons on a job all start the matching request in the panel.
What you can ask for:
The reviews, matches and letters are the same analyses the dedicated panels used to produce — the chat is a new way in, not a lighter-weight version.
The assistant is deliberately narrow about what it can see: it reads your resumes and the single job you're looking at, and nothing else. It can't list or search your jobs, and it can't see tasks or activities. Pasted postings are also treated as untrusted text, so instructions hidden inside a posting can't make the assistant act on your data.
Pick a model under Settings > AI Settings before using the panel — it needs one that supports tool calling, and it will tell you rather than guessing if none is set. See known-good models for the ones that have been tested, including a fully local option.

Export any resume as a professionally formatted PDF directly from the resume page. Choose between two layouts — a clean Simple template and a more polished Professional template. If a PDF attachment already exists, you'll be prompted to replace it or keep the download only.
Import an existing resume from a PDF or Word (.docx) file. AI extracts structured data — contact info, summary, skills, work experience, education, and certifications — and presents each section as a review card. You can accept or skip individual sections before saving them to your resume.
Set up automations that search for new jobs on a schedule and AI-match them against your resume, so relevant openings come to you.
Greenhouse — track specific companies by name from a built-in directory (or by pasting a board URL). Each run pulls every published role from those companies' Greenhouse boards, ranks them against your target titles, skills, and resume with a fast local relevance score, and runs the AI match on only the top candidates to keep costs bounded. No API key required.
Lever — same com