Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns
Scanned 9/2/2026
Install to Claude Code
npx -y skills add a5c-ai/babysitter --skill ast-manipulation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ast Manipulation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/a5c-ai-ast-manipulation-babysitter)More formats (shields.io, HTML) on the badges page.
---
name: AST Manipulation
description: Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns
category: Compiler Infrastructure
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
graph:
domains: [domain:software-engineering]
specializations: [specialization:programming-languages]
skillAreas: [skill-area:compiler-implementation, skill-area:graph-algorithms]
roles: [role:backend-engineer]
---
# AST Manipulation Skill
## Overview
Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns.
## Capabilities
- Design typed AST node hierarchies
- Implement visitor and transformer patterns
- Build AST rewriting systems
- Implement AST diffing and patching
- Generate AST pretty-printers and formatters
- Support AST serialization (JSON, binary)
- Implement pattern matching on AST structures
- Design span/location tracking systems
## Target Processes
- ast-design.js
- semantic-analysis.js
- ir-design.js
- code-generation-llvm.js
- lsp-server-implementation.js
- macro-system-implementation.js
## Dependencies
None (core skill)
## Usage Guidelines
1. **Node Design**: Design immutable AST nodes with clear ownership semantics
2. **Location Tracking**: Include source spans on all nodes from the beginning
3. **Visitor Pattern**: Implement visitor pattern for extensible traversal
4. **Transformation**: Use transformer pattern for AST-to-AST transformations
5. **Serialization**: Support both human-readable (JSON) and efficient (binary) serialization
## Output Schema
```json
{
"type": "object",
"properties": {
"nodeTypes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"fields": { "type": "array" },
"parent": { "type": "string" }
}
}
},
"visitors": {
"type": "array",
"items": { "type": "string" }
},
"transformers": {
"type": "array",
"items": { "type": "string" }
},
"generatedFiles": {
"type": "array",
"items": { "type": "string" }
}
}
}
```
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!