mcpbeat

Find Replace

aiskillstore/find-replace

Modern find-and-replace using sd (simpler than sed) and batch replacement patterns. Triggers on: sd, find replace, batch replace, sed replacement, string replacement, rename.

13k tokens
context cost
the whole folder, loaded on every use
5
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
404
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/aiskillstore/marketplace --skill find-replace

What comes with it

47 945 bytes besides the instruction
assets/.gitkeep
references/advanced-patterns.md
scripts/.gitkeep
skill-report.json

The instruction itself

8 sections, as written by the author

Find Replace

Modern find-and-replace using sd.

sd Basics

# Replace in file (in-place)
sd 'oldText' 'newText' file.txt

# Replace in multiple files
sd 'oldText' 'newText' *.js

# Preview without changing (pipe)
cat file.txt | sd 'old' 'new'

sd vs sed

| sed | sd |

|-----|-----|

| sed 's/old/new/g' | sd 'old' 'new' |

| sed -i 's/old/new/g' | sd 'old' 'new' file |

| sed 's#path/to#new/path#g' | sd 'path/to' 'new/path' |

Key difference: sd is global by default, no delimiter issues.

Common Patterns

# Variable/function rename
sd 'oldName' 'newName' src/**/*.ts

# Word boundaries (avoid partial matches)
sd '\boldName\b' 'newName' src/**/*.ts

# Import path update
sd "from '../utils'" "from '@/utils'" src/**/*.ts

# Capture groups
sd 'console\.log\((.*)\)' 'logger.info($1)' src/**/*.js

Safe Batch Workflow

# 1. List affected files
rg -l 'oldPattern' src/

# 2. Preview replacements
rg 'oldPattern' -r 'newPattern' src/

# 3. Apply
sd 'oldPattern' 'newPattern' $(rg -l 'oldPattern' src/)

# 4. Verify
rg 'oldPattern' src/  # Should return nothing
git diff              # Review changes

Special Characters

| Character | Escape |

|-----------|--------|

| . | \. |

| * | \* |

| [ ] | \[ \] |

| $ | \$ |

| \ | \\ |

Tips

| Tip | Reason |

|-----|--------|

| Always preview with rg -r first | Avoid mistakes |

| Use git before bulk changes | Easy rollback |

| Use \b for word boundaries | Avoid partial matches |

| Quote patterns | Prevent shell interpretation |

Additional Resources

For detailed patterns, load:

  • ./references/advanced-patterns.md - Regex, batch workflows, real-world examples

How to use it

Copy the folder

Take aiskillstore/find-replace from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference brew, cargo, go. Without those the skill loads but fails at the first command.