Tracker Claim: $ARGUMENTS
Thin dispatcher. $ARGUMENTS must contain exactly one canonical work-item reference. The caller must have already fetched it with lisa-tracker-read; each vendor claim skill independently repeats the live read before mutation and verifies the claim afterward so stale caller context cannot authorize a write.
Workflow
Resolve merged tracker config exactly as
lisa-tracker-writedoes:local_tracker=$(jq -r '.tracker // empty' .lisa.config.local.json 2>/dev/null) global_tracker=$(jq -r '.tracker // empty' .lisa.config.json 2>/dev/null) tracker="${local_tracker:-$global_tracker}"Dispatch without changing
$ARGUMENTS:- Missing / empty -> stop and report
"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first." jira-> invokelisa-jira-claim.github-> invokelisa-github-claim.linear-> invokelisa-linear-claim.- Anything else -> stop and report
"Unknown tracker '<value>' in .lisa.config.json. Expected 'jira', 'github', or 'linear'."
- Missing / empty -> stop and report
Return the vendor result unchanged. Success must include
tracker_provider, canonicalwork_item_ref,claim_outcome: claimed|reused, and the post-write live-read evidence.
Contract
- Claim only an open/unresolved, current-repository leaf per
leaf-only-lifecycleandrepo-scope-split. Never claim a container, terminal item, inaccessible item, or item from a different configured project. - Preserve later active lifecycle states. If the item is already in the configured claimed role or a later non-terminal role, return
reused; never move it backward. - A fresh claim uses the same idempotency lock as the three build-intake Phase 3b flows: move configured ready to configured claimed, or place an unlaned backlog leaf directly in claimed; assign to the authenticated user only when unassigned; never replace an existing owner.
- Fail closed if the mutation or post-write read cannot prove the claimed-or-later state. A tracker outage is a blocker, not permission to work untracked.
- This skill claims existing work only. It never creates a ticket and never writes the worktree binding.