Use when you need to map module layout, runtime boundaries, data flow, ownership zones, and high-risk files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skillry-core-operations:02-codebase-cartographyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Produce a structured map of an unfamiliar or sprawling codebase: entry points, module boundaries, runtime process topology, data-flow paths, and files that are disproportionately risky to touch. It answers "what calls what, where does data come from, and which files must not break" before any significant change begins — so a cross-cutting edit starts with the full set of affected files known, n...
Produce a structured map of an unfamiliar or sprawling codebase: entry points, module boundaries, runtime process topology, data-flow paths, and files that are disproportionately risky to touch. It answers "what calls what, where does data come from, and which files must not break" before any significant change begins — so a cross-cutting edit starts with the full set of affected files known, not discovered mid-flight. The analysis is read-only and never executes scripts or installs dependencies.
repo-diagnostics.find . -maxdepth 3 -type f | sort or tree -L 3. Treat src/, app/, packages/, services/, libs/, cmd/, and internal/ as strong signals of the module-decomposition model.main() (Go, Rust, Java), if __name__ == "__main__" (Python), top-level app.listen or server.listen (Node), @SpringBootApplication, or Dockerfile CMD/ENTRYPOINT. Each is a runtime boundary.rg -l "from '.*/moduleX'" --type ts. For Python: rg -l "import moduleX". For Go: rg -l '"path/to/pkg"'. Build a caller tree two levels deep — usually enough to spot unexpected coupling.git log if available, note who predominantly owns each zone.Structure and entry points:
Coupling and data flow:
Risk:
# --- top-level shape ---
# skeletal directory listing
find . -maxdepth 3 -type f -not -path '*/node_modules/*' -not -path '*/.git/*' | sort | head -60
# --- entry points ---
# process entry points across languages
rg -n 'def main\(|if __name__ == .__main__.|app\.listen|server\.listen|@SpringBootApplication' . | head
rg -n 'CMD|ENTRYPOINT' Dockerfile* 2>/dev/null
# --- fan-in ---
# which files import a given module (replace moduleX)
rg -l "from ['\"].*moduleX|import .*moduleX" .
# most-imported local modules (rough ranking of shared infra)
rg -oN "from ['\"](\.[^'\"]+)['\"]" -r '$1' . | sort | uniq -c | sort -rn | head -20
# --- cross-runtime boundaries ---
# queues, workers, cron, sockets, IPC
rg -n 'new Worker|Queue\(|kafka|sqs|cron\.schedule|new WebSocketServer|ipcMain|ipcRenderer' . | head
# --- data flow ---
# route handlers and service-layer entry points
rg -n 'router\.(get|post|put|delete)|@(Get|Post)\(|app\.(get|post)' . | head
# --- risk / churn ---
# high-change files are also high-risk
git log --since=6.months --name-only --pretty=format: 2>/dev/null | sort | uniq -c | sort -rn | head -20
# modules with no adjacent test file
rg -L --files -g '*.ts' src | rg -v '\.test\.|\.spec\.' | head
# --- external call sites ---
# HTTP clients and SDK instantiations (integration boundaries)
rg -n 'axios|fetch\(|new .*Client\(|createClient|http\.request' . | head
# --- config / secrets in module scope ---
# env reads at module scope (test-fragility / hidden coupling)
rg -n 'process\.env\.|os\.environ|Deno\.env' . | head
# --- barrel files ---
# index files that re-export and hide true import counts
fd -t f 'index.ts|index.js|__init__.py' . | head
# --- ownership ---
# predominant author per directory (if git history exists)
git log --pretty=format:'%an' --name-only 2>/dev/null | head -40
index.ts re-exports many modules, making import counts look low — always trace through barrels to find real consumers.utils.ts or helpers.py grown past 1000 lines with no cohesion; changes here ripple everywhere.const db = new Pool(process.env.DATABASE_URL) at the top of a file breaks any test that does not set that env var.emit('user.created') has five subscribers but grepping the literal finds two — the rest build the string from constants.madge and load-order bugs will surface; note it rather than untangle it during mapping.import() string that the entry-point scan does not resolve, leaving part of the request graph invisible.Return a structured map with:
POST /orders to OrderService to OrderRepository to postgres)..env or config to understand shape, redact actual secret values — describe key names only.Done means the top-level structure, entry points, high-fan-in modules, one end-to-end data-flow trace, cross-runtime boundaries, and high-risk files are all documented with evidence; ownership zones are mapped; and the report names the single module to investigate first for the active task.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub fluxonlab/skillry --plugin skillry-core-operations