Ast manipulation
Skill a5c-ai/babysitter/library/specializations/programming-languages/skills/ast-manipulation
Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patternsFrom its SKILL.md
npx -y skills add a5c-ai/babysitter --skill ast-manipulationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.1 KB, 404 tokens by cl100k_base, as published. Nobody here has run it
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
- Node Design: Design immutable AST nodes with clear ownership semantics
- Location Tracking: Include source spans on all nodes from the beginning
- Visitor Pattern: Implement visitor pattern for extensible traversal
- Transformation: Use transformer pattern for AST-to-AST transformations
- Serialization: Support both human-readable (JSON) and efficient (binary) serialization
Output Schema
{
"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" }
}
}
}
What ships with it: 1 file
937 B alongside SKILL.md
- README.md937 B