uac unified agent context

Docs

Skills

Write a procedure once; both agents can use it.

A skill is one markdown file in .agents/skills/ with YAML frontmatter:

---
name: deploy-runbook
description: Use when the user mentions deploying, releasing, or shipping.
---

# Deploy runbook
...

The description must say when to use it — that’s what makes it trigger.

One source, two adapters

Codex has no Skills concept, so uac bridges the gap:

  • Claude Code gets a native mirror at .claude/skills/<name>/SKILL.md, so the skill shows up as a real slash command.
  • Codex gets the same content over MCP via the skill_load tool.

You write the file once. uac sync keeps both adapters current:

uac sync            # regenerate CLAUDE.md + .claude/skills/
uac sync --check    # exit non-zero if generated files are stale (good pre-commit)

Skill bodies load on demand — the always-in-context index is names and descriptions only, so a growing library never bloats every session.

Bring your existing Claude skills

If you already have user skills in ~/.claude/skills/, share them with Codex:

uac skills import

This copies them into .agents/skills/. Claude keeps using them natively; Codex can now load them too. (Only Claude’s user skills exist on disk — the ones compiled into the claude binary can’t be copied.)

Inspect

uac skills list
uac skills show deploy-runbook