plugins/src/base/skills/lisa-jira-claim/SKILL.md
Idempotently claims one live Jira leaf ticket for direct Lisa work. Reuses jira-build-intake Phase 3b semantics through lisa-atlassian-access: configured ready-to-claimed transition, assign-only-if-unassigned, stable managed comment, and post-write verification.
npx skillsauth add codyswanngt/lisa lisa-jira-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 Jira key. All Jira access goes through lisa-atlassian-access; do not call MCP tools or acli directly. This is the reusable direct-session counterpart of lisa-jira-build-intake Phase 3b.
Resolve merged atlassian.cloudId, jira.project, and jira.workflow values from local-over-global config. Require the key's project prefix to equal the configured Jira project. Resolve ready, claimed, review, environment, and terminal roles from config; do not hardcode status decisions.
Invoke lisa-jira-read-ticket <key> immediately before mutation. Reject a resolved/terminal ticket, active blocker, repo:<other> ticket, any item with open children/subtasks, or an Epic per repo-scope-split and leaf-only-lifecycle.
Inspect the live workflow role:
claim_outcome: reused.lisa-atlassian-access operation: transition key: <key> to: <configured-claimed> and require success. This is the idempotency lock.If and only if the ticket is unassigned, assign it to the authenticated account through lisa-atlassian-access (prefer the identity-probed account id / @me semantics documented by Jira build intake). Leave an existing assignee untouched.
Post this stable comment once through lisa-atlassian-access operation: comment, deduped against all existing comments:
[lisa-tracker-claim] Claimed by Lisa. Starting implementation.
Invoke lisa-jira-read-ticket <key> again. Success requires an unresolved, current-repo leaf in claimed or a later non-terminal role. An unreachable transition or failed verification is a hard failure and must not authorize a binding.
Return tracker_provider: jira, canonical work_item_ref: <KEY>, claim_outcome: claimed|reused, assignee outcome, and the post-write status evidence.
Never create a ticket here. Never bypass lisa-atlassian-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.