Skip to content
Development
Skill

/explore

Explores codebase structure, stack, and architecture. Triggers: explore codebase, project structure, stack overview, architecture map.

From plugin
ai-toolkit
161111 skills44 agents
Install
$ npx -y skills add softspark/ai-toolkit --skill explore --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/explore

Context preview

The summary Claude sees to decide when to auto-load this skill.

Explores codebase structure, stack, and architecture. Triggers: explore codebase, project structure, stack overview, architecture map.

SKILL.md

explore.SKILL.md
name: explore
description: "Explores codebase structure, stack, and architecture. Triggers: explore codebase, project structure, stack overview, architecture map."
user-invocable: true
effort: medium
argument-hint: "[path or question]"
allowed-tools: Read, Grep, Glob

Codebase Exploration

$ARGUMENTS

Explore and understand a codebase structure.

Project context

  • Config files: !`find . -maxdepth 2 -type f -name "*.json" -o -name "*.toml" -o -name "*.yaml" -o -name "*.yml" 2>/dev/null | head -20`

Usage

/explore [path]

What This Command Does

1. **Maps** project structure 2. **Identifies** technology stack 3. **Finds** key files and patterns 4. **Reports** architecture overview

Output Format

## Codebase Analysis Report

### Project Type
- **Language**: [TypeScript/Python/PHP/etc.]
- **Framework**: [Next.js/FastAPI/Laravel/etc.]
- **Package Manager**: [npm/pnpm/pip/composer]

### Directory Structure

project/ ├── src/ # Source code ├── tests/ # Test files ├── config/ # Configuration └── ...


### Key Files
| File | Purpose |
|------|---------|
| `src/index.ts` | Entry point |
| `src/api/` | API routes |

### Dependencies
- **Runtime**: [list]
- **Dev**: [list]

### Patterns Detected
- [Pattern 1]
- [Pattern 2]

### Entry Points
- [Entry 1]
- [Entry 2]

Technology Detection

| Marker | Technology | |--------|------------| | `package.json` | Node.js | | `tsconfig.json` | TypeScript | | `next.config.*` | Next.js | | `nuxt.config.*` | Nuxt | | `pyproject.toml` | Python | | `composer.json` | PHP | | `pubspec.yaml` | Flutter/Dart | | `Cargo.toml` | Rust | | `go.mod` | Go |

When to Use

  • Starting work on unfamiliar codebase
  • Before planning major changes
  • Understanding dependencies
  • Finding specific code patterns

READ-ONLY

This skill ONLY reads and analyzes. It does NOT write or modify any files.

Visual Output

For an interactive HTML tree visualization of the codebase:

python3 ${CLAUDE_SKILL_DIR}/scripts/visualize.py .

This generates `codebase-map.html` with collapsible directories, file sizes, and type-colored indicators.

KB Integration

smart_query("codebase analysis: {technology}")
hybrid_search_kb("project structure {framework}")

Rules

  • **MUST** use `Glob` and `Grep` before `Read` — scan for shape before opening files
  • **MUST** deliver a map of the codebase (entry points, layers, module boundaries), not a file listing — a tree without interpretation is noise
  • **NEVER** read every file sequentially; target reads via grep patterns and filename globs
  • **NEVER** modify any file — this is a read-only skill
  • **CRITICAL**: when the repo contains generated code (`node_modules`, `vendor/`, `dist/`, `build/`), exclude it from scans or the signal drowns in generated noise
  • **MANDATORY**: summarize the stack once at the top (language, framework, package manager, test runner) before diving into structure

Gotchas

  • `find .` and `ls -R` ignore `.gitignore` by default and include `node_modules`, `vendor/`, `.venv/`, `target/`. Use `git ls-files` or `fd` / `rg` for a git-aware listing, or explicitly prune.
  • `package.json` says `"type": "module"` → ESM; absence → CommonJS. Mixing them without noticing produces "Cannot use import statement outside a module" errors later; call out the setting in the report.
  • Frameworks with file-based routing (Next.js, Nuxt, SvelteKit) treat the `app/` or `pages/` tree as the router. A directory listing alone does not reveal routes — the framework convention does. Name the framework first, then the routes.
  • `pyproject.toml` can declare multiple project layouts (src/, flat, namespace packages). "Where is the main code" is not obvious without reading `[tool.setuptools.packages]` or `[tool.poetry.packages]`.
  • Large monorepos use workspaces (`pnpm-workspace.yaml`, `nx.json`, `turbo.json`) with apps and packages. Treating the root as the project conceals the actual component boundaries — surface the workspace topology first.

When NOT to Use

  • To explain a specific module's design — use `/explain`
  • To find a specific identifier or symbol — use `Grep` directly or `/research-mastery`
  • To audit architecture for deepening candidates — use `/architecture-audit`
  • To scaffold a new project — use `/app-builder`
  • When the user already knows the codebase — skip the overview and jump to the concrete task
Read more
Ships withai-toolkit

Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety, 109 skills, 44 agents, expanded lifecycle hooks, persona presets, experimental opt-in plugin packs, and benchmark tooling — works with Claude Code, Claude Chat/Cowork,

Get the whole plugin