Skip to content

Roasted plugin for Claude Code

Run your job hunt on autopilot

This is the full walkthrough. Follow it top to bottom and you go from a fresh terminal to Claude sourcing jobs, tailoring a resume per posting, and keeping your pipeline current every day. Every command below is copyable.

Before you start

Two things you install yourself. Everything else the agent sets up during setup, so do not chase dependencies ahead of time.

  • A Claude subscription with Claude Code installed and signed in. The plugin runs inside Claude Code, and remote control from your phone needs a full Claude login, not only a CLI token.
  • Node.js on your machine (version 20 or newer). The setup step uses it to install the Roasted CLI.
  • A roasted.cv account with an active Hunter Pass. A free account can push resumes and read everything; generating tailored applications needs the subscription, and the cost is always shown before a credit is spent.
  • That is it. The CLI, the workspace, the optional browser stack, and email are all installed by the agent when you ask for them.

Create your hunt folder

Give the hunt its own folder so the workspace, job descriptions, and outputs stay in one place. Make it, move into it, and open Claude Code there.

terminal
mkdir applymaxxing
cd applymaxxing
claude

The folder name is yours to choose; applymaxxing is the canonical one. Whatever you pick, this is the folder you open every day to run the hunt.

Install the plugin

Inside Claude Code, add the Roasted marketplace and install the plugin. Run these two lines in order.

Claude Code
/plugin marketplace add roasted-cv/claude-plugin
/plugin install roasted@roasted-cv

After the install, Claude Code reloads its plugins and the Roasted slash commands become available. Type a slash and you will see /roasted:setup, /roasted:morning, and the rest. Nothing is charged yet; installing the plugin is free.

  • Slash commands for setup, the daily ritual, individual and batch applications, interview prep, browser applies, and tracking.
  • A workspace convention that keeps your candidate facts, job descriptions, outputs, and application state organized.
  • The Roasted CLI as the execution layer for resumes, apply kits, PDFs, and the tracker.

Run setup

Run setup once, in the hunt folder. It installs the CLI, signs you in, gets your resume onto your account, interviews you, and scaffolds the workspace. It verifies each step before moving on and never spends a credit without telling you first.

Claude Code
/roasted:setup

The interview

Setup asks a short, conversational set of questions in two layers. Answer what matters to you and skip the rest; silence on a topic means it is not important and the flow keeps moving with sensible defaults.

  • Who you are: name, contact details, links, work authorization and visa needs, languages with honest levels, notice period, and relocation stance. This feeds your standard form answers.
  • What to hunt: target role titles and seniority, core stack, locations and remote preference, salary floor if you volunteer it, contract type, company types to avoid, and target companies you already have in mind.
  • Kill questions: two or three questions derived from your hard constraints that end a bad screening fast, so you never waste an interview slot.
  • Daily application goal: how many applications a day is a good day. The default is 5. The heartbeat works toward this number each session.

The auto-apply consent question

Setup asks one honest question about how far the agent goes on ATS forms. It is recorded once and revocable anytime. Here is exactly what each answer means.

  • Yes: the agent reads each job, scores the fit honestly, skips the weak ones, fills the ATS form, and clicks Submit for you, staying inside your daily goal so nothing gets spammed.
  • No (the default): the agent fills every form and you click the final Submit yourself in a visible window. This is the safe, trust-preserving default.
  • Either way, captcha walls and behavioural anti-spam always fall back to you, and the agent never touches banking, government, or healthcare logins. LinkedIn is never automated.

Your source resume onto the account

Setup gets one real resume onto your account as the source for every tailored application. An existing file or a short conversation becomes the canonical resume. Only real facts go in; the plugin never invents experience. If your resume carries personal contacts, setup offers to swap them for a dedicated hunt email and phone number before pushing the update.

The workspace it scaffolds

Setup writes a small, organized workspace into your folder. This is what makes future sessions run the hunt on autopilot.

  • An AGENTS.md harness with your candidate profile, saved preferences, and the rules Claude follows in this folder.
  • job-search-criteria.txt with your hard filters and kill questions, and a private profile.txt (locked down, git-ignored) with your standard form answers.
  • A jds/ inbox for job descriptions, out/ for rendered PDFs, and morning/boards.tsv for the ATS feeds of your target companies.
  • A workspace marker that records your daily goal, auto-apply choice, and the heartbeat settings, plus a CLAUDE.md so Claude Code loads the harness automatically.

