본문으로 건너뛰기
cccskills
무료GitHub에 공개

smart-explore

Explore code through structural search: find functions and classes, view file outlines, and open only the implementations you need. It uses tree-sitter, a parser that identifies code structure, to limit how much source text is loaded.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Token-optimized structural code search using tree-sitter AST parsing. Use instead of reading full files when you need to understand code structure, find functions, or explore a codebase efficiently.

설치 방법 보기

이럴 때 유용합니다

  • Finding functions related to a feature
  • Navigating the structure of a large source file
  • Reading only a specific function's implementation
  • Locating sections in long Markdown documents

포함된 파일(1)

  • SKILL.md9.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Smart Explore

Structural code exploration using AST parsing. This skill overrides your default exploration behavior. While this skill is active, use smart_search/smart_outline/smart_unfold as your primary tools instead of Read, Grep, and Glob.

Core principle: Index first, fetch on demand. Give yourself a map of the code before loading implementation details. The question before every file read should be: "do I need to see all of this, or can I get a structural overview first?" The answer is almost always: get the map.

Your Next Tool Call

This skill only loads instructions. You must call the MCP tools yourself. Your next action should be one of:

smart_search(query="<topic>", path="./src")    -- discover files + symbols across a directory
smart_outline(file_path="<file>")              -- structural skeleton of one file
smart_unfold(file_path="<file>", symbol_name="<name>")  -- full source of one symbol

Do NOT run Grep, Glob, Read, or find to discover files first. smart_search walks directories, parses all code files, and returns ranked symbols in one call. It replaces the Glob → Grep → Read discovery cycle.

3-Layer Workflow

Step 1: Search -- Discover Files and Symbols

smart_search(query="shutdown", path="./src", max_results=15)

Returns: Ranked symbols with signatures, line numbers, match reasons, plus folded file views (~2-6k tokens)

-- Matching Symbols --
  function performGracefulShutdown (services/infrastructure/GracefulShutdown.ts:56)
  function httpShutdown (services/infrastructure/HealthMonitor.ts:92)
  method WorkerService.shutdown (services/worker-service.ts:846)

-- Folded File Views --
  services/infrastructure/GracefulShutdown.ts (7 symbols)
  services/worker-service.ts (12 symbols)

This is your discovery tool. It finds relevant files AND shows their structure. No Glob/find pre-scan needed.

Parameters:

  • query (string, required) -- What to search for (function name, concept, class name)
  • path (string) -- Root directory to search (defaults to cwd)
  • max_results (number) -- Max matching symbols, default 20, max 50
  • file_pattern (string, optional) -- Filter to specific files/paths

Step 2: Outline -- Get File Structure

smart_outline(file_path="services/worker-service.ts")

Returns: Complete structural skeleton -- all functions, classes, methods, properties, imports (~1-2k tokens per file)

Skip this step when Step 1's folded file views already provide enough structure. Most useful for files not covered by the search results.

Parameters:

  • file_path (string, required) -- Path to the file

Step 3: Unfold -- See Implementation

Review symbols from Steps 1-2. Pick the ones you need. Unfold only those:

smart_unfold(file_path="services/worker-service.ts", symbol_name="shutdown")

Returns: Full source code of the specified symbol including JSDoc, decorators, and complete implementation (~400-2,100 tokens depending on symbol size). AST node boundaries guarantee completeness regardless of symbol size — unlike Read + agent summarization, which may truncate long methods.

Parameters:

  • file_path (string, required) -- Path to the file (as returned by search/outline)
  • symbol_name (string, required) -- Name of the function/class/method to expand

When to Use Standard Tools Instead

Use these only when smart_* tools are the wrong fit:

  • Grep: Exact string/regex search ("find all TODO comments", "where is ensureWorkerStarted defined?")
  • Read: Small files under ~100 lines, non-code files (JSON, markdown, config)
  • Glob: File path patterns ("find all test files")
  • Explore agent: When you need synthesized understanding across 6+ files, architecture narratives, or answers to open-ended questions like "how does this entire system work end-to-end?" Smart-explore is a scalpel — it answers "where is this?" and "show me that." It doesn't synthesize cross-file data flows, design decisions, or edge cases across an entire feature.

For code files over ~100 lines, prefer smart_outline + smart_unfold over Read.

Workflow Examples

Discover how a feature works (cross-cutting):

1. smart_search(query="shutdown", path="./src")
   -> 14 symbols across 7 files, full picture in one call
2. smart_unfold(file_path="services/infrastructure/GracefulShutdown.ts", symbol_name="performGracefulShutdown")
   -> See the core implementation

Navigate a large file:

1. smart_outline(file_path="services/worker-service.ts")
   -> 1,466 tokens: 12 functions, WorkerService class with 24 members
2. smart_unfold(file_path="services/worker-service.ts", symbol_name="startSessionProcessor")
   -> 1,610 tokens: the specific method you need
Total: ~3,076 tokens vs ~12,000 to Read the full file

Write documentation about code (hybrid workflow):

1. smart_search(query="feature name", path="./src")    -- discover all relevant files and symbols
2. smart_outline on key files                           -- understand structure
3. smart_unfold on important functions                  -- get implementation details
4. Read on small config/markdown/plan files             -- get non-code context

Use smart_* tools for code exploration, Read for non-code files. Mix freely.

Exploration then precision:

