Brings an existing codebase into the App Studio system. Analyses the code and produces CONTEXT.md, a draft architecture, a technical debt list and reverse-engineered requirements. The entry point for brownfield projects.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add bturksoy/claude-code-app-studio --skill onboard --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Onboard?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/bturksoy-onboard)More formats (shields.io, HTML) on the badges page.
---
name: onboard
description: Brings an existing codebase into the App Studio system. Analyses the code and produces CONTEXT.md, a draft architecture, a technical debt list and reverse-engineered requirements. The entry point for brownfield projects.
---
# /onboard
Owner: `solution-architect`. Outputs: `docs/CONTEXT.md`, a draft `ARCHITECTURE.md`,
a technical debt list, `.state/project.json`.
---
## 1. Quick reconnaissance (free — stops the agent from having to search)
Collect the following with Glob and Grep (do not read file contents; check existence and
structure only):
```
Stack signals : package.json, requirements.txt, *.csproj, go.mod, pom.xml,
Gemfile, composer.json, Cargo.toml
Structure : top-level directories (2 levels deep)
Entry points : main.*, index.*, app.*, Program.cs, server.*
Configuration : *.config.*, .env.example, appsettings*.json
Tests : test/ spec/ __tests__/ — file count
Database : migrations/, schema.sql, models/, entities/
CI/CD : .github/workflows/, .gitlab-ci.yml, Jenkinsfile, Dockerfile
Documentation : README, docs/, traces of ADRs
Dependency count : from the manifest file
Code volume : file count and approximate line count (Glob counting)
```
If git is present: `git log --oneline -20`, contributor count, last commit date.
## 2. Invoke `solution-architect`
```
RECONNAISSANCE OUTPUT:
<the structured information collected above>
KEY FILE CONTENTS:
<package.json / manifest file — full>
<entry point file — full>
<README — if present, full>
<migration/schema file names, if any>
Task: map this codebase.
1. Stack detection: language, framework, database, infrastructure — with versions
2. Architectural pattern: layered, modular, monolith, microservices?
Is there a dependency direction rule, and is it enforced?
3. Component map: main modules and their responsibilities (C4-2 level)
4. Data model: which entities exist (inferred from file/folder names)
5. Test situation: which levels exist, a rough coverage estimate
6. Technical debt signals:
- Outdated/unmaintained dependencies
- Test gaps
- Configuration/secret management problems
- Architectural inconsistencies
- Missing documentation
7. Unknowns: what you could not infer from the code and must be asked of the user
Rule: mark anything you are not sure about as "GUESS:".
If you need to read additional files, SAY which ones and list them — do not perform
a broad scan yourself.
```
If the agent requests specific files, **read them and send them in a single second round**.
At most one additional round.
## 3. Questions for the user
From the agent's "Unknowns" list, ask via `AskUserQuestion` (at most 4):
- What is this project for / who are its users?
- What stage is it at (in production, in development)?
- What is the biggest known problem?
- What do you want to use App Studio for: `Adding new features` /
`Refactoring / paying down debt` / `Producing documentation` / `Raising quality`
## 4. Present
```
## Codebase Analysis
Stack: <language> <framework> | <database> | <infrastructure>
Volume: ~<N> files, <M> dependencies
Architecture: <pattern> — <consistency assessment>
Components
| Module | Responsibility | State |
Tests: <levels> — rough coverage <estimate>
CI/CD: <present/absent — what it does>
Technical debt (in priority order)
| # | Debt | Impact | Estimated cost |
Unknowns: <what was asked of the user>
Items marked GUESS: <n> — these need verification
```
## 5. Write
- `docs/CONTEXT.md` — fill in the template, mark unknowns as `<to be verified>`
- `docs/architecture/ARCHITECTURE.md` — a **draft** (with the note
"Reverse-engineered — not verified")
- `product/risks.md` — the technical debt items as risks
- `.state/project.json` — `phase: "operate"` or according to the user's chosen purpose
- Create any missing `.claude/` directory structure (the directories from `/kickoff` step 6)
## 6. Suggest the next step
Based on the user's purpose:
| Purpose | Next |
|---|---|
| Adding new features | `/prd` (for the new feature only) → `/epics` → `/stories` |
| Refactoring / debt | `/architecture` (target architecture) → `/adr` → `/epics` |
| Documentation | `/api-contract` (from the existing code) → `/data-model` |
| Raising quality | `/test-plan` → `/qa-run` → `/security-review` |
```
✓ The codebase is now in the system.
docs/CONTEXT.md and the draft architecture are ready.
⚠ The architecture document is REVERSE-ENGINEERED — it has not been verified.
<n> items are marked as GUESS.
▶ Next: <the command matching the purpose>
```
---
## Token note
- The reconnaissance step is **free** and stops the agent from searching blindly —
the most critical saving here.
- **1-2 agent calls.**
- Do not read all the source code. The manifest, entry point and README are enough;
anything further is targeted and only on the agent's request.
- For large codebases, proceed module by module rather than mapping everything at once.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!