Step 1: Identify Query Type (+2)
Step 1: Identify Query Type
Classify the user's question to determine search strategy:
| Query Type |
Example |
Strategy |
| Decision |
"What did we decide about X?" |
Prioritize conversations (~~chat, email), look for conclusion signals |
| Status |
"What's the status of Project Y?" |
Prioritize recent activity, task trackers, status updates |
| Document |
"Where's the spec for Z?" |
Prioritize Drive, wiki, shared docs |
| Person |
"Who's working on X?" |
Search task assignments, message authors, doc collaborators |
| Factual |
"What's our policy on X?" |
Prioritize wiki, official docs, then confirmatory conversations |
| Temporal |
"When did X happen?" |
Search with broad date range, look for timestamps |
| Exploratory |
"What do we know about X?" |
Broad search across all sources, synthesize |
Step 2: Extract Search Components
From the query, extract:
- Keywords: Core terms that must appear in results
- Entities: People, projects, teams, tools (use memory system if available)
- Intent signals: Decision words, status words, temporal markers
- Constraints: Time ranges, source hints, author filters
- Negations: Things to exclude
Step 3: Generate Sub-Queries Per Source
For each available source, create one or more targeted queries:
Prefer semantic search for:
- Conceptual questions ("What do we think about...")
- Questions where exact keywords are unknown
- Exploratory queries
Prefer keyword search for:
- Known terms, project names, acronyms
- Exact phrases the user quoted
- Filter-heavy queries (from:, in:, after:)
Generate multiple query variants when the topic might be referred to differently:
User: "Kubernetes setup"
Queries: "Kubernetes", "k8s", "cluster", "container orchestration"
1---2name: search-strategy-step-1-identify-query-type3description: Sub-skill of search-strategy: Step 1: Identify Query Type (+2).4---56# Step 1: Identify Query Type (+2)78## Step 1: Identify Query Type91011Classify the user's question to determine search strategy:1213| Query Type | Example | Strategy |14|-----------|---------|----------|15| **Decision** | "What did we decide about X?" | Prioritize conversations (~~chat, email), look for conclusion signals |16| **Status** | "What's the status of Project Y?" | Prioritize recent activity, task trackers, status updates |17| **Document** | "Where's the spec for Z?" | Prioritize Drive, wiki, shared docs |18| **Person** | "Who's working on X?" | Search task assignments, message authors, doc collaborators |19| **Factual** | "What's our policy on X?" | Prioritize wiki, official docs, then confirmatory conversations |20| **Temporal** | "When did X happen?" | Search with broad date range, look for timestamps |21| **Exploratory** | "What do we know about X?" | Broad search across all sources, synthesize |222324## Step 2: Extract Search Components252627From the query, extract:2829- **Keywords**: Core terms that must appear in results30- **Entities**: People, projects, teams, tools (use memory system if available)31- **Intent signals**: Decision words, status words, temporal markers32- **Constraints**: Time ranges, source hints, author filters33- **Negations**: Things to exclude343536## Step 3: Generate Sub-Queries Per Source373839For each available source, create one or more targeted queries:4041**Prefer semantic search** for:42- Conceptual questions ("What do we think about...")43- Questions where exact keywords are unknown44- Exploratory queries4546**Prefer keyword search** for:47- Known terms, project names, acronyms48- Exact phrases the user quoted49- Filter-heavy queries (from:, in:, after:)5051**Generate multiple query variants** when the topic might be referred to differently:52```53User: "Kubernetes setup"54Queries: "Kubernetes", "k8s", "cluster", "container orchestration"55```