plugins/lisa/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.tools
--- name: harper-realtime description: This skill should be used when adding or troubleshooting Harper (HarperDB/Fabric) real-time behavior: MQTT topics, WebSocket resource subscriptions, resource publish/subscribe handlers, SSE-style streaming routes, and local subscriber verification. Pairs with harper-resources, harper-config-yaml, harper-schema-graphql, and harper-build-and-deploy. --- # Harper Realtime ## Overview Harper exposes live data through the same Resource model used for REST and
tools
--- name: harper-realtime description: This skill should be used when adding or troubleshooting Harper (HarperDB/Fabric) real-time behavior: MQTT topics, WebSocket resource subscriptions, resource publish/subscribe handlers, SSE-style streaming routes, and local subscriber verification. Pairs with harper-resources, harper-config-yaml, harper-schema-graphql, and harper-build-and-deploy. --- # Harper Realtime ## Overview Harper exposes live data through the same Resource model used for REST and
tools
--- name: harper-realtime description: This skill should be used when adding or troubleshooting Harper (HarperDB/Fabric) real-time behavior: MQTT topics, WebSocket resource subscriptions, resource publish/subscribe handlers, SSE-style streaming routes, and local subscriber verification. Pairs with harper-resources, harper-config-yaml, harper-schema-graphql, and harper-build-and-deploy. --- # Harper Realtime ## Overview Harper exposes live data through the same Resource model used for REST and
tools
--- name: harper-realtime description: This skill should be used when adding or troubleshooting Harper (HarperDB/Fabric) real-time behavior: MQTT topics, WebSocket resource subscriptions, resource publish/subscribe handlers, SSE-style streaming routes, and local subscriber verification. Pairs with harper-resources, harper-config-yaml, harper-schema-graphql, and harper-build-and-deploy. --- # Harper Realtime ## Overview Harper exposes live data through the same Resource model used for REST and