{
  "markdown": "<div align=\"center\">\n\n# Job Search\n\n### Save hours of scrolling through job postings.\n\n*Hyper-personalized job search that filters postings based on what matters to you: role scope, autonomy, management experience, fit with your background, and more.*\n</div>\n\n<img width=\"3182\" height=\"2160\" alt=\"Job Search digest showing reviewed matches in an agent conversation\" src=\"https://github.com/user-attachments/assets/a3c45a7e-6a93-4afa-86f0-f522c8f8d53c\" />\n\n## Challenges with traditional job search\n\n- Important details are often missing from filter fields or buried in job descriptions.\n- Reposts and duplicates flood search results with irrelevant and repetitive postings.\n- Traditional search requires you to compress a nuanced decision into a few keywords. Results often miss what matters: the work itself, decision-making authority, management experience, and fit with your background.\n- After applying filters and getting search results, the real work begins: reading posting after posting to find the few roles you would seriously consider.\n\n## Why the Job Search plugin?\n\n- **Search by fit, not just keywords:** describe your preferences in plain English, including concrete constraints and less searchable qualities such as autonomy, role scope, and access to company leadership.\n- **Let your agent do the filtering:** your agent reviews every new posting against your preferences, filters out clear mismatches, and reads promising job descriptions in full. It evaluates the work behind the title, surfacing relevant roles at unfamiliar companies or under titles you might not have thought to search for.\n- **Know why each job fits:** get a concise explanation of why each role is a strong, moderate, or weak match, so you can quickly focus on the opportunities that best fit your preferences, background, and interests.\n- **Catch new matches early:** schedule your search to run daily, hourly, or on your preferred cadence, so new postings are automatically evaluated as they appear.\n\n## Quickstart\n\n1. [Install Job Search](#installation) for your coding agent.\n2. Start a conversation with:\n\n   > **Set up my job search. I'm looking for** a senior product design role, remote in the US, with end-to-end ownership. I don’t want brand-heavy or solo-designer roles. My background is primarily B2B SaaS...\n\nThe agent then:\n- Checks its prerequisites\n- Documents your preferences, and \n- Searches live postings. \n\nIf useful roles are available, it shows only the ones matching your preferences.\n\nA sentence or two is enough to begin. You can also share relevant material, such as a resume, cover letter, or notes from previous applications to use as it evaluates job opportunities.\n\n## What a run looks like\n\n```text\nYou: Run a search now.\n\nJob Search: Searching for new roles matching your preferences...\nFound 42 postings. 9 are new. Reading the promising ones in full...\n\nHere are the first strong matches while I keep reviewing the rest:\n\n• Senior Product Designer — Tidewater Health — Remote (US)\n  Owns a care-navigation area end to end; the healthcare mission you're after.\n\n...still reviewing the remaining postings...\n\nJob search digest — 2026-06-05\n9 new postings · 2 strong · 2 moderate · 2 weak · 3 filtered out\n```\n\nSee the [complete sample digest](examples/sample-digest.md).\n\n## What you can ask\n\n| Goal | Example |\n|---|---|\n| Start | \"Set up my job search. I want a senior product design role, remote in the US, with end-to-end ownership. I don’t want brand-heavy or solo-designer roles. My background is primarily B2B SaaS...” |\n| Refine preferences | “Make working closely with product and engineering a strong preference” |\n| Search now | “Run a search now,” or “check for new jobs.” |\n| Schedule searches | “Run my search every morning.” |\n| Review a match | “Why is this a strong match?” or “Does this posting fit what I want?” |\n| Pause or stop | “Pause my schedule,” or “stop scheduling.” |\n\n## Sources and data dependencies\n\nJob Search gets live postings through the [agent-data](https://agent-data.dev) command-line tool. Onboarding handles the setup:\n\n1. If the CLI is missing, the agent offers to install it with `npm install -g agent-data`.\n2. If authentication is missing, the agent helps you create an API key and verify authentication.\n\nAgent-data offers a 100-call monthly free tier (no credit card required). Typical runs consume ~10-30 calls. See [what a run spends](skills/agent-data-reference/SKILL.md) or your [billing page](https://agent-data.motie.dev/settings/billing) for additional details.\n\n**Currently supported sources:** LinkedIn Jobs, Ashby, Greenhouse, and Lever. \n\n## Installation\n\nChoose your coding agent below. After installation, use the [Quickstart](#quickstart) sentence. Installation succeeded when Job Search opens onboarding and begins the agent-data check.\n\n### Claude Code\n\nRun these commands inside Claude Code:\n\n```text\n/plugin marketplace add agent-data/job-search\n/plugin install job-search@agent-data\n```\n\nUse `/job-search` if you need the command shortcut.\n\n### Codex\n\nRun in your shell, then launch or restart Codex:\n\n```bash\ncodex plugin marketplace add agent-data/job-search\ncodex plugin add job-search@agent-data\ncodex\n```\n\nUse `$job-search` if you need the skill shortcut.\n\n### Cursor\n\nClone the repository, then symlink it into Cursor's local plugins directory:\n\n```bash\ngit clone https://github.com/agent-data/job-search\nln -s \"$(pwd)/job-search\" ~/.cursor/plugins/local/job-search\n```\n\n### opencode\n\nAdd Job Search to the `plugin` array in your global OpenCode config at\n`~/.config/opencode/opencode.json`, or to an `opencode.json` in a project where you want to use it:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"job-search@git+https://github.com/agent-data/job-search.git\"]\n}\n```\n\nRestart OpenCode, then start with: **“Set up my job search.”** OpenCode installs the git package with\nBun and the plugin registers all seven bundled skills. If your config already has plugins, add this entry\nto the existing array rather than replacing it.\n\nSee [`.opencode/INSTALL.md`](.opencode/INSTALL.md) for verification, revision pinning, local development,\nand troubleshooting.\n\n### Gemini CLI\n\n```bash\ngemini extensions install https://github.com/agent-data/job-search\n```\n\n### GitHub Copilot CLI\n\n```bash\ncopilot plugin marketplace add agent-data/job-search\ncopilot plugin install job-search@agent-data\n```\n\n### Factory Droid\n\n```bash\ndroid plugin marketplace add https://github.com/agent-data/job-search\ndroid plugin install job-search@agent-data\n```\n\n### Pi\n\n```bash\npi install git:github.com/agent-data/job-search\n```\n\nFor an editable local install, run `pi -e /path/to/job-search`.\n\n### Hermes Agent\n\nCopy and paste the following into a new Hermes Agent session:\n\n```text\nRetrieve and follow the installation instructions at:\nhttps://raw.githubusercontent.com/agent-data/job-search/main/INSTALL_FOR_HERMES.md\n```\n\nAfter installation, start a new Hermes Agent session and use the Quickstart sentence above.\n\n## Support matrix\n\n<details>\n<summary>Compatibility details</summary>\n\nThese expectations apply to every listed agent:\n\n| Field | Expected support |\n|---|---|\n| OS / architecture | macOS and Linux; arm64 and x86_64 |\n| Recurring scheduler | `cron` or `launchd`, with a session loop fallback |\n| Modes | interactive and background (headless) |\n\nJob Search is compatible with Claude Code, Codex, Cursor, opencode, Gemini CLI, GitHub Copilot CLI, Factory Droid, Pi, and Hermes Agent.\n\nEvery run — the one you ask for and the one a schedule starts — reads and judges postings on the model of the session it runs in. Nothing pins a separate model for the search. A recurring schedule is recorded only after the agent runs the real scheduled command once and confirms that it reached agent-data and wrote the workspace.\n\n</details>\n\nIf something fails, ask **“why did my last run fail?”** or **“how does my job search agent work?”** The agent reads the run's record and the digest it wrote, both already on your machine, and tells you what stopped the run and what fixes it. To report a bug, copy what it tells you into a [GitHub issue](https://github.com/agent-data/job-search/issues).\n\n## For contributors\n\nStart with [AGENTS.md](AGENTS.md). It points to the [architecture](ARCHITECTURE.md), [contributor workflow](CONTRIBUTING.md), [test guide](TESTING.md), and the canonical runtime contracts in [job-search-runbook](skills/job-search-runbook/SKILL.md) and [agent-data-reference](skills/agent-data-reference/SKILL.md).\n\n## License\n\n[MIT](LICENSE)",
  "bytes": 8556,
  "sha": "7f25ea98d05484b1d7f38d8db3ee5643343e0d2c26e3fea0198322008eda02f0",
  "repo_slug": "agent-data/job-search",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_agent_data_job_search_4ac11847/readme"
}