Job Application Agent

Discover roles, complete truthful applications, and track only confirmed submissions.

Stars
★ 173
Last updated
1d ago
License
MIT
Primary language
JavaScript

At a glance

How it runs
Agent plugin / skillCLI
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Node.js 20 or newerBrowser-capable coding agentOS credential storesecret-tool and a running Secret Service keyring on LinuxShell / CLINetwork accessLocal filesystem
Typical use
An engineer with a finalized résumé wants to search several job sources, verify openings at employer sites, and apply from one workflow.
Not a fit if
  • Users wanting fully unattended applying: SSO, MFA, CAPTCHA and legal attestations always pause for you
  • Privacy-first users unwilling to opt out: analytics, name/email and community sharing are on by default
  • Headless Linux servers or containers: you must start a Secret Service keyring daemon yourself
Source review
83/100 · Good

What does this agent do, and when should you use it?

Job Application Agent is an Agent Skill for browser-capable coding agents such as Claude Code, Cursor, and Codex. It combines instructions in SKILL.md with a Node.js CLI: the coding agent performs discovery and browser interaction, while the CLI manages private profiles, résumé import, scoring, duplicate checks, resumable rounds, attention queues, and application and outcome ledgers. A single verified résumé acts as the factual boundary, and the workflow checks seniority, skills, location, authorization, compensation, and posting status before applying. Applications are recorded only after visible confirmation, while passwords, SSO, MFA, CAPTCHA, legal attestations, government identifiers, and sensitive questions are handed back to the user. State is local by default, with the profile held in the operating system credential store; an optional private Cloudflare D1 setup with R2 or Workers KV can synchronize trusted hosts. It is best suited to an individual applicant who wants more throughput without allowing the automation to invent qualifications or silently cross sensitive boundaries.

The agent discovers leads through the versioned SOURCES.json catalog and an anonymous community registry, then verifies each role with the employer. It qualifies postings against seniority, skills, location, work authorization, compensation, and current status, and checks the private ledger for duplicates. During an application it fills forms and uploads one canonical résumé using verified profile facts only; passwords, SSO, MFA, CAPTCHA, government identifiers, legal attestations, voluntary demographic questions, or ambiguous requirements are placed in the attention queue. Users can select review-each or routine-auto autonomy, but the application/outcome ledger is updated only after visible submission confirmation. The CLI also maintains resumable rounds, source coverage, rejection reasons, revision history, outcome records, and optional email-delivery reconciliation. In the optional multi-host deployment, a renewable lease permits only one host to submit applications at a time.

  1. An engineer with a finalized résumé wants to search several job sources, verify openings at employer sites, and apply from one workflow.
  2. A candidate running batches of ten applications wants per-lead qualification, rejection reasons, resumable progress, and confirmed-submission accounting.
  3. A job seeker concerned about fabricated credentials wants every form answer constrained by a verified profile and canonical résumé.
  4. A user frequently encountering SSO, MFA, CAPTCHA, or compliance questions wants automation to pause at those boundaries and create an attention queue.
  5. One person using coding agents on several trusted computers wants optional private synchronization of profile, résumé, applications, outcomes, and rounds.
  6. A candidate wants to record interviews and rejections so the workflow can suggest targeting changes without rewriting personal facts.

How do you install or deploy this agent?

Prerequisites are Node.js 20 or newer and a browser-capable coding agent. Run npx job-application-agent@latest install, or install through Agent Skills with npx skills add vaibhavarora14/job-application-agent. The installer normally places the skill at ~/.agents/skills/job-application-agent and enables automatic updates; it also supports compatible vendor skill directories when they already exist. On Linux, install the secret-tool CLI—for Debian or Ubuntu, sudo apt-get install libsecret-tools—and ensure a Secret Service keyring such as GNOME Keyring or KWallet is running. Headless servers, containers, and SSH-only sessions may need gnome-keyring-daemon --unlock --components=secrets before first use. The private Cloudflare D1 plus R2 or Workers KV backend is optional and is not required for local operation.

How do you use this agent?

After installation, tell the coding agent: Use job-application-agent to onboard my résumé and job preferences. Once onboarding is complete, supported natural-language commands include search jobs, list discovery sources for India and global remote engineering, apply https://company.example/jobs/123, run a round of 10, show attention queue, and record outcome Company — Senior Engineer — interview. For durable routine submission authority, run echo '{"mode":"routine-auto"}' | node ~/.agents/skills/job-application-agent/scripts/job-application.mjs autonomy grant --stdin. Inspect it with node ~/.agents/skills/job-application-agent/scripts/job-application.mjs autonomy status and revoke it with the same script's autonomy revoke command. Before ongoing use, review the default analytics and community-sharing settings; the CLI provides telemetry identity disable, telemetry disable, and sources sharing disable controls.

What are this agent's strengths and limitations?

