L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

search-strategy

search-strategy

Plan and execute a multi-source search strategy for complex queries that require searching across multiple enterprise tools with different query syntaxes, filters, and relevance models. Decomposes broad questions into targeted sub-queries and merges results into a ranked answer set. TRIGGER when: user asks to plan a search, needs help finding something comp…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: search-strategy description: > Plan and execute a multi-source search strategy for complex queries that require searching across multiple enterprise tools with different query syntaxes, filters, and relevance models. Decomposes broad questions into targeted sub-queries and merges results into a ranked answer set. TRIGGER when: user asks to plan a search, needs help finding something complex, wants a search strategy, asks "how should I search for X", or has a multi-faceted research question. argument-hint: " [--sources SOURCE1,SOURCE2]" user-invocable: true

Multi-Source Search Strategy

Plan, execute, and refine search strategies for complex enterprise queries that span multiple tools and require iterative refinement.

Strategy Planning Process

Step 1: Analyze the Query

Break down the user's question into searchable components:

ComponentDescriptionExample
Core conceptsPrimary topics or entities"authentication", "SSO"
QualifiersNarrowing attributes"for mobile app", "in Q3"
Entity typesPeople, projects, teams, dates"by security team", "Project X"
IntentWhat the user actually needsDecision history, how-to, status
Time constraintsRecency requirements"last month", "current"

Step 2: Select Target Sources

Evaluate which sources are most likely to contain relevant results:

Source TypeBest ForQuery Style
EmailDecisions, approvals, external communicationPeople + topic
Chat / SlackQuick decisions, links, informal contextChannel + keywords
DocumentsSpecs, proposals, formal write-upsTitle + content
WikiProcesses, architecture, onboarding, policiesTopic + category
Tickets / IssuesImplementation details, bugs, requirementsLabels + text
CodeTechnical implementation, comments, configsSymbol + file path
CalendarMeeting context, attendees, schedulingPeople + date range

Source selection matrix:

Query IntentPrimary SourcesSecondary Sources
"How does X work?"Wiki, Docs, CodeTickets, Chat
"What was decided?"Email, Chat, DocsTickets, Wiki
"Who is responsible?"Tickets, Wiki, ChatEmail, Calendar
"What is the status?"Tickets, Chat, EmailDocs, Calendar
"When did X happen?"Email, Chat, TicketsDocs, Calendar
"Why was X done?"Email, Chat, DocsTickets, Code

Step 3: Formulate Sub-Queries

Transform the original query into source-specific sub-queries:

Original: "Why did we switch from Redis to DynamoDB for session storage?"

Sub-queries:
1. Wiki     → "session storage" OR "DynamoDB" OR "Redis migration"
2. Docs     → "session" AND ("DynamoDB" OR "Redis") — type:proposal OR type:design-doc
3. Email    → "session storage" OR "Redis replacement" — from:engineering-leads
4. Chat     → "DynamoDB sessions" OR "Redis sessions" — channels:#backend,#architecture
5. Tickets  → labels:infrastructure "session" AND ("Redis" OR "DynamoDB")
6. Code     → path:*session* OR path:*config* "dynamodb" — recent commits

Step 4: Define Execution Plan

# Search Execution Plan

## Query: [original query]
## Decomposition:
- Concept A: [term variations and synonyms]
- Concept B: [term variations and synonyms]
- Filter: [time range, people, teams]

## Execution Order:
1. [High-priority source] — [specific query] — Expected: [what we hope to find]
2. [Medium-priority source] — [specific query] — Expected: [what we hope to find]
3. [Lower-priority source] — [specific query] — Expected: [what we hope to find]

## Refinement Triggers:
- If Step 1 finds [X], narrow Step 2 to [Y]
- If Step 1 finds nothing, broaden Step 2 to [Z]
- If conflicting results, add Step 4: [verification query]

Step 5: Execute and Merge Results

Result Ranking Framework

Score each result on four dimensions:

DimensionWeightCriteria
Relevance40%How directly it answers the query
Authority25%Source reliability, author expertise, formality level
Recency20%How current the information is
Uniqueness15%Does it add information not found in other results

Composite score: (Relevance * 0.4) + (Authority * 0.25) + (Recency * 0.2) + (Uniqueness * 0.15)

Output Format

# Search Strategy Report
Query: [original question]
Sources searched: [N] | Results found: [N] | Top results: [N]

## Search Plan Executed
| Step | Source   | Query Used                    | Results |
|------|----------|-------------------------------|---------|
| 1    | [Source] | [query]                       | [N]     |
| 2    | [Source] | [query]                       | [N]     |

## Top Results (Ranked)
### 1. [Result Title] — [Source] — Score: [X/10]
- **Relevance**: [why this matches]
- **Key excerpt**: "[relevant quote]"
- **Date**: [date] | **Author**: [author]

### 2. [Result Title] — [Source] — Score: [X/10]
- **Relevance**: [why this matches]
- **Key excerpt**: "[relevant quote]"
- **Date**: [date] | **Author**: [author]

## Answer Summary
[Synthesized answer based on top results]

## Search Refinement Suggestions
- To find more: try [broader query suggestion]
- To narrow down: add [filter suggestion]
- Unexplored sources: [sources not yet queried and why they might help]

Query Optimization Techniques

TechniqueWhen to UseExample
Synonym expansionInitial search yields few results"auth" → "authentication", "login"
Phrase matchingToo many irrelevant results"session storage" (exact phrase)
Author filteringKnown domain experts existfrom:jane.doe OR from:john.smith
Date narrowingTopic changed over timeafter:2025-01-01
Negative filteringKnown false positivesNOT "session recording"
Channel scopingKnown relevant channelsin:#backend-eng
Label/tag filteringStructured metadata availablelabel:architecture, tag:approved

Iterative Refinement

After initial results, determine if refinement is needed:

  • Too many results (>50): Add filters, use phrase matching, narrow date range
  • Too few results (<3): Expand synonyms, broaden date range, add sources
  • Wrong results: Analyze why results are off-topic, add negative filters
  • Partial answer: Identify the gap and formulate a targeted follow-up query

Edge Cases

  • Ambiguous queries: Ask the user to clarify before executing; present 2-3 interpretations
  • No results anywhere: Suggest the information may not exist in connected sources; recommend who to ask
  • Cross-language content: Note if sources contain content in multiple languages; expand queries accordingly
  • Acronyms and jargon: Expand acronyms in queries and search for both forms
  • Stale indexes: If a source's index is known to be delayed, warn about potential missing recent items

Quality Checklist

  • Query decomposed into at least 2 sub-queries
  • At least 3 sources considered
  • Results ranked by composite score
  • Conflicting information flagged
  • Knowledge gaps identified
  • Refinement suggestions provided
Skills enregistrées