{
  "markdown": "<div align=\"center\">\n\n<img src=\"apps/web/public/icon.svg\" width=\"96\" alt=\"JobPilot logo\" />\n\n# JobPilot\n\n**An AI agent that applies to jobs for you, on the Claude or Codex subscription you already have.**\n\n[![Release](https://img.shields.io/github/v/release/suxrobGM/jobpilot?style=flat&color=FF6A3D)](https://github.com/suxrobGM/jobpilot/releases)\n[![CI](https://github.com/suxrobGM/jobpilot/actions/workflows/ci.yml/badge.svg)](https://github.com/suxrobGM/jobpilot/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n[![Bun](https://img.shields.io/badge/Bun-1.3-black?logo=bun)](https://bun.sh)\n[![Next.js](https://img.shields.io/badge/Next.js-16-black?logo=nextdotjs)](https://nextjs.org)\n[![.NET](https://img.shields.io/badge/.NET-10-512BD4?logo=dotnet)](https://dotnet.microsoft.com)\n\n[**Open JobPilot →**](https://jobpilot.suxrobgm.net) &nbsp;·&nbsp; [Docs](https://jobpilot.suxrobgm.net/docs) &nbsp;·&nbsp; [How it works](docs/architecture.md) &nbsp;·&nbsp; [Changelog](CHANGELOG.md)\n\n[![Watch the teaser](docs/images/teaser.gif)](apps/web/public/teaser.mp4)\n\n*[Watch it full size →](https://jobpilot.suxrobgm.net#see-it-run)*\n\n</div>\n\n---\n\nApplying to jobs eats hours: the same forms, the same resume tweaks, the same\nfollow-ups, day after day. JobPilot hands that work to an AI agent running on\nyour own computer. You tell it what you're looking for, and it searches the\nboards, tailors your resume for each posting, fills out the forms, submits,\nmessages recruiters, and files every reply. The dashboard on the web tracks\nwhere each application stands.\n\n> No API keys, no per-token bills. The agent runs inside Claude Code or Codex,\n> so all AI work comes out of the subscription you already pay for.\n\nThe agent drives a real browser on your machine, logged in as you, so you can\nwatch every click if you want to. Or close the lid and read the journal in the\nmorning.\n\n## What it does\n\n- Point it at LinkedIn, Indeed, Hiring Cafe, and more, or add your own board.\n  It scores every posting against your resume, then applies one at a time or\n  works through an auto-apply campaign, up to the limits you set. Screening\n  questions, tailored resumes, and cover letters are part of that.\n\n- The Pilot runs the search unattended. Write your goals once, set a daily\n  cap, and it keeps finding roles, applying, and following up on its own. When\n  something comes up that only you can answer, it sends a push notification.\n  Otherwise you read the journal in the morning.\n\n- It finds the recruiter or hiring manager behind a posting and drafts a\n  personal message for email or LinkedIn. Connect Gmail and it reads replies,\n  matches them to your applications, and proposes the next move. You approve\n  every send.\n\n- Applications move through one pipeline from submitted to offer, with\n  analytics on top. Every resume variant is versioned and exported to PDF, so\n  you always know which resume went where. Upwork works the same way: search,\n  client-quality filters, and drafted proposals.\n\n## Get started\n\n1. Install the JobPilot plugin for Claude Code or Codex (commands below).\n2. Run the `setup` skill. It installs the local terminal companion (or\n   upgrades it to the latest release if you already have one), starts the\n   agent, and opens the dashboard.\n3. [Create an account](https://jobpilot.suxrobgm.net) and upload your resume.\n   The agent parses it into your profile.\n4. Launch your first search campaign. Review the matches, then apply to the\n   ones you like or let an auto-apply campaign work through them.\n\n> Claude Code sessions default to Sonnet. On Codex, pick a mid-tier model\n> yourself: GPT 5.6 Terra. Top-tier models eat your weekly usage limits far\n> faster without applying to more jobs.\n> [Why](https://jobpilot.suxrobgm.net/docs/faq).\n\n### Install the plugin\n\n#### Claude Code\n\nRun these commands in Claude Code:\n\n```text\n/plugin marketplace add https://github.com/suxrobGM/claude-plugins\n/plugin install jobpilot@sukhrob-claude-plugins\n/jobpilot:setup\n```\n\n#### Codex\n\nRun these commands in a shell:\n\n```text\ncodex plugin marketplace add suxrobGM/codex-plugins\ncodex plugin add jobpilot@sukhrob-codex-plugins\n```\n\nStart a new Codex session, then run:\n\n```text\n$setup\n```\n\nAfter setup, launch the agent any time from the agent dock in the dashboard.\n\n<details>\n<summary><b>Install the terminal companion manually</b></summary>\n\nUse one of these commands if you need to install or repair the terminal\ncompanion without running the setup skill. Dashboard sessions load their\nruntime skills and browser configuration from the terminal release, so the\nmarketplace plugin is needed only for the guided `setup` bootstrap.\n\n- **Windows (PowerShell):**\n\n  ```powershell\n  irm https://raw.githubusercontent.com/suxrobGM/jobpilot/main/apps/terminal/install.ps1 | iex\n  ```\n\n- **macOS / Linux:**\n\n  ```bash\n  curl -fsSL https://raw.githubusercontent.com/suxrobGM/jobpilot/main/apps/terminal/install.sh | bash\n  ```\n\n</details>\n\nFor a guided walkthrough, see the\n[getting-started guide](https://jobpilot.suxrobgm.net/docs/getting-started).\n\n## Skills\n\nThere is only one command you type yourself:\n\n```text\n/jobpilot:setup     # Claude Code\n$setup              # Codex\n```\n\nIt installs the local terminal companion, starts the agent, and opens the\ndashboard. If the companion is already installed, `setup` upgrades it to the\nlatest release instead, so run it again any time to update or repair the\ninstall.\n\nEverything else happens from the dashboard. Click an action and JobPilot hands\nthe matching skill to the agent in the dock, so you can watch the work as it\ngoes:\n\n| In the dashboard                             | What the agent does                                                        |\n| -------------------------------------------- | -------------------------------------------------------------------------- |\n| New campaign → Search only (`search`)        | Searches a board and scores every result against your resume.              |\n| New campaign → Auto-apply (`auto-apply`)     | Searches, then applies to matches one at a time, up to the limits you set. |\n| New campaign → Networking (`networking`)     | Finds the recruiter or hiring manager and drafts a message to each.        |\n| New campaign on Upwork (`upwork-search`)     | Searches Upwork, filters out low-quality clients, ranks the rest.          |\n| New campaign → Apply to links (`apply`)      | Applies to each job link you paste, after a fit review.                    |\n| Campaign → Resume (`resume-campaign`)        | Picks a paused campaign back up and finishes its approved jobs.            |\n| Campaign → Rescan skipped (`rescan-skipped`) | Re-checks skipped jobs in case the reason no longer holds.                 |\n| Campaign → Retry failed (`auto-apply`)       | Re-runs the applications that errored out.                                 |\n| Inbox → Scan pending (`scan-inbox`)          | Classifies new mail, matches it to applications, proposes stage moves.     |\n| Networking → Regenerate (`networking`)       | Rewrites a drafted message.                                                |\n| Resume → Extract from PDF (`extract-resume`) | Parses an uploaded PDF into your structured profile.                       |\n| Resume → Tailor (`tailor-resume`)            | Rewrites a resume variant against one job description.                     |\n| Upwork → Proposal (`upwork-proposal`)        | Drafts a proposal for one posting.                                         |\n| Upwork → Profile (`upwork-profile`)          | Improves your Upwork overview; writes back only after you approve.         |\n| Pilot → Start (`pilot`)                      | Hands the whole search to the agent on a loop.                             |\n\nMid-job the agent reaches for more skills on its own: tailoring your resume\nbefore it submits, writing a cover letter, solving a CAPTCHA, pulling a\nverification code out of your inbox. You never invoke those. The\n[full catalog](https://jobpilot.suxrobgm.net/docs/campaigns-and-skills) lists\neverything that exists.\n\nInbox scanning, verification codes, and networking emails require your own\nGoogle OAuth client. Follow the\n[email setup guide](https://jobpilot.suxrobgm.net/docs/email-setup) to\nconnect it.\n\n## Documentation\n\n- [User documentation](https://jobpilot.suxrobgm.net/docs): setup, campaigns,\n  skills, email, credentials, and common questions.\n- [How JobPilot works](docs/architecture.md): a non-technical overview of the\n  dashboard, local agent, and terminal companion.\n- [Development guide](docs/development.md): local setup, repository layout,\n  technical architecture, and contribution notes.\n\n## License\n\nMIT. The shared humanizer skill is vendored from\n[blader/humanizer](https://github.com/blader/humanizer) (MIT) under\n[plugin/skills/humanizer/](plugin/skills/humanizer/), which ships with its\nown LICENSE file.\n",
  "bytes": 8914,
  "sha": "38b5955d2826bb850cbb255935c2ef6ccb756e62de8c4f7bfa276b4153d0ca39",
  "repo_slug": "suxrobgm/jobpilot",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_suxrobgm_jobpilot_jobpilot_dd0a168f/readme"
}