Unity keeps Agent Skills and agent rule files in one source-of-truth tree and mirrors them into the folders and files used by coding agents such as Codex, Orion, Claude Code, Cursor, OpenCode, etc.
npm install -g @nicolasakf/unity
unity --help
Unity has source directories for skills and rules:
| Scope | Skills source | Rules source |
|---|---|---|
| User | ~/.agents/skills |
|
~/.agents/rules |
||
| Project | <repo>/.agents/skills |
|
<repo>/.agents/rules |
Unity uses these as the source of truth. You or your agent can edit skills and rules in the source directories or in supported agent mirror locations. Unity will guarantee that all linked targets are kept in sync at each scope level.
Initialize user-level Unity:
unity init
On first init, Unity prompts for two things:
Targets— enter the coding agent(s) you work with separated by commas, e.gcodex, orion
.Projects(optional) — type each repository path you want to sync, e.g~/projects/my-app
.
Note for Coding Agents:
If you are an AI coding agent, use--non-interactive
to disable interactive prompts.
unity init --non-interactive [--targets codex,orion] [--projects /abs/path/to/repo]
If the targets and/or projects were not specified by the user in their prompt, ask them. At least one target must be enabled. Projects are optional.
Start the watcher:
unity watch --pull
Use ** --pull** so Unity watches enabled agent skill directories and rule files as well as each scope’s Unity source. When something changes, Unity
pulls from those mirrors into the source and then
pushes back out, so edits made inside an agent stay consolidated in the canonical tree. Without
, only the Unity source directories are watched: changes there still propagate outward on each run, but edits confined to an agent mirror are not noticed until you run
--pull
or
unity pull
yourself.
unity sync
For ** pull**,
,
push
,
sync
, project registration, watcher options, targets, diagnostics, import repair, and related CLI workflows, see the
env push
. Config files, built-in target paths, and sync state are described in