← all playbooks

Build Boolean and X-ray search strings from a job spec

A set of ready-to-paste search strings for one role: a Boolean version for LinkedIn and your ATS, a site: X-ray version for Google, the title, skill and exclusion blocks listed separately, and the order in which to loosen them when a search comes back empty.

use when
you have a spec and want search strings you can paste into LinkedIn, Google or your ATS, without hand-typing forty title variants
starts from
A job spec

The prompt

Paste it into Claude Code or the Claude desktop app with Hyreflow connected. The first line tells your agent to use Hyreflow, so it reads the play, asks before it spends anything, and hands the work back to you.

paste this into Claude
Use hyreflow and turn this job spec into Boolean and X-ray search strings I
can paste myself.

<PASTE THE SPEC, OR GIVE A FILE PATH / URL>

Market: <COUNTRY_OR_REGION>. Language of the profiles: <LANGUAGES>.
I will paste into: <LINKEDIN_GOOGLE_OR_ATS_NAME>.

What I want back:
- A title block with the real variants: abbreviations, other names for the
  same job, regional spellings, and both gendered forms where the language
  has them.
- The must-have skills as groups, OR inside a group and AND between them.
  Must-haves only. Leave the nice-to-haves out.
- An exclusion block for the noise you expect: <KNOWN_NOISE_TO_EXCLUDE>.
- One Boolean string, one site:linkedin.com/in X-ray string, and the order
  to loosen them in if I get nothing.

Do not run anything and do not spend anything. If I later ask you to run a
string, run five results first and tell me what the full run costs before
you do the rest.

Replace every <PLACEHOLDER> with your own detail. Everything else can stay as written.

What you need first

  • The job spec, as a file, a link, or pasted text
  • The market and language you are searching in
  • Where you will paste the strings: LinkedIn, Google, your ATS, or all three

Tools it can reach for

The agent picks per step from what your workspace has. Nothing here is required by name.

What happens when you run it

Free steps are marked free. Anything that spends credits is marked, and the agent asks before the first paid run of any size.

  1. 1

    Read the spec

    free

    The role is split into the four blocks a clean string needs: the titles people really carry, the must-have skills, the seniority, and the predictable noise. Nice-to-haves are set aside, because every extra AND term shrinks the result.

  2. 2

    Expand the title block

    free

    One literal title is the most common miss. The block gets abbreviations and full words, other names for the same job, regional spellings, and the full gendered forms in languages that have them, written out in full because some tools will not match a word stem.

  3. 3

    Group the must-have skills

    free

    Concrete tools, methods and certificates, grouped so that alternatives sit inside one OR group and separate requirements are joined with AND. Every OR group is wrapped in brackets, so the string reads the same way in every tool.

  4. 4

    Write the exclusions

    free

    Recruiters and agency staff, students and interns unless you want them, and industries that share a job title with yours. Exclusions are kept as their own block, so you can add them once you have seen what the first search returns.

  5. 5

    Assemble a string per destination

    free

    A Boolean version for LinkedIn and your ATS, and an X-ray version that opens with site:linkedin.com/in and carries the location as a quoted phrase. For engineering roles a site:github.com version is added.

  6. 6

    Hand over the loosening order

    free

    A string is a hypothesis. You get the order to relax it in when it returns nothing: widen the titles first, then drop the rarest skill, and only then change the market.

  7. 7

    Run it, only if you ask

    credits

    The X-ray string can be run as a Google search, charged per search even when it finds nothing. The Boolean blocks can be mapped onto a people search across the databases, which is a paid search. Either way the agent prices it and asks first.

What a run costs

Credits are spent per candidate the play actually works, and a lookup that finds nothing usually costs nothing. The two figures are the run where the first provider answers and the run where every lookup walks its full chain.

candidatesif the first provider answersif every lookup walks the chain
25under $11.6 creditsunder $11.6 credits
100under $15.3 creditsunder $15.3 credits
500$2.525 credits$2.525 credits
1,000$550 credits$550 credits

