Skip to content
Development
Skill

/analyzing-codebases

Detects project languages and monorepo state, runs language-appropriate static analysis (dependency graph, complexity, duplication, semantic patterns), and produces a refactor map ranking hotspots. Use when user invokes /aref or explicitly asks to analyze a codebase for

From plugin
reflexive-claude-code
1629 skills6 agents6 commands

Claude Code

$ npx -y skills add wayne930242/Reflexive-Claude-Code --skill analyzing-codebases --agent claude-code

SKILL.md

analyzing-codebases.SKILL.md
name: analyzing-codebases
description: Detects project languages and monorepo state, runs language-appropriate static analysis (dependency graph, complexity, duplication, semantic patterns), and produces a refactor map ranking hotspots. Use when user invokes /aref or explicitly asks to analyze a codebase for refactoring.

Analyzing Codebases

Overview

**Analyzing codebases IS producing a hotspot-ranked refactor map before any restructuring begins.**

Run the language-specific toolchain, aggregate results into a single map covering dependency graph, complexity hotspots, duplication, cyclic dependencies, and AGENTS.md gaps. The map is the input to `planning-refactors`; without it, planning is guesswork.

**Core principle:** Measure before touching code.

Routing

**Pattern:** Chain **Handoff:** user-confirmation **Next:** `planning-refactors`

Task Initialization (MANDATORY)

Before ANY action, create task list using TaskCreate:

  • Subject: `[analyzing-codebases] Task N: <action>`

**Tasks:** 1. Detect languages and monorepo state 2. Determine refactor scope (whole repo vs subproject) 3. Check required toolchain availability 4. Run toolchain and collect raw outputs 5. Compute hotspot ranking (churn × complexity) 6. Assemble refactor map 7. Present map and await user approval

Task 1: Detect languages

Scan CWD for manifest files. Each manifest maps to a language:

  • `package.json` → TypeScript/JavaScript
  • `pyproject.toml` or `setup.py` → Python
  • `Cargo.toml` → Rust
  • `go.mod` → Go

Record detected languages in memory. No manifest → generic fallback.

Task 2: Determine scope

Check for monorepo markers:

  • `pnpm-workspace.yaml`, `lerna.json`, `nx.json`, `turbo.json` → JS monorepo
  • Cargo `[workspace]` in root `Cargo.toml` → Rust workspace
  • Multiple `go.mod` files → Go multi-module
  • Multiple `pyproject.toml` in subdirs → Python workspace

Monorepo → ask user: whole repo, specific subproject(s), or root only. Single project → scope is CWD.

Task 3: Check toolchain

For each detected language, load the corresponding reference in `references/`. Check each tool with `which <tool>` or language-specific equivalent.

Missing tools → print install command from the reference; ask user to install-then-continue or skip that analysis class.

Task 4: Run toolchain

Execute the tools per reference instructions. Save raw outputs to `.rcc/aref-raw/{ts}-{lang}-{tool}.<ext>` where `<ext>` matches each tool's native output format (see Output Locations in each reference doc — `.json`, `.csv`, `.txt`, `.dot` etc.). `{ts}` = `YYYYMMDD-HHMMSS`, fixed for the run.

Task 5: Compute hotspots

Hotspot score = git log churn × cognitive complexity. Churn: `git log --format=format: --name-only --since="6 months ago" | grep -v '^$' | sort | uniq -c | sort -rn`. Complexity from toolchain output.

Rank top 20 files by score.

Task 6: Assemble refactor map

Write `.rcc/{ts}-refactor-map.md` per schema in `references/refactor-map-schema.md`.

Task 7: Present to user

Print summary: detected languages, scope, top 5 hotspots, count of cyclic deps, AGENTS.md status. Ask user: `approve plan handoff` / `adjust scope` / `abort`.

Approved → hand off to `planning-refactors`.

Red Flags - STOP

  • "Skip toolchain, read code directly"
  • "Compute hotspots from file size only"
  • "Skip churn (no git history)"
  • "Produce plan before map"
  • "Scope = whole repo" on a monorepo without asking

Common Rationalizations

| Thought | Reality | |---------|---------| | "I can eyeball the hotspots" | Hotspots = churn × complexity. Both must be measured. | | "Tool missing, skip silently" | Ask user. Silent skip produces incomplete map. | | "Map too long, summarize aggressively" | Map is machine input for planning. Completeness beats brevity. | | "Use LOC as complexity proxy" | LOC correlates weakly. Use cognitive complexity. | | "Run on uncommitted changes" | Churn = git history. Dirty tree skews count. |

References

  • `references/typescript-toolchain.md`
  • `references/python-toolchain.md`
  • `references/rust-toolchain.md`
  • `references/go-toolchain.md`
  • `references/generic-fallback.md`
  • `references/refactor-map-schema.md`
Read more
@wayne930242
Ships withreflexive-claude-code

A Claude Code plugin marketplace for skills-driven Agentic Context Engineering (ACE) — build, analyze, and maintain agent systems with structured workflows.

1629 skills6 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
16
Star history of wayne930242/Reflexive-Claude-Code on GitHub, a chart by star-history.com

Other skills on reflexive-claude-code.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about analyzing-codebases.

Which coding agents can use analyzing-codebases?
analyzing-codebases installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.