| name | replacing-text |
| description | Provides intuitive find & replace CLI with JavaScript regex and string-literal mode. Use this skill when performing text replacements, batch transformations, or need JavaScript-style regex syntax |
sd: Fast Find & Replace
Always invoke sd skill for find & replace operations - do not execute bash commands directly.
Use sd for intuitive text replacement that's 2-12x faster than sed.
When to Use sd vs ripgrep
Use sd when:
- Performing replacements on known patterns
- Batch text transformations across files
- Need JavaScript-style regex syntax
- Direct file modifications without search first
Use ripgrep when:
- Finding unknown patterns or locations
- Need search results without immediate changes
- Complex file filtering and type matching
- Want to preview before modifying
Common workflow: ripgrep skill → sd skill (search first, then replace)
Default Strategy
Invoke sd skill for fast find & replace operations. Use when performing replacements on known patterns, batch text transformations across files, or need JavaScript-style regex syntax.
Common workflow: ripgrep skill → sd skill (search first, then replace) or fd skill → sd skill for batch operations.
Key Options
-Ffor string-literal mode (no regex)$1, $2or${var}for capture groups--previewto preview changes--before patterns starting with-$$for literal$in replacement
When to Use
- Quick file edits
- Pipeline replacements:
cat file | sd "old" "new" - Batch operations across multiple files
- Complex regex with capture groups
Common Workflows
fd → sd: Find files and perform batch replacementsripgrep | sd: Search patterns and replace across matchesjq | sd: Extract JSON data and transform to other formatscat file | sd | bat: Transform content and preview with highlighting
Core Principle
Replace text with familiar JavaScript/Python regex syntax - no sed escape hell.
Detailed Reference
For comprehensive find & replace patterns, regex syntax examples, and workflow tips, load sd guide when needing:
- Advanced regex patterns with capture groups
- Pipeline operations and batch processing
- Escape sequence handling
- Common text transformation recipes
- Integration with other command-line tools
The guide includes:
- String-literal vs regex mode usage
- Capture group patterns and replacements
- Pipeline operations and batch processing
- Advanced regex patterns and edge cases
- Integration with other command-line tools
Skill Combinations
For Discovery Phase
- ripgrep → sd: Search patterns first, then replace across matches
- fd → sd: Find files and perform batch replacements
- jq/yq → sd: Extract data and transform to other formats
For Analysis Phase
- sd --preview → bat: Preview changes with syntax highlighting
- sd → fzf: Interactive selection of changes to apply
- sd → jq/yq: Transform data back to structured formats
For Refactoring Phase
- sd → searching-text: Verify replacements didn't introduce issues
- sd → analyzing-code-structure: Follow up with structural changes if needed
- sd → analyzing-code: Measure impact of text-based changes
Integration Examples
# Find and replace across project
fd -e js -x sd "oldPattern" "newPattern" --preview
# Chain transformations
cat config.json | jq '.version' | sd '"v' '' | sd '"' '' | xargs git tag
# Interactive replacement with preview
rg "deprecated" -l | fzf --multi | xargs sd "deprecated" "legacy" --preview | bat