Free before anything is charged

  • Read the spec
  • Expand the title block
  • Group the must-have skills
  • Write the exclusions
  • Assemble a string per destination
  • Hand over the loosening order

What moves the number

  • Coverage on people search. The chain stops at the first provider that answers, and only that provider bills.
  • How many candidates survive the free filters. Everything dropped before the paid steps costs nothing.
  • Providers you connect with your own key. Those calls bill your account, not your credits.

An estimate, not a quote, priced at the volume credit rate. Your agent sizes the run against your own workspace and tells you what it will cost before it spends anything.

The string is where you decide who you are looking for

A Boolean string is the most compact way a recruiter has of saying who they want. Writing one forces the decisions a vague search lets you skip: which titles count, which skills are truly required, who to keep out. Most strings fail on the first of those. Someone searches for one literal title, and the people who hold the same job under another name never appear.

The craft is not hard. It is slow, and easy to get subtly wrong. A missing bracket changes what an OR applies to. A title typed in one language misses part of a bilingual market. A feminine job title left out removes people from the pool without anyone noticing. This play does the slow part from the spec and hands you strings you can read, edit and paste yourself.

It spends nothing. You run the strings in the tools you already have.

What you get back

One document for the role. The title block with every variant. The skill groups. The exclusion block. A Boolean string built from the three, an X-ray string that opens with site:linkedin.com/in, and a version for site:github.com where the role is an engineering one. Then the loosening order, so a search that returns nothing has a next move.

Each block is listed on its own as well as inside the string, because you will want to swap a title or drop a skill without rebuilding the whole thing.

Variations worth knowing

Two markets, two strings. A role searched in two countries gets a title block per language. One merged string is hard to read and harder to debug.

A string per seniority. Asking for the level below the vacancy as its own string finds people ready to step up, without muddying the main search.

Have it run for you. If you would sooner have results than strings, turn a job spec into a ranked shortlist uses the same blocks as a people search, reads the real work history and ranks what comes back.

Where this goes wrong

Over-constraining the first pass. Five AND groups and a seniority filter return nobody. Start with titles and the core skill, look at the count, then tighten.

Keyword soup in an X-ray. Without site: and quoted phrases, a web search returns articles and job ads. Profiles come back when the string is strict.

Treating X-ray hits as a list. A public profile page carries no verified contact details, and the title on it may be out of date. The hits are leads to check.

Soft skills as search terms. "Stakeholder management" appears on every profile and separates nobody. Tools, methods and certificates do the separating.

The wrong country on a run. A web search run through Hyreflow returns US English results unless the country and language are set. For any other market, say where you are searching before a string is run.

Questions

Does building the strings cost anything?

No. Writing strings is reasoning, and no provider is called. Credits are only spent if you ask for a string to be run, and that is quoted and approved separately.

Why does it add gendered job titles? Is that not filtering on gender?

It is the opposite. In German and many other languages a job title has a masculine and a feminine form, and a search for one form silently misses everyone who uses the other. Both forms go in so the search finds everyone who holds the job. Nobody is ever filtered or scored on gender, age or any other protected characteristic.

Can I paste the same string everywhere?

Mostly, with care. AND, OR, NOT, quotes and brackets are widely understood. Wildcards are not, so the strings do not rely on them unless you say your ATS handles them. The X-ray version is written for a search engine and belongs in Google. It does not belong in LinkedIn's own search box.

What happens if I ask for a string to be run?

The X-ray version runs as a web search with the country and language set for your market, and the hits are public profile links to verify, not a finished list. The Boolean version is not pasted into a database. It is broken down into titles, skills, seniority and location and run as a people search, with exclusions applied to the results afterwards. That search starts with one database and widens to the others when you ask for more coverage. The lemlist database and Apollo are only searched on your own connected accounts.

Is a good string enough to build a shortlist?

No. A string defines who you are looking for. It does not tell you who is good. The shortlist is what is left after real work history has been read against the must-haves, and that is a different play.