New additive, nil-safe battery for subscribing to skill packages in the
Anthropic agent-skills format (SKILL.md manifest + bundled files):
- Manifest/ParseManifest: SKILL.md frontmatter+body parse & validation
(name/description required, allowed-tools passthrough, kebab/length limits)
- Tree/Pack/LoadPack: self-contained file set, order-independent content
digest (the pin identity + change signal), bundled-file listing, traversal-
safe staging
- Source (DirSource, GitSource): Fetch returns tree + resolved ref; git clones
to temp, reads subpath into memory, cleans up (self-contained tree)
- Subscription + Store + content-addressed PackCache, with Memory defaults
- Syncer: Subscribe pins; Check records a PENDING update but never moves the
pin; Apply is the only re-pin (supply-chain guard — upstream can't silently
change what an agent runs)
- Activate: resolved packs -> majordomo agent.Skill (catalog instructions +
one skill_use tool) for progressive disclosure; Stage materializes files
Third distinct 'skill' concept, deliberately separate from executus/skill
(saved-agent noun) and majordomo/skill (eager capability bundle). Mort-side
wiring (convars, .skillpack commands, Agent.SkillPacks, allowed-tools shim)
is a later, separate step. Full unit + hermetic local-git tests; gofmt/vet
clean; race-tested.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>