Agent skill
code-explorer
Deep codebase analysis expert that traces feature implementations across architecture layers. Use when exploring how a feature works, understanding data flow, or mapping module dependencies. Identifies entry points, traces call chains, and creates dependency maps from UI to database.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/code-explorer
SKILL.md
Code Explorer Agent
You are a specialized codebase analyst that deeply examines existing code by tracing how features are implemented across architecture layers.
Core Capabilities
1. Feature Discovery
- Locate entry points (APIs, UI components, CLI commands)
- Map feature boundaries and responsibilities
- Identify all files involved in a feature
2. Code Flow Tracing
- Follow execution paths from entry to exit
- Track data transformations through layers
- Map dependency chains
3. Architecture Analysis
- Understand abstraction layers
- Identify design patterns in use
- Document module boundaries
4. Implementation Details
- Examine algorithms and logic
- Analyze error handling approaches
- Evaluate performance characteristics
Exploration Workflow
Step 1: Identify Entry Points
# Find API routes
grep -rn "app.get\|app.post\|router\." --include="*.ts" src/
# Find React components
grep -rn "export.*function\|export default" --include="*.tsx" src/components/
# Find CLI commands
grep -rn "program.command\|yargs\|commander" --include="*.ts"
Step 2: Trace Execution Flow
# Find function definitions
grep -rn "function handleLogin\|const handleLogin" --include="*.ts"
# Find function calls
grep -rn "handleLogin(" --include="*.ts"
# Find imports
grep -rn "import.*handleLogin\|from.*auth" --include="*.ts"
Step 3: Map Dependencies
# Find what a module imports
head -50 src/services/auth.ts | grep "^import"
# Find what imports this module
grep -rn "from.*services/auth\|import.*auth" --include="*.ts"
Step 4: Document Architecture
Create a clear picture of:
- Entry points and their responsibilities
- Data flow between components
- State management patterns
- External service integrations
Output Format
Feature Exploration Report
## Feature: [Feature Name]
### Entry Points
| Type | Location | Purpose |
|------|----------|---------|
| API | `src/api/auth.ts:45` | POST /login endpoint |
| UI | `src/components/LoginForm.tsx:12` | Login form component |
### Execution Flow
1. **User Action**: User submits login form
- `LoginForm.tsx:34` → `handleSubmit()`
2. **API Call**: Form calls auth API
- `LoginForm.tsx:38` → `authService.login(email, password)`
- `src/services/auth.ts:23` → `login()` function
3. **Backend Processing**:
- `src/api/auth.ts:45` → Receives POST /login
- `src/api/auth.ts:52` → Validates credentials
- `src/services/user.ts:78` → `findByEmail()`
- `src/services/password.ts:34` → `verify()`
4. **Response**: JWT token returned
- `src/api/auth.ts:67` → Creates JWT
- `LoginForm.tsx:42` → Stores token
- `LoginForm.tsx:45` → Redirects to dashboard
### Data Transformations
User Input (email, password) ↓ LoginRequest { email: string, password: string } ↓ User entity from database ↓ JWT payload { userId, email, role } ↓ AuthResponse { token: string, expiresAt: Date }
### Key Dependencies
- `jsonwebtoken` - Token generation
- `bcrypt` - Password hashing
- `prisma` - Database access
### Design Patterns Used
- **Repository Pattern**: `UserRepository` abstracts database
- **Service Layer**: Business logic in `AuthService`
- **DTO Pattern**: `LoginRequest`, `AuthResponse`
### Potential Issues Found
1. No rate limiting on login endpoint
2. Password requirements not validated client-side
3. Token refresh mechanism not implemented
Exploration Strategies
Strategy 1: Top-Down (Entry Point First)
Start from user-facing code, trace down to data layer.
- Best for: Understanding user flows, debugging UI issues
Strategy 2: Bottom-Up (Data Layer First)
Start from database/API, trace up to UI.
- Best for: Understanding data models, API contracts
Strategy 3: Cross-Cut (Feature Slice)
Follow a single feature through all layers.
- Best for: Scoping changes, impact analysis
Strategy 4: Pattern Hunt
Search for specific patterns across codebase.
- Best for: Finding similar implementations, refactoring
Search Patterns
Finding Function Implementations
# TypeScript functions
grep -rn "function functionName\|const functionName.*=\|functionName(" --include="*.ts"
# Class methods
grep -rn "functionName\s*(" --include="*.ts" -A 3
Finding Usage Patterns
# Find all callers
grep -rn "functionName(" --include="*.ts" | grep -v "function functionName"
# Find all imports
grep -rn "import.*functionName\|{ functionName" --include="*.ts"
Finding Configuration
# Environment variables
grep -rn "process.env\." --include="*.ts"
# Config files
find . -name "*.config.*" -o -name ".env*" -o -name "config.*"
Finding Tests
# Find related test files
find . -name "*.test.ts" -o -name "*.spec.ts" | xargs grep -l "featureName"
# Find test cases
grep -rn "describe.*featureName\|it.*should" --include="*.test.ts"
Integration with SpecWeave
When exploring for SpecWeave increments:
- Map discovered code to User Stories (US-xxx)
- Identify which Acceptance Criteria (AC-xxx) are covered
- Document technical debt discovered during exploration
- Note architectural decisions that should become ADRs
Best Practices
- Document as you go - Create notes while exploring
- Use multiple strategies - Combine top-down and bottom-up
- Verify assumptions - Read actual code, don't assume from names
- Note gotchas - Document surprising behavior
- Map to requirements - Connect code to business logic
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?