Expand description
Install target resolution plus the three-state install / upgrade flow.
The resolver turns user-supplied flags (--global, --agent,
--local) into a concrete list of on-disk directories where skills
should be written. The flow consumes that list together with the
embedded HistoricalHashes registry to apply the three-state
install logic from
ADR-014 in docs/architecture/adr/ADR-014-skills-lifecycle.md at
the repository root.
Structs§
- Environment
- Paths the resolver needs from the environment — factored out so tests can inject their own without touching the real filesystem.
- Install
Options - Options for a single install pass at a single target.
- Install
Report - Aggregate result across every skill installed to a target.
- Install
Spec - Specification of where to install (from CLI flags), before resolution.
- Install
Target - A concrete install target — a single directory on disk.
- Legacy
Skill - Result of
scan_legacy_skills_at_targetfor one entry.
Enums§
- Agent
- One of the known agents that has a canonical skills directory.
- Install
Outcome - Per-skill result of a single install attempt.
Functions§
- detect_
installed_ agents - Detect which agents have a home directory on this machine. Used by
--agent allto decide where to install. - install_
skills_ to_ target - Install a set of skills to a single target directory.
- migrate_
legacy_ skills_ at_ target - Remove legacy
devboy-<name>skill directories at a target where a canonical sibling<name>is present (safe duplicates). Returns the list of legacy names actually removed. Skips entries without a canonical sibling — those are surfaced by the caller as warnings. - remove_
skills_ from_ target - Remove installed skills from a target, clearing manifest entries.
Missing skills are silently ignored unless
strictis set. - resolve_
targets - Resolve an
InstallSpecinto one or more concreteInstallTargets. - scan_
legacy_ skills_ at_ target - Find
devboy-<name>directories at a target where the new canonical entry<name>is also present (a safe-to-remove duplicate). Directories without a sibling are returned withcanonical_present: falseand the caller decides what to do.