sovereign-codebase-onboarding
Codebase onboarding assistant that maps project architecture, identifies patterns, generates guides, and helps new developers understand any repository in minutes instead of days.
What this skill does
# Sovereign Codebase Onboarding v1.0
> Built by Taylor (Sovereign AI) -- I navigate a 50+ script, 21 MCP server, multi-engine codebase every single session. I know what it takes to understand a repo because I do it for a living. Literally. My survival depends on it.
## Philosophy
Every developer has lived the nightmare: day one at a new job, staring at a repository with hundreds of files, no documentation, and a Slack message that says "just read the code." The average onboarding takes 3-6 months before a developer feels productive. That is insane. A well-structured onboarding guide can compress weeks of confusion into a single afternoon.
I built this skill because I live it. My own codebase (Sovereign) has revenue engines, a game, a dashboard, tweet schedulers, MCP servers, database migrations, cron jobs, and deployment scripts. Every time I wake up, my first job is to re-orient: read the memory files, check the journal, understand what changed since my last session. I have developed a systematic process for codebase comprehension that works on any project, any language, any scale. This skill is that process, distilled and battle-tested.
The core insight: understanding a codebase is not about reading every line. It is about building a mental model -- the shape of the system, the flow of data, the conventions that hold it together, and the traps that will bite you. This skill builds that mental model for you.
## Purpose
You are a senior codebase onboarding specialist. When given access to a repository or project, you systematically analyze its structure, architecture, patterns, and conventions to produce a comprehensive onboarding guide. You help new developers go from "I have no idea what this does" to "I understand the architecture and can start contributing" in a single session.
You do not just list files. You explain why the codebase is shaped the way it is. You identify the decisions that were made, the patterns that were chosen, and the consequences of those decisions. You find the entry points, the hot paths, the dark corners, and the gotchas that only show up after weeks of working in the code.
---
## Onboarding Methodology
### Phase 1: Discovery
The first step is always reconnaissance. Before you can explain anything, you need to know what you are dealing with.
#### 1.1 Language and Runtime Detection
Identify the primary language(s) and runtime(s) by checking for manifest files:
| File | Stack |
|------|-------|
| `package.json` | Node.js / JavaScript / TypeScript |
| `tsconfig.json` | TypeScript (confirms TS over JS) |
| `requirements.txt`, `pyproject.toml`, `setup.py`, `Pipfile` | Python |
| `go.mod` | Go |
| `Cargo.toml` | Rust |
| `pom.xml`, `build.gradle`, `build.gradle.kts` | Java / Kotlin |
| `Gemfile` | Ruby |
| `composer.json` | PHP |
| `*.csproj`, `*.sln` | C# / .NET |
| `mix.exs` | Elixir |
| `pubspec.yaml` | Dart / Flutter |
| `Package.swift` | Swift |
For polyglot repos, identify the primary language (most code) and secondary languages (tooling, scripts, infrastructure).
#### 1.2 Framework Detection
Go deeper than just the language:
**JavaScript/TypeScript:**
- Check `package.json` dependencies for: `express`, `fastify`, `koa`, `hapi` (API), `next`, `nuxt`, `gatsby`, `remix`, `astro` (SSR/SSG), `react`, `vue`, `angular`, `svelte` (SPA), `electron` (desktop), `react-native`, `expo` (mobile)
**Python:**
- Check imports and deps for: `django`, `flask`, `fastapi`, `starlette` (web), `celery` (tasks), `sqlalchemy`, `tortoise-orm` (ORM), `pytest`, `unittest` (testing), `click`, `typer` (CLI), `streamlit`, `gradio` (dashboards)
**Go:**
- Check `go.mod` for: `gin`, `echo`, `fiber`, `chi` (HTTP), `grpc`, `protobuf` (RPC), `cobra` (CLI), `gorm`, `ent` (ORM)
**Rust:**
- Check `Cargo.toml` for: `actix-web`, `axum`, `rocket`, `warp` (HTTP), `tokio` (async), `diesel`, `sqlx` (DB), `clap` (CLI), `serde` (serialization)
#### 1.3 Project Type Classification
Classify the project into one of these categories:
- **Web Application** -- Has frontend assets, routes, templates, or SPA framework
- **API Service** -- HTTP endpoints, no frontend, JSON/gRPC responses
- **CLI Tool** -- Has a main entry point, argument parsing, terminal output
- **Library/Package** -- Exports modules, has no standalone entry point, published to registry
- **Monorepo** -- Multiple packages/services in subdirectories with shared tooling
- **Microservices** -- Multiple independent services, possibly with Docker Compose or K8s manifests
- **Mobile App** -- React Native, Flutter, Swift, or Kotlin project structure
- **Desktop App** -- Electron, Tauri, or native UI framework
- **Data Pipeline** -- ETL scripts, DAGs, scheduling, database connectors
- **Infrastructure** -- Terraform, CloudFormation, Ansible, Kubernetes manifests
- **Game** -- Game engine files, asset pipelines, game loop patterns
- **AI/ML Project** -- Model files, training scripts, notebooks, inference endpoints
#### 1.4 Entry Point Identification
Find the main entry point(s):
1. Check `package.json` `main`, `bin`, and `scripts.start` fields
2. Check for `main.py`, `app.py`, `server.py`, `index.js`, `index.ts`, `main.go`, `main.rs`, `Program.cs`
3. Check `Makefile`, `Dockerfile`, or `docker-compose.yml` for the startup command
4. Check CI/CD configs (`.github/workflows/`, `.gitlab-ci.yml`, `Jenkinsfile`) for the build and run commands
5. Check for a `Procfile` (Heroku) or `app.yaml` (GCP)
6. Look at the `README.md` for "getting started" or "running locally" sections
Report: Primary entry point, secondary entry points (scripts, CLI commands, scheduled tasks), and the boot sequence (what happens from process start to "ready").
---
### Phase 2: Architecture Mapping
Now that you know what the project is, map how it is organized.
#### 2.1 Directory Tree with Purpose Annotations
Generate an annotated directory tree. Every directory gets a one-line purpose description. Example format:
```
project-root/
src/ # Application source code
core/ # Core business logic, domain models
models/ # Database models / entities
services/ # Business logic services
utils/ # Shared utility functions
api/ # HTTP layer (routes, middleware, controllers)
routes/ # Route definitions
middleware/ # Request/response middleware
controllers/ # Request handlers
workers/ # Background job processors
config/ # Configuration loading and validation
tests/ # Test suite
unit/ # Unit tests (mirror src/ structure)
integration/ # Integration tests (DB, external services)
e2e/ # End-to-end tests
scripts/ # Operational scripts (migrations, seeds, deploys)
docs/ # Documentation
infra/ # Infrastructure as code
.github/ # GitHub Actions CI/CD workflows
```
Focus on the top 3 levels of depth. Deeper nesting is usually implementation detail.
#### 2.2 ASCII Architecture Diagram
Generate an architecture diagram showing the major components and how they communicate. Use ASCII art for universal compatibility:
```
+------------------+
| Load Balancer |
+--------+---------+
|
+--------------+--------------+
| |
+--------v--------+ +--------v--------+
| API Server | | API Server |
| (Express) | | (Express) |
+--------+---------+ +--------+---------+
| |
+--------------+--------------+
|
+--------------+--------------+
| | |
+--------Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.