Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Query decomposition and multi-source search orchestration. Breaks natural language questions into targeted searches per source, translates queries into source-specific syntax, ranks results by relevance, and handles ambiguity and fallback strategies.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 8% | 0% |
> If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
The core intelligence behind enterprise search. Transforms a single natural language question into parallel, source-specific searches and produces ranked, deduplicated results.
Turn this:
"What did we decide about the API migration timeline?"Into targeted searches across every connected source:
~~chat: "API migration timeline decision" (semantic) + "API migration" in:#engineering after:2025-01-01
~~knowledge base: semantic search "API migration timeline decision"
~~project tracker: text search "API migration" in relevant workspaceThen synthesize the results into a single coherent answer.
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 |
From the query, extract:
For each available source, create one or more targeted queries:
Prefer semantic search for:
Prefer keyword search for:
Generate multiple query variants when the topic might be referred to differently:
User: "Kubernetes setup"
Queries: "Kubernetes", "k8s", "cluster", "container orchestration"Semantic search (natural language questions):
query: "What is the status of project aurora?"Keyword search:
query: "project aurora status update"
query: "aurora in:#engineering after:2025-01-15"
query: "from:<@UserID> aurora"Filter mapping: | Enterprise filter | ~~chat syntax | |------------------|--------------| | from:sarah | from:sarah or from:<@USERID> | | in:engineering | in:engineering | | after:2025-01-01 | after:2025-01-01 | | before:2025-02-01 | before:2025-02-01 | | type:thread | is:thread | | type:file | has:file |
Semantic search — Use for conceptual queries:
descriptive_query: "API migration timeline and decision rationale"Keyword search — Use for exact terms:
query: "API migration"
query: "\"API migration timeline\"" (exact phrase)Task search:
text: "API migration"
workspace: [workspace_id]
completed: false (for status queries)
assignee_any: "me" (for "my tasks" queries)Filter mapping: | Enterprise filter | ~~project tracker parameter | |------------------|----------------| | from:sarah | assignee_any or created_by_any | | after:2025-01-01 | modified_on_after: "2025-01-01" | | type:milestone | resource_subtype: "milestone" |
Score each result on these factors (weighted by query type):
| Factor | Weight (Decision) | Weight (Status) | Weight (Document) | Weight (Factual) | | ------------- | ----------------- | --------------- | ----------------- | ---------------- | | Keyword match | 0.3 | 0.2 | 0.4 | 0.3 | | Freshness | 0.3 | 0.4 | 0.2 | 0.1 | | Authority | 0.2 | 0.1 | 0.3 | 0.4 | | Completeness | 0.2 | 0.3 | 0.1 | 0.2 |
Depends on query type:
For factual/policy questions:
Wiki/Official docs > Shared documents > Email announcements > Chat messagesFor "what happened" / decision questions:
Meeting notes > Thread conclusions > Email confirmations > Chat messagesFor status questions:
Task tracker > Recent chat > Status docs > Email updatesWhen a query is ambiguous, prefer asking one focused clarifying question over guessing:
Ambiguous: "search for the migration"
→ "I found references to a few migrations. Are you looking for:
1. The database migration (Project Phoenix)
2. The cloud migration (AWS → GCP)
3. The email migration (Exchange → O365)"Only ask for clarification when:
Do NOT ask for clarification when:
When a source is unavailable or returns no results:
If initial queries return too few results:
Original: "PostgreSQL migration Q2 timeline decision"
Broader: "PostgreSQL migration"
Broader: "database migration"
Broadest: "migration"Remove constraints in this order:
Always execute searches across sources in parallel, never sequentially. The total search time should be roughly equal to the slowest single source, not the sum of all sources.
[User query]
↓ decompose
[~~chat query] [~~email query] [~~cloud storage query] [Wiki query] [~~project tracker query]
↓ ↓ ↓ ↓ ↓
(parallel execution)
↓
[Merge + Rank + Deduplicate]
↓
[Synthesized answer]Other measured skills in the registry, with their headline benchmark lift.