Turn your coding agent into a job-search assistant. Describe what you want in plain English. Job Search finds postings from LinkedIn and ATS platforms like Ashby and Greenhouse, judges each role against your preferences, and writes a filtered digest. Run it on demand or on a schedule.
Your preferences, reviewed postings, run logs, and digests stay in ~/.job-search/ by default. The workspace starts with a deny-all .gitignore, which keeps those files out of ordinary Git commits. See Security & Privacy for the threat model and limits.
Quickstart
-
Install Job Search for your coding agent.
-
Start a conversation with:
Set up my job search. I'm looking for a senior product-design role, remote in the US, at a mission-driven company.
The agent checks its prerequisites, creates ~/.job-search/, documents your preferences, and searches live postings. If useful roles are available, it shows the first fully reviewed matches while it continues through the rest.
Checkpoint: setup worked when the agent summarizes what it understood and either shows a reviewed match or explains why the search returned none. It then writes the complete digest to your local workspace.
A sentence or two is enough to begin. You can also share relevant material, such as a resume, cover letter, or notes from previous applications. Refine the search after you see the first results.
Before the first search: agent-data
Job Search gets live postings through the agent-data command-line tool. Onboarding handles the setup:
- If the CLI is missing, the agent offers to install it with
npm install -g agent-data. If a global install needs different permissions, it gives you the exact command to run. - If authentication is missing, the agent helps you create an API key, runs
agent-data init --api-key <KEY> -y, and verifies it withagent-data whoami. The agent-data CLI stores the key in its own config, outside this repository.
Agent-data offers a 100-call monthly free tier; the example below uses 9 metered calls. Before a choice increases expected usage, Job Search previews the change. After each run, it reports actual attempts. Any dollar amount is labeled as a pay-as-you-go equivalent, not an account charge. See the agent-data contract or your billing page for current details.
What a run looks like
You: Run a search now.
Job Search: Searching LinkedIn and Ashby for "senior product designer"...
Found 42 postings. 9 are new. Reading the promising ones in full...
Here are the first strong matches while I keep reviewing the rest:
• Senior Product Designer — Tidewater Health — Remote (US)
Owns a care-navigation area end to end; the healthcare mission you're after.
...still reviewing the remaining postings...
Job search digest — 2026-06-05
9 new postings (6 LinkedIn · 3 Ashby) · 2 strong · 2 moderate · 2 weak · 3 filtered out
Agent-data usage: 9 metered calls this run · about $0.072 pay-as-you-go equivalent
See the complete sample digest.
What you can ask
| Goal | Example |
|---|---|
| Start | “Set up my job search. I'm looking for a staff backend role in Europe.” |
| Refine preferences | “Make remote US a must-have,” or “also include fintech roles.” |
| Search now | “Run a search now,” or “check for new jobs.” |
| Schedule searches | “Run my search every morning.” The agent shows the local change, asks for approval, tests the real scheduled path, and only then marks it active. The default runs without an open agent session. |
| Explain usage | “Explain my agent-data usage.” |
| Review a match | “Why is this a strong match?” or “Does this posting fit what I want?” |
| Pause or stop | “Pause my schedule,” or “stop scheduling.” |
Natural language is the main interface. Commands such as /job-search and $job-search are shortcuts when your agent supports them.
Support matrix
Compatibility details
These expectations apply to every listed agent:
| Field | Expected support |
|---|---|
| OS / architecture | macOS and Linux; arm64 and x86_64 |
| Recurring scheduler | cron or launchd, with a session loop fallback |
| Modes | interactive and background (headless) |
Job Search is compatible with Claude Code, Codex, Cursor, opencode, Gemini CLI, GitHub Copilot CLI, Factory Droid, Pi, and Hermes Agent.
The primary model is inherited from the session that creates the job. Setup records an exact detail-review model, and scheduled runs reuse it. A recurring schedule is recorded only after the agent tests the actual invocation and confirms that it can reach agent-data and write the workspace.
If something fails, ask the agent to “create a support summary.” It shows you a local diagnostic containing system and run-health metadata, without preferences, posting content, match details, credentials, cursors, or environment dumps. Nothing is uploaded automatically. You can review the file and attach it to a GitHub issue.
Installation
Choose your coding agent below. After installation, use the Quickstart sentence. Installation succeeded when Job Search opens onboarding and begins the agent-data check.
Claude Code
Run these commands inside Claude Code:
/plugin marketplace add agent-data/job-search
/plugin install job-search@agent-data
Use /job-search if you need the command shortcut.
Codex
Run in your shell, then launch or restart Codex:
codex plugin marketplace add agent-data/job-search codex plugin add job-search@agent-data codex
Use $job-search if you need the skill shortcut.
Cursor
Clone the repository, then symlink it into Cursor's local plugins directory:
git clone https://github.com/agent-data/job-search ln -s "$(pwd)/job-search" ~/.cursor/plugins/local/job-search
opencode
Add Job Search to the plugin array in your global OpenCode config at
~/.config/opencode/opencode.json, or to an opencode.json in a project where you want to use it:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["job-search@git+https://github.com/agent-data/job-search.git"]
}Restart OpenCode, then start with: “Set up my job search.” OpenCode installs the git package with Bun and the plugin registers the five bundled skills. If your config already has plugins, add this entry to the existing array rather than replacing it.
See .opencode/INSTALL.md for verification, revision pinning, local development,
and troubleshooting.
Gemini CLI
gemini extensions install https://github.com/agent-data/job-search
GitHub Copilot CLI
copilot plugin marketplace add agent-data/job-search copilot plugin install job-search@agent-data
Factory Droid
droid plugin marketplace add https://github.com/agent-data/job-search droid plugin install job-search@agent-data
Pi
pi install git:github.com/agent-data/job-search
For an editable local install, run pi -e /path/to/job-search.
Hermes Agent
Copy and paste the following into a new Hermes Agent session:
Retrieve and follow the installation instructions at:
https://raw.githubusercontent.com/agent-data/job-search/main/INSTALL_FOR_HERMES.md
After installation, start a new Hermes Agent session and use the Quickstart sentence above.
For contributors
Start with AGENTS.md. It points to the architecture, contributor workflow, test guide, and canonical runtime contracts in shared/references/.