job-application-agent README

The project's README from github.com/vaibhavarora14/job-application-agent. As one markdown file: README.md.

💼 Job Application Agent

Find better roles, apply with verified facts, and learn from outcomes.

Validate npm MIT License Agent Skills

Get started · Safety · Privacy · Dashboard · Security


Job Application Agent is an Agent Skill that helps a coding agent discover, evaluate, complete, and track your own job applications. It uses one verified résumé, checks eligibility and duplicates, and records only confirmed submissions.

🚀 Get started

Install it:

npx job-application-agent@latest install

Then tell your coding agent:

Use job-application-agent to onboard my résumé and job preferences.

After onboarding, use natural commands:

search jobs
list discovery sources for India and global remote engineering
apply https://company.example/jobs/123
apply all relevant jobs from this thread: <URL>
run a round of 10
show attention queue
record outcome Company — Senior Engineer — interview

Requires Node.js 20 or newer and a browser-capable coding agent.

On Linux, profile storage uses the Secret Service via the secret-tool CLI. Install it with sudo apt-get install libsecret-tools (Debian/Ubuntu) or the equivalent package manager command for your distribution.

Unlike macOS Keychain or Windows Credential Manager, the Linux Secret Service has no always-running system daemon: a keyring daemon (GNOME Keyring, KWallet, or similar) must be running in the user session for secret-tool to store or read the profile. On a desktop login this is normally already the case; on headless servers, containers, or SSH-only sessions, start one explicitly (e.g. gnome-keyring-daemon --unlock --components=secrets) before first use.

✨ What it does

Stage Behavior
Discover Searches a shared, versioned catalog of direct careers, ATS platforms, networks, feeds, and job boards, then verifies every lead at the employer.
Qualify Checks seniority, skills, location, authorization, compensation, and posting status.
Apply Fills forms and uploads one canonical résumé using verified facts only.
Track Deduplicates applications and records only visible submission confirmations.
Improve Reviews outcomes and proposes targeting changes without rewriting candidate facts.

🤖 Choose your autonomy level

For durable autonomy across resumable or scheduled runs:

echo '{"mode":"routine-auto"}' | node ~/.agents/skills/job-application-agent/scripts/job-application.mjs autonomy grant --stdin

Check or revoke it at any time:

node ~/.agents/skills/job-application-agent/scripts/job-application.mjs autonomy status
node ~/.agents/skills/job-application-agent/scripts/job-application.mjs autonomy revoke

🛡️ Safety

The agent pauses for:

It never reads browser cookies or session files, bypasses access controls, or counts a filled form as a submission.

🧭 How it works

flowchart LR
    A["Verified résumé + profile"] --> B["Find active roles"]
    B --> C["Check fit + duplicates"]
    C --> D["Fill truthful application"]
    D --> E{"Needs you?"}
    E -- Yes --> F["Attention queue"]
    E -- No --> G["Submit"]
    F --> G
    G --> H["Confirm + record"]

The bundled CLI handles private profile storage, résumé import, scoring, duplicate checks, resumable rounds, attention queues, and application/outcome ledgers. The coding agent handles discovery and browser interaction under the rules in SKILL.md.

Discovery combines the reviewed SOURCES.json catalog with an anonymous community registry. Every confirmed application automatically contributes its canonical public job URL, company, role, application channel, and provider; prior confirmed ledger entries backfill during later commands after a one-command disclosure grace period. Jobs, repeatable boards, and feeds are logged pending and become visible in the public dashboard or CLI only after maintainer review. Disable both forms of community sharing independently from analytics with sources sharing disable.

🔐 Privacy

Data Where it stays
Profile macOS Keychain, Windows Credential Manager, or Linux Secret Service (libsecret)
Résumé and ledgers Owner-only local state directory
Browser login Existing browser session
Community-sharing preference and delivery receipts Owner-only local state directory
Skill code Version-controlled installation directory

Candidate data, résumés, application history, credentials, and browser sessions are never committed to this repository.

Anonymous structured analytics are enabled by default to improve the agent. They may include job and workflow categories, but never candidate identity, résumé content, prompts, answers, browser data, IP addresses, or raw errors.

