How to Build a PO9 Skin
Building a skin is one straight line: Create → Validate → Package → Import → Use. Here’s the short version.
1. Start from the starter
Section titled “1. Start from the starter”npx po9-skin new my-skinThe Starter template is a clean, valid base — a manifest.json and a theme.css you edit.
2. Set the palette
Section titled “2. Set the palette”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.
3. Validate, package, use
Section titled “3. Validate, package, use”npx po9-skin validate ./my-skin # security · compatibility · structure · versionnpx po9-skin pack ./my-skin # → outputs/<id>-<version>.po9-skinImport 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.