Agent Skills
› vudovn/ag-kit
› batch-operations
batch-operations
GitHub支持跨多文件批量执行模式匹配、搜索替换及结构变更,涵盖重命名、版本更新等场景。严格遵循预览-执行-验证流程,确保大规模代码修改的安全性与一致性。
Trigger Scenarios
需要跨多个文件应用相同的文本或代码模式
批量重命名函数、组件或更新版本号
统一添加或删除导入语句、字段
Install
npx skills add vudovn/ag-kit --skill batch-operations -g -y
SKILL.md
Frontmatter
{
"name": "batch-operations",
"effort": "medium",
"version": "1.0.0",
"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"
}
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
| 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
- Preview first — always show affected files before modifying
- Git safety — ensure clean working directory (
git stashor commit first) - Exclude tests — often tests need different treatment than source
- Verify after — run build + tests after every batch operation
- Report changes — list every file modified with change summary
Version History
- 211561c Current 2026-08-20 11:37


