Apply operations across multiple files simultaneously. Pattern-based
Scanned 9/10/2026
Install to Claude Code
npx -y skills add JantonioFC/skillsbank --skill batch-operations --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Batch Operations?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jantoniofc-batch-operations)More formats (shields.io, HTML) on the badges page.
---
name: batch-operations
description: Apply operations across multiple files simultaneously. Pattern-based
bulk modifications, search-and-replace across codebases, consistent changes to many
files at once.
when_to_use: When the user needs to change multiple files with the same pattern, rename
across a codebase, add imports to many files, update versions, or apply consistent
modifications. NOT for single-file edits.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
effort: medium
---
# Batch Operations — Multi-File Changes
> Apply consistent changes across many files at once. One pattern, many targets.
## When to Use
✅ **Good for:**
- Renaming a function/component across all files that use it
- Adding an import to every file in a directory
- Updating version numbers across package files
- Applying the same code pattern to multiple similar files
- Migrating from one API to another across the codebase
- Adding/removing a field from all similar data structures
❌ **Not for:**
- Single-file edits (use direct editing)
- Unique changes per file (handle individually)
- Changes that need per-file judgment (use an agent per domain)
---
## Batch Operation Protocol
### Step 1: Define the Pattern
```
What: [exact text/pattern to find]
Replace: [exact replacement text]
Scope: [file glob pattern, e.g., "src/**/*.tsx"]
Exclude: [files to skip, e.g., "**/*.test.tsx"]
```
### Step 2: Preview Before Executing
```bash
# Find all affected files FIRST
grep -rl "oldPattern" src/ --include="*.ts"
# Count matches
grep -rc "oldPattern" src/ --include="*.ts" | grep -v ":0$"
# Show context for each match
grep -rn "oldPattern" src/ --include="*.ts"
```
> 🔴 **NEVER batch-modify without previewing first.** Show the user what will change.
### Step 3: Execute the Batch
For text replacements:
```bash
# On Linux/macOS
find src -name "*.ts" -exec sed -i 's/oldPattern/newPattern/g' {} +
# On Windows (PowerShell)
Get-ChildItem -Path src -Recurse -Filter *.ts |
ForEach-Object { (Get-Content $_) -replace 'oldPattern','newPattern' | Set-Content $_ }
```
For structural changes (adding imports, wrapping code):
- Use the Edit tool on each file
- Process files in a consistent order (alphabetical or by dependency)
### Step 4: Verify the Batch
```bash
# Confirm no missed instances
grep -rl "oldPattern" src/ --include="*.ts"
# Should return empty
# Confirm replacements are correct
grep -rn "newPattern" src/ --include="*.ts" | head -5
# Run tests to catch breakage
npm run test
npm run build
```
---
## Common Batch Patterns
| Operation | Command Pattern |
|---|---|
| **Rename import** | Find all `import { X }` → replace with `import { Y }` |
| **Update version** | Find `"version": "1.0"` → replace across all package.json |
| **Add export** | Append `export { X }` to all index files |
| **Remove deprecated** | Find `deprecatedFn()` → replace with `newFn()` |
| **Add header** | Prepend license header to all source files |
| **Type migration** | Find `interface X` → replace with `type X =` |
---
## Safety Rules
1. **Preview first** — always show affected files before modifying
2. **Git safety** — ensure clean working directory (`git stash` or commit first)
3. **Exclude tests** — often tests need different treatment than source
4. **Verify after** — run build + tests after every batch operation
5. **Report changes** — list every file modified with change summary
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!