AST Manipulation

SkillMedia

Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the AST Manipulation skill

What this skill tells your AI

The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/programming-languages/skills/ast-manipulation/SKILL.md and read by ahel’s review.

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

{
  "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" }
    }
  }
}

Signals

GitHub stars
2k
Forks
112
Last commit
Sep 2026
Advanced
Item type
skill
Key
ast-manipulation
Source
github.com/a5c-ai/babysitter