Agent Native

ocx

This skill operates opencodex (ocx), a CLI tool for managing an LLM proxy's configuration, accounts, routing, and providers without editing source code.

by lidge-junCommunityNot reviewed

Community author

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
MIT (permissive)
Pin
250f17apinned Oct 9, 2026
Context cost
about 3,000 tokenswhen the skill loads
GitHub stars
17,121on lidge-jun/opencodex
Scripts
None found

What it does

“Operate opencodex (`ocx`): discover CLI tasks offline, inspect local configuration, and manage a running proxy’s account pool, providers, models, routing, usage report, and management API. Use for proxy operation rather than editing the opencodex codebase.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill operates opencodex (ocx), a CLI tool for managing an LLM proxy's configuration, accounts, routing, and providers without editing source code. It provides offline help discovery, live management workflows for providers/models/accounts/routing, observation commands for logs and usage, and remote hub connectivity. The skill enforces security boundaries around secret creation and credential handling.

When to use it

  • Managing a running opencodex proxy's accounts, providers, models, or routing policies
  • Inspecting proxy status, configuration, logs, and usage without code changes
  • Discovering available CLI tasks offline before executing live management commands
  • Performing remote hub operations like pairing, key rotation, and disconnection

When not to

  • Editing opencodex codebase or installation configuration
  • Creating access keys or starting key rotations from an agent session
  • Making dashboard-only changes like starring repositories or writing codex prompts

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add lidge-jun/opencodex --skill ocx

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install lidge-jun/opencodex ocx@250f17afd8ff44c93c620d87c1f346ef56f64fb4

Installs the commit we checked (250f17a).

Copy by hand

Download the folder at 250f17a and put it in .claude/skills/ocx for Claude Code and in .agents/skills/ocx for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 250f17a

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "ocx" by lidge-jun.

Source, pinned to commit 250f17afd8ff44c93c620d87c1f346ef56f64fb4:
https://github.com/lidge-jun/opencodex/tree/250f17afd8ff44c93c620d87c1f346ef56f64fb4/skills/ocx

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/ocx/ for Claude Code and .agents/skills/ocx/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/lidge-jun/ocx

SKILL.md at the pin

---
name: ocx
description: "Operate opencodex (`ocx`): discover CLI tasks offline, inspect local configuration, and manage a running proxy’s account pool, providers, models, routing, usage report, and management API. Use for proxy operation rather than editing the opencodex codebase."
---

# Operating `ocx`

`ocx` supports local configuration and named live management workflows. Coverage is
per task: provider edits, account selection, model visibility, routing reads, client
integration controls and diagnostics have different transports and limits. A shared
API prefix does not prove that every dashboard action has a CLI equivalent.

This skill is for **operating** a proxy. `AGENTS_INSTALL.md` covers installation
and operating consent; the repository `AGENTS.md` covers code changes.

## Find the task offline

Start at the smallest useful level; no running proxy is needed for help:

```bash
ocx help                         # compact root
ocx help models                  # family and declared children
ocx help models preset show      # exact leaf, when declared
ocx help --all                   # full top-level reference, when needed
```

Then read only the matching [task chapter](references/01_management_surface.md).
For example, use [providers/models](references/01_surface_providers-models.md)
for catalog work or [Lab](references/01_surface_lab.md) for local evidence.
Use `ocx help <family> <leaf>` or appended `--help`, not a trailing bare `help`
after nested operands. Missing detail can fall back to family help; it is not
proof that a runtime operation is absent.

For a route you already know, an optional lookup is:

```bash
ocx capabilities --route '/api/providers/{provider}/model-costs' --json
```

This matches the **declared path template**, not a concrete provider URL or HTTP
method. Exit 4 means no declaration matched. Full `ocx capabilities --json` and
`--mutating-only --json` are useful for broad inventories, not mandatory preflight.
Declarations describe the installed CLI; actual handlers remain the grammar authority.

## Choose a workflow

Start with the named read or preview, then follow its recipe. Help is offline;
the target column describes execution. A listed write still needs authority for
that task, and read-oriented probes can contact upstream services.

