Claude Code Plugins

Community-maintained marketplace

Feedback

Perform vector similarity search using embeddings. Use when implementing semantic search, finding similar documents, or building recommendation systems. NOT needed for basic content aggregation or API integration.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name vector-search
description Perform vector similarity search using embeddings. Use when implementing semantic search, finding similar documents, or building recommendation systems. NOT needed for basic content aggregation or API integration.

Vector Search

Provides patterns for vector-based similarity search.

Embedding Generation

import requests
from typing import List

def get_embeddings(texts: List[str], api_url: str, api_key: str) -> List[List[float]]:
    """
    Generate embeddings for texts using embedding API.

    Returns list of embedding vectors.
    """
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    payload = {
        "model": "text-embedding-ada-002",
        "input": texts
    }

    response = requests.post(api_url, headers=headers, json=payload)
    response.raise_for_status()

    data = response.json()
    return [item["embedding"] for item in data["data"]]

Similarity Calculation

import math
from typing import List

def cosine_similarity(vec1: List[float], vec2: List[float]) -> float:
    """Calculate cosine similarity between two vectors."""
    dot_product = sum(a * b for a, b in zip(vec1, vec2))
    norm1 = math.sqrt(sum(a * a for a in vec1))
    norm2 = math.sqrt(sum(b * b for b in vec2))
    return dot_product / (norm1 * norm2) if norm1 and norm2 else 0

def find_similar(query_vec: List[float], vectors: List[List[float]],
                 top_k: int = 10) -> List[tuple]:
    """Find most similar vectors to query."""
    similarities = [
        (i, cosine_similarity(query_vec, vec))
        for i, vec in enumerate(vectors)
    ]
    return sorted(similarities, key=lambda x: x[1], reverse=True)[:top_k]

Note

Vector search is for advanced semantic similarity use cases. For basic aggregation tasks involving search APIs, use the search-api and content-aggregation skills instead.