Marketplace
smgrep
Semantic code search using natural language queries. Use when users ask "where is X implemented", "how does Y work", "find the logic for Z", or need to locate code by concept rather than exact text. Returns file paths with line numbers and code snippets.
allowed_tools: Bash(smgrep:*), Read
$ 安裝
git clone https://github.com/can1357/smgrep /tmp/smgrep && cp -r /tmp/smgrep/plugins/smgrep/skills/smgrep ~/.claude/skills/smgrep// tip: Run this command in your terminal to install the skill
SKILL.md
name: smgrep description: Semantic code search using natural language queries. Use when users ask "where is X implemented", "how does Y work", "find the logic for Z", or need to locate code by concept rather than exact text. Returns file paths with line numbers and code snippets. allowed-tools: "Bash(smgrep:*), Read" license: Apache-2.0
When to Use
Use this to find code by concept or behavior (e.g., "where is auth validated", "how are plugins loaded"). Note: This tool prioritizes finding the right files and locations in the code. Snippets are truncated (max 16 lines) and are often just previews.
Example:
smgrep "how are plugins loaded"
smgrep "how are plugins loaded" packages/transformers.js/src
Strategy for Different Query Types
For Architectural/System-Level Questions (auth, LSP integration, file watching)
- Search Broadly First: Use a conceptual query to map the landscape.
smgrep "authentication authorization checks"
- Survey the Results: Look for patterns across multiple files:
- Are checks in middleware? Decorators? Multiple services?
- Do file paths suggest different layers (gateway, handlers, utils)?
- Read Strategically: Pick 2-4 files that represent different aspects:
- Read the main entry point
- Read representative middleware/util files
- Follow imports if architecture is unclear
- Refine with Specific Searches: If one aspect is unclear:
smgrep "session validation logic"smgrep "API authentication middleware"
For Targeted Implementation Details (specific function, algorithm)
- Search Specifically: Ask about the precise logic.
smgrep "logic for merging user and default configuration"
- Evaluate the Semantic Match:
- Does the snippet look relevant?
- Crucial: If it ends in
...or cuts off mid-logic, read the file.
- One Search, One Read: Use smgrep to pinpoint the best file, then read it fully.
Output Format
Returns: path/to/file:line [Tags] Code Snippet
[Definition]: Semantic search detected a class/function here. High relevance....: Truncation Marker. Snippet is incomplete—useread_filefor full context.
Tips
- Trust the Semantics: You don't need exact names.
smgrep "how does the server start"works better than guessingsmgrep "server.init". - Watch for Distributed Patterns: If results span 5+ files in different directories, the feature is likely architectural—survey before diving deep.
- Scope When Possible: Use path constraints to focus:
smgrep "auth" src/server/ - Don't Over-Rely on Snippets: For architectural questions, snippets are signposts, not answers. Read the key files.
- "Still Indexing...": If you see this, please stop, alert the user that the index is ongoing and ask them if they wish to proceed. Results will be partial until the index is complete.
Repository

can1357
Author
can1357/smgrep/plugins/smgrep/skills/smgrep
45
Stars
3
Forks
Updated4d ago
Added6d ago