Smart Explore (Duyệt cấu trúc code)
Duyệt codebase bằng AST tree-sitter theo nguyên tắc "lấy bản đồ trước, đọc chi tiết sau" để tiết kiệm token đáng kể.
Làm được gì
Thay vì đọc trọn file (Read), skill buộc Claude dùng quy trình 3 lớp dựa trên phân tích AST của tree-sitter:
- smart_search — quét cả thư mục, trả về danh sách symbol (hàm/class/method) kèm số dòng và khung cấu trúc file (~2–6k token)
- smart_outline — bộ xương của một file: hàm, class, thuộc tính, import (~1–2k token)
- smart_unfold — mở đúng một symbol với toàn bộ mã nguồn, JSDoc, decorator (~0.4–2.1k token)
Một lệnh search thay cho cả chu trình Glob → Grep → Read. Vì cắt theo biên node AST nên method dài không bị cắt cụt. Tài liệu có bảng so sánh: tiết kiệm 4–8 lần so với Read và 11–18 lần so với Explore agent.
Hỗ trợ sẵn JS/TS/TSX, Python, Go, Rust, Ruby, Java, C/C++; có thể thêm grammar khác (ví dụ Solidity) qua file .claude-mem.json. Markdown được xử lý riêng: outline theo heading, unfold theo section, hiện cả frontmatter.
Phù hợp với ai
- Lập trình viên làm việc trên codebase lớn, hay bị tràn context
- Người cần định vị nhanh một tính năng nằm rải rác ở nhiều file trước khi refactor hoặc fix bug
- Nhóm muốn giảm chi phí token thực tế
- Người viết tài liệu kỹ thuật / hướng dẫn onboarding từ mã nguồn
Ví dụ sử dụng
- Truy vết tính năng:
smart_search(query="shutdown", path="./src")cho ra 14 symbol ở 7 file, rồi chỉ unfoldperformGracefulShutdownđể xem logic chính. - Đi trong file khổng lồ: outline
worker-service.ts(1.466 token) để thấy 12 hàm và 24 thành viên class, sau đó unfold đúng methodstartSessionProcessor— tổng ~3k token thay vì ~12k nếu đọc cả file. - Viết tài liệu kiểu kết hợp: dùng smart_* cho code, dùng Read thường cho file cấu hình JSON/Markdown nhỏ để lấy bối cảnh.
Lưu ý: chính tài liệu khuyên dùng Grep cho tìm chuỗi/regex chính xác, Read cho file dưới ~100 dòng, và Explore agent khi cần tổng hợp kiến trúc qua 6+ file.
· · · Hướng dẫn cài đặt · · ·
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục plugin/skills/smart-explore từ repo GitHub thedotmack/claude-mem vào ~/.claude/skills/smart-explore/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/thedotmack/claude-mem.git /tmp/claude-mem && mkdir -p ~/.claude/skills && cp -r /tmp/claude-mem/plugin/skills/smart-explore ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và tải repo:
git clone https://github.com/thedotmack/claude-mem.git - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Sao chép skill:
cp -r claude-mem/plugin/skills/smart-explore ~/.claude/skills/ - Bắt buộc — skill chỉ chứa hướng dẫn; các tool thật do MCP server của plugin claude-mem cung cấp. Hãy đọc README của repo để cài plugin/MCP server và kết nối vào Claude Code.
- Khởi động lại Claude Code, chạy
/mcpđể kiểm tra đã thấysmart_search,smart_outline,smart_unfold. - Trong thư mục dự án, thử yêu cầu: "dùng smart-explore tìm code liên quan tới shutdown trong ./src".
- (Tùy chọn) Nếu dùng ngôn ngữ chưa được hỗ trợ sẵn, tạo
.claude-mem.jsonở gốc dự án để khai báo package tree-sitter, phần mở rộng file và file query.