Documentation
CLICommands

ox skills

Inspect and manage the skills your AI coworkers have in this repository. Skills arrive from three places: the ones ox itself ships, the ones your team publishes to its Team Context, and the ones you wrote yourself.

list shows all three. status answers the harder question: when a team skill is missing, which of the several possible reasons is the actual one. approve and revoke are the trust boundary for runnable team-skill content, and publish sends a skill you wrote the other way, into your team's Team Context.

Usage

terminal
$

Subcommands

CommandDescription
ox skills listList every skill installed in this repository
ox skills statusShow which team skills reached this repository, and why the rest did not
ox skills approve [name...]Approve runnable team-skill content for this repository
ox skills revoke <name>...Revoke approvals for runnable Team Skill content
ox skills publish <name>...Publish repository skills to your Team Context

Examples

List every skill in this repository

terminal
$

One table shows every skill, whoever installed it, with one of three provenances: ox for the skills the CLI ships, team for the ones your Team Context publishes, and local for the ones a human authored here. ox owns only the first two and never modifies or removes a local skill. Add --all to include the routine tool-use wrappers that ox hides by default.

Find out why a team skill is missing

terminal
$

Show which team skills reached this repository, and why the rest did not. It also shows which source each skill comes from. For how team skills reach each coding agent, run ox guide team-rules.

Approve runnable team-skill content

terminal
# List what is waiting for approval, and why
$
# Approve one skill's instructions
$
# Also put its bundled scripts on disk as runnable files
$

With no arguments, approve lists the runnable team-skill content that ox has withheld or omitted. Each entry names the exact file or line that made it executable, so read that before you decide.

A team skill comes from a remote any coworker can push to, and nothing on the pull path verifies signatures. Review the content ox skills approve shows you before you approve it.

An approval is pinned to the exact bytes you approved. If the skill changes afterwards, it returns to needing approval. ox records approvals in .sageox/team-skills.approvals.json, which is committed on purpose: the decision belongs to the project, coworkers inherit it, and reviewers can see it in a pull request.

Approving lets an AI coworker read the skill. ox still drops its bundled scripts unless you also pass --allow-scripts, the larger, separate decision to put runnable files on disk. A later approve without the flag keeps an existing scripts grant.

Revoke an approval

terminal
# Withdraw the whole approval
$
# Keep the instructions approved, withdraw only the bundled scripts
$

revoke removes the digest-pinned approval from .sageox/team-skills.approvals.json and reconciles the current repository immediately. Content that required the approval leaves every selected skill target; readable prose that never required approval may remain installed.

Revocation is all-or-nothing across the names in one run: a misspelled or unapproved name refuses the run before any approval changes. If cleanup cannot finish, the approval stays revoked and the command returns an error, so the next reconcile can finish removing the installed content.

Publish a skill to Team Context

terminal
$

Publish hand-authored skills from this repository to your Team Context. ox resolves each name from the skills directories that ox init selected; if the same name exists in more than one of them, every copy must be identical. ox refuses skills it manages, symlinks, unsafe or mismatched names, and any destination the team already owns.

Publishing copies the complete skill directory and records it in the Team Context. It does not remove the repository copy and never overwrites a published skill. The skill's repos: metadata controls which repositories receive it; without repos:, it applies to every repository on the team.

A skill without a requires: key gets one inferred, and publish warns when it does, so you can make the key explicit. ox guide team-rules explains the key.

Flags

FlagSubcommandsDescription
--alllistShow every ox skill, including the routine tool-use wrappers hidden by default
--allow-scriptsapproveAlso materialize the skill's bundled scripts as runnable files; --allow-scripts=false revokes an existing scripts grant
--jsonlist, status, approve, revoke, publishEmit machine-readable JSON

What's next

  • Team skills - Write a skill once in Team Context and see where it runs
  • ox addons - Install skills, rules, and the context each skill carries
  • Team rules - Share the conventions every AI coworker follows