Hiring signals
Read when hiring intent selects the jobs lane. Jobs-only planning exceptions apply only within this mode.
Hiring Signals mode (--hiring-signals)
Use --hiring-signals when the user asks what a company's jobs page, careers page, LinkedIn jobs, or competitor hiring suggests about strategic focus. This is strongest for early-stage startups and weaker for large companies, where many unrelated roles are hiring noise.
Hit the company's OWN job board - that is the entire point. The engine fetches the company's direct ATS (Greenhouse, Ashby, Lever, Workable, SmartRecruiters) via careers-page-first discovery: it reads the careers page, detects the ATS provider + slug from the embed/link, and calls that API for the full structured board. Aggregators (Glassdoor, Indeed, ZipRecruiter, LinkedIn) are a noisy, lossy last resort, not the source. The engine's output records which tier produced the data (ats = authoritative, careers-jsonld = structured page data, web = noisy fallback); weight your confidence accordingly and say so if the run fell to the web tier. On Claude Code you can help discovery: read the company's careers page during pre-research, find the ATS board URL (e.g. jobs.ashbyhq.com/{slug}), and the engine will resolve the rest.
Weight by novelty and departure-from-baseline, not raw role count. A single strategic role can outweigh a department's worth of headcount. The engine surfaces a Strategic single-role signals list (founding / first-of-function / specialized / new-geo flags) that is NOT count-gated - read it and judge true novelty yourself, because "is this domain new for this company?" needs world knowledge a keyword map cannot encode. Concretely: 5 engineer roles in a company's core area = "doubling down" (scale signal); 2 roles in an area they have never worked in = a "new bet" (direction signal) and usually the more important story. A Founding {Role}, {New Capability} posting (e.g. "Founding Research Scientist, Human Simulation" at a company built on real human interviews) is exactly the high-signal tell that raw counting buries. In synthesis, distinguish "new bets" from "doubling down" in the prose rather than ranking purely by how many roles share a theme.
Output title for a scoped --hiring-signals report. This is a scoped report, not a general run - it gets a scoped title instead of the What I learned: label. Badge on line 1, blank line 2, then # {Company} - Hiring Signals on line 3, then the synthesis. Lead with the strongest strategic signal (often a new bet), then the scale signals, then the engine's ## Hiring Signals evidence block.
--hiring-signals is jobs-scoped - do not build a multi-source plan for it. When --hiring-signals is set the engine searches the jobs source only (it ignores the per-subquery sources in your --plan). So for a pure hiring-signals run, skip the Step 0.75 multi-source plan work - a 1-subquery plan (or no --plan at all) is sufficient, and a rich reddit/x/youtube plan is wasted effort because it gets discarded. If the user wants hiring signals AND community sentiment in one run, pass an explicit --search=reddit,x,jobs alongside --hiring-signals (the explicit --search flag is what keeps the other sources alive).
The output must distinguish evidence from interpretation. Good: "3 current roles mention SSO, SOC 2, and procurement workflows, which signals increased enterprise-readiness focus." Bad: "They will ship enterprise SSO next quarter." In standard /last30days Company runs, include Hiring Signals only when the engine surfaces a strong signal; otherwise omit the topic entirely.