ripgrep: Powerful, one-shot text search
Always invoke ripgrep skill for text search - do not execute bash commands directly.
Default Strategy
Invoke ripgrep skill for fast text search with one-shot patterns. Use -e 'pattern' -n -C 2 to get files, line numbers, and context in a single call.
This minimizes iterations and context usage. Always prefer getting line numbers and surrounding context over multiple search attempts.
Common workflow: ripgrep skill → other skills (fzf, bat, sd, analyzing-code-structure) for interactive selection, preview, or modification.
Tool Selection
Grep tool (built on ripgrep) - Use for structured searches:
-
Basic pattern matching with structured output
-
File type filtering with type parameter
-
When special flags like -F , -v , -w , or pipe composition are not needed
-
Handles 95% of search needs
Bash(rg) - Use for one-shot searches needing special flags or composition:
-
Fixed string search (-F )
-
Invert match (-v )
-
Word boundaries (-w )
-
Context lines with patterns (-n -C 2 )
-
Pipe composition (| head , | wc -l , | sort )
-
Default choice for efficient one-shot results
Glob tool - Use for file name/path matching only (not content search)
When to Load Detailed Reference
Load ripgrep guide when needing:
-
One-shot search pattern templates
-
Effective flag combinations for complex searches
-
Pipe composition patterns
-
File type filters reference (-t flags)
-
Performance optimization for large result sets
-
Pattern syntax examples
-
Translation between Grep tool and rg commands
The guide focuses on practical patterns for getting targeted results in minimal calls.
Pipeline Combinations
-
rg | fzf: Interactive selection from search results
-
rg | sd: Batch replacements on search results
-
rg | xargs: Execute commands on matched files
Skill Combinations
For Discovery Phase
-
fd → ripgrep: Find files of specific type, then search within them
-
extracting-code-structure → ripgrep: Understand structure, then search for specific patterns
-
jq/yq → ripgrep: Extract field values, then search for their usage
For Analysis Phase
-
ripgrep → fzf: Interactive selection from search matches
-
ripgrep → bat: View matched files with syntax highlighting
-
ripgrep → ast-grep: After finding text patterns, apply structural changes
For Refactoring Phase
-
ripgrep → sd: Replace found patterns with new content
-
ripgrep → xargs: Execute commands on all matching files
-
ripgrep → tokei: Get statistics for files containing specific patterns
-
ripgrep → analyzing-code-structure: After finding text patterns, apply structural changes
Integration Examples
Find and edit all references to a function
rg "functionName" -l | fzf --multi --preview="bat --color=always --highlight-line $(rg -n "functionName" {} | head -1 | cut -d: -f2) {}" | xargs vim
Find TODOs and create summary
rg "TODO|FIXME" -n | fzf --multi --preview="bat --color=always --highlight-line {2} {1}"