The Problem

Skales is a closed-source personal AI desktop agent. This repository is not the product's source: the README states plainly that the checked-in tree is a historical v7 snapshot that is "not maintained, not built and not what runs on your machine." Anyone cloning this expecting to build or extend the current agent will be working against a stale artifact.

What This Does

The repo is the distribution surface for Skales: install guides (INSTALL-WINDOWS.md, INSTALL-MAC.md, INSTALL-LINUX.md), changelog, BSL 1.1 license, and the issue tracker. The code that exists is a Next.js web app (apps/web) wrapped by an Electron shell (electron/main.js), with 30+ action modules under apps/web/src/actions/ covering chat, tasks, calendar, email, browser control, and roughly 90 API routes under apps/web/src/app/api/.

How It Is Wired

Execution starts at electron/main.js, which hosts the Next.js app. The wiring hub is apps/web/src/actions/: chat.ts is the most-imported module (7 importers, 0 outgoing edges), and orchestrator.ts imports the most (6 modules), making it the coordination point. API routes expose these actions over HTTP — autopilot, calendar, custom-skills, code, email, ftp, and more. The import graph is clean: 190 modules, 0 circular dependencies, so no cycle-breaking cost exists today. Blast radius concentrates in chat.ts (752 lines, 245 branch points, nesting depth 7) — a change there ripples through 7 importers. The Electron-to-web bridge beyond main.js has not been mapped by this analysis.

How To Use It

The README is explicit: do not build this snapshot. For the product, download the signed app from skales.app. The files imply an npm workflow (package.json, next.config.mjs, apps/web/package.json), so a local run would be npm install then npm run dev inside apps/web — but the README disclaimer means there is no evidence this snapshot builds or runs as-is. Missing: no CI, no Dockerfile, no documented build command for this tree.

Real-World Use

The product scenario: hand it a goal (e.g., "build me a trading bot"), it works autonomously across steps, reaches you via WhatsApp or Telegram. For this repo specifically, the realistic use is a security or architecture audit of the v7 snapshot, or a reference for the action-module pattern.

Code Health & Issues

Static analysis found 108 issues (46 high, 62 medium):

  • High — deep nesting (51 instances): chat.ts, tasks.ts, Sidebar.tsx hit indentation depth 7.
  • High — oversized files (7): chat.ts and orchestrator.ts exceed 700 lines.
  • High — duplicated code blocks: 53 repeated 6-line blocks across 36 files, including discord-bot.js, telegram-bot.js, autopilot.ts.
  • Medium — high branching density: 245 branches over 752 lines in chat.ts.

SDLC observations: no CI pipeline; committed secrets flagged (apps/web/src/actions/secrets.ts); test ratio 0.026 (5 test files vs 191 source files); postinstall lifecycle script in package.json; dependencies far behind — electron ^28 vs current 43, next 14 vs 16.

The Bottom Line

A stale, unmaintained snapshot of a closed-source product, not a codebase to build on. The measured analysis confirms the quality decay a dead snapshot accumulates, and the README's own disclaimer makes building from it a dead end. Use it to audit the v7 architecture or study the action-module pattern; for actual use, download the signed product.