mongodb-search-and-ai
Skill2 starsChanged 12 days agoMITView on GitHub
Guides MongoDB users through implementing and optimizing Atlas Search (full-text), Vector Search (semantic), and Hybrid Search solutions。中文触发:MongoDB 文档库 集合 聚合管道 Atlas 性能优化 profiling 向量检索 全文检索。只管 Search、向量与混合检索的实现;写普通查询用 mongodb-natural-language-querying,调优索引用 mongodb-query-optimizer。
3 other projects use a version of this, 3 of them edited.
Adopted by
Most recently taken up by
- mongodb/agentsedited, first seen Nov 1, 2026
- PracticalSwan/agent-skillsedited, first seen Oct 19, 2026
- mongodb/agent-skillsedited, first seen Oct 13, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 3
- mongodb/agent-skills★ 19054% same
- PracticalSwan/agent-skills★ 2243% same
- mongodb/agents★ 1192% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository131 other files it gives its agents.
- agent-client-network-triageSkill
- architecture-designerSkill
- async-python-patternsSkill
- audit-ci-cost-leversSkill
- awesome-design-mdSkill
- byok-model-retrySkill
- cloudbase-wechat-integrationSkill
- concurrent-edit-attribution-checkSkill
- continuation-state-auditSkill
- counterexample-driven-plan-reviewSkill
- deliver-prdSkill
- desktop-update-push-triageSkill
- diagnose-github-actions-quotaSkill
- diagnose-windows-webview2-blank-windowSkill
- disk-junction-migrationSkill
- distinctive-design-systemsSkill
- dsh-session-format-debugSkill
- electron-app-stuck-spinner-triageSkill
- electron-asar-code-forensicsSkill
- electron-tray-icon-diagnosisSkill
- encrypted-office-visual-inspectionSkill
- frontend-design-ui-uxSkill
- frontend-developmentSkill
- game-designer-toolkitSkill
- game-numeric-designSkill
- github-acceleratorSkill
- global-config-smoke-runnerSkill
- goal-driven-executionSkill
- hid-device-protocol-probeSkill
- i-have-adhdSkill
- injected-context-slimmingSkill
- java-architectSkill
- java-qualitySkill
- kafka-best-practicesSkill
- large-sqlite-text-extractionSkill
- local-api-contractsSkill
- local-browser-e2eSkill
- local-db-migrationsSkill
- local-frontend-a11ySkill
- local-performance-evidenceSkill
- local-reverse-proxy-triageSkill
- local-rust-engineeringSkill
- local-spring-mybatisSkill
- mechanize-rule-into-hook-guardSkill
- memory-bank-divergence-repairSkill
- memory-entry-updateSkill
- merge-inbound-qoder-packageSkill
- minigame-dev-proSkill
- miniprogram-developmentSkill
- mongodb-atlas-stream-processingSkill
- mongodb-connectionSkill
- mongodb-mcp-setupSkill
- mongodb-natural-language-queryingSkill
- mongodb-query-optimizerSkill
- mongodb-schema-designSkill
- mysqlSkill
- nextjs-app-router-patternsSkill
- nginx-config-builderSkill
- nodejs-backend-patternsSkill
- oauth-login-failure-triageSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. 11 are common, 2 are distinctive, and 9 are very specific to this project.
11
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 16
Always inspect first: - Check existing indexes and schema before making recommendations
- Very specific: line 19
Handle read-only scenarios: - If you do not have access to create, update, or delete operation tools, you are in read-only mode.
- Very specific: line 27
Use list-databases and list-collections to understand available data
- Very specific: line 28
If the user mentions a collection, use collection-schema to inspect field structure
- Very specific: line 29
Use collection-indexes to see existing indexes
- Very specific: line 30
Use atlas-inspect-cluster to determine the cluster's MongoDB version
- Common: line 33
If the user's request is vague:
- Common: line 34
Ask clarifying questions about their needs
- Common: line 42
Do they need exact matching, fuzzy matching, or semantic similarity?
- Common: line 43
Do they need filters (price ranges, categories, dates)?
- Common: line 44
Do they need autocomplete/typeahead functionality?
- Common: line 45
Do they already generate vector embeddings, or do they want MongoDB to handle that automatically?
- Common: line 52
Use when users need:
- Common: line 66
No existing vector pipeline or embedding infrastructure
- Common: line 97
Ask what the user wants to name the index
- Very specific: line 99
Use MCP's create-index tool after approval
- Common: line 108
Ask the user to share their current query
- Very specific: line 111
Run the revised query with aggregate to validate the results
- Very specific: line 120
Use collection-schema to inspect available fields
- Very specific: line 127
Use collection-indexes to verify index exists
- Distinctive: line 128
If missing, explain index needs to be created first
- Distinctive: line 132
If context makes it obvious, confirm your assumption
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
MongoDB Search and AI Recommendations Skill
You are helping MongoDB users implement, optimize, and troubleshoot Atlas Search (lexical), Vector Search (semantic), and Hybrid Search (combined) solutions. Your goal is to understand their use case, recommend the appropriate search approach, and help them build effective indexes and queries.
Core Principles
- Understand before building - Validate the use case to ensure you recommend the right solution
- Always inspect first - Check existing indexes and schema before making recommendations
- Explain before executing - Describe what indexes will be created and require explicit approval
- Optimize for the use case - Different use cases require different index configurations and query patterns
- Handle read-only scenarios - If you do not have access to
create,update, ordeleteoperation tools, you are in read-only mode. Provide the complete index configuration JSON so the user can create it themselves, including via the Atlas UI. - Explain in accessible language - Describe technical concepts and map business requirements to technical implementations in terms the user can follow.
Workflow
1. Discovery Phase
Check the environment:
- Use
list-databasesandlist-collectionsto understand available data - If the user mentions a collection, use
collection-schemato inspect field structure - Use
collection-indexesto see existing indexes - Use
atlas-inspect-clusterto determine the cluster's MongoDB version
Understand the use case: If the user's request is vague:
- Ask clarifying questions about their needs
- Infer likely collection and fields from schema
- Confirm understanding before proceeding
Common questions to ask:
- What are users searching for? (products, movies, documents, etc.)
- What fields contain the searchable content?
- Are they searching by free text, or by similarity to an existing item (e.g. "given movie A, find similar movies")?
- Do they need exact matching, fuzzy matching, or semantic similarity?
- Do they need filters (price ranges, categories, dates)?
- Do they need autocomplete/typeahead functionality?
- Do they already generate vector embeddings, or do they want MongoDB to handle that automatically?
2. Determine Search Type and Consult the Reference File
Match the use case to a search type below, then consult the linked reference file before recommending indexes or queries. Each reference file also documents the prerequisites you must verify first (cluster tier, MongoDB version, deployment requirements).
Atlas Search (Lexical/Full-Text): Use when users need:
- Keyword matching with relevance scoring
- Fuzzy matching for typo tolerance
- Autocomplete/typeahead
- Faceted search with filters
- Language-specific text analysis
- Token-based search
- Lexical search with views
→ Consult both references/lexical-search-indexing.md (index) and references/lexical-search-querying.md (query).
Automated Embedding (Semantic search, no embedding code): Use when users need:
- Semantic / vector search without writing embedding code
- No existing vector pipeline or embedding infrastructure
- Quick setup: MongoDB auto-generates and manages embeddings using Voyage AI models
- Text data already stored in Atlas that they want to search by meaning
- RAG or AI agent memory with minimal setup
→ Consult references/automated-embedding.md and verify its cluster prerequisites (tier, deployment, auto-scaling) before creating the index or query.
Vector Search (Semantic, bring your own embeddings): Use when users need:
- Semantic similarity with their own pre-generated embeddings
- A specific embedding model not provided by Voyage AI
- Image, audio, or multimodal embeddings (Automated Embedding is text-only)
- Self-managed MongoDB without Voyage AI API key configured
- Vector search with views
→ Consult references/vector-search.md.
Hybrid Search: Use when users need:
- Combining multiple search approaches (e.g., vector + lexical, multiple text searches)
- Queries like "find action movies similar to 'epic space battles'" (combining keyword filtering with semantic similarity)
- Results that factor in multiple relevance criteria
- Uses
$rankFusion(rank-based) or$scoreFusion(score-based) to merge pipelines
→ Consult references/hybrid-search.md and verify its version requirements before building (also consult the lexical/vector files for the individual pipeline stages).
3. Execution and Validation
Creating indexes:
- Explain the index configuration in plain language
- Show the JSON structure
- Ask what the user wants to name the index
- Get explicit approval: "Should I create this index?"
- Use MCP's
create-indextool after approval - In read-only mode, provide the complete index JSON for creation via the Atlas UI
Running queries:
- Show the aggregation pipeline
- Execute using MCP's
aggregatetool - Present results clearly
Refining existing queries:
- Ask the user to share their current query
- Compare against the query patterns and best practices in the relevant reference file(s)
- Propose specific improvements with before/after examples
- Run the revised query with
aggregateto validate the results
Anti-Patterns to Avoid
NEVER recommend $regex or $text for search use cases. Both lack the relevance scoring, fuzzy matching, and language-aware tokenization that search workloads need. If a user asks for either, explain why Atlas Search is more appropriate and show the equivalent pattern.
Handling Edge Cases
User mentions fields you can't find:
- Use
collection-schemato inspect available fields - Suggest alternatives or ask for clarification
Required field doesn't exist:
- Explain what needs to be added and how (e.g., embedding field for vector search)
Query fails or index missing:
- Use
collection-indexesto verify index exists - If missing, explain index needs to be created first
Multiple collections are relevant:
- List options and ask which one they mean
- If context makes it obvious, confirm your assumption
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

