Skip to content
Development
Skill

/explain-codebase

Onboard to an unfamiliar codebase by mapping its architecture, entry points, and data flow. Use when starting work in a new or unknown repository and you need a navigable mental model fast.

From plugin
dotclaude
540 skills1 agent1 command
Install
$ npx -y skills add KhaledSaeed18/dotclaude --skill explain-codebase --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/explain-codebase

Context preview

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

Onboard to an unfamiliar codebase by mapping its architecture, entry points, and data flow. Use when starting work in a new or unknown repository and you need a navigable mental model fast.

SKILL.md

explain-codebase.SKILL.md
name: explain-codebase
description: Onboard to an unfamiliar codebase by mapping its architecture, entry points, and data flow. Use when starting work in a new or unknown repository and you need a navigable mental model fast.
argument-hint: "(optional) a subsystem, feature, or question to focus on"

Build a navigable map of this repository so the reader can find their way around and start contributing. Work from evidence in the repo, not assumptions about the stack.

Orient first

  • Identify the project type and stack from manifests and config (e.g. `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `pom.xml`, `Gemfile`, Dockerfiles, CI config). Note the build, test, and run commands.
  • Read the README, docs, and any `CONTRIBUTING` or architecture notes before reading code, but verify their claims against the tree rather than trusting them blindly.
  • Get the shape of the tree: the top-level directories and what each is responsible for.

Map the architecture

  • Find the **entry points**: CLI mains, server bootstraps, route registrations, scheduled jobs, queue consumers, lambda/handler exports, UI roots. List them with `file:line`.
  • Identify the **layers / modules** and how they depend on each other (e.g. interface → service/domain → data access → external integrations). Note the boundaries that matter.
  • Locate cross-cutting concerns: config/env loading, auth, logging, error handling, database/connection setup, feature flags.

Trace the data flow

  • Pick one or two representative operations (or whatever the user asked to focus on) and follow them end to end: input → validation → core logic → persistence/external calls → response.
  • Show each path as a short sequence of `file:line` hops the reader can click through.
  • Call out where state lives (databases, caches, queues, external services) and how it's accessed.

Report

Produce, concisely:

1. **Summary**: one paragraph on what this project is and does. 2. **Architecture map**: the layers/modules and their responsibilities. 3. **Entry points**: where execution starts, with paths. 4. **Key flows**: the traced paths. 5. **Conventions & gotchas**: naming, patterns, where to add a new feature, anything surprising. 6. **Where to look next**: the 3 to 5 files most worth reading first.

Prefer precise `file:line` references over prose. Flag anything you were unsure about rather than guessing.

Read more
Ships withdotclaude

Reusable Claude Code extension registry. skills, subagents, slash commands, and hooks for engineering, git, testing, and security workflows. Distributed as a shadcn GitHub registry and as installable plugins.

Get the whole plugin

Other skills on dotclaude.