Skip to content

Tags: Altinity/acmctl

Tags

skill-bundle

Toggle skill-bundle's commit message
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>

v0.1.0

Toggle v0.1.0's commit message
Fix Unicode escaping in JSON output and use interface{} for polymorph…

…ic API fields

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>