SkillTotal open-core model

June 14, 2026 · View on GitHub

SkillTotal is open core: the analysis engine is open source and fully usable on its own; paid capabilities are delivered only as hosted services of SkillTotal Cloud, never as code shipped in this repository.

Direction of dependency

The engine has zero web/LLM dependencies and never depends on anything above it. Hosted services depend on the engine — they take a Report and enrich it. The only coupling is the versioned PyPI package plus the report JSON schema (docs/report.schema.json).

The boundary: WHAT vs WHY

  • Engine (OSS) answers WHAT a component does — deterministic static facts with evidence (file/line/snippet): shell execution, filesystem/network/install/dynamic-code, sensitive paths, MCP dangerous tools, prompt-injection surface, hidden Unicode, the filesystem+network exfiltration combo, a 0–100 score and risk level.
  • SkillTotal Cloud (paid) answers WHY it matters / WHAT HAPPENS WHEN RUN / WHERE TO KEEP & WATCH IT — interpretation and prioritization of findings, dynamic sandbox execution, hosting, history, and monitoring.

All detection rules stay in OSS. The engine must be a genuinely useful, complete CI tool on its own — that is what makes it worth adopting. Monetization is the hosted layer above detection, not a subset of it: the paid value is server-side services and operations, so it is not something that can be "taken from" the open source.

This repository never contains server-side or paid logic — LLM pipelines, finding-verification code, sandbox orchestration, billing, server secrets, private datasets, or website code. A thin, optional cloud client may live in the CLI (skilltotal/cloud/, Python stdlib only, so the zero-dependency guarantee holds) purely as request/response plumbing to the hosted API, with no premium logic. Without a Cloud account the local scan still works fully and for free.

Versioned contract (recap)

ENGINE_VERSION (code/API, semver), REPORT_SCHEMA_VERSION (report shape), RULESET_VERSION (detection set) — all in report metadata. Consumers pin the PyPI version and validate reports against report.schema.json. See releasing.md and report-schema.md.