1. smart_search(query="session", path="./src", max_results=10)
   -> 10 ranked symbols: SessionMetadata, SessionQueueProcessor, SessionSummary...
2. Pick the relevant one, unfold it

Token Economics

ApproachTokensUse Case
smart_outline~1,000-2,000"What's in this file?"
smart_unfold~400-2,100"Show me this function"
smart_search~2,000-6,000"Find all X across the codebase"
search + unfold~3,000-8,000End-to-end: find and read (the primary workflow)
Read (full file)~12,000+When you truly need everything
Explore agent~39,000-59,000Cross-file synthesis with narrative

4-8x savings on file understanding (outline + unfold vs Read). 11-18x savings on codebase exploration vs Explore agent. The narrower the query, the wider the gap — a 27-line function costs 55x less to read via unfold than via an Explore agent, because the agent still reads the entire file.

Language Support

Smart-explore uses tree-sitter AST parsing for structural analysis. Unsupported file types fall back to text-based search.

Bundled Languages

LanguageExtensions
JavaScript.js, .mjs, .cjs
TypeScript.ts
TSX / JSX.tsx, .jsx
Python.py, .pyw
Go.go
Rust.rs
Ruby.rb
Java.java
C.c, .h
C++.cpp, .cc, .cxx, .hpp, .hh

Files with unrecognized extensions are parsed as plain text — smart_search still works (grep-style), but smart_outline and smart_unfold will not extract structured symbols.

Custom Grammars (.claude-mem.json)

You can register additional tree-sitter grammars for file types not in the bundled list. Create or update .claude-mem.json in your project root:

{
  "grammars": {
    "solidity": {
      "package": "tree-sitter-solidity",
      "extensions": [".sol"],
      "query": "solidity-query.scm"
    }
  }
}

Each key is a language name. package is the npm package of the tree-sitter grammar and extensions lists the file extensions it covers; the package must be installed in the project's node_modules (npm install tree-sitter-solidity). query (optional) is a path, relative to the config file, to a tree-sitter query whose captures (@func, @cls, @method, @iface, @enm, @struct_def, @imp) extract symbols. Without query, a minimal generic pattern is used — it only matches grammars that define function_declaration/class_declaration node types, and query compilation fails silently (0 symbols) for grammars that lack them, so a custom query is effectively required for most languages. Once registered, smart_outline and smart_unfold parse those extensions structurally instead of falling back to plain text.

Markdown Special Support

Markdown files (.md, .mdx) receive special handling beyond the generic plain-text fallback:

  • smart_outline — extracts headings (#, ##, ###) as the symbol tree. Use it to navigate long documents without reading the full file.
  • smart_search — searches within code fences as well as prose, so queries for function names inside ```ts ``` blocks work as expected.
  • smart_unfold — expands heading sections rather than function bodies; each section up to the next same-level heading is returned as a chunk.
  • Frontmatter — YAML frontmatter (lines between leading --- delimiters) is included in smart_outline output under a synthetic frontmatter symbol so metadata like title: and description: is visible without reading the whole file.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Turn agent activity and transcript token counts into a cost report organized around completed outcomes. Separate estimates from measured spending, examine waste and rework, and export readable HTML with supporting JSON, CSV, and evidence.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing weekly agent spending and completed work
  • Comparing costs per completed outcome
  • Investigating the cost of loops and rework
thedotmack/claude-mem10.2만2026년 10월 19일 업데이트

babysit

무료

Monitor a pull request through reviews and automated checks, verify reported issues against the code, and make focused fixes. Repeat testing and review checks until actionable comments and unresolved threads are cleared and the request is ready to merge.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Monitoring a pull request while automated checks run
  • Verifying and fixing review comments
  • Checking unresolved threads before a merge
thedotmack/claude-mem10.2만2026년 10월 19일 업데이트

Delegate a coding task to a subagent that runs build, merges the ready pull request, and continues from the updated main branch into release, connecting implementation and release work in one automated sequence.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Delegating a coding task through release
  • Connecting a ready PR merge to release work
  • Running build and release in sequence
thedotmack/claude-mem10.2만2026년 10월 19일 업데이트

ccs-align

무료

Check a local claude-mem worker, refresh viewer-specific caches of important observations, and exclude or restore records without deleting history. Inspect rules across shared, project, and agent layers, then append conflicts to a report.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking worker health and refreshing important observations
  • Excluding cached records while preserving source history
  • Restoring previously excluded observations to a cache
thedotmack/claude-mem10.2만2026년 10월 19일 업데이트

childhood

무료

Monitor a shipped release by checking published packages, live services, installed plugins, and late CI results or user reports. Verify regressions, prepare authorized fixes, and report release health with evidence and any remaining verification gaps.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking package contents after publication
  • Verifying changed user flows in production
  • Confirming installed plugins use the shipped version
thedotmack/claude-mem10.2만2026년 10월 19일 업데이트

Set up claude-mem in Cursor with a local or remote worker, the process that runs its work. Follow configuration steps for remote inference through cmem.ai or a local observer using the host's login.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Installing claude-mem with a local worker in Cursor
  • Connecting Cursor to a remote claude-mem worker
  • Configuring host-login or cmem.ai inference
thedotmack/claude-mem10.2만2026년 10월 19일 업데이트

thedotmack의 스킬 모두 보기

이 스킬의 문제 신고