From enterprise-search
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/enterprise-search:search-strategyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).
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 workspace
Then 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 (Google Chat, Gmail), 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 |
| Brand | "What do we know about [brand]?" | Search brand directory, CRM, editorial archives, marketplace |
| Job market | "Job postings for [company]" | Search jobs dataset, employer CRM records, API integrations |
| Editorial | "Articles about [topic]" | Search editorial archives, GraphQL API, Drive |
| Catalog | "Products from [brand]" | Search marketplace dataset, product database, GraphQL API |
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 | Google 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)
File search:
path:src/components filename:Button
Code search:
language:typescript "interface Product"
repo:fashionunited/api "GraphQL schema"
README/doc search:
path:README.md OR path:docs "deployment"
Repository-specific searches for FashionUnited:
| Query Intent | Repository | Search Pattern |
|---|---|---|
| API endpoints | api | path:src filename:resolver OR schema |
| UI components | frontend | path:src/components |
| Data pipelines | integrations | path:feeds OR path:sync |
| Product schema | product-database | path:models OR schema |
| Deploy procedures | deploy | path:docs OR README |
| Company policies | about | path:handbook OR policies |
Task search:
text: "API migration"
is:issue is:open
assignee:username
label:priority-high
Filter mapping:
| Enterprise filter | GitHub syntax |
|---|---|
from:sarah | author:sarah or assignee:sarah |
after:2025-01-01 | created:>2025-01-01 |
type:milestone | milestone:"Milestone Name" |
status:open | is:open |
Dataset-specific queries for FashionUnited:
| Query Type | Dataset | Example Query |
|---|---|---|
| Editorial content | editorial | Articles, publication dates, authors |
| Job market | jobs | Job postings, employer data, market trends |
| Marketplace | marketplace | Product listings, brand catalogs |
| Traffic/analytics | analytics | Page views, engagement, traffic sources |
| Ad performance | advertising | Campaign metrics, impression data |
Query patterns:
-- Editorial archives
SELECT * FROM editorial.articles WHERE title LIKE '%sustainable fashion%'
-- Job posting history
SELECT * FROM jobs.postings WHERE company = 'Brand Name' AND posted_date > '2024-01-01'
-- Marketplace catalog
SELECT * FROM marketplace.products WHERE brand = 'Brand Name'
Record search:
module: Accounts, Contacts, Opportunities, Invoices
search: "Brand Name" OR "Company Name"
Filter mapping:
| Enterprise filter | Vtiger query |
|---|---|
type:account | module=Accounts |
type:contact | module=Contacts |
status:active | accountstatus=Active |
owner:username | assigned_user_id=username |
When the query mentions a brand name, search across multiple sources:
User: "What do we know about Gucci?"
1. ~~CRM: Search Accounts for "Gucci" (customer relationship, billing)
2. BigQuery/editorial: Search articles mentioning "Gucci" (news coverage)
3. BigQuery/marketplace: Search products from "Gucci" (catalog presence)
4. BigQuery/jobs: Search job postings from "Gucci" (employer data)
5. GraphQL API: Search brand directory for "Gucci" (official profile)
When the query is about jobs or employers:
User: "Design jobs in London this month"
1. BigQuery/jobs: Query postings WHERE category='design' AND location='London' AND posted_date > 30 days ago
2. ~~CRM: Check employer accounts in London with active subscriptions
3. GraphQL API: Real-time job search for design roles in London
When the query is about news, articles, or content:
User: "Coverage of Paris Fashion Week 2025"
1. BigQuery/editorial: Query articles WHERE topic='Paris Fashion Week' AND year=2025
2. GraphQL API: Full-text search for "Paris Fashion Week 2025"
3. ~~cloud storage: Check Drive for editorial calendars, photo archives
4. ~~chat: Search #editorial channel for PFW discussions
When the query is about products or catalog:
User: "Products from Zara in the women's category"
1. BigQuery/marketplace: Query products WHERE brand='Zara' AND category='women'
2. GitHub/product-database: Check product schema and feed specs
3. GraphQL API: Real-time product search
4. ~~CRM: Check Zara account status for catalog integration
Score each result on these factors (weighted by query type):
| Factor | Weight (Decision) | Weight (Status) | Weight (Document) | Weight (Factual) | Weight (Brand) |
|---|---|---|---|---|---|
| Keyword match | 0.3 | 0.2 | 0.4 | 0.3 | 0.4 |
| Freshness | 0.3 | 0.4 | 0.2 | 0.1 | 0.2 |
| Authority | 0.2 | 0.1 | 0.3 | 0.4 | 0.3 |
| Completeness | 0.2 | 0.3 | 0.1 | 0.2 | 0.1 |
Depends on query type:
For factual/policy questions:
Wiki/Official docs > Shared documents > Email announcements > Chat messages
For "what happened" / decision questions:
Meeting notes > Thread conclusions > Email confirmations > Chat messages
For status questions:
Task tracker > Recent chat > Status docs > Email updates
For brand/entity questions (FashionUnited specific):
CRM (official relationship) > Brand directory > Editorial coverage > Marketplace data > Chat mentions
For job market questions:
BigQuery jobs dataset > CRM employer records > API integrations > Email correspondence
When 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
[Google Chat query] [Gmail query] [Google Drive query] [GitHub query] [BigQuery query] [Vtiger query]
↓ ↓ ↓ ↓ ↓ ↓
(parallel execution)
↓
[Merge + Rank + Deduplicate]
↓
[Synthesized answer]
npx claudepluginhub fuww/knowledge-work-pluginsDecomposes natural language questions into type-specific sub-queries for multi-source search (chat, docs, trackers), translates to source syntax, ranks relevance, handles ambiguity.
Orchestrates deep research using Exa search API for lead generation, literature reviews, competitive analysis, and exhaustive searches.