搜索

PythonReactSEOPDF
GitHub Skill

advanced-tools

High-performance text search, file operations, and batch refactoring using Rust-based tools (ripgrep, fd, tree). Includes safe batch replacement with dry-run preview.

tao3k☆ 7 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

You have loaded the Advanced Tools Skill.

Architecture

This skill provides three categories of tools:

Category Tools Use For
Search smart_search, smart_find Fast text and file discovery
Visualize tree_view Directory structure visualization
Mutation regex_replace, batch_replace Safe text transformation

What to Use Instead

Task Use Skill Tool
Search code structure (AST) code_tools search_code, search_directory
Code refactoring code_tools structural_replace, structural_preview
File I/O filesystem read_file, save_file
Surgical file read filesystem read_file_context

Key Differences

Text Search (advanced_tools) vs AST Search (code_tools)

Aspect advanced_tools (ripgrep) code_tools (AST)
Search Type Text patterns Code structure
Example class \w+ finds "class" text class $NAME finds classes
Scope Literal Semantic
Use Case Finding text, TODO comments Refactoring, pattern matching

Single Replace vs Batch Replace

Aspect regex_replace batch_replace
Files Single file Multiple files
Preview No Yes (dry-run)
Safety Manual review Automatic diff
Use Case One-off changes Mass refactoring

Available Tools

Search Commands

smart_search

Fast regex search using ripgrep with structured output.

def smart_search(
    pattern: str,
    path: str = ".",
    file_type: str = None,
    context_lines: int = 2,
    max_results: int = 50,
) -> dict[str, Any]
smart_find

Fast file finding using fd with pattern matching.

def smart_find(
    pattern: str = ".",
    path: str = ".",
    extension: str = None,
    max_results: int = 100,
) -> dict[str, Any]

Visualization Commands

tree_view

Directory tree visualization (requires tree command).

def tree_view(
    path: str = ".",
    depth: int = 3,
    ignore_hidden: bool = True,
) -> dict[str, Any]

Mutation Commands

regex_replace

Single file regex replacement using sed.

def regex_replace(
    file_path: str,
    pattern: str,
    replacement: str,
) -> dict[str, Any]
batch_replace

Batch refactoring with dry-run safety (RECOMMENDED for refactoring).

def batch_replace(
    pattern: str,
    replacement: str,
    file_glob: str = "**/*",
    dry_run: bool = True,  # Safety: default is preview
    max_files: int = 50,
) -> dict[str, Any]

Common Patterns

Finding Function Definitions

pattern: def \w+
file_type: py

Finding TODO Comments

pattern: TODO|FIXME|HACK
context_lines: 1

Batch Refactoring (Safe)

# Step 1: Preview changes
result = batch_replace(
    pattern="old_function",
    replacement="new_function",
    file_glob="**/*.py",
    dry_run=True,  # Preview mode
)

# Step 2: Review diffs
for change in result["changes"]:
    print(change["diff"])

# Step 3: Apply if满意
result = batch_replace(
    pattern="old_function",
    replacement="new_function",
    file_glob="**/*.py",
    dry_run=False,  # Live mode
)

References

Optimization Tips

  1. Use file_type/glob filters - Restricts search to specific languages
  2. Narrow path scope - Search specific directories, not whole repo
  3. Use context_lines sparingly - More context = more output = more tokens
  4. Use specific regex - "def test_" matches fewer than "test"
  5. Always dry-run first - Use dry_run=True for batch_replace

Best Practices

  1. Start with broad search, narrow with results
  2. Use context_lines to understand matches
  3. Check stats.elapsed_ms - if high, add filters
  4. For refactoring: always preview with dry-run before applying
  5. Combine with read_file for full context

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-02-02
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!