semble
Semantic code search using the Semble MCP server. Use when exploring an unfamiliar codebase, finding code by what it does rather than exact text, locating an implementation, understanding how a feature works, or discovering related code. Triggers on requests like "where is X handled", "find the code that does Y", "how does Z work", "search the codebase for", or any semantic/exploratory code question where grep's literal matching is a poor fit.
Best use case
semble is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Semantic code search using the Semble MCP server. Use when exploring an unfamiliar codebase, finding code by what it does rather than exact text, locating an implementation, understanding how a feature works, or discovering related code. Triggers on requests like "where is X handled", "find the code that does Y", "how does Z work", "search the codebase for", or any semantic/exploratory code question where grep's literal matching is a poor fit.
Teams using semble should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/semble/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How semble Compares
| Feature / Agent | semble | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Semantic code search using the Semble MCP server. Use when exploring an unfamiliar codebase, finding code by what it does rather than exact text, locating an implementation, understanding how a feature works, or discovering related code. Triggers on requests like "where is X handled", "find the code that does Y", "how does Z work", "search the codebase for", or any semantic/exploratory code question where grep's literal matching is a poor fit.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Semble - Semantic Code Search Semble finds code by **meaning**, not literal text. Describe what code does (or name a symbol) and Semble returns the most relevant chunks ranked by semantic similarity. It builds and caches an index automatically on first use and refreshes it when files change. Prefer Semble over Grep/Glob/Read for any exploratory or semantic question. Reserve grep for exhaustive literal matches or confirming an exact string. ## When to Use - **Exploring an unfamiliar codebase**: "where is authentication handled?", "how does the caching layer work?" - **Finding an implementation by intent**: "find the code that retries failed requests" — even when you don't know the function name. - **Locating a symbol**: search by an identifier like `save_pretrained` and let Semble surface every relevant usage and definition. - **Discovering related code**: given a known file and line, find structurally/semantically similar code elsewhere. ## How to Use This plugin provides the Semble MCP server, which exposes two tools. ### `mcp__semble__search` Find relevant code with a natural-language or code query. - `query` (required) — natural language or code, e.g. `"authentication flow"`, `"save model to disk"`, or a symbol like `save_pretrained`. - `repo` (optional) — the project root to index. When working in a local project, pass the absolute project root. For remote code, pass an explicit `https://` git URL. **Never guess or infer URLs.** - `top_k` (optional, default 5) — number of results to return. The index is built on first use and cached for the session; it refreshes automatically when files change. ### `mcp__semble__find_related` Find code semantically similar to a specific location — use after `search` to explore connected implementations or callers. - `file_path` (required) — use the `file_path` from a prior `search` result. - `line` (required) — 1-indexed line number from that result. - `repo` (optional) — same as above. - `top_k` (optional, default 5). ## Recommended Workflow 1. Start with `mcp__semble__search`, passing the project root as `repo`; the index builds and caches automatically. 2. Inspect full files (with `Read`) only when a returned chunk lacks enough context. 3. Use `mcp__semble__find_related` on a promising result to explore connected implementations. 4. Fall back to grep only for exhaustive literal matching. ## Important Notes - The MCP server runs via `uvx --from "semble[mcp]" semble`, so [`uv`](https://docs.astral.sh/uv/) must be installed. No API key is required. - The first search in a session indexes the repo (downloads a small embedding model on first ever run); subsequent searches are fast and refresh automatically when files change. - Content scope (code vs. docs/config) is fixed at server launch. By default Semble indexes code; append `--content docs`, `--content config`, or `--content all` to the server args to widen it.
Related Skills
use-zod
Answer questions about the Zod schema validation library and help build schemas, parsers, refinements, transforms, codecs, and error formatters. Use when developers: (1) ask about Zod APIs like `z.object`, `z.string`, `z.array`, `z.union`, `z.discriminatedUnion`, `parse`, `safeParse`, `z.infer`; (2) define request/response/form schemas in TypeScript; (3) handle `ZodError` or customize error messages; (4) migrate between Zod v3 and v4 (entry-point split, `formatError` → `treeifyError`/`prettifyError`, unified `error` param replacing `message`/`errorMap`). Triggers on: "zod", "z.object", "z.string", "z.array", "z.union", "z.infer", "z.input", "z.output", "ZodError", "$ZodError", "safeParse", "parseAsync", "z.codec", "treeifyError", "prettifyError", "flattenError", "discriminatedUnion", "zod/v4", "zod/v3", "zod/mini", "z.coerce", "superRefine".
workflow
Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.
wpds
Use when building UIs leveraging the WordPress Design System (WPDS) and its components, tokens, patterns, etc.
wp-wpcli-and-ops
Use when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export/import, plugin/theme/user/content management, cron, cache flushing, multisite, and scripting/automation with wp-cli.yml.
wp-rest-api
Use when building, extending, or debugging WordPress REST API endpoints/routes: register_rest_route, WP_REST_Controller/controller classes, schema/argument validation, permission_callback/authentication, response shaping, register_rest_field/register_meta, or exposing CPTs/taxonomies via show_in_rest.
wp-project-triage
Use when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a structured JSON report to guide workflows and guardrails.
wp-plugin-development
Use when developing WordPress plugins: architecture and hooks, activation/deactivation/uninstall, admin UI and Settings API, data storage, cron/tasks, security (nonces/capabilities/sanitization/escaping), and release packaging.
wp-playground
Use for WordPress Playground workflows: fast disposable WP instances in the browser or locally via @wp-playground/cli (server, run-blueprint, build-snapshot), auto-mounting plugins/themes, switching WP/PHP versions, blueprints, and debugging (Xdebug).
wp-phpstan
Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.
wp-performance
Use when investigating or improving WordPress performance (backend-only agent): profiling and measurement (WP-CLI profile/doctor, Server-Timing, Query Monitor via REST headers), database/query optimization, autoloaded options, object caching, cron, HTTP API calls, and safe verification.
wp-block-development
Use when developing WordPress (Gutenberg) blocks: block.json metadata, register_block_type(_from_metadata), attributes/serialization, supports, dynamic rendering (render.php/render_callback), deprecations/migrations, viewScript vs viewScriptModule, and @wordpress/scripts/@wordpress/create-block build and test workflows.
wp-abilities-api
Use when working with the WordPress Abilities API (wp_register_ability, wp_register_ability_category, /wp-json/wp-abilities/v1/*, @wordpress/abilities) including defining abilities, categories, meta, REST exposure, and permissions checks for clients.