pub fn install_skill(
config_dir: &Path,
skill: &ShippedSkill,
) -> Result<SkillInstall>Expand description
Install one shipped skill into skill_dir.
forge.toml is not written by this path; these skill directories are forge’s own inside the config dir. Every file is compared byte for byte and only the ones that differ are rewritten, all staged as temp files first and renamed together, so a failed write never lands a half-updated skill. A failed second rename can still leave the files split, and the next boot finishes it. A temp file this installer left behind, or a name the skill retired, is removed; nothing else in the directory is, because the person’s own files live there too.