Machina has two search modes: keyword search and AI-powered semantic search. Keyword search matches the literal text you type. Semantic search matches the meaning behind your query — so "database connection tool" can find a "PostgreSQL MCP server" even though the words don't overlap.
You toggle between modes using the sparkles button next to the search bar. This guide shows you how to get the best results from each mode.
Keyword search scans skill names, descriptions, slugs, and organization names for exact text matches. It's fast, paginated, and sorted by popularity (stars). Use it when you know what you're looking for by name.
Semantic search converts your query into a vector embedding (using OpenAI's text-embedding-3-small model) and compares it against pre-computed embeddings of every skill, rule, and MCP server in the directory. Results are ranked by cosine similarity — how close your query's meaning is to each item's content. It returns the top 24 most relevant results.
For skills specifically, Machina uses a hybrid approach: keyword matches (sorted by stars) appear first, followed by semantic matches (sorted by relevance). This gives you the best of both worlds — popular exact matches at the top, with semantically related discoveries below.
| Situation | Mode | Why |
|---|---|---|
| You know the exact tool name | Keyword | Fastest path to a known item |
| Browsing a category with tag filters | Keyword | Paginated results with sorting options |
| Describing a problem to solve | Semantic | Matches intent, not just words |
| Exploring what exists for a use case | Semantic | Surfaces tools you wouldn't find by guessing keywords |
| Looking for alternatives to a known tool | Semantic | Finds similar tools by capability, not name |
| Searching with a framework or language | Either | Keyword if it's in the name; semantic if you need conceptual matches |
Semantic search works best when you describe what you need, not what you think it might be called. Here are five patterns that produce better results:
| Instead of | Try |
|---|---|
| "linter" | "check my code for style issues and fix them automatically" |
| "deploy" | "skill that deploys my app to Vercel on every push" |
| "postgres" | "connect my AI agent to a PostgreSQL database and run queries" |
Semantic search understands language, not keyword fragments. Full sentences produce better embeddings.
| Instead of | Try |
|---|---|
| "PR review security" | "a skill that reviews pull requests for security vulnerabilities" |
| "commit message" | "help me write better commit messages that follow conventional commits" |
Mentioning your framework or language narrows results to relevant tools.
| Instead of | Try |
|---|---|
| "component rules" | "React TypeScript component conventions with functional components" |
| "API patterns" | "Next.js App Router API route conventions and error handling" |
Vague queries produce vague results. Specificity helps the embedding model zero in.
| Instead of | Try |
|---|---|
| "testing" | "write unit tests for React components using Vitest and Testing Library" |
| "documentation" | "generate JSDoc comments for TypeScript functions" |
If you're looking for a specific type of item, say so.
| Instead of | Try |
|---|---|
| "GitHub integration" | "MCP server that connects to GitHub for creating PRs and managing issues" |
| "code style" | "cursor rule for enforcing consistent code style in a TypeScript project" |
Semantic search works alongside tag filters. On the skills, rules, and MCP pages, you can select a tag (like react, security, or devops) and then run a semantic query within that category. This narrows the search space and produces more focused results.
Note that semantic search returns a maximum of 24 results without pagination. If you don't find what you need in the first results, try refining your query or switching to keyword search with different filters for broader browsing.
Semantic search ranks results by relevance (cosine similarity) and returns the top 24. Unlike keyword search, which paginates through all matches, semantic search focuses on the most relevant results. If 24 isn't enough, refine your query to be more specific, or switch to keyword mode for broader browsing with pagination.
Yes — semantic search is available on the skills, rules, and MCP servers pages, as well as the homepage search. Toggle the sparkles button to switch modes on any of these pages.
In keyword mode, results are sorted by the option you choose (trending, popular, recent, or alphabetical). In semantic mode, results are ranked by vector similarity — how closely the meaning of your query matches each item's name, description, content, and tags. For skills, keyword matches appear first (sorted by stars), followed by semantic matches.