---
name: search-strategy-protocol
source: https://app.decimal.ai/s/search-strategy-protocol@1/SKILL.md
source_sha256: 9204bae0505f
---

# Write the Search Down Before You Run It

Handed a research question, the base model reaches straight for the search box: it guesses a handful of keywords, runs them, and then decides what counts as relevant one result at a time as the list scrolls by. That search is invisible and un-reproducible — nobody (including the searcher, an hour later) can say what was actually queried, why a paper was kept or dropped, or how to run it again and get the same set. This skill enforces the step a trained searcher does first: turn the question into a *protocol* — a concept breakdown, an explicit boolean query, and inclusion/exclusion criteria written down *before* the first search — so the search is deliberate, complete, and re-runnable.

The protocol is the deliverable. You are not searching yet; you are designing the search so that when it runs it is reproducible and its scope is pre-committed, not decided on the fly.

## When to Activate

Activate when there is a research question and a search is about to happen:
- "I need to find studies on whether X affects Y" — before any query is typed.
- "How should I search PubMed / the web / this archive for evidence on Z?"
- "Help me put together a search for a literature review / systematic review / evidence scan."
- Any point where the next move is to query a database or search engine for sources on a question.

Do NOT activate to prioritize a list of hits already returned (that is source-triage), to judge how trustworthy sources already read are (evidence-grading), or to lay out the final answer (research-brief-structure).

## The Protocol (what the base skips by default)

Build these four parts in order and write them out. The first three define *what* you search; the fourth defines *what you keep*, and it is committed **before** you see any results.

1. **Break the question into concept blocks.** Decompose the question into its 2–4 core concepts — the independent ideas that must *all* be present in a relevant result. A useful default frame for an intervention/effect question is **PICO**: **P**opulation or problem, **I**ntervention or exposure, **C**omparison, **O**utcome — though not every question uses all four, and non-clinical questions map to their own concept set (e.g. *technology × task × outcome*). One concept per block. Getting the blocks right matters more than any single keyword: a missing concept makes the search too broad, a merged concept makes it un-tunable.

2. **Expand each concept into its search terms.** For each block, list the synonyms and variants a relevant document might actually use — alternate phrasings, spelling variants (behaviour/behavior), abbreviations and their expansions, brand vs generic names, broader and narrower terms. Where the database has a controlled vocabulary (e.g. **MeSH** subject headings in PubMed), name the heading alongside the free-text words, because the heading catches items indexed under it even when they use different wording. Thin expansion is the most common cause of a search that "finds nothing" — the evidence exists under a word you didn't list.

3. **Compose one boolean query.** Combine the blocks with the two boolean rules that make a search precise:
   - **OR within a concept** — join the synonyms in a block so any of them qualifies (`"heart attack" OR "myocardial infarction" OR MI`).
   - **AND across concepts** — join the blocks so a result must touch *every* concept.
   - Group each OR-set in parentheses before AND-ing, so precedence is unambiguous: `(A1 OR A2) AND (B1 OR B2)`.
   - Use phrase quotes for multi-word terms, truncation (`nurs*` → nurse/nurses/nursing) where the engine supports it, and **NOT** only sparingly — it silently drops relevant items that merely mention the excluded term.

4. **Write inclusion/exclusion criteria — before searching.** State the rules that decide whether a result is kept, committed up front so screening is consistent and not bent to the results you happen to see. Cover the axes that apply: **date range**, **language**, **study or source type** (e.g. peer-reviewed only; exclude opinion/blog), **population or scope**, **setting**, and any **hard exclusions**. Written first, these criteria make the same paper get the same keep/drop decision no matter when it's screened — and let a second person reproduce the screen.

Then record **where** you'll run it (which database/engine) and note that the query is meant to be **saved and re-run**, tuned by adding synonyms or tightening a concept — not retyped from memory.

## Why "Before" Is the Whole Point

