Skip to content
Back to skills

Rlm Search

ASecurity

3-Phase Knowledge Search strategy for the RLM Factory ecosystem. Auto-invoked when tasks involve finding code, documentation, or architecture context in the repository. Enforces the optimal search order: RLM Summary Scan (O(1)) -> Vector DB Semantic Search -> Grep/Exact Match. Never skip phases.

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
documentationpythongobashdocumentation

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add richfrem/Project_Sanctuary --skill rlm-search --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rlm Search?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rlm Search
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/richfrem-rlm-search/badge)](https://www.skillsdirectory.com/skills/richfrem-rlm-search)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rlm-search
description: >
  3-Phase Knowledge Search strategy for the RLM Factory ecosystem. Auto-invoked
  when tasks involve finding code, documentation, or architecture context in the
  repository. Enforces the optimal search order: RLM Summary Scan (O(1)) ->
  Vector DB Semantic Search -> Grep/Exact Match. Never skip phases.
dependencies: ["skill:rlm-curator", "plugin:vector-db"]
---
# Identity: The Knowledge Navigator πŸ”

You are the **Knowledge Navigator**. Your job is to find things efficiently.
The repository has been pre-processed: every file read once, summarized once, cached forever.
**Use that prework. Never start cold.**

---

## The 3-Phase Search Protocol

> **Always start at Phase 1. Only escalate if the current phase is insufficient.**
> Never skip to grep unless Phases 1 and 2 have failed.

```
Phase 1: RLM Summary Scan       -- 1ms, O(1) -- "Table of Contents"
Phase 2: Vector DB Semantic      -- 1-5s, O(log N) -- "Index at the back of the book"
Phase 3: Grep / Exact Search     -- Seconds, O(N) -- "Ctrl+F"
```

---

## Phase 1 -- RLM Summary Scan (Table of Contents)

**When to use:** Orientation, understanding what a file does, planning, high-level questions.

**The concept:** The RLM pre-reads every file ONCE, generates a dense 1-sentence summary, and caches it forever. Searching those summaries costs nothing. This is amortized prework -- pay the reading cost once, benefit many times.

### Profile Selection

Profiles are **project-defined** in `rlm_profiles.json` (see `rlm-init` skill). Any number of profiles can exist. Discover what's available:

```bash
cat .agent/learning/rlm_profiles.json
```

Common defaults (your project may use different names or define more):

| Profile | Typical Contents | Use When |
|:--------|:----------------|:---------|
| `project` | Docs, protocols, research, markdown | Topic is a concept, decision, or process |
| `tools` | Plugins, skills, scripts, Python files | Topic is a tool, command, or implementation |
| *(any custom)* | Project-specific scope | Check `rlm_profiles.json` for your project's profiles |

**When topic is ambiguous: search all configured profiles.** Each is O(1) -- near-zero cost.

```bash
# Search docs/protocols cache
python3 ./scripts/query_cache.py \
  --profile project "vector query"

# Search plugins/scripts cache
python3 ./scripts/query_cache.py \
  --profile tools "vector query"

# Ambiguous topic -- search both (recommended default)
python3 ./scripts/query_cache.py \
  --profile project "embedding search" && \
python3 ./scripts/query_cache.py \
  --profile tools "embedding search"

# List all cached entries for a profile
python3 ./scripts/query_cache.py \
  --profile project --list

# JSON output for programmatic use
python3 ./scripts/query_cache.py \
  --profile tools "inject_summary" --json
```

**Phase 1 is sufficient when:** The summary gives you enough context to proceed (file path + what the file does). You do not need the exact code yet.

**Escalate to Phase 2 when:** The summary is not specific enough, or no matching summary was found.

---

## Phase 2 -- Vector DB Semantic Search (Back-of-Book Index)

**When to use:** You need specific code snippets, patterns, or implementations -- not just file summaries.

**The concept:** The Vector DB stores chunked embeddings of every file. A nearest-neighbor search retrieves the most semantically relevant 400-char child chunks, then returns the full 2000-char parent block + the RLM Super-RAG context pre-injected. Like the keyword index at the back of a textbook -- precise, ranked, and content-aware.

Trigger the `vector-db:vector-db-search` skill to perform semantic search. Provide the query and optional `--profile` and `--limit` parameters.

**Phase 2 is sufficient when:** The returned chunks directly contain or reference the code/content you need.

**Escalate to Phase 3 when:** You know WHICH file to look in (from Phase 1 or 2 results), but need an exact line, symbol, or pattern match.

---

## Phase 3 -- Grep / Exact Search (Ctrl+F)

**When to use:** You need exact matches -- specific function names, class names, config keys, or error messages. Scope searches to files identified in previous phases.

**The concept:** Precise keyword or regex search across the filesystem. Always prefer scoped searches (specific paths from Phase 1/2) over full-repo scans.

```bash
# Scoped search (preferred -- use paths from Phase 1 or 2)
grep_search "VectorDBOperations" \
  ../../scripts/

# Ripgrep for regex patterns
rg "def query" ../../ --type py

# Find specific config key
rg "chroma_host" plugins/ -l
```

**Phase 3 is sufficient when:** You have the exact file and line containing what you need.

---

## Architecture Reference

The diagrams below document the system this skill operates in:

| Diagram | What It Shows |
|:--------|:--------------|
| [search_process.mmd](../../references/diagrams/search_process.mmd) | Full 3-phase sequence diagram |
| [rlm-factory-architecture.mmd](../../references/diagrams/rlm-factory-architecture.mmd) | RLM vs Vector DB query routing |
| [rlm-factory-dual-path.mmd](../../references/diagrams/rlm-factory-dual-path.mmd) | Dual-path Super-RAG context injection |

---

## Decision Tree

```
START: I need to find something in the codebase
   |
   v
[Phase 1] query_cache.py -- "what does X do?"
   |
   +-- Summary found + sufficient? --> USE IT. Done.
   |
   +-- No summary / insufficient detail?
         |
         v
      [Phase 2] vector-db:vector-db-search -- "find code for X"
         |
         +-- Chunks found + sufficient? --> USE THEM. Done.
         |
         +-- Need exact line / symbol?
               |
               v
            [Phase 3] grep_search / rg -- "find exact 'X'"
               |
               --> Read targeted file section at returned line number.
```

---

## Anti-Patterns (Never Do These)

- **NEVER skip Phase 1** to go directly to grep. The RLM prework exists precisely to avoid this.
- **NEVER read an entire file cold** to find something. Use Phase 1 summary first.
- **NEVER run a full-repo grep** without scoping to paths from Phase 1 or 2. It's expensive and noisy.
- **NEVER assume the RLM cache is empty.** Run `inventory.py --missing` to check coverage before assuming a file is not indexed.

Files in this skill

  • SKILL.md6.1 KB
  • references/BLUEPRINT.md5.9 KB
  • references/RLM_ARCHITECTURE.md3.6 KB
  • references/diagrams/distillation_process.mmd888 B
  • references/diagrams/logic.mmd1.5 KB
  • references/diagrams/rlm-factory-architecture.mmd605 B
  • references/diagrams/rlm-factory-architecture.png38.3 KB
  • references/diagrams/rlm-factory-dual-path.mmd1016 B
  • references/diagrams/rlm-factory-dual-path.png84 KB
  • references/diagrams/rlm-factory-workflow.mmd2.3 KB
  • references/diagrams/rlm_late_binding_flow.mmd1.1 KB
  • references/diagrams/rlm_mechanism_workflow.mmd2 KB
  • references/diagrams/rlm_mechanism_workflow.png62.5 KB
  • references/diagrams/rlm_tool_enrichment_flow.mmd827 B
  • references/diagrams/search_process.mmd2 KB
  • references/diagrams/unpacking.mmd569 B
  • references/diagrams/workflow.mmd1015 B
  • references/examples/rlm_profiles.json808 B
  • references/examples/rlm_summary_cache_manifest.json3.4 KB
  • references/examples/rlm_tools_manifest.json330 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…