Semantic search through .meaning/ index using natural language queries
Natural language search through the .meaning/ semantic index. Ask questions about the codebase and get structured answers using tags, relationships, intents, and concepts.
This skill provides instant semantic search without needing to grep, read files, or guess locations. The meaning index already contains structured metadata—this skill lets you query it conversationally.
When to use:
Key benefit: Zero-latency semantic search (no LLM calls, pure structured queries).
# User asks Claude: "Where is parsing done?"
# Claude runs:
python -m meaning query "where is parsing done?"
The query engine automatically:
Ask about file health and maintenance needs.
Examples:
Returns: Files filtered by needs_review or is_stale() flags.
Find files by their semantic tags.
Examples:
Returns: Files tagged with matching vocabulary (test, config, api, doc, etc).
Traverse the semantic graph.
Examples:
Returns: Files connected via typed relationships (tests, documents, imports, implements, configures, calls).
Search by what files do (semantic purpose).
Examples:
Returns: Files whose intent strings match keywords.
Find recently modified files.
Examples:
Returns: Files sorted by last_verified timestamp (most recent first).
Explore semantic groupings.
Examples:
Returns: All files in a named concept with its description.
Query results include:
User: Where is parsing implemented?
Claude: Let me search the semantic index for parsing-related files.
[Runs: python -m meaning query "files that do parsing"]
🔍 Query Results: Files tagged with: parsing
Type: tag
Found 2 files (showing 2):
1. src/meaning/meaning_core.py
"Core Python library implementing YAML parsing, validation..."
Tags: core, module, api, parsing, validation
Relationships: implements(1)
2. src/meaning/meaning_inference.py
"Inference engine that automatically generates semantic metadata..."
Tags: core, module, api, parsing
Relationships: imports(1), implements(1)
Parsing is primarily implemented in `src/meaning/meaning_core.py`, with additional
parsing logic in `src/meaning/meaning_inference.py`. Both files are part of the
core library concept.
import subprocess
import json
from pathlib import Path
def run_query(query: str) -> dict:
"""Run a semantic query and parse results."""
result = subprocess.run(
["python", "-m", "meaning", "query", query],
capture_output=True,
text=True,
cwd=Path.cwd()
)
if result.returncode != 0:
return {"error": result.stderr}
return {"output": result.stdout}
# Example usage in skill
query = "what tests the core?"
result = run_query(query)
print(result["output"])
| User Question | Query String | Type |
|---|---|---|
| "What needs fixing?" | "what needs review?" | status |
| "Test files?" | "show me all test files" | tag |
| "What tests X?" | "what tests X" | relationship |
| "Files doing auth?" | "files that do authentication" | intent |
| "Recent changes?" | "what changed recently?" | temporal |
| "Core library?" | "show me the core library" | concept |
Always use exact file paths in relationship queries
Use natural language—don't over-think it
Check query type in output
Combine with file reads
Fallback gracefully
Use this skill for semantic understanding, not code searching.
# Typical workflow:
1. /meaning-query "what tests the API?"
→ Find test files semantically
2. Read the test files
→ Understand test coverage
3. /meaning-update
→ Sync any new files after changes
4. /meaning-validate
→ Verify index health
# No .meaning/ directory found
❌ No .meaning/ directory found in /path/to/project
đź’ˇ Initialize with: python -m meaning init
# No results found
🔍 Query Results: No files found matching query: 'nonexistent'
Type: no_match
No files found.
Semantic search beats full-text search when:
- You care about purpose, not syntax
- You want structured results, not string matches
- You need relationships, not just content
- You value speed over exhaustiveness
The meaning index is intentionally curated—it's not exhaustive, it's semantic. Use Grep for exhaustive searches, use /meaning-query for understanding.
Last updated: 2026-01-21