Get the FREE Ultimate OpenClaw Setup Guide →

Semantic Search Tips

Tom Lee·2026-03-17·5 min read

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.

When to Use Which Mode

SituationModeWhy
You know the exact tool nameKeywordFastest path to a known item
Browsing a category with tag filtersKeywordPaginated results with sorting options
Describing a problem to solveSemanticMatches intent, not just words
Exploring what exists for a use caseSemanticSurfaces tools you wouldn't find by guessing keywords
Looking for alternatives to a known toolSemanticFinds similar tools by capability, not name
Searching with a framework or languageEitherKeyword if it's in the name; semantic if you need conceptual matches

Writing Better Semantic Queries

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:

1. Describe the Outcome, Not the Tool

Instead ofTry
"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"

2. Use Natural Sentences

Semantic search understands language, not keyword fragments. Full sentences produce better embeddings.

Instead ofTry
"PR review security""a skill that reviews pull requests for security vulnerabilities"
"commit message""help me write better commit messages that follow conventional commits"

3. Include Context About Your Stack

Mentioning your framework or language narrows results to relevant tools.

Instead ofTry
"component rules""React TypeScript component conventions with functional components"
"API patterns""Next.js App Router API route conventions and error handling"

4. Be Specific About What You Want

Vague queries produce vague results. Specificity helps the embedding model zero in.

Instead ofTry
"testing""write unit tests for React components using Vitest and Testing Library"
"documentation""generate JSDoc comments for TypeScript functions"

5. Mention the Content Type

If you're looking for a specific type of item, say so.

Instead ofTry
"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"

Search Patterns That Work

Finding Skills by Use Case

Finding MCP Servers by Capability

Finding Cursor Rules by Framework

Combining Search with Filters

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.

Common Questions

Why do I only see 24 results in semantic mode?

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.

Does semantic search work on all pages?

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.

How are search results ranked?

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.

Next Steps

Explore more

Sponsor this space

Reach thousands of developers