| Task domain | Start | Execution target | Verify the result |
|---|---|---|---|
| Lifecycle | `ocx status --json` | Local runtime | Compare readiness, runtime identity and version; [diagnosis](references/03_recipes.md#7-diagnose-management-api-is-unreachable) |
| Providers and models | `ocx provider snapshot --json` | Live management; local authoring is separate | Read saved state and catalog disposition; [provider edits](references/03_recipes.md#6-save-locally-or-change-the-running-provider-configuration), [model identities](references/03_recipes.md#14-add-a-custom-model-locally-or-on-the-running-proxy) |
| Accounts | `ocx account list --json` | Live management | Read active/selected state; quota is opt-in and can probe upstream; [pool policy](references/03_recipes.md#17-inspect-pool-policy-before-changing-account-scope), [per-key quota](references/03_recipes.md#30-read-one-api-key-pools-quota) |
| Agents and routing | `ocx route policy list --json` | Live management; `v2` distinguishes local and live | Inspect revision, saved overrides and apply outcome; [routing edits](references/03_recipes.md#15-create-or-revise-a-routing-profile-from-an-editable-document), [runtime settings](references/03_recipes.md#20-change-runtime-settings-and-v2-with-explicit-targets) |
| Integrations | `ocx help integration` | Selected runtime and its client files | Preview before applying; inspect refusals and ownership; [file integrations](references/03_recipes.md#21-preview-a-file-integration-then-commit-the-reviewed-plan) |
| Observation and maintenance | `ocx logs filter --help` | Live management; connected `usage` is self-scoped | Retain window, filter and incomplete/partial facts; [filtered reads](references/03_recipes.md#28-select-a-bounded-log-window-and-search-usage-model-rows), [companion totals](references/03_recipes.md#29-read-the-saved-companion-usage-view) |
| Access and remote | `ocx connect status --json` | Local connection; management runs on its serving host | Separate connection health, key scope and revocation; [remote targeting](references/05_remote_hub.md), [private key handoff](references/03_recipes.md#27-hand-off-a-selected-key-model-or-audio-check) |
| Lab | `ocx help lab` | Local evidence; explicit probes and automation have effects | Inspect evidence and export/probe limits; [Lab workflow](references/03_recipes.md#13-inspect-local-lab-evidence-before-exporting-or-running-probes) |

These are task entry points, not a count of GUI parity. Native window focus,
browser presentation and session-only actions retain their own interfaces.
Grant inspection does not authorize grant consumption; persisted local Desktop
export does not export an unsaved dashboard draft.

## Before live management work

1. `ocx ready --json` checks readiness (`ready`, `pending`, `failed`, `unreachable`).
2. `ocx status --json` checks the target and `versionSkew.relation`. `unknown` is
   not a confirmed match; a mismatch needs the intended installation resolved.
3. Run the task with `--json` **only when that leaf supports it**. `ocx doctor`
   rejects it; `ocx v2` supports JSON for both local and explicit live targets.

These checks do not require starting a proxy for offline help, local provider
configuration, config validation or local Lab inspection. On a connected client,
ordinary management commands do not automatically target the hub: perform them
on the hub or use its dashboard. See [remote targeting](references/05_remote_hub.md).

Inspect both the exit code and receipt. Saved config, runtime application, client
file convergence, skipped work and partial completion are different outcomes;
read back the relevant setting after a write. Exit 0 also covers previews and
intentional no-ops. Management failures normally print stderr prose even with
`--json`; usage codes include 2 and legacy 64 exceptions for `capabilities`,
`ready`, and `resolve`. See [JSON shapes](references/02_json_shapes.md) and
[failure semantics](references/04_failure_semantics.md) before scripting recovery.

## Observation and explicit-key API tasks

For request/injection follow, timeline exclusions and scoped usage, start with
[observation recipes](references/03_recipes.md#25-follow-observed-windows-without-claiming-lossless-history).
Use versioned log events to reconstruct observed windows; row JSONL cannot express
removals. Neither stream guarantees lossless traffic history.

Selected-key model/audio tasks are separate from management calls. They require
explicit operator authorization for upstream calls/uploads and a private human
terminal handoff for key input. Never collect the key in this agent session,
argv or environment, and never substitute an admin/enrolled credential. Read
[the selected-key and audio recipe](references/03_recipes.md#27-hand-off-a-selected-key-model-or-audio-check)
before proposing one. Reports are observations, not key-scope/billing certificates.

## Consent: one thing you must not do

**Do not star the repository on the user's behalf.** `ocx inspect star` reads the status, and that
is the entire CLI surface for it. The starring POST requires a dashboard session, so an ordinary admin-token
management call cannot perform it. That is not a barrier against a determined local
agent; the consent rule still binds every mechanism because it spends *their* GitHub identity. Do not route around it with `gh`, a direct HTTP call, or a minted session. If
starring would be useful, say so and let the user decide.

The same boundary covers the session-gated `/api/codex-prompt` writes: read them with
`ocx inspect codex-prompt`, and leave the writes to the dashboard.

## Secret-bearing commands

**Do not create an access key or start an access-key rotation from an agent session.**
This covers the create and rotation-start operations under `ocx access key`,
`ocx access keys`, and `ocx api-key`, their `opencodex` equivalents and executable
wrappers, and direct POST requests to `/api/keys` and `/api/keys/rotate`.
Both text and JSON responses contain a one-time plaintext data-plane credential,
which can enter the agent transcript. Ask the user to perform that step in a
human-operated terminal outside the agent session, configure and verify the
replacement, and report only confirmation plus non-secret key/rotation IDs.
Never ask for the plaintext key in chat or offer a pipe, redirection, or API
workaround to perform the secret-returning step inside the agent session.

`ocx hub invite` has the same boundary: text and JSON output expose a plaintext pairing
grant or a command embedding it. Use the human-operated terminal handoff in
[recipe 10](references/03_recipes.md#10-invite-one-more-machine-onto-a-hub); never ask for
the grant or generated command in chat. Continue non-secret setup and verification normally.

Configuration confirmation is not approval to revoke the existing credential.
Identify the existing key ID and obtain separate explicit revocation approval
before committing an in-place rotation or removing an old, separately replaced key.
An existing explicit approval for that exact revocation remains valid; setup
confirmation alone does not supply it. Commit and abort return no plaintext key,
but still require authority for their state changes. Follow
[recipe 5](references/03_recipes.md#5-prepare-an-access-key-rotation-without-exposing-the-new-key).

## Destructive verbs

`storage trash restore` and `storage policy run` refuse without `--yes` (exit 2, nothing sent).
`storage cleanup` without `--yes` is a preview that exits 0 having mutated nothing — do not treat
that 0 as a delete. There is no interactive prompt.

The expected sequence is preview, report, then ask:

```bash
ocx storage cleanup --percent 25 --json      # previews; deletes nothing; exits 0
```

Report the count and bytes from that output and get explicit approval before adding `--yes`.
`--mode quarantine` (the default) can be undone with `storage trash restore`; `--mode permanent`
cannot.

## Remote hub

Read `ocx status` on the hub and `ocx connect status --json` on the client before
changing their configuration. Pairing is not required to configure the hub.
The optional loopback companion serves inference only, never management calls.
A human transfers the invite directly to the joining machine outside this session.
Remote credential inputs remain stdin-only (`--pairing-code-stdin`,
`--admin-token-stdin`), never literal argv or environment values.

Disconnect restores local state but leaves the hub key valid. With explicit
revocation authority, revoke while still connected, or have the operator revoke
on the hub after disconnection. Do not work around ownership or partial-restore
refusals. [Remote hub](references/05_remote_hub.md) covers the one-port setup,
credential handoff, managed rotation and disconnection order.

## References

| File | Use it for |
|---|---|
| [Management index](references/01_management_surface.md) | declared capabilities in eight task chapters, with routes, flags and mutation notes (generated) |
| [JSON shapes](references/02_json_shapes.md) | response envelopes and error shapes |
| [Recipes](references/03_recipes.md) | copy-paste sequences for real tasks |
| [Failure semantics](references/04_failure_semantics.md) | exit codes, 503 classes, what to retry |
| [Remote hub](references/05_remote_hub.md) | hub/client roles, when pairing is and is not needed, key rotation, disconnection |

The generated index routes to eight task chapters. Lab includes local reads,
public evidence operations and explicit automation controls; it is not read-only.
Read-oriented probes can contact providers, consume quota or refresh caches.
Routing-profile writes use explicit file/revision workflows; discovered-model
display-name edits use raw upstream IDs, distinct from custom-model editing. Browser presentation and
session-only consent actions remain outside agent management authority.

The index and chapters are generated by `scripts/generate-ocx-skill-surface.ts`.
If metadata and execution disagree, check the installed CLI version and the live
target before reporting unsupported behavior; do not infer a new flag.

From lidge-jun/opencodex at 250f17a, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at 250f17a

Files

14 files, 414 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 250f17a
All Cloud and DevOps skills
  • n8n-cli

    This skill enables agents to manage n8n workflows, credentials, executions, and instance resources via the n8n CLI command-line tool.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago

  • managing-streamlit-apps

    Manage Streamlit apps running in PostHog sandboxes through the full lifecycle: create, set or edit source code, start and stop the sandbox, poll status, and…

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago

  • release-candidate-prep

    Prepares a local Python SDK release candidate in a dedicated Git worktree when explicitly invoked with a version number.

    by OpenAIOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 6 days ago

  • cloud-run-basics

    Deploys and manages Google Cloud Run services, jobs, and worker pools for running containerized applications or source code.

    by GoogleOfficial publisher

    Claude Code, Codex, Cursor +4 · about 3.9K tokens · pinned 6 days ago

  • debug-openshell-cluster

    Diagnoses OpenShell gateway deployment problems across Docker, Podman, Kubernetes, and VM compute platforms.

    by NVIDIAOfficial publisher

    Claude Code, Codex, Cursor +4 · about 19.1K tokens · pinned 6 days ago

  • hf-cloud-aws-context-discovery

    This skill reads the user's local AWS configuration to discover their active profile, region, account ID, and caller identity before any AWS work begins.

    by Hugging FaceOfficial publisher

    Claude Code, Codex, Cursor +4 · about 830 tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use