# skillctl > Package, sign, and distribute AI agent skills as OCI images. skillctl is a CLI tool and Go library for treating AI agent skills exactly like container images. Skills are directories containing a SKILL.md (instructions) and skill.yaml (metadata), packaged as standard OCI images and distributed via any OCI registry. ## Key Links - [GitHub Repository](https://github.com/redhat-et/skillimage) - [Releases](https://github.com/redhat-et/skillimage/releases) - [Full Documentation](https://skillimage.dev/llms-full.txt) - [Agent Skills Specification](https://agentskills.io) ## Install - Homebrew: `brew install pavelanni/tap/skillctl` - Go: `go install github.com/redhat-et/skillimage/cmd/skillctl@latest` - Script: `curl -fsSL https://raw.githubusercontent.com/redhat-et/skillimage/main/install.sh | sh` - Container: `podman run --rm ghcr.io/redhat-et/skillctl:latest` ## CLI Commands - `skillctl pack ` — package a skill directory into a local OCI image - `skillctl push ` — push a skill image to a remote registry - `skillctl pull -o ` — pull and unpack a skill from a registry - `skillctl inspect ` — show skill metadata (works locally and remotely) - `skillctl validate ` — validate skill.yaml against the JSON Schema - `skillctl list` — list locally packed skill images - `skillctl promote --to ` — promote lifecycle state (draft -> testing -> published) - `skillctl tag ` — add an additional tag to a local image ## Core Concepts - **SkillCard** (skill.yaml): machine-readable metadata — name, version, namespace, description, author, license, tools, resource hints - **Lifecycle**: draft -> testing -> published -> deprecated -> archived, stored in OCI manifest annotations - **Media types**: standard OCI types by default; `--media-type redhat` for oc-mirror compatibility in air-gapped environments - **Image volumes**: mount skills directly into K8s pods (K8s 1.33+ / OpenShift 4.20+) ## Go Library Module: `github.com/redhat-et/skillimage` Key packages: - `pkg/oci` — Pack, Push, Pull, Inspect, Promote operations - `pkg/skillcard` — Parse, validate, serialize SkillCard - `pkg/lifecycle` — State machine, semver tag rules - `pkg/verify` — Sigstore signature verification ## License Apache-2.0