Skip to main content
A new CLI version reaches three places: the machines people work on, the repositories they work in, and the hosts that run builds. Each needs one step.

On each machine

Install the new version the way you installed the first:
A command run with npx -y @outerlayer/cli already uses the newest version. Then run outerlayer doctor. It names anything else on the machine that still needs a step. Keep one CLI version across a team. A teammate on an older version sees the maintained skills as changed and their context emit --check fails.

In each repository

A repository that keeps its own .outerlayer/ directory needs two commands and a commit:
  • context emit rewrites the maintained skills to the installed version and recompiles every tool’s copy.
  • init --update brings the template skills, the policy and the two checks up to date where you have not edited them. See Update the files init wrote.
Review the diff and commit it. Nothing is committed for you. A repository whose instructions come from a control plane needs neither command. Each session writes the maintained skills at the installed CLI’s version. Run the two commands in the control plane repository instead.

On each build host

A host started as a service updates itself and needs nothing. A host with updates off is upgraded by hand. See Keep the runner up to date. Then check the commands in its config file with outerlayer runner check. A command that names a skill by a name it no longer has is listed under note.

Changes that need you to act

Maintained skills start with outerlayer-

The maintained skills have new names, so they can no longer land on a skill of your own: What to do:
  1. In a repository with its own .outerlayer/, run outerlayer context emit and commit. It writes each skill under its new name, then deletes the old directory and every copy compiled from it, such as .claude/skills/amend/. Until you do, context emit --check reports the old files as retired. A skill of your own with one of the earlier names is left alone: only a directory the CLI wrote, whose SKILL.md says “maintained by OuterLayer”, is removed.
  2. In your template skills, replace the earlier names. outerlayer init --update does this for a template you have not edited. For one you edited, outerlayer doctor lists each file that still names a skill by an earlier name.
  3. On a build host, change /amend to /outerlayer-amend in runner.commands.amend. Until you do, the runner runs /outerlayer-amend in its place and says so in the build’s log and in runner check.
  4. When you start a skill by hand, type /outerlayer-amend instead of /amend.
A repository whose instructions come from a control plane shows each skill once, under its new name, even before the control plane is updated. Update the control plane with step 1, so its own copies match.