Skip to content

How to Build a PO9 Skin

Building a skin is one straight line: Create → Validate → Package → Import → Use. Here’s the short version.

Terminal window
npx po9-skin new my-skin

The Starter template is a clean, valid base — a manifest.json and a theme.css you edit.

A skin is a color palette, nothing more. Set the base colors in manifest.json, then tune the --dream-* tokens in theme.css:

html.codedrobe-codex-skin {
color-scheme: dark;
--dream-ink: #e7e9ee; /* text */
--dream-page-bg: #0a0a0c; /* background */
--dream-panel-bg: #16181d; /* sidebar */
--dream-send-bg: #6366f1; /* accent */
}

Only colors, gradients, and glyphs — never workspace selectors. Prefer to describe the vibe to an AI and let it fill in the tokens? That works too; just validate the result. See Theme Tokens.

Terminal window
npx po9-skin validate ./my-skin # security · compatibility · structure · version
npx po9-skin pack ./my-skin # → outputs/<id>-<version>.po9-skin

Import the file in the PO9 app and apply. That’s it.

Want the full rules? Read the Specification. Want the 5-minute hands-on? The Quick Start has it.