Skip to content
Back to skills

Analyzing Cpp Codebase

ASecurity

Analyzes C++ desktop codebase architecture, dependency graphs, framework detection, and migration assessment. Use when exploring an unfamiliar C++ project or assessing upgrade paths.

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 5, 2026
ai-agentsgoc++bashapidocumentation

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add qte77/claude-code-plugins --skill analyzing-cpp-codebase --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Analyzing Cpp Codebase?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Analyzing Cpp Codebase
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qte77-analyzing-cpp-codebase/badge)](https://www.skillsdirectory.com/skills/qte77-analyzing-cpp-codebase)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: analyzing-cpp-codebase
description: Analyzes C++ desktop codebase architecture, dependency graphs, framework detection, and migration assessment. Use when exploring an unfamiliar C++ project or assessing upgrade paths.
compatibility: Designed for Claude Code
metadata:
  allowed-tools: Read, Grep, Glob, Bash
  argument-hint: [directory-or-question]
  stability: stable
  content-hash: sha256:0fccb258bd50eb0c465a69a8a9e1f59a74c49ce5f2ec2c3042bfe641b919b5d0
---

# C++ Codebase Analysis

**Target**: $ARGUMENTS

Analyzes C++ desktop project structure, dependencies, and architecture.
Delivers actionable findings, not exhaustive documentation.

## Workflow

1. **Detect project layout** — scan for CMakeLists.txt, .pro files, src/, include/
2. **Identify framework** — determine wxWidgets, GTK3, Qt, or mixed
3. **Map dependencies** — CMake targets, find_package calls, include graph
4. **Assess architecture** — module boundaries, coupling, layering
5. **Report findings** — structured summary with actionable items

## Framework Detection

Check these indicators in order:

| Framework  | CMake Signal                    | Include Signal          | Other               |
|------------|---------------------------------|-------------------------|----------------------|
| Qt         | `find_package(Qt6)` / `Qt5`    | `#include <QWidget>`    | `.pro`, `.qrc` files |
| wxWidgets  | `find_package(wxWidgets)`       | `#include <wx/wx.h>`    | —                    |
| GTK3       | `pkg_check_modules(GTK3)`      | `#include <gtk/gtk.h>`  | `.ui` (GtkBuilder)   |

## Dependency Mapping

```bash
# List all CMake targets
grep -rn "add_library\|add_executable" CMakeLists.txt */CMakeLists.txt 2>/dev/null

# List external dependencies
grep -rn "find_package\|pkg_check_modules" CMakeLists.txt */CMakeLists.txt 2>/dev/null

# Include graph (most-included headers)
grep -rh '#include "' src/ include/ 2>/dev/null | sort | uniq -c | sort -rn | head -20
```

## Architecture Assessment

Evaluate these dimensions:

**Module Boundaries**:

- Are source files organized by feature or by layer?
- Is there a clear `src/` vs `include/` separation?
- Are GUI components isolated from business logic?

**Coupling**:

- How many cross-module includes exist?
- Are there circular dependencies?
- Is dependency injection or interface abstraction used?

**Build Structure**:

- Single CMakeLists.txt or hierarchical?
- Are libraries split into reusable targets?
- Are tests in a separate target?

## Migration Assessment

When evaluating framework upgrades (e.g., wxWidgets 3.0 to 3.2, Qt5 to Qt6):

1. **Identify version** — check CMake version constraints, include paths
2. **List deprecated APIs** — grep for known deprecated symbols
3. **Assess scope** — count affected files and call sites
4. **Estimate effort** — categorize changes as mechanical vs architectural
5. **Flag blockers** — identify removed APIs requiring redesign

## Output Format

```markdown
## Project Summary
- Framework: [detected]
- C++ standard: [detected from CMake or compiler flags]
- Build system: [CMake version / qmake]
- Modules: [count and names]

## Dependency Graph
[CMake target relationships]

## Architecture Notes
[Key observations about structure and coupling]

## Recommendations
[Prioritized, actionable items]
```

## Rules

- Report facts, not opinions — cite file paths and line numbers
- Flag risks but do not refactor without explicit request
- Keep output structured and scannable

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.