plugins/lisa-cursor/skills/lisa-setup-kane/SKILL.md
Configure TestMu Kane CLI as an optional Lisa empirical-browser provider. Performs the exterior human approval gate for mandatory cloud uploads, verifies the pinned CLI version, provisions local/CI authentication, selects a Test Manager project/folder, runs a disposable synthetic check, and writes only non-secret policy identifiers to Lisa config.
npx skillsauth add codyswanngt/lisa lisa-setup-kaneInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is an explicit exterior setup gate. It may involve a human because authentication and cloud data approval must be complete before unattended factories run. Never invoke setup from inside an active Build, QA, Monitor, or Verify factory.
Explain that every authored Kane session uploads screenshots, the objective, action logs, variables in scope, metadata, and packaged run artifacts to TestMu Test Manager. Explain that share links are secondary evidence and can be accessible outside project membership for their validity window. Clarify that this is privacy and data-egress approval, not purchase authorization: Lisa's adapter uses local Chrome rather than TestMu's paid remote grid, while Test Manager upload remains the default for local runs and Kane's AI features still require available account credits.
Ask exactly one approval question: approve TestMu cloud upload for disposable dev/staging test data, or decline. On decline, leave configuration unchanged and report that Lisa's native controllers remain available.
Require Kane CLI 0.6.3, the version covered by Lisa's adapter contract:
kane-cli --version
npm install -g @testmuai/[email protected] # only after setup approval if missing/wrong
Do not use npx @testmuai/kane-cli-skill and do not append vendor content to AGENTS.md.
kane-cli login --oauth and let the operator complete browser consent..lisa.config.json, command history, a ticket, or chat.Verify with kane-cli whoami. Record the identity label, never token material.
Use kane-cli config project and optional kane-cli config folder, then kane-cli config show.
Capture the non-secret project/folder identifiers. Use a dedicated Lisa pilot project with access
restricted to the engineering/QA operators who may view uploaded artifacts.
Merge this shape into committed .lisa.config.json, preserving every unrelated key:
{
"verification": {
"browser": {
"kane": {
"enabled": true,
"version": "0.6.3",
"cloudUploadApproved": true,
"allowedEnvironments": ["dev", "staging"],
"projectId": "<project-id>",
"folderId": "<optional-folder-id>",
"timeoutSeconds": 120
}
}
}
}
Production environments are invalid. Developer-specific overrides may live in
.lisa.config.local.json, but shared provider policy and Test Manager identifiers belong in the
committed config. Never write credentials to either file.
Run lisa kane probe . --json, then run a harmless synthetic journey against a disposable local or
dev fixture with mutation policy full. Confirm the normalized result, evidence pack, Test Manager
link, screenshot, HAR, and console record. If any is missing, setup is incomplete.
Create a pilot manifest from docs/kane-cli-pilot.example.json, point it at at least two disposable
downstream web applications, set the start timestamp and credit budget, then run:
lisa kane pilot <manifest>
lisa kane pilot <manifest> --report-only
The pilot remains collecting until at least 30 days, 50 runs, and two observations per case exist.
After the full window, an exterior security/privacy reviewer adds
policyReview: { "reviewedAt": "<ISO timestamp>", "incidents": <count> } to the manifest. Never
pre-attest zero incidents at pilot start. Only an adopt verdict permits wider enablement.
development
Prepare a machine — a fresh laptop or a throwaway container — to run coding agents, before any repository exists. Detects which of Lisa's supported agents (Claude Code, Codex, Cursor, OpenCode, Antigravity, Copilot) are already installed, asks which credential manager the machine uses (Bitwarden, 1Password, Doppler, Vault, AWS, or none), and installs only what is missing, each by its vendor's own preferred method. Idempotent, headless by default, and emits a Dockerfile for a spin-up/spin-down environment. Run it on a new machine, in a container, or before cloning anything.
tools
Provision and verify a remote execution environment for a host project — Codex Cloud today, other remote surfaces as they are added. Generates a repository-owned setup script that installs the declared toolchain, materializes secrets through lisa-secrets-access, and runs the project's own hook. Provisions by API where one exists, by driving the vendor console where one does not, and by emitting exact config otherwise — then proves the result with the same read-back regardless of which tier did the work. Use before dispatching any work with executionEnv.
tools
Bring a developer's machine in line with the toolchain the project declares. Reports every tool in remoteEnv.tools that is missing, outdated, or unpinned for this platform, and installs the missing ones into ~/.local/bin from the same pinned, checksummed entries the remote surfaces use — but only when asked. Same manifest, same pins, same installers as lisa-setup-remote-env; what differs is consent and that the pin is a floor rather than an equality. Run it on a fresh checkout, after a manifest change, or when a tool fails at the moment of use.
tools
Route one unit of work to a remote execution surface. Reads the executionEnv parameter (local by default, codex-cloud or claude-web today), verifies the environment is provisioned and bound to this repository, submits a thin skill invocation, records the task identifier to .lisa/remote-dispatch.json, and exits without polling. Routing only — the remote runs the identical skill from the identical repository. Composable and inline: other skills invoke it via the Skill tool rather than users calling it directly.