Tags: Altinity/acmctl
Tags
skills: add install/update commands + Action that publishes the zip
Two pieces:
1. .github/workflows/skill-bundle.yml — on push to main touching
skills/**, zips each subdir of skills/ as <name>.zip and uploads
to a rolling pre-release tagged "skill-bundle". Stable URL:
https://github.com/Altinity/acmctl/releases/download/skill-bundle/altinity-cloud.zip
Tag pushes (v*) attach the same zips to that tagged release for
--ref pinning.
2. `acmctl skills install` and `acmctl skills update` (cmd/skills.go,
internal/skillbundle/{agents,fetch,install}.go) — download the
published zip, extract, and copy idempotently into
{scope-root}/{agent.subdir}/{skill}/
Flags:
--agent (repeatable), --all, --scope global|project,
--ref <tag>, --dry-run, --force
Defaults: --scope global, --agent claude.
`install` errors if a local file would be overwritten (rerun
with --force or use `update`). `update` defaults to refreshing
every agent that already has the skill installed; always
overwrites. Symlinks at the target path are removed before
writing — a sandbox setup pointing at a workspace source tree
isn't clobbered.
No new third-party deps — uses stdlib net/http and archive/zip.
cmd/root.go skips API client init for any subcommand under
`skills` since they don't talk to ACM.
README updated to point users at `acmctl skills install` instead of
the manual symlink workaround.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>