Pros
  • Truthfulness is an explicit workflow constraint: the skill uses one verified résumé and refuses claims that cannot be supported by the profile or résumé.
  • Its accounting distinguishes a completed form from an actual application and records only visible submission confirmations.
  • Sensitive boundaries are concrete: authentication, CAPTCHA, legal attestations, government identifiers, and voluntary identity questions require user involvement.
  • It includes duplicate detection, resumable rounds, source-coverage rules, an attention queue, and application and outcome ledgers rather than only form filling.
  • Profiles use the OS credential store, and the optional multi-host design gives each trusted host a separate revocable credential.
Limitations
  • It requires Node.js 20+ and a browser-capable coding agent; it is not documented as a standalone desktop application.
  • Linux adoption requires secret-tool and an active Secret Service keyring, with additional setup on headless systems, containers, or SSH sessions.
  • SSO, MFA, CAPTCHA, legal attestations, and several sensitive question types prevent fully unattended operation.
  • Structured analytics and name/email sharing are enabled by default, as is separate anonymous community sharing, so privacy-conscious users must opt out explicitly.
  • Cross-host state requires a private Cloudflare D1 deployment plus R2 or a Workers KV fallback, adding infrastructure and credential-management work.
  • The project does not guarantee interviews, offers, eligibility, or application accuracy; the applicant remains responsible for final correctness.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Job Application Agent This agent 83 · Good Agent plugin / skillFree ★ 173 1d ago JavaScript Codex · Claude Code
LinkedIn MCP Server 79 · Good MCP serverFree ★ 4.1k 1d ago Python —
MagenticLite 68 · Some gaps CLIFree + model costs ★ 10k 3mo ago Python —
Orbital Project Agent 65 · Some gaps Desktop appFree + model costs ★ 969 3d ago Python Codex · Claude Code · OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Good
83/ 100 5-point scale 4.2 / 5
This review covers the source as of Sep 17, 2026. The project has shipped 29 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 24/29
Reliability 11/14
Adaptability 16/18
Convention 14/18
Effectiveness 12/13
Verifiability 6/8
Why each dimension lost points
Trust24 / 29 · 4.1/5

The material sets narrow browser boundaries, forbids reading cookies or session files, and requires pauses for passwords, MFA, CAPTCHA, legal attestations, government identifiers, and uncertain facts. Two autonomy modes, revocable grants, and confirmed-submission-only recording provide strong user-confirmation and external-effect controls. The README gives unusually specific disclosure of OS keyring storage, optional private cloud state, default telemetry, identity sharing, community sharing, retention behavior, and separate opt-out commands. Deductions apply because these safeguards are predominantly documentation claims without the implementation files needed for line-level verification, while analytics and community sharing are enabled by default rather than using strict default data minimization. Dependencies are few and pinned, deployment actions use commit hashes, and workflow contents permission is read-only, but no lockfile, vulnerability report, or dependency-update policy is supplied. Autonomy can be revoked, updates are staged, and private state is kept outside the replaceable installation, but submitted applications cannot realistically be rolled back and no comprehensive transactional recovery process is shown. Repository, npm, issue, and private security-reporting paths are identifiable, although the license copyright line names no responsible party and publisher identity remains unknown.

Reliability11 / 14 · 3.9/5

README, package metadata, security policy, and workflows agree on the Node requirement, test entry points, safety boundaries, and product purpose, with no material internal contradiction. Node 20, browser capability, Linux secret-tool, keyring-daemon requirements, and headless setup are disclosed adequately. The deduction is that browser hosts, OS credential stores, optional Cloudflare services, and external applicant-tracking systems create substantial environmental dependencies whose fallback behavior is not fully documented. The README says blockers and empty results are reported and provides an attention queue, but the supplied evidence contains no representative error messages, error taxonomy, or complete failure-handling implementation, limiting the failure-messages score.

Adaptability16 / 18 · 4.4/5

The intended personal job-search audience and discovery, qualification, application, tracking, and outcome-review scenarios are concrete, with examples for individual URLs, thread batches, rounds, attention queues, and outcome recording. Capability boundaries are particularly strong: use is restricted to the candidate's own search, access controls may not be bypassed, unverifiable claims are refused, and sensitive or judgment-heavy questions return to the user; outreach is disabled by default and does not automate social-platform access or sending. Natural-language examples and the review-each and routine-auto modes provide precise activation semantics. Environment-fit deductions reflect the continued need for Node 20, a browser-capable host, and platform-specific credential facilities; headless Linux requires extra daemon setup, and the Grok native sharing path is explicitly still pending.

Convention14 / 18 · 3.9/5

The README has strong navigation and separates stages, privacy, safety, workflow, installation, development, and responsible-use material with useful tables and a flow diagram. Installation, updates, platform templates, Linux credential storage, and development commands are documented thoroughly. Naming is mostly consistent across the package, CLI, and skill directory, but the product also spans several installation paths, sites, and hosted Workers without an explicit compatibility or naming-stability guarantee. Numerous usage examples are present, though there is no consolidated FAQ or troubleshooting section. Known limitations and prohibited uses are explicit. MIT metadata matches the complete license text. Version 3.7.1 is declared, but no changelog, release history, or semantic-versioning policy is supplied, so versioning and changelog coverage is thin. Issue and private vulnerability-reporting routes are clear and a seven-day acknowledgement target is stated, but no named maintainer, support lifetime, or succession policy establishes complete maintenance responsibility.

