Packaging
Packaging serializes a validated skin folder into one file: name.po9-skin.
Format
Section titled “Format”A .po9-skin is a ZIP archive (deflate) with the folder structure preserved at the archive root and a .po9-skin extension.
manifest.jsonMUST be the first entry, at the archive root.- No entry may use an absolute path or escape the root (
..). - No compression bombs: the Validator enforces a max uncompressed size.
Integrity
Section titled “Integrity”- The archive MUST NOT be encrypted or password-protected.
- The app re-validates the archive on import; a modified or truncated file is rejected.
Build it
Section titled “Build it”po9 package ./my-skin # validates, then writes my-skin.po9-skinpo9 package refuses to write a file that fails validation — an invalid skin never becomes a .po9-skin.