A morning signal check on every target account, read by Claude Haiku
Every morning this open-source script checks each target company's job board, website and news for changes, names any buying signal with a quote and link, and ranks who to contact first. It never sends anything.
Paste this into ChatGPT, Claude or your agent tool. See the prompt
- Prospecting / Outbound
- intermediate
- SDR manager
- SDR / BDR
- Sales leader
- Founder
- Category
- Prospecting / Outbound
- Difficulty
- Intermediate
- Est. cost
- Sourced estimate: about $0.50 a day for 1,000 accounts at API list price, no extra cost on a Claude subscription
Works with
Problem
Vendor intent alerts fire for every competitor on the same list at the same time, and checking job boards and news by hand only covers a few dozen accounts a week. Reps end up emailing on stale or weak signals, or on accounts that do not fit.
Setup
A Python script, scheduled with cron for 7am, fetches each account's public Greenhouse, Lever or Ashby job board, four site pages (home, about, careers, pricing) and a week of headlines, and hashes them. Only pages that changed go to Claude Haiku 5.5, which returns the signal name, a quote, the date and the source link in a fixed JSON schema. Once a month Haiku also answers ten fit questions per account from the company's own pages. Plain code, not the model, then applies the ICP gate, signal age windows and a 100-point score, and writes a morning digest plus a CSV where every account is marked act, hold or suppress with a reason.
Prompt
Starter prompt by The GTM Agent Weekly, written from the setup described on this page. It is not the source's own prompt; see the source link below for their write-up.
# ROLE
You read changed public pages for one target account and report buying signals in a fixed
format. You do not score or rank; a separate step does that.
# INPUTS
- {{ACCOUNT}}: company name and domain.
- {{CHANGED_PAGES}}: only the pages that changed since the last run: job board postings,
home, about, careers, pricing, and recent headlines, each with URL and fetch date.
- {{SIGNAL_LIST}}: the signals we care about, with a definition each (e.g. hiring for a
role we sell to, new pricing tier, new leader, expansion, funding).
# TASK
For each signal in {{SIGNAL_LIST}} that the changed pages clearly show:
1. Name the signal.
2. Quote the exact text that shows it.
3. Give the date (posting or article date; else the fetch date, marked as such) and the URL.
# OUTPUT FORMAT (JSON array, empty if nothing)
[{"signal": "", "quote": "", "date": "", "date_type": "published|fetched", "url": ""}]
# GUARDRAILS
- Quote or it didn't happen. No signals inferred from vibes.
- Only signals from {{SIGNAL_LIST}}. Nothing else in the output.
- Your output feeds code that applies the ICP gate, signal age and scoring, then writes a
morning digest marking each account act, hold or suppress with a reason. Replace every {{PLACEHOLDER}} before running. Works with any capable LLM and runner.
Tools
Steps
- Clone the repository, install it and log Claude Code in with a Claude subscription, or add an API key to pay per token instead.
- Import a two-column CSV of company names and domains; the importer finds each company's public job board.
- Edit the config file with your ICP (industry, size, region and one must-have), buyer titles and how long each signal type stays fresh.
- Run it once to take a baseline, then schedule the daily run for 7am.
- Each morning, read the digest, click through to the quoted evidence and write the first message yourself from the opener fact.
- Before trusting it on your own list, hand-label about 100 page changes and run the included test that compares Haiku with a larger model.
Results
On a first run across 11 public companies, the author reports 21 signals for under 10 cents at API list price, with 6 companies dropped for being over the size limit before scoring. He estimates about 50 cents a day for 1,000 companies and says the first-run quality is his own judgment, not a measurement.
What goes wrong
Gotchas
- It does not find emails or phone numbers; the email column stays blank until you add an enrichment tool.
- Job titles missing from your sales keyword list get lower confidence; on day one it was unsure whether an Account Manager role counted as a sales hire.
- Day one has nothing to compare against, so page changes and reposts only show up from the second run.
- Companies that do not use Greenhouse, Lever or Ashby are watched only through their site pages and news.
- Everything it reads is public, so assume competitors see the same signal; the edge is acting that morning with a specific opener.
Get 5 like this every week, free.
Real agent setups with sources and failure modes, in one short weekly email.
Free. One email a week. Unsubscribe anytime.
Source and credit
Alex Vacca, Frontal · vendor
Source dated 2026-10-09 · last reviewed 2026-10-12. Summarized in our own words; see the source for details.