You have loaded the Code Tools Skill.
Scope: Code Search + Analysis + Refactoring
This skill provides AST-based code operations in three categories:
- •Navigation: Search and explore code structure
- •Analysis: Analyze code for tools, decorators, lines
- •Refactoring: Modify code with surgical precision
Tool Categories
Navigation (Read) - Search Code Structure
| Tool | Description |
|---|---|
outline_file | Get high-level skeleton of source file |
count_symbols | Count classes and functions in file |
search_code | Search AST patterns in a single file |
search_directory | Search AST patterns across directory |
Analysis (Read) - Static Code Analysis
| Tool | Description |
|---|---|
find_tools | Find @tool decorated functions |
count_lines | Count lines in a file |
Refactoring (Write) - Code Modification
| Tool | Description |
|---|---|
structural_replace | Replace patterns in content strings |
structural_preview | Preview changes (dry-run) |
structural_apply | Apply changes to a file |
refactor_repository | Mass refactoring across codebase |
What to Use Instead
| Task | Use Skill | Tool |
|---|---|---|
| Text search in files | advanced_tools | search_project_code (ripgrep) |
| File I/O | filesystem | read_file, save_file |
Pattern Syntax (Navigation & Refactoring)
| Pattern | Meaning | Example Match |
|---|---|---|
$NAME | Any single identifier | foo, MyClass |
$ARGS | Any argument list | (a, b, c) |
$PARAMS | Any parameter list | (data, options) |
$EXPR | Any expression | x + y |
$$$ | Variadic match | (a, b, c) |
Refactoring-Specific Patterns
| Pattern | Meaning | Example Match |
|---|---|---|
$$$ | Variadic match (refactor) | (host, port) |
$$$ARGS | Named variadic | (x, y, z) |
connect($$$) | Function call with args | connect("host", 8080) |
class $NAME | Class definition | class Agent: |
Usage Examples
Search Code Structure
python
# Find all class definitions
search_code("src/", "class $NAME")
# Find all connect() calls
search_directory("lib/", "connect($ARGS)", "**/*.py")
# Get file outline
outline_file("src/client.py", "python")
Analyze Code
python
# Find @tool decorated functions
find_tools("src/agent/")
# Count lines in file
count_lines("README.md")
Refactor Code (Preview First!)
python
# Preview changes (safe - no modification)
structural_preview("src/client.py", "old_connect($$$)", "new_connect($$$)")
# Apply after confirming preview
structural_apply("src/client.py", "old_connect($$$)", "new_connect($$$)")
Workflow
code
1. SEARCH/ANALYZE (Read) search_code() or find_tools() ↓ 2. PREVIEW (For refactoring only) structural_preview(path, pattern, replacement) ↓ 3. REVIEW - Check diff output - Verify matches are correct ↓ 4. APPLY (Only for refactoring) structural_apply() or refactor_repository() ↓ 5. VERIFY - Run tests - Review changes
Best Practices
- •Always Preview First: Use
structural_previewbeforestructural_apply - •Use Specific Patterns:
old_api($$$)is better thanold_api - •Navigation for Exploration: Use
search_codeto understand structure before modifying - •Test Small Changes First: Try on a single file before mass refactoring
Key Insights
- •"A good map is worth a thousand lines of code."
- •"Hunt with precision, not with a net."
- •"Preview twice, apply once."
- •"AST patterns find code, not strings."