plugins/lisa-copilot/skills/lisa-linear-claim/SKILL.md
Idempotently claims one live Linear leaf issue for direct Lisa work. Reuses linear-build-intake Phase 3b semantics through lisa-linear-access: configured ready-to-claimed relabel, assign-only-if-unassigned, stable managed comment, and post-write verification.
npx skillsauth add codyswanngt/lisa lisa-linear-claimInstall 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.
Claim exactly one canonical Linear identifier such as ENG-123. All Linear access goes through lisa-linear-access. This is the reusable direct-session counterpart of lisa-linear-build-intake Phase 3b.
Resolve merged linear.workspace, linear.teamKey, and Linear build-label roles from local-over-global config. Require the identifier's team key to equal the configured team. Resolve ready and claimed roles from config (defaults status:ready and status:in-progress); do not hardcode lifecycle decisions.
Invoke lisa-linear-read-issue <identifier> immediately before mutation. Reject a completed/canceled issue, active blocker, repo:<other> issue, any issue with open sub-Issues, or an Epic per repo-scope-split and leaf-only-lifecycle.
Inspect live build labels/workflow state:
claim_outcome: reused.lisa-linear-access operation: save-issue, remove ready when present, and add claimed (resolve label IDs with list-issue-labels, creating claimed only when missing). This is the idempotency lock.If and only if the Issue is unassigned, resolve the authenticated viewer and set its assigneeId through lisa-linear-access operation: save-issue. Leave an existing assignee untouched.
Post this stable comment once through lisa-linear-access operation: save-comment, deduped against all existing comments:
[lisa-tracker-claim] Claimed by Lisa. Starting implementation.
Invoke lisa-linear-read-issue <identifier> again. Success requires a non-terminal, current-repo leaf in claimed or a later non-terminal role. A failed relabel or failed verification is a hard failure and must not authorize a binding.
Return tracker_provider: linear, canonical work_item_ref: <IDENTIFIER>, claim_outcome: claimed|reused, assignee outcome, and the post-write status evidence.
Never create an Issue here. Never bypass lisa-linear-access.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.