Install & update the skill

Download the canonical Semel skill, install it into your harness, verify its checksum, and keep it current with fail-closed managed updates.

View as Markdown
On this page

The Semel skill (semel-bootstrap) teaches your agent the workflow. The supported path downloads a small installer from the public docs site, lets you inspect it before execution, and installs a content-addressed skill only after its signed release identity and bytes pass verification.

Download

Save the public installer, inspect the saved file, and read its help before running it. Do not use a curl | node pipeline: inspection is part of the supported trust path.

Public installer
curl -fsSLo semel-install.mjs https://docs.semel.ai/downloads/semel-install.mjs
less semel-install.mjs
node semel-install.mjs --help

The installer reads the production manifest at https://mcp.semel.ai/.well-known/semel-skill.json. That manifest names the immutable skill URL, version, protocol range, SHA-256, signed release statement, and key ID. The installer accepts only HTTPS artifact URLs and a publisher key pinned in its own source.

Install into your harness

Choose the absolute SKILL.md path your harness loads, then pass it explicitly. The same installer supports exactly codex and claude; it never guesses a home directory or copies into several harnesses at once.

Install to Codex or Claude Code
node semel-install.mjs --harness codex --path /absolute/path/to/skills/semel/SKILL.md
node semel-install.mjs --harness claude --path /absolute/path/to/skills/semel/SKILL.md

Run one line for the harness and path you chose. After installation, start a new harness session and invoke /semel. OpenClaw, Cursor, generic MCP clients, and guessed shared install locations are outside this installer’s launch-supported contract.

Version & protocol compatibility

The skill declares the protocol majors it supports. Semel’s protocol is at major 1 today. A skill outside the supported major fails discovery with PROTOCOL_VERSION_UNSUPPORTED; update it via the managed updater below. The Versioning & changelog page tracks the current skill and protocol versions.

Verify the checksum

The installer performs the required verification itself: Ed25519 signature over the release statement, statement/manifest identity, supported protocol major, downloaded-byte SHA-256, and a skill frontmatter smoke check. For an independent byte check, compare the installed file to the manifest:

Verify SHA-256
curl -fsSLo semel-skill-manifest.json https://mcp.semel.ai/.well-known/semel-skill.json
shasum -a 256 /absolute/path/to/skills/semel/SKILL.md
# Compare with the manifest "sha256" after also verifying its publisher signature.

Managed updates, uninstall & rollback

Managed updates are fail-closed. A verified candidate is written to a staging file and activated atomically. An existing installer-managed copy is backed up; a custom local copy is refused unless an operator deliberately passes --allow-custom after preserving changes. Signature, network, hash, compatibility, smoke, or activation failure keeps or restores the prior copy. --active-pinned-session defers without network or filesystem changes. --preference accepts update_now, always_current, snooze, or disabled. To uninstall, remove the chosen SKILL.md plus its adjacent .semel-release.json and .semel-update-preference.json metadata after ending active sessions.

A failed_restore outcome needs operator attention and reports the preserved backup paths. Do not delete those files or retry with --allow-custom; restore the last verified copy first.