Pricing and credits

Autopilot is not an unlimited free application service. It uses the same Roasted account and billing rules as the dashboard and CLI, and it always states the cost before spending.

  • An active Hunter Pass subscription is required to create apply kits and write new tracker entries.
  • Creating an apply kit spends credits. Premium generation costs more.
  • Shrinking a resume to one page can spend a credit when work is required.
  • Reading resumes, checking the plan, and reading the tracker are free.
  • The backend refunds generation credits when generation fails.

Optional power steps

Everything so far is enough to hand off a tailored PDF and submit on the company site yourself. These add power, and each one is genuinely optional. Skip any of them and nothing in the daily loop breaks.

Browser stack (optional)

Let the agent fill and submit ATS forms in a real browser. Run the setup command in Claude Code and it installs the stack onto your own machine.

Claude Code
/roasted:browser-setup
  • agent-browser installs from npm and drives most ATS on its bundled Chromium: Greenhouse, Teamtailor, Personio, and LinkedIn modals work without anything extra.
  • CloakBrowser stealth is an opt-in upgrade for the minority of career sites behind Cloudflare or DataDome. Skip it and the plain browser stays the engine; the agent warns when a site looks like it needs stealth.
  • It pairs with your auto-apply choice from setup: consent lets the agent click Submit, otherwise it fills and hands you a visible window to click yourself.

A dedicated job-hunt email (recommended)

Run the hunt on a fresh mailbox used only for the hunt, never your personal account. This is the mailbox the agent reads, so it sees ATS registrations, verification links, and recruiter replies, and nothing else.

Claude Code
/roasted:email-setup
  • Hygiene: the moment a contact detail lands on a resume it is public, and most boards and ATS parse and store it for decades, some past their own terms. A fresh address keeps that exposure off your personal mail.
  • Setup: the command wires up the himalaya email client on a Gmail App Password. You create the App Password yourself; the agent never sees or handles it, it only verifies by listing the inbox.
  • The same tip applies to a phone number. Where it is feasible in your country, a cheap dedicated line (a VoIP number or a spare eSIM) keeps your personal number off every application too.

Proxies (advanced, you bring your own)

A proxy is never required for a normal single apply. It helps only at high volume, when you want to appear to apply from a target country, or to dodge datacenter-IP reputation flags. If you want one, you buy it from any provider and the browser setup wires it in and verifies the exit IP before any form is filled. The agent never buys, resells, or rotates a proxy.

Daily life

Once the workspace exists, the routine is short: open Claude Code in your hunt folder and say run my morning. Here is what a day looks like.

The morning ritual

The morning command reads your criteria fresh, pulls new job descriptions, triages them, sends a wave of tailored applications, and closes with a scoreboard against your daily goal.

Claude Code
/roasted:morning
  1. Sourcing: it fetches fresh postings from your wired ATS feeds and any links you drop in, saves them to the inbox, and dedupes against the tracker.
  2. Triage: kill questions first, then your hard filters and avoid list, then a fit score. Weak fits are skipped with a one-line reason, never padded.
  3. The wave: one tailored apply kit per surviving job from your canonical resume, each rendered to a one-page PDF, dispatched by a subagent so form snapshots never clog the main session.
  4. Scoreboard and digest: the day's applied count against your goal, pipeline counts by status, follow-up candidates, and the top few next actions, written to a dated digest and repeated in chat.

The heartbeat

Inside a scaffolded workspace, an anti-idle heartbeat keeps the pipeline moving toward your daily goal instead of doing a little work and going idle.

  • Every session prints a one-line status pulse: uptime, applications applied today versus the goal, and the current stage.
  • It keeps applying to the next job and parks itself the moment the goal is met, after a bounded number of continuations, or when you say stop.
  • It is on by default and only runs inside a Roasted workspace. To pause it, say stop or set the heartbeat to disabled in the workspace marker.

Prep before an interview

When an interview lands, the prep command builds a briefing from what is already on record: the tracker card, the exact resume and cover letter that were sent, the email invite, and fresh research on the company. It assembles, it does not guess. The briefing reads top to bottom on a phone in this shape.

