Claude-skill-registry codebase-analysis
Execute a structured codebase exploration workflow to gather insights. Use when asked to "analyze codebase", "explore codebase", "understand this codebase", or "map the codebase".
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/codebase-analysis" ~/.claude/skills/majiayu000-claude-skill-registry-codebase-analysis && rm -rf "$T"
skills/data/codebase-analysis/SKILL.mdCodebase Analysis Workflow
Execute a structured 4-phase codebase analysis workflow to gather insights.
CRITICAL: Complete ALL 4 phases. The workflow is not complete until Phase 4: Post-Analysis Actions is finished. After completing each phase, immediately proceed to the next phase without waiting for user prompts.
Phase Overview
- Exploration — Launch parallel agents to investigate the codebase
- Synthesis — Merge and analyze findings via synthesizer agent
- Reporting — Present structured analysis to the user
- Post-Analysis Actions — Save, document, or retain analysis insights
Phase 1: Codebase Exploration
Goal: Thoroughly explore the codebase to gather raw findings.
-
Determine analysis context:
- If
is provided, use it as the analysis context (feature area, question, or general exploration goal)$ARGUMENTS - If no arguments, set context to "general codebase understanding"
- Set
PATH = current working directory - Inform the user: "Analyzing codebase at:
" with the analysis contextPATH
- If
-
Load skills for this phase:
- Read
and apply its guidance${CLAUDE_PLUGIN_ROOT}/skills/project-conventions/SKILL.md - Read
and apply its guidance${CLAUDE_PLUGIN_ROOT}/skills/language-patterns/SKILL.md
- Read
-
Determine focus areas:
- For feature-focused analysis, use 3 agents:
Agent 1: Explore entry points and user-facing code related to the context Agent 2: Explore data models, schemas, and storage related to the context Agent 3: Explore utilities, helpers, and shared infrastructure - For general codebase understanding, 2 agents may suffice:
Agent 1: Explore application structure, entry points, and core logic Agent 2: Explore configuration, infrastructure, and shared utilities
- For feature-focused analysis, use 3 agents:
-
Launch code-explorer agents:
Launch agents in parallel using the Task tool with
:subagent_type: "dev-tools:code-explorer"Path to analyze: [PATH] Analysis context: [context from step 1] Focus area: [specific focus for this agent] Find and analyze: - Relevant files and their purposes - Key functions/classes and their roles - Existing patterns and conventions - Integration points and dependencies Return a structured report of your findings. -
Handle agent failures:
- If an agent fails, note which focus area was missed
- Continue with successful results — partial findings are still valuable
- If all agents fail, inform the user and offer to retry or explore manually
Phase 2: Synthesis and Analysis
Goal: Merge exploration findings into a unified analysis.
-
Launch codebase-synthesizer agent:
Use the Task tool with
andsubagent_type: "dev-tools:codebase-synthesizer"
:model: "opus"Analysis context: [context from Phase 1] Codebase path: [PATH] Exploration findings from [N] agents: --- Agent 1: [Focus Area] --- [Full report from agent 1] --- Agent 2: [Focus Area] --- [Full report from agent 2] --- Agent 3: [Focus Area] (if applicable) --- [Full report from agent 3] Synthesize these findings into a unified analysis. Merge duplicates, read critical files in depth, map relationships between components, identify patterns, and assess challenges. -
Review synthesis:
- Verify the synthesizer covered all focus areas
- If critical gaps exist, use Glob/Grep to fill them directly
Phase 3: Reporting
Goal: Present a structured analysis to the user.
-
Load report template:
- Read
${CLAUDE_PLUGIN_ROOT}/skills/codebase-analysis/references/report-template.md - Use it to structure the presentation
- Read
-
Present the analysis: Structure the report with these sections:
- Executive Summary — Lead with the most important finding
- Architecture Overview — How the codebase is structured
- Critical Files — The 5-10 most important files with details
- Patterns & Conventions — Recurring patterns and coding conventions
- Relationship Map — How components connect to each other
- Challenges & Risks — Technical risks and complexity hotspots
- Recommendations — Actionable next steps
-
IMPORTANT: Proceed immediately to Phase 4. Do NOT stop here. Do NOT wait for user input. The report is presented, but the workflow requires Post-Analysis Actions. Continue directly to Phase 4 now.
Phase 4: Post-Analysis Actions
Goal: Let the user save, document, or retain analysis insights from the report.
-
Present action menu:
Use
withAskUserQuestion
to present all available actions:multiSelect: true- Save report as Markdown file — Write the full report to a file
- Update README.md with analysis insights — Add architecture/structure info to README
- Update CLAUDE.md with analysis insights — Add patterns/conventions to CLAUDE.md
- Keep a condensed summary in memory — Retain a quick-reference summary in conversation context
- Address actionable insights — Fix challenges and implement recommendations from the report
If the user selects no actions, the workflow is complete. Thank the user and end.
-
Execute selected actions in the following fixed order:
Action: Save Report as Markdown File
- Check if a
directory exists in the project rootdocs/- If yes, suggest default path:
docs/codebase-analysis.md - If no, suggest default path:
in the project rootcodebase-analysis.md
- If yes, suggest default path:
- Use
to let the user confirm or customize the file pathAskUserQuestion - Write the full report content (same as Phase 3 output) to the confirmed path using the Write tool
- Confirm the file was saved
Action: Update README.md
- Read the existing README.md at the project root
- If no README.md exists, skip this action and inform the user
- Draft updates based on analysis insights — focus on:
- Architecture overview
- Project structure
- Tech stack summary
- Present the draft to the user for approval using
with options:AskUserQuestion- Apply — Apply the drafted updates
- Modify — Let the user describe what to change, then re-draft
- Skip — Skip this action entirely
- If approved, apply updates using the Edit tool
Action: Update CLAUDE.md
- Read the existing CLAUDE.md at the project root
- If no CLAUDE.md exists, use
to ask if one should be createdAskUserQuestion - If user declines, skip this action
- If no CLAUDE.md exists, use
- Draft updates based on analysis insights — focus on:
- Key patterns and conventions discovered
- Critical files and their roles
- Important dependencies
- Architectural decisions and constraints
- Present the draft to the user for approval using
with options:AskUserQuestion- Apply — Apply the drafted updates
- Modify — Let the user describe what to change, then re-draft
- Skip — Skip this action entirely
- If approved, apply updates using the Edit tool (or Write tool if creating new)
Action: Keep Insights in Memory
- Present a condensed Codebase Quick Reference inline in the conversation:
- Architecture — 1-2 sentence summary of how the codebase is structured
- Key Files — 3-5 most critical files with one-line descriptions
- Conventions — Important patterns and naming conventions
- Tech Stack — Core technologies and frameworks
- Watch Out For — Top risks or complexity hotspots
- No file is written — this summary stays in conversation context for reference during the session
Action: Address Actionable Insights
IMPORTANT: This action always executes last among all selected actions. Code changes could invalidate analysis if documentation is generated after, and this is the most interactive action — it should not block simpler actions.
Step 1: Extract actionable items from the report
Parse the Phase 3 report (in conversation context) to extract items from:
- Challenges & Risks table rows — title from Challenge column, severity from Severity column, description from Impact column
- Recommendations section — each numbered item; infer severity from linked challenges (High if linked to a High challenge, otherwise Medium)
- Other findings with concrete fixes — default to Low severity
If no actionable items are found, inform the user and skip this action.
Step 2: Present severity-ranked item list
- Load reference template from
${CLAUDE_PLUGIN_ROOT}/skills/codebase-analysis/references/actionable-insights-template.md - Present items sorted High → Medium → Low, each showing:
- Title
- Severity (High / Medium / Low)
- Source section (Challenges & Risks, Recommendations, or Other)
- Brief description
- Use
withAskUserQuestion
for the user to select which items to addressmultiSelect: true - If no items selected, skip this action
Step 3: Process each selected item in priority order (High → Medium → Low)
For each item:
-
Assess complexity:
- Simple — Single file, clear fix, localized change
- Complex — Multi-file, architectural impact, requires investigation
-
Plan the fix:
- Simple: Read the target file, propose changes directly
- Complex (architectural): Launch
agent withdev-tools:code-architect
to design the fixmodel: "opus" - Complex (needs investigation): Launch
agent to investigate before proposingdev-tools:code-explorer
-
Present proposal: Show files to modify, specific changes, and rationale
-
User approval via
:AskUserQuestion- Apply — Execute changes with Edit/Write tools, confirm success
- Skip — Record the skip, move to next item
- Modify — User describes adjustments, re-propose the fix (max 3 revision cycles, then must Apply or Skip)
Step 4: Summarize results
Present a summary covering:
- Items addressed (with list of files modified per item)
- Items skipped
- Total files modified table
- Check if a
-
Complete the workflow: Summarize which actions were executed and confirm the workflow is complete.
Error Handling
If any phase fails:
- Explain what went wrong
- Ask the user how to proceed:
- Retry the phase
- Skip to next phase (with partial results)
- Abort the workflow
Agent Coordination
When launching parallel agents:
- Give each agent a distinct focus area to minimize overlap
- Wait for all agents to complete before proceeding to synthesis
- Handle agent failures gracefully — continue with partial results
When calling Task tool for agents:
- Use
for codebase-synthesizer agentmodel: "opus" - Use default model (sonnet) for code-explorer agents
Additional Resources
- For report structure, see references/report-template.md
- For actionable insights format, see references/actionable-insights-template.md