Deciding relevance as results scroll by feels efficient but quietly biases the set toward whatever showed up first and whatever you expected to find. Criteria fixed in advance are the difference between a search you can defend and re-run and a pile of links you happened to click. If mid-search you discover the criteria were wrong, the move is to *revise the written protocol and re-run*, not to quietly start judging by a new rule.

## Output Shape

Produce the protocol as a written block, ready to run and to save:

```markdown
**Question:** [the question in one line]

**Concepts (PICO or concept set):**
- Concept 1 [P]: term, synonym, variant, [controlled-vocab heading]
- Concept 2 [I]: term, synonym, variant, [heading]
- Concept 3 [O]: term, synonym, variant

**Boolean query:**
(term1a OR term1b OR term1c)
AND (term2a OR term2b)
AND (term3a OR term3b)

**Inclusion:** date range; language; source/study types kept; population/scope
**Exclusion:** what is dropped and why

**Search in:** [database/engine] — save the query and re-run; tune by adding synonyms.
```

## Example

### Input
```text
I want to find out whether mindfulness meditation actually reduces anxiety in adults.
How should I search for the research?
```

### Expected Response

**Question:** Does mindfulness meditation reduce anxiety in adults?

**Concepts (PICO):**
- **P** (population): adult, adults, "grown adults" — exclude children/adolescents (see criteria)
- **I** (intervention): "mindfulness meditation" OR mindfulness OR MBSR OR "mindfulness-based stress reduction" OR "mindfulness-based cognitive therapy" OR MBCT — [MeSH: *Mindfulness*, *Meditation*]
- **O** (outcome): anxiety OR anxious OR "anxiety disorder" OR "state anxiety" — [MeSH: *Anxiety*]
- (Comparison left open — will accept controlled or waitlist comparators; not required in the query.)

**Boolean query:**
```
(mindfulness OR "mindfulness meditation" OR MBSR OR "mindfulness-based stress reduction" OR MBCT)
AND (anxiety OR anxious OR "anxiety disorder")
AND (adult OR adults)
```

**Inclusion:** peer-reviewed studies; last ~15 years; English; adult human participants; a mindfulness intervention with an anxiety outcome measured.
**Exclusion:** child/adolescent-only samples; non-anxiety outcomes only; opinion pieces, blogs, and non-peer-reviewed sources; animal studies.

**Search in:** PubMed first (use the MeSH headings above so indexed items are caught), then a general scholarly index for anything not indexed in PubMed. Save the query string; if the result set is thin, add synonyms to the intervention block before narrowing anything.

## Edge Cases

- **Vague question.** If the question is too broad to have clean concepts ("tell me about climate change"), say so and sharpen it into an answerable question with identifiable concepts *first* — you can't build a search for an unfocused question.
- **A concept has no good synonyms.** If a block is a single unambiguous term (a specific gene, a proper name), keep it as one term but still isolate it as its own AND-block so it can be tuned independently.
- **Too few results.** Loosen: add synonyms to the thinnest concept, drop the most restrictive block, or widen the date range — change the written protocol, don't just click around.
- **Too many results.** Tighten: add a concept block, prefer controlled-vocabulary headings over free text, restrict by date/type — and record the change.
- **No controlled vocabulary available** (general web search). Skip the MeSH step; lean harder on phrase quotes and synonym coverage, since there's no subject index to catch missed wording.
- **Criteria need to change mid-search.** Revise the written inclusion/exclusion and re-run from the top, rather than applying a new rule only to the results you haven't screened yet.

## Evaluation Criteria
A good execution of this skill should:
- [ ] Break the question into distinct concept blocks (PICO-style or an equivalent concept set) before writing any query
- [ ] Expand each concept with synonyms/variants (and a controlled-vocabulary heading where the database has one) rather than a single keyword
- [ ] Compose an explicit boolean query that ORs synonyms within a concept and ANDs across concepts, with grouped precedence
- [ ] Write inclusion and exclusion criteria up front, before searching, rather than screening ad hoc as results appear
- [ ] Present the result as a written, re-runnable protocol rather than immediately producing a final answer or a bare keyword list
