Publishing content in bulk
Building a course a page at a time is fine for one lesson and painful for a term of
them. If you already have your material written down, the zippy command line tool
publishes it straight into your workspace: courses, lessons, rubrics, skill maps,
evaluations, and assets.
This is the route most centres take when they move an existing syllabus across, or when a lead teacher maintains shared content for several classes.
You do not need to be a developer. Zippy also ships a skill in the standard Agent Skills format, so an AI assistant can run the whole thing for you and you can describe what you want in plain English.
The quickest way
Paste one prompt into an AI assistant that can run commands on your computer, such as Claude Code, Cursor, or Codex. It installs the tool, adds the skill, and logs you in.
Then ask it to publish. It runs zippy login (email and a one-time code) and takes it from
there. If you would rather do it yourself, the manual steps are below.
Install the CLI
curl -fsSL https://heyzippy.io/install.sh | sh
zippy --version
macOS (arm64, amd64) and Linux (amd64, arm64). At the end, the installer offers to install the skill for you. Control it non-interactively:
curl -fsSL https://heyzippy.io/install.sh | sh -s -- --with-skill # always install the skill
curl -fsSL https://heyzippy.io/install.sh | sh -s -- --no-skill # never install the skill
Install just the skill
The skill can be installed on its own with a single command:
curl -fsSL https://heyzippy.io/skills/install.sh | sh
Following the Agent Skills convention, the installer puts the files
once in ~/.agents/skills/zippy/ (the cross-client location) and symlinks each detected
agent's own skills directory at it: ~/.claude/skills/zippy (Claude Code), plus
~/.cursor/skills/zippy, ~/.codex/skills/zippy, ~/.windsurf/skills/zippy when those agents
are present. It installs at user scope by default, so the skill is available in every
project. One update touches one place.
Pick specific agents, install under the current project instead of home, or write to an exact path:
curl -fsSL https://heyzippy.io/skills/install.sh | sh -s -- --agent claude,cursor
curl -fsSL https://heyzippy.io/skills/install.sh | sh -s -- --project
curl -fsSL https://heyzippy.io/skills/install.sh | sh -s -- --dir path/to/skills/zippy
The skill files live in the public heyzippy/zippy
repo (under skills/zippy/) and are the single source of truth, the installers download
them straight from GitHub, so they always match the shipped CLI.
Point other agents at the skill
For an agent not in the list above, fetch the raw files and reference them from your rules or system prompt:
curl -fsSL https://raw.githubusercontent.com/heyzippy/zippy/main/skills/zippy/SKILL.md
curl -fsSL https://heyzippy.io/llms-full.txt
The first is the skill specification; the second is the complete Zippy reference as one plain-text file, handy for any agent tool or a custom system prompt.
What the skill can do
Once installed, an agent can authenticate and publish content for you:
zippy login # email one-time code → ~/.zippy/config
zippy library push --all content/my-workspace --dry-run
zippy library push --all content/my-workspace --workspace-id <your-workspace-id>
zippy courses push --content-dir content/my-workspace/courses --course primary-6
Every push targets your workspace. Find your workspace id in Zippy under
Settings → General, or just run
zippy login, which fills it in automatically.
The skill covers the full CLI surface (library push, courses push, lessons push-dir,
rubrics, assets publish), the content model, and the publish workflow, with
progressive-disclosure references it loads on demand. See the
full reference for everything.
Releases
The zippy binary ships from the heyzippy/zippy
repository. The install command above always pulls the latest release; to pin a specific
version, use the snippet below. The full command reference lives in
cli.md.
Prebuilt binaries for macOS (arm64, amd64) and Linux (amd64, arm64). Pin a version:
curl -fsSL https://heyzippy.io/install.sh | ZIPPY_VERSION=v0.1.2 sh