recall-knowledge

Recall knowledge base entries by meaning, not just keywords — hybrid search (lexical ripgrep + local vector embeddings + see-link graph) over `.claude/knowledge/entries/`. Use when looking for prior k

SKILL.md

GitHub

Recall Knowledge

Goal

Surface the most relevant knowledge entries for a query by meaning — bridging synonyms and cross-language wording (e.g. Japanese ↔ English identifiers) that literal keyword search misses.

When to Use

  • Searching the knowledge base for prior art, decisions, pitfalls, or related context
  • The query may be worded differently than the entries (synonyms, JA query vs EN identifiers)
  • Before starting work on a topic, to pull related accumulated knowledge
  • NOT for per-prompt automatic injection — that stays ripgrep via the existing userpromptsubmit_knowledge_search.sh hook (instant, no model load)

Summary First, Then One Entry

Run the search with --summary: each hit shows its title, its description (the trigger condition — when to open it) and its typed links with the labels their authors wrote. Choose the single entry to Read from that; do not open several candidates to compare them. Details in the procedure file.

Structure First for Multi-Hop Questions

When the recall looks like it needs several hops — tracing how a decision evolved, asking how two topics connect, or mapping everything around an entry — do NOT chain search → read → follow links → read again. Query the link graph first (kb_graph.py neighborhood / path), pick the endpoints from the structure (IDs + titles only), and Read just those entries. Details in the procedure file.

Execution (run directly — do NOT delegate to a subagent)

IMPORTANT: hybrid search executes code (uv run a Python script). Subagents run in a sandbox that blocks code execution, networking, and out-of-cwd writes, so this skill runs from the MAIN agent's Bash — do NOT spawn an Agent for the search itself.

  1. Read the procedure file at: {plugin_root}/skills/recall-knowledge/procedure.md
  2. Follow it: resolve paths, decide hybrid vs ripgrep-fallback, run the search, present the ranked results, and Read the top entries when their content is needed for the answer.

Paths:

  • Knowledge base: {project_root}/.claude/knowledge/
  • Search script: {plugin_root}/scripts/kb_search.py
  • Index builder: {plugin_root}/scripts/kb_index.py (only to advise building the index)
  • Graph CLI: {plugin_root}/scripts/kb_graph.py (pure stdlib — needs neither uv nor the index)

IMPORTANT: The procedure / script paths use the plugin's base directory, NOT the project directory. Read the "Base directory for this skill" line from the skill loading message to determine {plugin_root}.