Route 35 released creative products and 3 current application routes and DCC-CUA application UI
Browser
DCC-CUA
Try itProject UI control with a fail-closed provider boundary
What it does
Project-owned DCC-CUA routing skill for bounded application UI automation. Use this skill whenever the user says dcc-cua, DCC CUA, our dcc-cua, or 我们的 dcc-cua, including browser and other non-DCC UI tasks. These phrases are a hard route to the dcc-mcp project UI Control stack and take precedence over generic Codex/OpenAI Computer Use, the computer-use Skill, @oai/sky, and Browser/Chrome plugins. If DCC-CUA is unavailable, repair or report the project route; never silently fall back to a generic computer-use provider.
The skill document
DCC-CUA — Project UI Control Router
Use this Skill as the canonical route whenever the user explicitly names
dcc-cua, DCC CUA, our dcc-cua, or 我们的 dcc-cua.
Non-substitution contract
An explicit DCC-CUA request is a hard routing boundary, regardless of whether the target is Maya, Chrome, a browser, or another desktop application.
- Use the project-owned
dcc-cuaruntime and DCC-MCPui-controlsurface. - Never load or call generic Codex/OpenAI Computer Use, the
computer-useSkill,@oai/sky, or Browser/Chrome automation plugins for that request. - Never treat a DCC-CUA runtime, binding, readiness, or permission failure as permission to change providers.
- Repair the project route when safely possible. Otherwise report the exact blocker and stop.
- Use a generic provider only after the user explicitly retracts the DCC-CUA requirement or explicitly requests that provider by name.
This boundary is provider selection, not an authorization bypass. DCC-CUA task grants, target binding, interruption, and confirmation policy still apply.
Route attestation
Before the first application observation or input, report all four fields:
provider=dcc-cua runtime= pid= hwnd=
Do not perform the operation if the provider is different or the target is not exactly bound.
Runtime preflight
Use the official component contract; do not download an arbitrary executable:
dcc-mcp-cli components status dcc-cua
dcc-mcp-cli components ensure dcc-cua --yes
dcc-cua manifest
dcc-cua ping
Run components ensure only when installation or repair is authorized. It
consumes the official versionless manifest, verifies the declared SHA-256, and
reconciles the independently released companion executable.
For semantic application profiles:
dcc-cua profiles
dcc-cua profile --id
Do not invent a profile ID. Runtime-advertised capabilities are authoritative.
Execution order
- Prefer a typed DCC-MCP host tool when it directly expresses the operation.
- Use DCC-CUA only for the UI behavior that typed host tools cannot expose.
- Bind one exact target with process ID and native window handle whenever the surface supports them.
- Open one scoped session with the minimum task grant required for the work.
- Take a fresh observation before each action that depends on UI state.
- Act using stable semantic control or DOM references when available.
- Wait for a typed state transition and verify the real final state.
- Stop the session on success, failure, interruption, or abandonment.
An input sent acknowledgement is not completion evidence.
For native application menu bars, prefer the negotiated native_menu_path
route through ui_control__act(action="invoke_menu", menu_path=[...]) when a
semantic menu click or Alt mnemonic cannot prove that a popup opened. A menu
invocation invalidates the current observation; honor verification_required
and verify the popup or resulting application state with a fresh snapshot.
DCC-host route
For a registered DCC instance, use the DCC-MCP UI Control tools or their CLI projection:
dcc-mcp-cli load-skill ui-control --instance-id --output toon
dcc-mcp-cli ui-control snapshot --instance-id --json '{"session_id":"ui","process_id":1234,"window_handle":5678}'
dcc-mcp-cli ui-control act --instance-id --json '{"session_id":"ui","control_id":"ok","action":"click","snapshot_id":""}'
dcc-mcp-cli ui-control act --instance-id --json '{"session_id":"ui","action":"invoke_menu","menu_path":["Window","Arrange","Left"]}'
dcc-mcp-cli ui-control stop --instance-id --json '{"session_id":"ui"}'
Use the same exact instance and session throughout the action chain. Do not switch to another DCC process because it looks similar.
Browser and non-DCC route
Browser work remains inside DCC-CUA. Use the Host's typed browser surface and
browser_dom capabilities, not an in-app Browser or Chrome plugin.
- Bind the exact browser PID and window handle first.
- Bind the exact tab/target returned by DCC-CUA; do not infer it from a title alone when an exact target identifier exists.
- Keep connection-scoped sessions and capabilities on one Host connection.
- Use DOM/semantic references from the latest observation rather than stale coordinates.
browser_prepareand existing-profile attachment require both the Host grant and the session task grant advertised by the runtime contract.- Authentication challenges, CAPTCHAs, purchases, account/security changes, and unexpected permission prompts remain trusted human boundaries.
Target and evidence invariants
- Preserve PID and native window handle in observations and audit records.
- Treat a changed PID, window handle, tab target, or session owner as a fresh binding that requires a fresh observation.
- Keep
fullreadiness strict. If only an exact-window or typed-browser route is independently ready, report that route-specific degraded readiness. - Honor Escape/user interruption immediately and do not resume without fresh authorization and observation.
- Do not expose local usernames, internal package paths, browser profile data, credentials, tokens, or unrelated window titles in public evidence.
- Verify success by reading the destination state after the mutation.
Failure behavior
When DCC-CUA cannot complete the request, report:
- the exact component/runtime version,
- the exact target identity that was bound,
- the failing readiness, capability, permission, or action stage,
- the last safe observation or typed error, and
- the safe next repair step.
Do not mention a generic Computer Use fallback unless the user asks for one.
Related skills
Scaffold, validate, and review DCC-MCP skill packages with agent-facing authoring guidance.
Build and modernize DCC-MCP adapters and standalone internal MCP services for Nuke, Blender, Maya, and other DCC hosts.
Set up and use cua-driver (an MCP server) so an AI agent running on a remote/cloud host can drive a macOS desktop, with a persistent background daemon + reverse-SSH-tunnel wiring that survives reboots and stays in the background. Use when you want an agent on server A to click/type/capture on a Mac on another network, or to onboard a remote desktop onto any MCP-capable agent (Hermes, Claude Code, Codex, Cursor, OpenCode). Covers install, macOS TCC grants, remote login, reverse tunnel, per-agent MCP config, health checks, and safety (bounded mode).
Drive native macOS, Windows, and Linux GUI apps from a CLI or MCP server using accessibility-tree and pixel coordinates.
Guide creating Claude Code skills with TDD and persuasion principles. Use for new skill development