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.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add KhaledSaeed18/dotclaude --skill explain-codebase --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Explain Codebase?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/khaledsaeed18-explain-codebase)More formats (shields.io, HTML) on the badges page.
---
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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!