From ai-pm-copilot
Scans codebases to detect platforms, tech stacks, user features, and third-party integrations via manifest parsing and file patterns for web and mobile projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-pm-copilot:codebase-scanningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Detection patterns and scanning rules for discovering strategic product context from existing codebases. Covers web and mobile platforms.
Detection patterns and scanning rules for discovering strategic product context from existing codebases. Covers web and mobile platforms.
Auto-loaded by agents:
context-scanner - For all codebase scanning operationsScan routes, pages, and components to identify user-facing functionality.
Methods:
Return format per feature:
Common features detected: Authentication, project/task management, team collaboration, analytics/reporting, settings/configuration.
Parse package manifests and project files to identify technologies.
Web Platforms:
| Platform | Manifest |
|---|---|
| Node.js | package.json |
| Python | requirements.txt, pyproject.toml, Pipfile |
| Go | go.mod |
| Ruby | Gemfile |
| PHP | composer.json |
| Rust | Cargo.toml |
| Java | pom.xml, build.gradle |
Mobile Platforms:
| Platform | Manifests |
|---|---|
| iOS | Podfile, Package.swift, *.xcodeproj/project.pbxproj |
| Android | build.gradle, build.gradle.kts, AndroidManifest.xml |
| Flutter | pubspec.yaml, pubspec.lock |
| React Native | package.json, ios/Podfile, android/build.gradle |
Web: Frontend frameworks (React, Vue, Angular, Svelte, Next.js), backend frameworks (Express, FastAPI, Rails, Django, Laravel, Gin), databases (PostgreSQL, MySQL, MongoDB, Redis via client packages), languages/versions, build tools (Vite, Webpack, esbuild).
iOS: Swift version, Objective-C, UIKit vs SwiftUI, iOS deployment target, Xcode version.
Android: Kotlin version, Java, Jetpack Compose vs XML layouts, minSdk, targetSdk, Gradle version.
Flutter: Flutter SDK version, Dart version, platform targets (iOS, Android, Web, Desktop).
React Native: RN version, TypeScript usage, Expo detection, native module detection.
Identify 3rd party services from package dependencies.
Common integrations by category:
| Category | Services |
|---|---|
| Payments | Stripe, PayPal, Square, Braintree, In-App Purchases |
| SendGrid, Mailgun, AWS SES | |
| SMS | Twilio, Plivo |
| Auth | Auth0, Firebase Auth, Okta, Sign in with Apple, Google Sign-In |
| Cloud | AWS SDK, GCP SDK, Azure SDK |
| Analytics | Segment, Mixpanel, Amplitude, Firebase Analytics, Facebook SDK |
| Monitoring | Sentry, Datadog, New Relic, Crashlytics, Bugsnag |
| Push | Firebase Cloud Messaging, OneSignal, APNs |
| Maps/Location | Google Maps SDK, Mapbox, Apple Maps, Core Location |
| State Mgmt | Redux, MobX, Provider, Riverpod, GetX |
Mobile backend/database: Firebase (Firestore, Realtime DB, Storage), Supabase, Realm, Core Data (iOS), Room (Android), Hive (Flutter).
Mobile networking: Alamofire (iOS), Retrofit (Android), Dio (Flutter), Axios (React Native).
Mobile media: Kingfisher (iOS), Coil (Android), cached_network_image (Flutter), react-native-fast-image.
Confidence note: Package installed does not mean actively used. Assign medium confidence to integrations.
Check in this order:
Edge cases:
iOS Native: Search for *ViewController.swift (UIKit), *View.swift (SwiftUI). Count distinct ViewControllers/Views = feature count. Exclude Tests/, Pods/.
Android Native: Search for classes extending Activity, Fragment, @Composable functions. Parse navigation.xml. Count Activities + Fragment groups + Composable screens. Look in app/src/main/.
Flutter: Search lib/screens/, lib/pages/, route definitions. Parse MaterialApp.routes or GoRouter. Count screen files + routes.
React Native: Search src/screens/, src/pages/, Stack.Screen definitions. Parse React Navigation navigators. Count screen components.
Map platform-specific dependencies to universal names:
| Universal Name | iOS (CocoaPods/SPM) | Android (Gradle) | Flutter (pub) | React Native (npm) |
|---|---|---|---|---|
| Firebase Auth | Firebase/Auth | firebase-auth | firebase_auth | @react-native-firebase/auth |
| Stripe | Stripe | stripe-android | stripe_flutter | @stripe/stripe-react-native |
| Image Loading | Kingfisher | coil | cached_network_image | react-native-fast-image |
| Networking | Alamofire | retrofit | dio | axios |
Integration categories: Authentication, Payments, Analytics, Database, Networking, Media, Location, Push Notifications, Crash Reporting, State Management.
Metrics to collect:
Complexity tiers:
| Tier | Files | LOC | Characteristics |
|---|---|---|---|
| Simple | <50 | ~10k | Single service |
| Medium | 50-500 | 10k-100k | Few services |
| Complex | >500 | 100k+ | Many services/repos |
Maturity signals:
| Stage | LOC | Indicators |
|---|---|---|
| Prototype | ~5k | Rapid changes |
| MVP | 5k-25k | Core features present |
| Established | 25k-100k | Feature-complete |
| Mature | 100k+ | Extensive feature set |
Detection: Check for lerna.json, nx.json, turbo.json, pnpm-workspace.yaml. Identify workspace structure (packages/, apps/).
Handling: Scan each workspace individually. Detect mobile + web combinations. Report tech stack per app with shared packages noted.
Types:
Detection:
npx claudepluginhub slgoodrich/agents --plugin ai-pm-copilotAnalyzes codebase structure, tech stack, patterns, and conventions for project onboarding and exploration.
Analyzes existing codebases to detect project types, frameworks, structures, and collision risks. Supports context, brownfield, and setup modes for feature planning.
Extracts tech stack, project structure, key patterns, and conventions from codebases via package.json scans, find, grep for JS/TS, Python, Go, Rust projects. Use before PRDs or planning.