From aims-toolkit
코드 탐색, 실행 흐름, 아키텍처 분석, 의존성 분석, 코드베이스 이해, 심볼 분석, 레퍼런스 추적 - Traces execution paths, maps architecture layers, and navigates symbols using LSP (Grep fallback). Use when exploring unfamiliar code, understanding feature implementations, or mapping dependencies. Do NOT use for making code changes (use feature-development or refactor-cleaner).
npx claudepluginhub aimskr/aims-claude-toolkit --plugin aims-toolkitThis skill uses the workspace's default tool permissions.
Trace and understand feature implementations across codebases using LSP and standard tools.
Uses tree-sitter index for code navigation in Rust, Python, TypeScript, JavaScript, Go, Java, Scala, SQL: finds symbols, reads function implementations, traces callers, discovers tests.
Explores codebase structure, architecture, files, directories, and component relationships using OpenTrace knowledge graph. For browsing, searching, and understanding code organization.
Share bugs, ideas, or general feedback.
Trace and understand feature implementations across codebases using LSP and standard tools.
LSP 플러그인 설치 완료 (pyright, typescript-lsp, jdtls-lsp, swift-lsp). 항상 LSP 도구를 우선 사용한다.
LSP 도구 operations:
goToDefinition — 심볼 정의로 이동findReferences — 심볼의 모든 참조 검색workspaceSymbol — 워크스페이스 전체 심볼 검색hover — 타입/문서 정보 조회goToImplementation — 인터페이스/추상 메서드 구현체 탐색incomingCalls — 이 함수를 호출하는 모든 함수 검색outgoingCalls — 이 함수가 호출하는 모든 함수 검색documentSymbol — 파일 내 모든 심볼 목록LSP 도구 호출 예시:
LSP(operation: "goToDefinition", filePath: "src/service/user.py", line: 15, character: 10)
LSP(operation: "findReferences", filePath: "src/service/user.py", line: 15, character: 10)
Fallback (LSP 에러 시에만): LSP 도구가 에러를 반환한 경우에만 Glob → Grep → Read 순서로 대체. LSP 시도 없이 Grep부터 사용 금지.
1. Structure Overview (LSP: workspaceSymbol / documentSymbol)
↓
2. Entry Point Discovery (LSP: goToDefinition / findReferences)
↓
3. Code Flow Tracing (LSP: incomingCalls / outgoingCalls → call chain)
↓
4. Architecture Mapping (layers, patterns, dependencies)
↓
5. Report with file:line references
| Type | Location | Description |
|---|---|---|
| API | src/api/users.py:45 | GET /users endpoint |
1. [Entry] src/api/users.py:45 - get_users()
↓ validates request params
2. [Service] src/services/user_service.py:30 - list_users()
↓ applies business rules
3. [Repository] src/repositories/user_repo.py:55 - find_all()
↓ builds query
4. [Response] returns domain objects
| Component | File | Responsibility |
|---|---|---|
| Service | src/services/x.py | Business logic |
| Repository | src/repositories/x.py | Data access |
Read directly without understanding structure first실행 흐름 분석 리포트(Entry Points + Execution Flow + Key Components + Dependencies)가 file:line 참조와 함께 전달되면 완료.
LSP 도구가 에러 반환: 해당 파일 타입의 LSP 서버가 지원되지 않는 경우. Glob → Grep → Read로 fallback. "LSP 미지원 파일 타입 — Grep fallback" 1줄 고지. Codebase too large to trace completely: Start from the specific entry point the user cares about. Trace one flow end-to-end rather than mapping everything. Dynamic dispatch makes tracing difficult: Search for string patterns (route registrations, event handlers, DI bindings) that wire dynamic calls. Document as "dynamic dispatch — runtime-dependent" in the report.