home / skills / a5c-ai / babysitter / codemod-executor
This skill automates large-scale code transformations using AST tools, enabling safe refactors, migrations, and language upgrades across codebases.
npx playbooks add skill a5c-ai/babysitter --skill codemod-executorReview the files below or copy the command above to add this skill to your agents.
---
name: codemod-executor
description: Execute automated AST-based code transformations for large-scale refactoring and migration
allowed-tools: ["Bash", "Read", "Write", "Grep", "Glob", "Edit"]
---
# Codemod Executor Skill
Executes automated code transformations using AST-based tools for large-scale refactoring, framework migrations, and language version upgrades.
## Purpose
Enable automated code transformations for:
- Framework migration (React, Angular, Vue)
- Language version upgrades
- API deprecation handling
- Pattern standardization
- Large-scale refactoring
## Capabilities
### 1. AST-Based Transformations
- Parse source code to AST
- Apply transformation rules
- Generate modified source
- Preserve code style
### 2. Pattern Matching and Replacement
- Define source patterns
- Specify target patterns
- Handle edge cases
- Support wildcards and captures
### 3. Multi-File Transformations
- Apply across entire codebase
- Handle import updates
- Coordinate cross-file changes
- Manage side effects
### 4. Dry-Run Preview
- Preview changes before applying
- Generate diff reports
- Estimate impact scope
- Identify risky transformations
### 5. Rollback Support
- Create transformation checkpoints
- Enable selective rollback
- Track applied codemods
- Maintain change history
### 6. Custom Codemod Creation
- Define new transformation rules
- Test codemods in isolation
- Document transformation logic
- Share across teams
## Tool Integrations
| Tool | Language | Integration Method |
|------|----------|-------------------|
| jscodeshift | JavaScript/TypeScript | CLI |
| ts-morph | TypeScript | Library |
| Rector | PHP | CLI |
| Scalafix | Scala | CLI |
| OpenRewrite | Java | CLI / Maven |
| Bowler | Python | CLI |
| ast-grep | Multi-language | CLI / MCP |
| gofmt -r | Go | CLI |
## Output Schema
```json
{
"executionId": "string",
"timestamp": "ISO8601",
"codemod": {
"name": "string",
"version": "string",
"description": "string"
},
"results": {
"filesProcessed": "number",
"filesModified": "number",
"filesSkipped": "number",
"transformations": "number"
},
"changes": [
{
"file": "string",
"transformations": [
{
"type": "string",
"line": "number",
"before": "string",
"after": "string"
}
]
}
],
"errors": [],
"warnings": []
}
```
## Integration with Migration Processes
- **code-refactoring**: Large-scale refactoring
- **framework-upgrade**: Framework migrations
- **language-version-migration**: Syntax upgrades
- **code-translation**: Language conversion assist
## Related Skills
- `refactoring-assistant`: Suggests transformations
- `static-code-analyzer`: Pre-transformation analysis
## Related Agents
- `code-transformation-executor`: Orchestrates codemods
- `framework-upgrade-specialist`: Framework-specific codemods
This skill executes automated AST-based code transformations to support large-scale refactoring, framework migrations, and language upgrades. It provides deterministic, resumable runs with dry-run previews, rollback checkpoints, and cross-file coordination to minimize manual effort and risk.
The skill parses source files into ASTs, applies defined transformation rules or codemods, and generates modified source while preserving style. It can run across an entire repository, update imports and cross-file references, produce diff reports for dry runs, and record checkpoints to enable selective rollback and audit trails.
Can I preview changes before applying them?
Yes. The skill supports dry-run previews that produce diffs, estimate scope, and highlight risky transformations.
How do rollbacks work?
Each execution can create checkpoints and record applied transformations, enabling selective rollback to a prior checkpoint or undoing specific changes.
Which AST tools are supported?
The skill integrates with common tools like jscodeshift, ts-morph, OpenRewrite, and language-specific CLIs; custom integrations can be added.