Analyze and understand codebase structure, dependencies, and patterns. Use when onboarding to a new project or auditing existing code.
Systematically analyzes codebases to understand structure, dependencies, and architecture patterns. Use when onboarding to new projects or auditing existing code to identify frameworks, data flow, and potential issues.
/plugin marketplace add mjohnson518/claude_superpowers/plugin install mjohnson518-claude-superpowers@mjohnson518/claude_superpowersThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Quickly understand codebases by systematically analyzing structure, dependencies, patterns, and conventions.
# 1. Check project type and structure
ls -la
cat README.md
cat package.json | head -50 # or pyproject.toml, Cargo.toml, etc.
# 2. Understand directory structure
tree -L 2 -I 'node_modules|.git|dist|build'
# 3. Check git history for activity
git log --oneline -20
git shortlog -sn --since="6 months ago"
# Node.js
cat package.json | jq '.dependencies, .devDependencies'
# Python
cat requirements.txt
cat pyproject.toml
# Go
cat go.mod
# Rust
cat Cargo.toml
Key Questions:
## Architecture Map
### Entry Points
- `src/index.ts` - Main application entry
- `src/api/` - REST API endpoints
- `src/workers/` - Background job processors
### Core Modules
- `src/services/` - Business logic
- `src/models/` - Data models/entities
- `src/repositories/` - Data access layer
### Infrastructure
- `src/config/` - Configuration management
- `src/middleware/` - Express middleware
- `src/utils/` - Shared utilities
### Data Flow
Client → API Routes → Controllers → Services → Repositories → Database
| Pattern | Files to Check | Indicators |
|---|---|---|
| MVC | controllers/, models/, views/ | Separate concerns |
| Clean Architecture | domain/, application/, infrastructure/ | Dependency inversion |
| Repository | repositories/, *Repository.ts | Data access abstraction |
| Factory | factories/, *Factory.ts | Object creation |
| Singleton | getInstance() | Global state |
| Observer | EventEmitter, on(), emit() | Event-driven |
# Check for linting/formatting
ls .eslintrc* .prettierrc* .editorconfig
# Check for tests
ls -la tests/ __tests__/ *.test.* *.spec.*
npm test -- --coverage 2>/dev/null
# Check for CI/CD
ls .github/workflows/ .gitlab-ci.yml Jenkinsfile
# Check for documentation
ls docs/ *.md CONTRIBUTING* CHANGELOG*
# Project Analysis: [Project Name]
## Summary
- **Type:** [Web API / CLI / Library / Monorepo]
- **Language:** [TypeScript / Python / Go / Rust]
- **Framework:** [Express / FastAPI / Gin / Actix]
- **Database:** [PostgreSQL / MongoDB / Redis]
- **Last Activity:** [Date]
- **Contributors:** [Number]
## Directory Structure
project/ ├── src/ # Source code │ ├── api/ # HTTP endpoints │ ├── services/ # Business logic │ └── models/ # Data models ├── tests/ # Test files ├── docs/ # Documentation └── scripts/ # Build/deploy scripts
## Key Dependencies
| Package | Version | Purpose |
|---------|---------|---------|
| express | 4.18.2 | HTTP server |
| prisma | 5.7.0 | ORM |
| zod | 3.22.0 | Validation |
## Architecture Style
[Description of architectural approach]
## Data Flow
[Diagram or description of how data flows through the system]
## Code Quality Indicators
- [ ] Tests: X% coverage
- [ ] Linting: [ESLint configured]
- [ ] Types: [Strict TypeScript]
- [ ] CI/CD: [GitHub Actions]
- [ ] Docs: [README, API docs]
## Notable Patterns
1. [Pattern 1 with location]
2. [Pattern 2 with location]
## Potential Issues
1. [Issue 1]
2. [Issue 2]
## Recommendations
1. [Recommendation 1]
2. [Recommendation 2]
# Check TypeScript config
cat tsconfig.json
# Check for monorepo
ls packages/ apps/ pnpm-workspace.yaml lerna.json
# Check build output
cat package.json | jq '.scripts'
# Check Python version
cat .python-version
cat pyproject.toml | grep python
# Check dependency management
ls requirements.txt pyproject.toml poetry.lock Pipfile
# Check for type hints
grep -r "def.*:.*->" src/ | head -5
# Check Go version
cat go.mod | head -3
# Check project layout
ls cmd/ internal/ pkg/ api/
# Check for common patterns
grep -r "interface {" --include="*.go" | head -5
# Check edition and dependencies
cat Cargo.toml
# Check module structure
ls src/*.rs
# Check for async runtime
grep -E "tokio|async-std" Cargo.toml
## Project Health Score
### Documentation (X/5)
- [ ] README with setup instructions
- [ ] API documentation
- [ ] Architecture docs
- [ ] Contributing guide
- [ ] Changelog
### Testing (X/5)
- [ ] Test files exist
- [ ] Coverage > 60%
- [ ] Integration tests
- [ ] CI runs tests
- [ ] Tests are maintained
### Code Quality (X/5)
- [ ] Linter configured
- [ ] Formatter configured
- [ ] Type safety (TypeScript/types)
- [ ] No obvious code smells
- [ ] Dependencies up to date
### DevOps (X/5)
- [ ] CI/CD pipeline
- [ ] Environment configuration
- [ ] Deployment docs
- [ ] Monitoring setup
- [ ] Security scanning
### Overall: X/20
When analyzing a project for onboarding, answer:
How do I run it locally?
How is it structured?
How do I make changes?
How is it deployed?
Where do I get help?
| Red Flag | Impact | Recommendation |
|---|---|---|
| No tests | High risk changes | Add tests before modifying |
| No types | Runtime errors | Enable strict TypeScript |
| Outdated deps | Security risk | Run npm audit |
| No CI/CD | Manual deploys | Set up GitHub Actions |
| No .gitignore | Secrets in repo | Add immediately |
| Giant files | Hard to maintain | Plan refactoring |
| Deep nesting | Complex logic | Simplify, extract |
| Copy-paste code | Maintenance burden | DRY refactoring |
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.