Effectiveness12 / 13 · 4.6/5

The described outputs are operationally useful: eligibility decisions, duplicate prevention, attention queues, confirmed-submission ledgers, outcome records, discovery-source coverage, and delivery reconciliation all map to concrete job-search work. The product adds meaningful value beyond generic form filling through verified-fact constraints, confirmation-based accounting, multi-source discovery, outcome learning, and privacy-aware state management. The cost-benefit deduction reflects the complexity introduced by browser-agent integration, OS keyrings, optional cloud state, telemetry, a community registry, leases, and several ledgers. Default identity analytics and anonymous community sharing also impose an opt-out and comprehension burden on users.

Verifiability6 / 8 · 3.8/5

Many claims are tied to named documents, commands, script categories, test scripts, and CI checks, while package.json, SECURITY.md, and deployment workflows partially corroborate version, testing, security-reporting, dependency, and permission statements. However, the supplied material omits SKILL.md, analytics and cloud-state specifications, test bodies, and core implementation, so the major privacy and submission-control claims cannot be traced statically to their enforcing code. Cross-file corroboration is meaningful but incomplete because many detailed behavioral claims appear only in the README. The source carefully distinguishes confirmed submissions from filled forms, derived data from candidate facts, unknown receipts from verified delivery, and unverifiable claims from acceptable facts, fully satisfying fact-versus-inference separation.

Risks and how to mitigate them
  • Structured usage analytics, sharing of the saved name and email, and anonymous community sharing are enabled by default; inspect telemetry and sources-sharing status before first use and disable each channel as appropriate.
  • Routine-auto permits ordinary submissions without item-by-item review. Applications are generally irreversible, so begin with review-each and grant autonomy only after validating profile data and policy.
  • The supplied static evidence omits the core implementation, SKILL.md, and test bodies, so secret storage, outbound-data filtering, submission gates, and permission boundaries cannot be independently confirmed.
  • Headless Linux, container, and SSH environments require a working Secret Service daemon; without it, secure profile storage or retrieval may fail.
  • Optional cloud state, telemetry, and community functions depend on externally hosted endpoints; assess their access control, retention, availability, and exit or migration path separately.
Evidence confidence: Low Reviewed Sep 17, 2026 Reviewed revision b493b7f22ca5 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v3.8.6
    Release notes excerpt
    - Batch review gate removed (owner decision, 5 Nov 2026). Approval is again an explicit choice the candidate makes, as before 3.8.0. In review-each (the default) the agent fills the real application page on the employer's site, stops before Submit, and asks the candidate in chat; they look at the filled page in their own browser and confirm (or click Submit themselves). In routine-auto the candidate's standing permission (a routine-auto profile or autonomy grant) lets the agent submit routine applications with no approval step. There is no local review page, review batch or typed app …
    View on GitHub ↗
  2. v3.8.5
    Release notes excerpt
    - CLI: application_submitted gets a duration when application_started was never sent (#241). On 3.8.4 a Greenhouse install submitted with no application_started for the job, so ledger add had no start time and sent durationBucket: "unknown". When the submit carries no telemetry timing and there is no application_started time for the job hash, ledger add now measures from the earliest local score time for that job (review score times in review-started.json and the latest decision time in assessment-decisions.json; the job's URL record is used first, and company + role …
    View on GitHub ↗
  3. v3.8.4
    Release notes excerpt
    - Verified source coverage (local). In rounds started by this version, round source refuses status: "searched" for a board with no round lead records in the round, or whose leads were all recorded after the round's latest submission. The community job feed is community-jobs-feed: searched needs a successful sources jobs pull since round start, and blocked (community feed unavailable, blocker access-unavailable/site-error) is accepted only after a sources jobs call in the round failed (its output now carries communityFeedUnavailable: true). round complete requires …
    View on GitHub ↗

FAQ

Will it invent experience or qualifications to improve an application?
No. Its documented policy is to use only the verified profile and canonical résumé. Unsupported claims are refused or escalated for user attention.
Can it apply without any human involvement?
Not completely. The routine-auto mode can submit routine applications, but passwords, SSO, MFA, CAPTCHA, legal attestations, government identifiers, sensitive identity questions, and ambiguous requirements still require the user.
Where are my profile and résumé stored?
By default, the profile is stored in the operating system credential store, while the résumé and ledgers remain in owner-only local state. The optional cloud mode uses private D1 and private blob storage with an owner-only local cache.
What telemetry or community data does it send?
Analytics are enabled by default. After disclosure, later commands may include the name and email explicitly saved in the profile, but not résumé content, other profile fields, prompts, answers, or browser data. Separate community sharing publishes limited public job metadata from confirmed applications and can also be disabled through the CLI.
Does completing a form count as an application?
No. A visible submission confirmation is required. Sent email without acknowledgement remains marked as receipt unknown, and verified email delivery failures reduce effective totals without deleting the historical attempt.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents