Agent kit for working on canonical/chisel-releases. Cross-agent skills + scripts for authoring and reviewing chisel slice definition files.
81
85%
Does it follow best practices?
Impact
75%
Average score across 5 eval scenarios
Low
Low-risk findings worth noting
Chisel builds minimal Ubuntu root filesystems by extracting named slices of .deb packages instead of whole packages. It is a Go tool that consumes a chisel release (a branch of chisel-releases) as its source of truth.
Docs: https://documentation.ubuntu.com/chisel/en/latest/
chisel cut --release <ref> --root <dir> [--arch <a>] <pkg>_<slice> ... # materialise rootfs
chisel find <pattern> # search slices
chisel info <pkg>_<slice> # inspect slice
chisel debug check-release-archives --release <ref> # download all pkgs, report cross-package path conflictsSlices are addressed as <package_name>_<slice_name> -- the underscore separates package from slice (underscores are not allowed in Debian package names).
--releaseAccepts:
ubuntu-XX.XX -- an online release branch./, e.g. ./ for the current checkout./etc/lsb-release (DISTRIB_ID / DISTRIB_RELEASE), not /etc/os-release, and fetched from the chisel-releases repository, so the checkout's own SDFs are not used.On a devel (unstable) or EOL (unmaintained) branch, add --ignore=unstable / --ignore=unmaintained or cut errors out.
mkdir -p rootfs
chisel cut --release ./ --root rootfs/ <pkg>_<slice> ...--root must be an existing directory: chisel stops with target directory does not exist instead of creating it.
# List live release branches
git ls-remote --heads https://github.com/canonical/chisel-releases.git 'ubuntu-*' \
| awk '{print $2}' | sed 's|refs/heads/||'
# Read release manifest
curl -fsSL https://raw.githubusercontent.com/canonical/chisel-releases/ubuntu-24.04/chisel.yaml
# Read an SDF
curl -fsSL https://raw.githubusercontent.com/canonical/chisel-releases/ubuntu-24.04/slices/bash.yaml
# Sparse clone (slices + chisel.yaml only)
git clone --filter=blob:none --no-checkout --depth 1 \
-b ubuntu-24.04 https://github.com/canonical/chisel-releases.git /tmp/cr
git -C /tmp/cr sparse-checkout set slices chisel.yaml
git -C /tmp/cr checkout