Claude Code
/roasted:prep
  • Who they need, from the real job description, not the marketing title.
  • What you will do, the real responsibilities, with your current day-job work marked as the anchor.
  • Where you are a killer fit and where you stretch honestly, each gap with a true, grounded line you can actually say.
  • The questions they will likely ask, your own kill questions to ask them, and the logistics: day, time, meeting link, interviewers, and the dashboard link.

LinkedIn Easy Apply handoff

The plugin never automates LinkedIn. LinkedIn bans automation aggressively and gives no authorization for it, so driving a browser against it risks your real account. For a strong-fit role reachable only through Easy Apply, the agent prepares the complete kit with the CLI, then hands it to you: the tailored PDF and the job link in chat, so you apply from your phone in two taps. It is tracked as a handoff and marked submitted only after you confirm.

Plugin commands

The full command reference. You mostly use the morning ritual; the rest are there when you want a single step.

CommandPurpose
/roasted:setupOne-time setup: CLI, sign-in, resume, interview, and the full workspace scaffold.
/roasted:morningThe daily ritual: fresh job descriptions, triage, a batch of tailored kits, and a scoreboard.
/roasted:applyOne job description in, a ready-to-submit application out.
/roasted:pipelineA queue of saved job descriptions in, tailored kits, PDFs, and tracker entries out.
/roasted:trackRead or update the pipeline: log a submission, move a card through saved, applied, interviewing, and closed, add notes.
/roasted:prepBuild an interview briefing from the record: who they need, where you fit, where you stretch, questions, and logistics.
/roasted:browser-applyFill an ATS form in a real browser: auto-submit with your consent, or a headed handoff where you click Submit.
/roasted:browser-setupInstall the optional browser stack: agent-browser, plus opt-in CloakBrowser stealth.
/roasted:email-setupSet up email reading on a Gmail App Password so the agent can clear verification links and draft recruiter replies.

Run it from your phone

Put Claude Code on an old laptop, keep it awake, and watch the hunt from your phone. The built-in feature is Remote Control.

terminal
claude remote-control --name Roasted-Hunt
  • In your hunt folder, run claude once first and accept the workspace trust dialog. Remote Control needs a full Claude login with a subscription.
  • Start server mode with the command above. The terminal shows a session URL and toggles a QR code with the spacebar. Connect from claude.ai/code or the Claude mobile app.
  • For an already open session, type /remote-control Roasted-Hunt (alias /rc). Running /remote-control again disconnects remote access.
  • To make every session remote from launch, set remote control at startup to true in your global Claude settings.

The old-laptop pattern

Keep the machine awake so the hunt does not stop when the screen sleeps. On macOS, wrap the launch in caffeinate so idle sleep, display sleep, and disk sleep all stay off.

terminal
caffeinate -dims claude remote-control --name Roasted-Hunt
  • macOS: use caffeinate -dims in front of the launch command, as above.
  • Linux with systemd: systemd-inhibit --what=idle:sleep keeps it awake while the command runs.
  • Windows: disable AC sleep with powercfg /change standby-timeout-ac 0 while the hunt runs, then restore a normal timeout when done.
  • Then walk away. Approve handoffs from your phone with a word, and switch it off when the calendar fills with interviews.

Telegram as an alternative

If you prefer Telegram, Claude Code Channels can route permission prompts and approvals to your phone: launch with claude --channels pointed at a Telegram, Discord, or iMessage MCP channel server. It is not the same as first-party Remote Control; use it only when you already run a channel server.

Troubleshooting

The common failure modes and their fixes.

Plugin blocked by an organization policy

If Claude Code is managed by your employer, plugin installs and marketplaces can be disabled by policy. Install and run the hunt on a personal machine with your own Claude subscription instead; the workspace is just a folder, so it moves cleanly.

Hitting model or usage limits

A long batch of applies can hit your Claude plan's usage limit. The heartbeat parks itself when it cannot continue; resume the next session, or lower the daily goal in the workspace marker so each run stays within your budget. The scoreboard shows where it stopped so nothing is lost.

agent-browser will not install

The browser stack needs a current Node. agent-browser wants Node 20 or newer, and its latest build asks for Node 24 or newer. If the install fails an engine check, upgrade Node (nvm install 24 or nodejs.org) and rerun the browser setup. There is no vendored fallback; browser applies need this binary.

Commands look out of date

Updating the plugin is a version bump inside Claude Code: reinstall from the marketplace to pull the latest commands. If a slash command is missing after an update, reload the plugins or restart Claude Code in your hunt folder.