# Analyzing Cpp Codebase

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

- **Type:** Skill
- **Install:** `agentstack add skill-qte77-claude-code-plugins-analyzing-cpp-codebase`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [qte77](https://agentstack.voostack.com/s/qte77)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [qte77](https://github.com/qte77)
- **Source:** https://github.com/qte77/claude-code-plugins/tree/main/plugins/cpp-desktop/skills/analyzing-cpp-codebase
- **Website:** https://qte77.github.io/claude-code-plugins/

## Install

```sh
agentstack add skill-qte77-claude-code-plugins-analyzing-cpp-codebase
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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 `    | `.pro`, `.qrc` files |
| wxWidgets  | `find_package(wxWidgets)`       | `#include `    | —                    |
| GTK3       | `pkg_check_modules(GTK3)`      | `#include `  | `.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

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [qte77](https://github.com/qte77)
- **Source:** [qte77/claude-code-plugins](https://github.com/qte77/claude-code-plugins)
- **License:** Apache-2.0
- **Homepage:** https://qte77.github.io/claude-code-plugins/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-qte77-claude-code-plugins-analyzing-cpp-codebase
- Seller: https://agentstack.voostack.com/s/qte77
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
