with one click
aim-search
Search memory system with advanced filtering and intent detection
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Search memory system with advanced filtering and intent detection
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Detect content drift of an operator's scaffolded sanctum files (BOND, CAPABILITIES, CREED, INDEX, LORE, MEMORY, PERSONA, PULSE) against the evolving reference templates, and surface recommended add/remove WITH rationale — never a silent overwrite. Use on a session-start drift check, after the reference templates change, or when the operator asks whether their sanctum is current.
Check ai-memory system status and collection stats
Check ai-memory system status and collection stats
Manually save current session context to ai-memory
Search ai-memory for relevant stored memories
Search ai-memory for relevant stored memories
| name | aim-search |
| description | Search memory system with advanced filtering and intent detection |
| allowed-tools | Read, Bash |
Search the AI Memory Module using semantic similarity with advanced filtering by collection, type, and intent detection.
The memory system has 3 collections:
# Basic semantic search (searches code-patterns by default)
/aim-search "how do I implement authentication"
# Search specific collection
/aim-search "error handling patterns" --collection conventions
# Filter by memory type
/aim-search "recent bugs" --type error_fix
# Filter by multiple types
/aim-search "code patterns" --type implementation,refactor
# Use intent detection with cascading search
/aim-search "how do I implement auth" --intent how
# Limit results
/aim-search "database patterns" --limit 10
# Hide decay scores
/aim-search "authentication" --no-decay
--collection <name> - Target specific collection (code-patterns, conventions, discussions)--type <type> - Filter by memory type (see types below)--intent <intent> - Use intent detection (how, what, why)--limit <n> - Maximum results to return (default: 5)--group-id <id> - Filter by project (default: auto-detect from cwd)--decay - Show decay scores per result (default: enabled)--no-decay - Hide decay scores from outputimplementation - How features/components were builterror_fix - Errors encountered and solutionsrefactor - Refactoring patterns appliedfile_pattern - File or module-specific patternsrule - Hard rules that MUST be followedguideline - Soft guidelines (SHOULD follow)port - Port configuration rulesnaming - Naming conventionsstructure - File and folder structure conventionsdecision - Architectural/design decisions (DEC-xxx)session - Session summariesblocker - Blockers and resolutions (BLK-xxx)preference - User preferences and working stylecontext - Important conversation contextWhen using --intent, the system routes to the appropriate primary collection:
how → code-patterns (implementation examples)what → conventions (rules and guidelines)why → discussions (decisions and context)If primary collection has insufficient results, automatically expands to secondary collections.
Each result shows relevance score, content summary, metadata, and decay scores:
1. [0.85] Implementation of authentication middleware
Collection: code-patterns | Type: implementation | 2026-01-15
Decay: 0.72 (temporal: 0.61, semantic: 0.85)
2. [0.78] JWT token validation pattern
Collection: code-patterns | Type: implementation | 2026-01-10
Decay: 0.65 (temporal: 0.52, semantic: 0.78)
When decay scoring is disabled or timestamp is unavailable:
1. [0.85] Implementation of authentication middleware
Collection: code-patterns | Type: implementation | 2026-01-15
Decay: n/a (temporal: n/a, semantic: 0.85)
Results include three scores:
A memory with semantic=0.90 and temporal=0.30 is very relevant but old. A memory with semantic=0.60 and temporal=0.95 is less relevant but very recent.
final_score = 0.7 * semantic + 0.3 * 0.5^(age_days / half_life)
Sub-scores are recomputed client-side (Qdrant returns only the combined score):
age_days = (datetime.now(timezone.utc) - datetime.fromisoformat(stored_at)).days
temporal_score = 0.5 ** (age_days / half_life)
semantic_score = (combined_score - 0.3 * temporal_score) / 0.7
Half-life varies by memory type (configured via decay_type_overrides):
conversation, session_summary: 21 daysgithub_commit, github_code_blob: 14 daysgithub_issue, github_pr: 30 daysrule, guideline: 60 days# Find implementation examples in current project
/aim-search "authentication implementation"
# Find shared conventions across all projects
/aim-search "naming conventions" --collection conventions
# Find specific error fixes
/aim-search "database connection" --type error_fix
# Use cascading search with intent
/aim-search "why did we choose postgres" --intent why
# Find architectural decisions
/aim-search "database choice" --type decision --collection discussions
# Search multiple types
/aim-search "auth patterns" --type implementation,error_fix --limit 10
# Search without decay score display
/aim-search "auth patterns" --no-decay
This skill uses search_memories() from src/memory/search.py:
from memory.search import search_memories
from memory.secrets_env import pin_qdrant_api_key, is_auth_error
# Pin QDRANT_API_KEY from .env.secrets so a stale exported key can't silently
# fail auth and degrade this search to file-only (run-with-env.sh parity).
pin_qdrant_api_key()
try:
results = search_memories(
query="your search query",
collection="code-patterns", # Optional
memory_type="implementation", # Optional, can be list
use_cascading=True, # Enable cascading search
intent="how", # Optional: auto-detects from query
limit=5
)
except Exception as e:
# Auth failure: the knowledge base was NOT consulted. Do not present this
# as "no results found" — results are file-only.
if is_auth_error(str(e)):
print("❌ Memory search auth FAILED (401) — knowledge base NOT "
"consulted; results are file-only")
raise