mcpField
B
batch-operations

batch-operations

github.com/vudovnDevelopment8.2k52 installsUpdated 8w ago
Repository

About batch-operations

batch-operations is a skill for applying consistent edits across multiple files. It guides developers and coding agents through defining a pattern, previewing affected files, executing changes, and verifying the results.

Key features

  1. 01Define patterns, scope, and exclusions
  2. 02Preview affected files and matches
  3. 03Apply text or structural edits
  4. 04Verify replacements and run tests
  5. 05Report modified files

Use cases

  1. 01Rename a function across a codebase
  2. 02Update versions in multiple package files
  3. 03Migrate repeated code patterns across files
  4. 04Add or remove a field in similar structures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vudovn/ag-kit --skill batch-operations

After installing, type/batch-operationsin Claude Code to confirm it loaded.

Details

From the project README

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
# 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:

# 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
# 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

OperationCommand Pattern
Rename importFind all import { X } → replace with import { Y }
Update versionFind "version": "1.0" → replace across all package.json
Add exportAppend export { X } to all index files
Remove deprecatedFind deprecatedFn() → replace with newFn()
Add headerPrepend license header to all source files
Type migrationFind 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

Comments

Markdown supported