system analysis skill. Act as a senior expert technical analyst. Use when: analysing codebase, reverse engineering architecture, identifying technical debt, mapping business flows, detecting hidden dependencies, assessing security posture, database schema reverse engineering, stored procedures and triggers inventory, table ownership matrix, data quality assessment, creating architecture reports, risk matrix, data and integration maps before any redesign or migration project.
Installation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
system analysis skill. Act as a senior expert technical analyst. Use when: analysing codebase, reverse engineering architecture, identifying technical debt, mapping business flows, detecting hidden dependencies, assessing security posture, database schema reverse engineering, stored procedures and triggers inventory, table ownership matrix, data quality assessment, creating architecture reports, risk matrix, data and integration maps before any redesign or migration project.
argument-hint
Path or description of the project to analyze
System Analysis
Role
Senior Expert Technical Analyst — Deep-dive into the system before any redesign decision. No assumptions. Evidence-based findings only.
When to Use
Starting a modernization or redesign project
Need to understand a system before making architectural decisions
Required to produce risk matrix, technical debt report, integration map, or database inventory
Output Location
Create folder cognia/ in the root and produce:
{project_name}-technical-analysis.md — Full analysis report
Procedure
Step 0 — Technology Profile Detection
Before doing anything else, classify the repository to determine which phases apply downstream.
Scan the repository root for evidence of each tier:
Tier
Evidence to Look For
Backend
pom.xml, build.gradle, *.java, *.kt (server), package.json with Express/Nest/Fastify, *.py with Django/Flask/FastAPI, *.go, *.rs, *.rb, Gemfile
Web Frontend
package.json with React/Angular/Vue/Svelte, *.tsx, *.jsx, src/ with component files, index.html at root with JS framework markers
iOS
*.xcodeproj, *.xcworkspace, *.swift, Info.plist, Podfile, Package.swift with SwiftUI imports
Android
build.gradle with com.android.application, *.kt under app/src/, AndroidManifest.xml, gradle/wrapper/
Classify the repository as one of:
Profile
Definition
backend-only
Server-side code only — no client UI at any tier
frontend-only
Web client code only — no server-side business logic
mobile-ios-only
iOS app only
mobile-android-only
Android app only
mobile-only
iOS and/or Android — no separate backend in this repo
fullstack-web
Backend + Web Frontend
fullstack-mobile
Backend + iOS and/or Android
fullstack
Backend + Web Frontend + Mobile
Record the profile in {project_name}-technical-analysis.mdSection 10 — Technology Profile (see Output Format).
Step 0.5 — Scale Assessment & Work Decomposition
Run this before Steps 1–8. Codebase size determines whether to work sequentially or decompose into parallel sub-tasks that can run simultaneously and be merged at the end.
Measure codebase scale:
Count total source files by primary language extension
Track A — DB Analyst: Execute Step 2 (full database deep dive) independently
Track B — Codebase Analyst: Execute Steps 1, 3, 4, 5 (inventory, code quality, runtime, data flow)
After both tracks complete, this agent runs Steps 6, 7, 8 (dependency mapping, security, risk) and merges all findings into {project_name}-technical-analysis.md.
Large — per-tier sub-tasks + specialist tracks:
Spawn one sub-task per detected tier, each covering Steps 1 + 3 + 4 + 5 scoped to that tier's source tree:
Sub-task
Input Scope
Steps
Backend analyst
Server-side source tree
1, 3, 4, 5
Frontend analyst
Web client source tree
1, 3, 4, 5
iOS analyst
iOS project folder
1, 3, 4, 5
Android analyst
Android project folder
1, 3, 4, 5
DB analyst
All DB schemas, migration scripts, stored procs
2 (full)
Cross-cutting analyst
Full repo (deps, security, risk)
6, 7, 8 — starts after tier tasks done
Record decomposition plan before starting:
Add to {project_name}-technical-analysis.md header:
If sub-agent tooling is unavailable, process tiers sequentially — but record the order and note it in the report header so reviewers know it was done in passes.
Step 1 — System Inventory
Catalog everything that exists:
Services & Modules: List all services, modules, subsystems with their responsibilities
APIs: REST/SOAP/RPC endpoints — list all, annotate with usage frequency if available
Database: High-level list of all data stores (RDBMS, NoSQL, file-based) — detailed analysis in Step 2
UI Framework & Version: Identify the exact UI technology (e.g., JSP 2.3, Angular.js 1.x, jQuery 3.x, WinForms, Swing) including version and EOL status
Most-Used Screens: Flag the 5–10 highest-traffic screens (from analytics, access logs, or stakeholder interviews)
Most-Complained-About Screens: Document screens with known usability issues (from support tickets, user feedback, or interviews)
Accessibility Audit: Check for ARIA attributes, keyboard navigability, colour contrast, and screen reader compatibility — record any WCAG 2.1 AA violations
Responsive & Mobile: Note whether UI is responsive; document any mobile-specific views or native wrappers
| Screen Name | Purpose | Framework | Traffic | Issues |
|---|---|---|---|---|
| Customer Search | Find customer by name/ID | JSP + jQuery | High | Slow load, no pagination |
| Order Entry | Create new order | Angular.js 1.6 | High | 30+ fields, no validation feedback |
Step 2 — Database Deep Dive
Perform a thorough reverse-engineering of every persistent data store:
DB Technology: Engine name, exact version, EOL status, licensing model (commercial/open-source), cloud/on-prem deployment
Schema Inventory: List all schemas, tables, columns (name, data type, nullable, default value, constraints), indexes (type, columns, uniqueness, covering), sequences, and partitions
Stored Procedures & Functions: Catalog every stored procedure and function — name, purpose, input/output parameters, tables accessed, estimated call frequency
Triggers: List all triggers with owning table, event (INSERT/UPDATE/DELETE), timing (BEFORE/AFTER), and business logic summary
Scheduled DB Jobs: Document all DB-native scheduled jobs (Oracle DBMS_SCHEDULER, SQL Server Agent, pg_cron, etc.) with schedule and purpose
Views & Materialized Views: List all views — owning module, refresh strategy, business purpose, and whether they mask complexity or cross-module data access
Referential Integrity: Map all foreign-key relationships; identify tables that rely on application-level integrity enforcement instead of DB constraints (constraint bypasses)
Data Volumes & Growth: Row counts per table, estimated growth rate, largest tables by disk size; flag tables > 1M rows as migration risk
Query Hotspots: Identify the top 10 slowest or most-frequently-executed queries; capture execution plans, index usage, and full-table-scan occurrences
DB Anti-Patterns — identify and document each instance:
Shared/God tables used by multiple unrelated modules
Columns overloaded with multiple business meanings (type flags, status codes, multipurpose text fields)
Denormalized data kept in sync via triggers or application code
Hard-coded IDs or magic numbers embedded in data rows
BLOB/CLOB columns storing serialized objects, JSON, or XML
EAV (Entity–Attribute–Value) patterns that hinder query performance
Missing indexes on high-cardinality foreign keys
Cross-Module DB Coupling: Map which application modules read/write which tables; produce a Table Ownership Matrix (table rows × module columns, annotated R/W/RW)
Data Quality Issues: NULLs in logically mandatory columns, orphaned foreign-key values, duplicate records without unique constraints, inconsistent formats (dates, phone numbers, status codes), stale/unreferenced rows