syntax

Edit code by function name using AST-based symbol resolution across multiple languages.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/Technikhighknee/agent-workbench --skill syntax
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: syntax
Source: https://github.com/Technikhighknee/agent-workbench/tree/main/.claude/skills/syntax
Command: npx skills add https://github.com/Technikhighknee/agent-workbench --skill syntax

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Edits are applied by symbol name, not brittle text matches, preventing accidental replacements.

Core Features & Use Cases

  • Symbol-based edits: edit_symbol, rename_symbol, move_symbol with safe references.
  • Cross-file edits: atomically apply multiple symbol changes.
  • Use Case: Rename a function across the codebase without breaking imports.

Quick Start

list_symbols({ file_path: 'src/utils.ts' })

Frequently Asked Questions about syntax

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I rename a function across my entire TypeScript codebase safely?

Symbol-based renaming applies changes by function name, not text matching, preventing accidental replacements in comments or strings. Use rename_symbol to update the function and all its references atomically across files.

Can I refactor code without breaking imports when moving or renaming symbols?

Yes. Symbol-based edits track and update all references automatically, including imports. Atomic multi-symbol edits ensure that function renames, moves, and import adjustments happen together without leaving broken references.

What's the difference between text-based find-and-replace and symbol-based editing?

Symbol-based editing uses AST resolution to identify exact functions and their references, avoiding brittle matches that break on similar names or text in strings. It's safer for large codebases and handles cross-file updates reliably.

Does this work with JavaScript, Python, Go, and Rust in addition to TypeScript?

Yes. Symbol-based edits apply to TypeScript, JavaScript, Python, Go, and Rust codebases, enabling function-level renames, moves, and batch symbol updates across all supported languages.

How do I discover all callers or callees of a specific function?

Use get_callers to find all functions that call a target, and get_callees to find functions it calls. This enables safe refactoring by showing impact scope before making edits.

Can I batch-update multiple symbols at once across files?

Yes. batch_edit_symbols applies multiple symbol changes atomically in a single operation, coordinating renames, moves, and reference updates across the entire codebase without intermediate breakage.