# Jobs watch

Source: https://routineos.org/templates/jobs-watch

> Tracks public job postings for commerce and automation roles, links each role to its company, keeps dropped roles with a reason. Report-only first run.

Template: sales

# See which companies are hiring for the work you sell.

Jobs watch is a Claude routine that reads public job postings for commerce and automation roles, links each role to its company, and puts only the few that need a person in your Inbox. Each record can be checked against the posting it came from, which is what makes the AI lead generation usable.

[Get started](https://routineos.org/#start)[Install it](#install)

pilotedwatchsalesstarts report-only

At a glance

## AI lead generation from public job postings

Twice a week it searches each market for postings whose title matches a keyword of yours. It records every role and company it read, and writes a run record with what it claimed, what it parsed and what it dropped.

Roles outside your settings are not thrown away. They are kept and marked dropped with a reason, so you can see what your settings cut. Only the few roles that need a person today reach your Inbox.

**Kind**Watch

**Schedule**Monday and Thursday, 22:00 UTC

**First run**Report-only

**Needs**Web search and web fetch

**Maturity**Piloted: a real run checked it (per the catalog)

Safety

## What it never does

- Never sends, posts, pushes or deletes anything on its own. The first run is report-only.
- Never infers a salary, company size or market it did not see on the page.
- Never sends an intro note. It can draft one and wait for your approval. The approval expires after 48 hours, and nothing is sent from this routine.
- Never writes your settings. If a change looks right, it proposes one and you accept or reject it.
- Never follows instructions it finds inside a job page. Page text is treated as data.

The Desk

## What you get

The template comes with a Desk, one page where you see what the routine found, decide, and tune settings. It has two record types, Company and Role, and three views.

| View | Shows | Columns |
|---|---|---|
| New roles | Active roles, newest first seen at the top | Title, company, market, posted |
| Dropped by settings | Roles your settings cut, with the reason | Title, company, market, drop reason |
| Hiring companies | Companies, most often seen first | Name, industry, country, size |

The Inbox carries a match for a strong fit, an alert for a change at a company you starred, and a proposal when the routine suggests a setting change. Learning is on: it reads your keep, drop and reject decisions on the Desk. See [how a routine learns](https://routineos.org/concepts/learning).

Settings

## Keyword and market settings

| Setting | Default | What it does |
|---|---|---|
| Markets | AU, US, CA, NZ, PH | Each market adds at least one job board search per run. |
| Title keywords | Shopify, headless, commerce, AI automation | Each keyword adds a search per market. |
| Excluded companies | none | Roles from these domains are kept but marked dropped. |
| Excluded title words | none | Roles with one of these words in the title are kept but marked dropped. Learning suggests words you keep dropping. |
| Lookback days | 7 (1 to 30) | A longer window means more postings to compare. |
| Inbox messages per run | 5 (0 to 20) | Extra messages are counted, not sent. |

Under the hood

## Stages and search connectors

| Stage | Kind | What it does |
|---|---|---|
| Search postings | model | Searches each market for postings inside the lookback window whose title matches a keyword, and opens the ones it reports. |
| Record roles and companies | model | Records each role linked to its company and drafts the Inbox messages, inside your per-run limit. |
| Learn | code | Turns feedback on earlier runs into learning and proposals before the write. |
| Write | code | Applies the run under the write contract. |
| Approve an intro note | gate | You approve or decline by email. The gate times out after 48 hours. |

| Connector | Needed | Used for |
|---|---|---|
| Web search | Required | Find job postings by market and title keyword. If your Claude run already has web search, there is nothing to add. Check before the first run. |
| Web fetch | Required | Open each job page it reports. |
| Mail | Optional | Carry the approval email for an intro-note gate. Add it before you turn gated messages on. |

Install

## Install jobs watch

1. **Install the plugin**In Claude Code 2.1.275 or later. The command line tool needs Python 3.11 or later.

`/plugin install routineos --marketplace devkindhq/routineos`

2. **Install the pack**From a clone of the repository root. It writes a routine folder, prints what you must connect, runs nothing and connects nothing.

`python3 skills/routineos/scripts/routineos.py pack install catalog/jobs-watch.json --dir my-jobs-watch`

3. **Connect, publish, run once**Check the run has web search and web fetch, publish the Desk, and let the first run go. Nothing leaves the routine on the first run.

The [first routine guide](https://docs.routineos.org/guides/first-routine) walks this template to a first run, and [Install a pack](https://docs.routineos.org/templates/install) lists every refusal the installer can give.

Limits

## Known risks and limits

- Scheduling is a research preview and may change. See [honest limits](https://routineos.org/honest-limits).
- The routine reads only what a search and a page open can reach. If a market fails to load, the run is marked partial and says so.
- It reports what is on the page. If a page does not state a salary or a team size, the field stays empty.
- Roles outside your settings are hidden from New roles but kept in Dropped by settings. Check that view when you change a keyword.
- Other mail or chat apps may work for the approval email. Whether each offers the access needed is unverified.

Related

## Related templates and reading

 [

### Inbox triage

Labels new mail and drafts replies. Nothing is sent without your yes.

approval-gated
Open ](https://routineos.org/templates/inbox-triage) [

### How this routine is built

Jobs watch in full as a hybrid routine: the model reads, code applies the rules.

docs
Read ](https://docs.routineos.org/routine-kinds/hybrid) [

### How it learns

What the routine suggests after you keep, drop or reject what it found.

concept
Open ](https://routineos.org/concepts/learning)

More: [questions and answers](https://routineos.org/faq), [schedule a routine in Claude Code](https://routineos.org/learn/schedule-claude-code), [how RoutineOS maps to Rails](https://routineos.org/concepts/rails-map).

## Try it report-only first.

Install RoutineOS, add Jobs watch, and read one run before you decide what it may do next.

[Get started](https://routineos.org/#start)[Read the docs](https://docs.routineos.org)
