Upload a package
Import Markdown, ZIP or serialized text packages and save a reviewed draft
You need a Semogram account with membership in the target workspace and access to a project in it. The Skills screen is opened from a project, while standalone skills belong to the workspace.
Uploading opens an editable draft. It does not silently install the skill. Review the parsed head and supporting files, then choose Create skill to persist it.
Choose the input format
| Format | What it contains | Result |
|---|---|---|
| .md or .markdown | One Markdown instruction file with frontmatter | Imported as the SKILL.md head |
| .zip | SKILL.md and supporting text files | Imported into one package; a shared containing directory can be removed |
| .json | Serialized asset package, not arbitrary skill settings | Validated package draft with its head and files |
The file picker accepts these formats. File contents are text; binary photos, PDFs and executable binaries are not a supported skill-package payload. A scripts directory may contain script text, but upload does not register or execute it.
Complete ZIP example
Download equipment-risk-review.zip. Its contents are:
equipment-risk-review/
├── SKILL.md
└── references/
├── review-checklist.md
└── example-case.mdOpen Skills → Upload skill, choose the ZIP and inspect the parsed tree. The shared containing directory is trimmed so the resulting head is SKILL.md and reference paths start with references/. Choose a unique skill name if this example is already installed, review validation and save it with a meaningful commit message.
The included fixture is fictional and contains its own evidence cutoff, probability, observation and expected conclusion. Read it alongside the instructions to test a review without importing any live data.
Single-file example
Upload this SKILL.md only if you also add its two referenced files in the editor. A single Markdown upload imports one file; it does not fetch other files mentioned by the instructions. For a fully contained import, use the ZIP or JSON package.
Serialized package
The complete package JSON uses this representation:
{"version":1,"kind":"asset-package","headPath":"SKILL.md","files":[{"path":"SKILL.md","content":"---\nname: example-review\ndescription: Review a bounded example.\n---\n\nInspect the supplied evidence and report missing information.\n","contentType":"text/markdown"}]}This envelope is an upload/storage representation, not a public HTTP request. The UI edits files rather than requiring users to edit JSON.
Diagnose an import
Check for SKILL.md at the resulting package root, unique relative paths, no parent traversal, valid frontmatter and the file/package byte limits. A ZIP with files spread across unrelated top-level folders may not have one common root to trim. Empty archives fail; __MACOSX metadata is skipped.
Each text file must be no larger than 256 KiB and total text no larger than 1 MiB. Size checks use UTF-8 bytes, not character count or compressed archive size. See package reference for all rules.