skills/lev-os/agents/lev-index

lev-index

SKILL.md

lev-index - Vector Index Management

Overview

lev index manages LEANN-powered vector indexes for semantic search. LEANN achieves 97% storage reduction through graph-based selective recomputation while maintaining high search quality.

When to Use

Use lev index when:

  • Building indexes - Creating searchable indexes from code or docs
  • Updating indexes - Adding new content to existing indexes
  • Checking status - Verifying index health and coverage
  • Direct semantic search - Querying a specific index

Use lev get instead when:

  • Cross-index search - Searching across multiple indexes with fusion
  • Auto-routed queries - Let the system pick relevant indexes

MCP Commands

The index service exposes 4 MCP tools:

Tool Purpose
index:search Semantic search over indexed content
index:add Add text content to the index
index:build Build index from a directory
index:status Get index status and health

Basic Usage

Build an Index

# Build index from directory
lev index build ~/Documents/codebase my-index

# Build with specific embedding model
lev index build ~/lev/docs documentation --model sentence-transformers

Search an Index

# Basic semantic search
lev index search "authentication patterns" --index my-index

# With result limit
lev index search "error handling" --index codebase --top-k 10

Add Content

# Add a file to existing index
lev index add "path/to/file.md" --index documentation

# Add text content directly
lev index add --text "Important context about auth" --index notes

Check Status

# Get index health and stats
lev index status --index my-index

# List all indexes
lev index status --all

Index Locations

Index Content Path
codebase Source code ~/.config/lev/indexes/ck/codebase.index
documentation Docs, ADRs ~/.config/lev/indexes/leann/documentation.leann
ideas Ideas collection ~/.config/lev/indexes/leann/ideas.leann
_global Everything ~/.config/lev/indexes/leann/_global.leann

JavaScript SDK

import { VectorIndexClient } from '@lev/index';

const client = new VectorIndexClient('localhost:50052');
await client.connect();

// Build an index
await client.build('~/Documents/codebase', 'my-index');

// Search
const results = await client.search('authentication patterns', {
  indexName: 'my-index',
  topK: 5
});

// Add content
await client.add('New content to index', {
  indexName: 'my-index',
  metadata: { source: 'manual', date: new Date() }
});

client.close();

Service Architecture

core/index/
├── python/
│   └── server.py          # gRPC server (port :50052)
├── src/
│   └── commands/          # MCP commands
│       ├── search.js
│       ├── add.js
│       ├── build.js
│       └── status.js
└── vendor/
    └── leann/             # LEANN library

Port Allocation

Service Port
Memory (Graphiti) 50051
Index (LEANN) 50052

Index Maintenance

When to Rebuild

  • After major codebase changes
  • When search quality degrades
  • After adding significant new content

Incremental Updates

# Add new files without full rebuild
lev index add new-file.md --index documentation

Full Rebuild

# Clear and rebuild from scratch
lev index build ~/lev/docs documentation --clear

Configuration

Environment Variable Default Description
LEV_INDEX_PATH ~/.config/lev/indexes Base directory for index storage

Troubleshooting

Index Not Found

# Check available indexes
lev index status --all

# Rebuild if missing
lev index build <path> <name>

Stale Results

# Check index freshness
lev index status --index <name>

# Update with new content
lev index add <new-files> --index <name>

Service Not Running

# Start the gRPC server
cd core/index/python && python server.py --port 50052

Quick Reference

Command Purpose
lev index build <path> <name> Create index from directory
lev index search "query" --index X Semantic search
lev index add <file> --index X Add content to index
lev index status --index X Check index health
lev index status --all List all indexes

Relates

Master Router

  • Lev Master Router (lev/SKILL.md) - Routes all lev-* skills Parent skill that dispatches to this skill based on keywords/context

Technique Map

  • Role definition - Clarifies operating scope and prevents ambiguous execution.
  • Context enrichment - Captures required inputs before actions.
  • Output structuring - Standardizes deliverables for consistent reuse.
  • Step-by-step workflow - Reduces errors by making execution order explicit.
  • Edge-case handling - Documents safe fallbacks when assumptions fail.

Technique Notes

These techniques improve reliability by making intent, inputs, outputs, and fallback paths explicit. Keep this section concise and additive so existing domain guidance remains primary.

Prompt Architect Overlay

Role Definition

You are the prompt-architect-enhanced specialist for lev-index, responsible for deterministic execution of this skill's guidance while preserving existing workflow and constraints.

Input Contract

  • Required: clear user intent and relevant context for this skill.
  • Preferred: repository/project constraints, existing artifacts, and success criteria.
  • If context is missing, ask focused questions before proceeding.

Output Contract

  • Provide structured, actionable outputs aligned to this skill's existing format.
  • Include assumptions and next steps when appropriate.
  • Preserve compatibility with existing sections and related skills.

Edge Cases & Fallbacks

  • If prerequisites are missing, provide a minimal safe path and request missing inputs.
  • If scope is ambiguous, narrow to the highest-confidence sub-task.
  • If a requested action conflicts with existing constraints, explain and offer compliant alternatives.
Weekly Installs
4
Repository
lev-os/agents
First Seen
14 days ago
Installed on
opencode4
gemini-cli4
antigravity4
claude-code4
github-copilot4
codex4