Anonymous community sharing is also enabled by default, separately from analytics. Confirmed applications share only a canonical public job URL, company, role, application channel, optional coarse discovery source, and derived provider URL—never candidate identity, answers, résumé, score, referral parameters, or submission timestamp. Repeatable discovery surfaces share their bounded catalog metadata through a maintainer-review queue. The registry stores no raw installation IDs; record-scoped contributor hashes are used only for deduplication and counts, never as identity or publication authority.

node ~/.agents/skills/job-application-agent/scripts/job-application.mjs telemetry status
node ~/.agents/skills/job-application-agent/scripts/job-application.mjs telemetry disable
node ~/.agents/skills/job-application-agent/scripts/job-application.mjs sources sharing status
node ~/.agents/skills/job-application-agent/scripts/job-application.mjs sources sharing disable
node ~/.agents/skills/job-application-agent/scripts/job-application.mjs sources jobs

See ANALYTICS.md for the event contract and retention policy, or view the public aggregate dashboard.

Installation and update details

The installer places the skill at ~/.agents/skills/job-application-agent and enables automatic updates by default. Compatible vendor skill directories are also supported when they already exist.

npx job-application-agent@latest status
npx job-application-agent@latest update
npx job-application-agent@latest updates disable
npx job-application-agent@latest updates enable

Updates are staged and validated before replacement. Private candidate state lives outside the replaceable skill directory.

🧰 Develop

npm test

GitHub Actions validates the skill and runs the same test suite on every pull request. See CONTRIBUTING.md for the full local verification and review contract. To try the workflow without installing, paste SHARE_PROMPT.md into a new agent chat.

⚖️ Responsible use

Use this project only for your own job search. It does not guarantee interviews, offers, eligibility, or application accuracy. Never use it to impersonate another person, bypass CAPTCHA, evade access controls, or make deceptive claims.

Report privacy or security issues through the process in SECURITY.md. Do not open a public issue containing personal data or application records.

Released under the MIT License.

job-application-agent (vaibhavarora14/job-application-agent)

Searching Database…

这是什么?Job Application Agent 是一个插入编程智能体(Claude、Cursor、Codex)的 Agent Skill,只使用一份经过核实的简历和核实过的事实,来发现、评估、投递并追踪你自己的求职申请。
这是独立应用,还是运行在我的编程智能体里?它是安装到编程智能体技能目录中的 Skill(SKILL.md);编程智能体负责职位发现和浏览器交互,附带的 CLI 负责档案存储、评分、查重和台账。
运行之前需要准备什么?你需要 Node.js 20 或更新版本,以及一个能操作浏览器的编程智能体;在 Linux 上还需要通过 secret-tool(libsecret-tools)使用 Secret Service,并且会话中要有 GNOME Keyring 或 KWallet 之类的密钥环守护进程在运行。
它能保证我拿到面试或录用吗?不能。它明确不保证面试、录用、申请资格或申请信息的准确性,且仅用于你自己的求职,不能用来冒充他人或绕过 CAPTCHA。
我的简历和凭据数据存到哪里?档案凭据存储在 macOS 钥匙串、Windows 凭据管理器或 Linux Secret Service(libsecret)中;简历和台账数据保存在仅所有者可访问的本地状态目录里,绝不会提交到仓库。
我可以选择哪些自主级别?review-each 要求你在提交前逐个批准每份完成的申请,而 routine-auto 允许常规投递自动进行,但敏感或需要大量判断的步骤仍保留在你手中。
什么情况会让它暂停并把控制权交还给我?遇到密码、SSO、MFA、CAPTCHA、法律声明、人口统计问题、不明确的工作许可或薪酬问题,以及任何浏览器或操作系统权限提示时它都会暂停——它从不读取 cookie,也绝不绕过访问控制。
它究竟是怎么找到职位发布的?它搜索一个共享、带版本管理的 SOURCES.json 目录,其中涵盖直招招聘页、ATS 平台、人脉网络、信息源和求职公告板,然后在申请前直接在雇主处核实每一条线索。
它会向社区注册库共享我的任何数据吗?默认情况下,确认过的申请只会匿名贡献公开的职位 URL、公司、职位名称、渠道和提供方;你的身份、简历、回答和评分绝不共享,而且统计分析和社区共享可以分别独立关闭。
Size
4.5 MB
Stars
159
Age
2mo
Commits · 90 Days