UXC Skill
SkillAI & modelsDiscover and call remote schema-exposed interfaces with UXC. Use when an agent or skill needs to list operations, inspect operation schemas, and execute OpenAPI, GraphQL, gRPC, MCP, or JSON-RPC calls via one CLI contract.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the UXC Skill skill
What this skill tells your AI
The instructions your AI receives, as published by holon-run/uxc in skills/uxc/SKILL.md and read by ahel’s review.
Use this skill when a task requires calling a remote interface and the endpoint can expose machine-readable schema metadata.
When To Use
- You need to call APIs/tools from another skill and want one consistent CLI workflow.
- The interface may be OpenAPI, GraphQL, gRPC reflection, MCP, or JSON-RPC/OpenRPC.
- You need deterministic, machine-readable output (
ok,kind,data,error).
Do not use this skill for pure local file operations with no remote interface.
Docs Search & Support
- UXC docs support full-text search at
https://uxc.holon.run/api/search?q=<query>. - Prefer searching docs first when operation names, auth flags, or protocol behavior are unclear.
- If docs are unclear or behavior looks wrong, open an issue in
holon-run/uxc:https://github.com/holon-run/uxc/issues/new/choose- include command, endpoint, and the JSON envelope (
ok,error,meta) for faster triage.
Prerequisites
uxcis installed and available inPATH.- For gRPC runtime calls,
grpcurlis installed and available inPATH.
Install uxc
Choose one of the following methods:
Homebrew (macOS/Linux):
brew tap holon-run/homebrew-tap
brew install uxc
Install Script (macOS/Linux, review before running):
curl -fsSL https://raw.githubusercontent.com/holon-run/uxc/main/scripts/install.sh -o install-uxc.sh
# Review the script before running it
less install-uxc.sh
bash install-uxc.sh
Cargo:
cargo install uxc
For more options, see the Installation section in the UXC README.
Core Workflow
- Discover operations:
uxc <host> -h
- Inspect a specific operation:
uxc <host> <operation> -h
- Execute with structured input:
uxc <host> <operation> key=valueuxc <host> <operation> '<payload-json>'
- Parse result as JSON envelope:
- Success:
.ok == true, consume.data - Failure:
.ok == false, inspect.error.codeand.error.message
- Success:
- For disambiguation, use operation-level help first:
uxc <host> <operation> -h
- For auth-protected endpoints, use the right auth track:
- simple bearer / single-secret API key: see
references/auth-configuration.md - multi-field auth or request signing: see
references/auth-configuration.md - OAuth flows: see
references/oauth-and-binding.md
- simple bearer / single-secret API key: see
Link-First Workflow For Wrapper Skills
Wrapper skills should default to a fixed local link command instead of calling uxc <host> ... directly on every step.
- Pick a fixed command name during skill development:
- naming convention:
<provider>-mcp-cli - examples:
notion-mcp-cli,context7-mcp-cli,deepwiki-mcp-cli
- naming convention:
- Check whether the command already exists:
command -v <link_name>
- If command is missing, create it:
uxc link <link_name> <host>- For OpenAPI services whose schema is hosted at a separate fixed URL, create the link with
uxc link <link_name> <host> --schema-url <schema_url> - For stdio hosts that need credential-driven child env auth, create the link with
uxc link <link_name> <host> --credential <credential_id> --inject-env NAME={{secret}} - If the link is being created as part of a wrapper skill, persist source metadata with
--skill <skill_name> --skill-doc <docs_url> --skill-path <local_skill_path>so later help output preserves skill context.
- Validate link command:
<link_name> -h
- Use only the link command for the rest of the skill flow.
Import Existing MCP Config First
If an MCP server is already configured in a supported editor or local agent, prefer importing it before hand-writing a new link:
- Preview imports:
uxc config import mcp --dry-run
- Auto-discover common MCP config sources and import them:
uxc config import mcp --from auto
- Import from a specific source preset:
uxc config import mcp --from cursoruxc config import mcp --from codex
Supported presets in v1 include:
autocursorclaude-codeclaude-desktopvscodecodexwindsurfopencode
Naming Governance
- Link naming is a skill author decision, not a runtime agent decision.
- Resolve ecosystem conflicts during skill development/review.
- Do not implement dynamic rename logic inside runtime skill flow.
- If runtime detects a command conflict that cannot be safely reused, stop and ask for skill maintainer intervention.
Equivalence Rule
<link_name> <operation> ...is equivalent touxc <host> <operation> ....- If the link was created with
--schema-url <schema_url>, it is equivalent touxc <host> --schema-url <schema_url> <operation> .... - If the link was created with
--credential <credential_id> --inject-env NAME={{secret}}, it is equivalent touxc --auth <credential_id> --inject-env NAME={{secret}} <host> <operation> .... - Callers can still override that persisted schema by passing
--schema-url <other_url>explicitly at runtime. - Use
uxc <host> ...only as a temporary fallback when link setup is unavailable.
Input Modes
- Preferred (simple payload): key/value
uxc <host> <operation> field=value
- Bare JSON positional:
uxc <host> <operation> '{"field":"value"}'Do not pass raw JSON through--args; use positional JSON.
Output Contract For Reuse
Other skills should treat this skill as the interface execution layer and consume only the stable envelope:
- Success fields:
ok,kind,protocol,endpoint,operation,data,meta - Failure fields:
ok,error.code,error.message,meta
Default output is JSON. Do not use --text in agent automation paths.
Reuse Rule For Other Skills
- If a skill needs remote API/tool execution, reuse this skill instead of embedding protocol-specific calling logic.
- Wrapper skills should adopt a fixed link command (
<provider>-mcp-cli) as the default invocation path. - Upstream skill inputs should be limited to:
- target host
- operation id/name
- JSON payload
- required fields to extract from
.data
Reference Files (Load On Demand)
- Workflow details and progressive invocation patterns:
references/usage-patterns.md
- Generated runtime client flow:
https://uxc.holon.run/ecosystem/typescript-client/
- Protocol operation naming quick reference:
references/protocol-cheatsheet.md
- Public endpoint examples and availability notes:
references/public-endpoints.md
- Authentication configuration (simple
secret, namedfields, headers/query params, and request signers):references/auth-configuration.md
- OAuth and credential/binding lifecycle:
references/oauth-and-binding.md
- Failure handling and retry strategy:
references/error-handling.md
Signals
- GitHub stars
- 113
- Forks
- 7
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
uxc- Source
- github.com/holon-run/uxc