cuit-instrumentlisted
Install: claude install-skill speechlabinc/complex-ui-tester
# /cuit-instrument
Companion to `/cuit-loop`. Where `cuit-loop` runs the closed loop
against an already-instrumented app, `cuit-instrument` does the
one-time wiring that makes any subsequent `cuit-loop` invocation
work.
## When to invoke
- Customer engineer typed `/cuit-instrument` explicitly.
- The current repo has no `window.__cuitDebug` mount yet.
- The current repo has no `.github/workflows/cuit.yml`.
- The CUIT MCP server reports zero sessions for this tenant.
If any of those is true and the developer asks "how do I get CUIT
working in this app?", run this skill.
## Prerequisites
- The CUIT MCP server is connected to Claude Code. Verify by
asking Claude to list MCP tools — `cuit__detect_app_shape`,
`cuit__propose_instrumentation`, and
`cuit__verify_session_round_trip` must be present. If not, the
developer must connect the MCP server first (see
`https://complex-ui-tester.vercel.app/docs/mcp` — section "Setup").
- The customer's tenant bearer token is set in the MCP server's
`CUIT_TENANT_TOKEN` env var.
- The customer's working directory is the root of their app
repository (where `package.json` lives).
## Procedure
### Step 1 — Discover
Call MCP tool `cuit__detect_app_shape` with the current working
directory as the only argument. The tool returns:
```jsonc
{
"framework": "next.js" | "vite" | "cra" | "remix" | "astro" | "unknown",
"router": "app-router" | "pages-router" | "react-router" | ...,
"state_libs": ["zustand"], // detected