plugins/lisa-cursor/skills/lisa-qa-clear/SKILL.md
Bulk-clear tickets a human QA tester cannot verify. Finds tickets in the configured QA queue status that are scoped entirely to non-user-facing repos (API/backend services, infrastructure) — where QA has only end-user access and nothing observable to test — and transitions them to the configured certified status, reporting the moved list for the record. Runnable from any coding agent as a single instruction like 'move all backend- and infrastructure-only tickets from the QA queue to certified'.
npx skillsauth add codyswanngt/lisa lisa-qa-clearInstall 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.
Human QA can only judge what a user can see. Tickets whose entire scope is a non-user-facing repo were already verified by the automated lifecycle before reaching the QA queue; holding them for a human who cannot observe them is pure queue noise. Clear them in one auditable batch.
Read .lisa.config.json:
jira.workflow.qa.queue, falling back to
jira.workflow.done.staging.jira.workflow.qa.certified. Required; if missing, stop and
instruct the operator — never guess a terminal status.tracker decides the surface as everywhere; on GitHub or
Linear the status names above map to the equivalent labels/states.qa.nonUserFacingRepos (array of repo names, e.g.
["api", "infrastructure"]). If the key is missing, derive a proposal from
the project registry (repos with no UI framework signals — no expo/react/native/web
app surface) and present it for operator confirmation before moving anything; never
bulk-transition on an unconfirmed inference. Recommend persisting the confirmed list to
the config.repo:<name> label or matching component → that repo.repo:<name> label while you're there so the next sweep is cheap.lisa-qa-queue.[lisa-qa-clear] Certified without human QA: scope is <repo(s)>, not observable with end-user access. Verified by the automated lifecycle pre-promotion.## QA Clear — <date>
Moved to <certified>: <n> (<KEY-1>, <KEY-2>, …) — repo per ticket
Left in queue (user-facing): <n>
Left in queue (undeterminable repo — needs operator): <keys or none>
The operator (or tester) reviews the moved list; anything that "sounds user-facing" can be pulled back with a single instruction — the transition is reversible and the comment marks exactly what was auto-cleared.
[lisa-qa-clear] comment AND the certified status. Re-runs finish partials — comment
present but not certified → transition it; certified but no comment → post the
comment. Only fully-complete tickets are skipped silently.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.