plugins/lisa-cursor/skills/tracker-write/SKILL.md
Vendor-neutral wrapper for ticket creation and updates. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-write-ticket, lisa:github-write-issue, or lisa:linear-write-issue. Callers in vendor-neutral skills (notion-to-tracker, linear-to-tracker, confluence-to-tracker, github-to-tracker, implement, verify) MUST invoke this skill instead of the vendor-specific ones — that is what makes the tracker switchable per project. The Phase-5.5 validate-pre-write gate, post-write verify, and Phase-8 announce-comment behavior live in the vendor skills; this shim is dispatch only.
npx skillsauth add codyswanngt/lisa tracker-writeInstall 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.
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor write skill.
When the incoming description/body already contains the canonical ## Lisa Usage ledger, the vendor
writer must preserve that managed section on update and use the usage-accounting contract for any
body-vs-comment fallback. This shim only routes — it never edits tracker artifacts itself.
See the config-resolution rule for the full configuration schema and skill-mapping table.
Resolve tracker config
Read .lisa.config.local.json first (if present), then .lisa.config.json. Local overrides global on a per-key basis. Use jq — never hand-parse JSON.
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:-jira}}"
Validate the value
jira → confirm atlassian.cloudId and jira.project are present. If either is missing, stop and report: "tracker=jira but atlassian.cloudId and jira.project are not set in .lisa.config.json." Continue to Step 3a.github → confirm github.org and github.repo are present. If either is missing, stop and report: "tracker=github but github.org and github.repo are not set in .lisa.config.json." Continue to Step 3b.linear → confirm linear.workspace and linear.teamKey are present. If either is missing, stop and report: "tracker=linear but linear.workspace and linear.teamKey are not set in .lisa.config.json." Continue to Step 3c."Unknown tracker '<value>' in .lisa.config.json. Expected 'jira', 'github', or 'linear'."Dispatch
lisa:jira-write-ticket via the Skill tool, passing $ARGUMENTS verbatim.lisa:github-write-issue via the Skill tool, passing $ARGUMENTS verbatim.lisa:linear-write-issue via the Skill tool, passing $ARGUMENTS verbatim.Surface the vendor skill's output unchanged. Do not paraphrase; downstream callers parse the structured response.
## Lisa Usage section in this shim.
Writer-specific preservation logic belongs in the vendor writers and follows the
usage-accounting contract.{jira, github, linear}.$ARGUMENTS between layers. The vendor skills define their own input contract.lisa:jira-validate-ticket / lisa:github-validate-issue / lisa:linear-validate-issue); this skill only routes.development
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
development
Guidelines for upgrading Expo SDK versions and fixing dependency issues
development
Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).
tools
`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.