@codyswann/lisa 2.177.0 → 2.178.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/package.json +1 -1
  2. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  3. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  4. package/plugins/lisa/agents/linear-agent.md +3 -3
  5. package/plugins/lisa/rules/reference/repo-scope-split.md +1 -1
  6. package/plugins/lisa/skills/intake/SKILL.md +2 -2
  7. package/plugins/lisa/skills/linear-add-journey/SKILL.md +3 -3
  8. package/plugins/lisa/skills/linear-build-intake/SKILL.md +11 -11
  9. package/plugins/lisa/skills/linear-create/SKILL.md +3 -3
  10. package/plugins/lisa/skills/linear-evidence/SKILL.md +5 -5
  11. package/plugins/lisa/skills/linear-journey/SKILL.md +2 -2
  12. package/plugins/lisa/skills/linear-prd-intake/SKILL.md +11 -11
  13. package/plugins/lisa/skills/linear-read-issue/SKILL.md +11 -11
  14. package/plugins/lisa/skills/linear-sync/SKILL.md +7 -7
  15. package/plugins/lisa/skills/linear-to-tracker/SKILL.md +7 -7
  16. package/plugins/lisa/skills/linear-validate-issue/SKILL.md +8 -8
  17. package/plugins/lisa/skills/linear-verify/SKILL.md +3 -3
  18. package/plugins/lisa/skills/linear-write-issue/SKILL.md +20 -20
  19. package/plugins/lisa/skills/linear-write-prd/SKILL.md +6 -6
  20. package/plugins/lisa/skills/prd-backlink/SKILL.md +5 -5
  21. package/plugins/lisa/skills/prd-ticket-coverage/SKILL.md +2 -2
  22. package/plugins/lisa/skills/repair-intake/SKILL.md +1 -1
  23. package/plugins/lisa/skills/setup-linear/SKILL.md +5 -5
  24. package/plugins/lisa/skills/tracker-journey/SKILL.md +1 -1
  25. package/plugins/lisa/skills/verify-prd/SKILL.md +2 -2
  26. package/plugins/lisa-agy/agents/linear-agent.md +3 -3
  27. package/plugins/lisa-agy/plugin.json +1 -1
  28. package/plugins/lisa-agy/skills/intake/SKILL.md +2 -2
  29. package/plugins/lisa-agy/skills/linear-add-journey/SKILL.md +3 -3
  30. package/plugins/lisa-agy/skills/linear-build-intake/SKILL.md +11 -11
  31. package/plugins/lisa-agy/skills/linear-create/SKILL.md +3 -3
  32. package/plugins/lisa-agy/skills/linear-evidence/SKILL.md +5 -5
  33. package/plugins/lisa-agy/skills/linear-journey/SKILL.md +2 -2
  34. package/plugins/lisa-agy/skills/linear-prd-intake/SKILL.md +11 -11
  35. package/plugins/lisa-agy/skills/linear-read-issue/SKILL.md +11 -11
  36. package/plugins/lisa-agy/skills/linear-sync/SKILL.md +7 -7
  37. package/plugins/lisa-agy/skills/linear-to-tracker/SKILL.md +7 -7
  38. package/plugins/lisa-agy/skills/linear-validate-issue/SKILL.md +8 -8
  39. package/plugins/lisa-agy/skills/linear-verify/SKILL.md +3 -3
  40. package/plugins/lisa-agy/skills/linear-write-issue/SKILL.md +20 -20
  41. package/plugins/lisa-agy/skills/linear-write-prd/SKILL.md +6 -6
  42. package/plugins/lisa-agy/skills/prd-backlink/SKILL.md +5 -5
  43. package/plugins/lisa-agy/skills/prd-ticket-coverage/SKILL.md +2 -2
  44. package/plugins/lisa-agy/skills/repair-intake/SKILL.md +1 -1
  45. package/plugins/lisa-agy/skills/setup-linear/SKILL.md +5 -5
  46. package/plugins/lisa-agy/skills/tracker-journey/SKILL.md +1 -1
  47. package/plugins/lisa-agy/skills/verify-prd/SKILL.md +2 -2
  48. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  51. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-copilot/agents/linear-agent.agent.md +3 -3
  55. package/plugins/lisa-copilot/rules/reference/repo-scope-split.md +1 -1
  56. package/plugins/lisa-copilot/skills/intake/SKILL.md +2 -2
  57. package/plugins/lisa-copilot/skills/linear-add-journey/SKILL.md +3 -3
  58. package/plugins/lisa-copilot/skills/linear-build-intake/SKILL.md +11 -11
  59. package/plugins/lisa-copilot/skills/linear-create/SKILL.md +3 -3
  60. package/plugins/lisa-copilot/skills/linear-evidence/SKILL.md +5 -5
  61. package/plugins/lisa-copilot/skills/linear-journey/SKILL.md +2 -2
  62. package/plugins/lisa-copilot/skills/linear-prd-intake/SKILL.md +11 -11
  63. package/plugins/lisa-copilot/skills/linear-read-issue/SKILL.md +11 -11
  64. package/plugins/lisa-copilot/skills/linear-sync/SKILL.md +7 -7
  65. package/plugins/lisa-copilot/skills/linear-to-tracker/SKILL.md +7 -7
  66. package/plugins/lisa-copilot/skills/linear-validate-issue/SKILL.md +8 -8
  67. package/plugins/lisa-copilot/skills/linear-verify/SKILL.md +3 -3
  68. package/plugins/lisa-copilot/skills/linear-write-issue/SKILL.md +20 -20
  69. package/plugins/lisa-copilot/skills/linear-write-prd/SKILL.md +6 -6
  70. package/plugins/lisa-copilot/skills/prd-backlink/SKILL.md +5 -5
  71. package/plugins/lisa-copilot/skills/prd-ticket-coverage/SKILL.md +2 -2
  72. package/plugins/lisa-copilot/skills/repair-intake/SKILL.md +1 -1
  73. package/plugins/lisa-copilot/skills/setup-linear/SKILL.md +5 -5
  74. package/plugins/lisa-copilot/skills/tracker-journey/SKILL.md +1 -1
  75. package/plugins/lisa-copilot/skills/verify-prd/SKILL.md +2 -2
  76. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  77. package/plugins/lisa-cursor/agents/linear-agent.md +3 -3
  78. package/plugins/lisa-cursor/rules/repo-scope-split-reference.mdc +1 -1
  79. package/plugins/lisa-cursor/skills/intake/SKILL.md +2 -2
  80. package/plugins/lisa-cursor/skills/linear-add-journey/SKILL.md +3 -3
  81. package/plugins/lisa-cursor/skills/linear-build-intake/SKILL.md +11 -11
  82. package/plugins/lisa-cursor/skills/linear-create/SKILL.md +3 -3
  83. package/plugins/lisa-cursor/skills/linear-evidence/SKILL.md +5 -5
  84. package/plugins/lisa-cursor/skills/linear-journey/SKILL.md +2 -2
  85. package/plugins/lisa-cursor/skills/linear-prd-intake/SKILL.md +11 -11
  86. package/plugins/lisa-cursor/skills/linear-read-issue/SKILL.md +11 -11
  87. package/plugins/lisa-cursor/skills/linear-sync/SKILL.md +7 -7
  88. package/plugins/lisa-cursor/skills/linear-to-tracker/SKILL.md +7 -7
  89. package/plugins/lisa-cursor/skills/linear-validate-issue/SKILL.md +8 -8
  90. package/plugins/lisa-cursor/skills/linear-verify/SKILL.md +3 -3
  91. package/plugins/lisa-cursor/skills/linear-write-issue/SKILL.md +20 -20
  92. package/plugins/lisa-cursor/skills/linear-write-prd/SKILL.md +6 -6
  93. package/plugins/lisa-cursor/skills/prd-backlink/SKILL.md +5 -5
  94. package/plugins/lisa-cursor/skills/prd-ticket-coverage/SKILL.md +2 -2
  95. package/plugins/lisa-cursor/skills/repair-intake/SKILL.md +1 -1
  96. package/plugins/lisa-cursor/skills/setup-linear/SKILL.md +5 -5
  97. package/plugins/lisa-cursor/skills/tracker-journey/SKILL.md +1 -1
  98. package/plugins/lisa-cursor/skills/verify-prd/SKILL.md +2 -2
  99. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  101. package/plugins/lisa-expo-agy/plugin.json +1 -1
  102. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  103. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  105. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  106. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  107. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  111. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  112. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  113. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  116. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  117. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  120. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  121. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  122. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  123. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  125. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  126. package/plugins/lisa-rails-agy/plugin.json +1 -1
  127. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  128. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  129. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  130. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  131. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  132. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  133. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  134. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  135. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  136. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  137. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  138. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  139. package/plugins/src/base/agents/linear-agent.md +3 -3
  140. package/plugins/src/base/rules/reference/repo-scope-split.md +1 -1
  141. package/plugins/src/base/skills/intake/SKILL.md +2 -2
  142. package/plugins/src/base/skills/linear-add-journey/SKILL.md +3 -3
  143. package/plugins/src/base/skills/linear-build-intake/SKILL.md +11 -11
  144. package/plugins/src/base/skills/linear-create/SKILL.md +3 -3
  145. package/plugins/src/base/skills/linear-evidence/SKILL.md +5 -5
  146. package/plugins/src/base/skills/linear-journey/SKILL.md +2 -2
  147. package/plugins/src/base/skills/linear-prd-intake/SKILL.md +11 -11
  148. package/plugins/src/base/skills/linear-read-issue/SKILL.md +11 -11
  149. package/plugins/src/base/skills/linear-sync/SKILL.md +7 -7
  150. package/plugins/src/base/skills/linear-to-tracker/SKILL.md +7 -7
  151. package/plugins/src/base/skills/linear-validate-issue/SKILL.md +8 -8
  152. package/plugins/src/base/skills/linear-verify/SKILL.md +3 -3
  153. package/plugins/src/base/skills/linear-write-issue/SKILL.md +20 -20
  154. package/plugins/src/base/skills/linear-write-prd/SKILL.md +6 -6
  155. package/plugins/src/base/skills/prd-backlink/SKILL.md +5 -5
  156. package/plugins/src/base/skills/prd-ticket-coverage/SKILL.md +2 -2
  157. package/plugins/src/base/skills/repair-intake/SKILL.md +1 -1
  158. package/plugins/src/base/skills/setup-linear/SKILL.md +5 -5
  159. package/plugins/src/base/skills/tracker-journey/SKILL.md +1 -1
  160. package/plugins/src/base/skills/verify-prd/SKILL.md +2 -2
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: setup-linear
3
3
  description: "Configure Linear as the destination tracker and/or the PRD source for this project. Verifies Linear access (MCP OAuth or a personal API key in OS keychain), resolves the workspace slug and team key, scaffolds the build-queue issue-label namespace (`status:*`) when Linear is the tracker and/or the PRD-lifecycle project-label namespace (`prd-*` + issue-level sentinel) when Linear is the PRD source, writes the `linear` section into `.lisa.config.json`, and offers to set top-level `tracker: \"linear\"` and/or `source: \"linear\"`. Idempotent — re-running updates the existing section and reuses existing labels. No /lisa:setup:atlassian prerequisite."
4
- allowed-tools: ["Bash", "Read", "Write", "Edit", "Skill", "AskUserQuestion", "mcp__linear-server__authenticate", "mcp__linear-server__complete_authentication", "mcp__linear-server__list_teams", "mcp__linear-server__list_issue_labels", "mcp__linear-server__create_issue_label", "mcp__linear-server__list_project_labels", "mcp__linear-server__create_project_label"]
4
+ allowed-tools: ["Bash", "Read", "Write", "Edit", "Skill", "AskUserQuestion", "mcp__linear-server__authenticate", "mcp__linear-server__complete_authentication"]
5
5
  ---
6
6
 
7
7
  # Setup Linear: $ARGUMENTS
@@ -40,7 +40,7 @@ The role answer drives Step 3 (which label namespaces to scaffold) and whether `
40
40
  Verify the Linear MCP is authenticated to the right workspace by listing teams:
41
41
 
42
42
  ```text
43
- mcp__linear-server__list_teams({})
43
+ lisa:linear-access operation: list-teams({})
44
44
  ```
45
45
 
46
46
  If it errors / returns nothing, run `mcp__linear-server__authenticate` and have the user complete OAuth in the browser, then `mcp__linear-server__complete_authentication`, then re-list. A non-empty team list confirms the MCP is authed to a readable workspace.
@@ -137,7 +137,7 @@ echo "Linear key validated. Org: $(echo "$VIEWER" | jq -r '.data.organization.ur
137
137
  ### Step 2 — Resolve workspace slug + team key
138
138
 
139
139
  - **Workspace slug**: honor `--workspace=<slug>`. Otherwise derive from the validated identity — the GraphQL `organization.urlKey` (API path) or the team list's workspace (MCP path). Confirm with the user; this slug is the keychain `account` key and the multi-workspace disambiguator.
140
- - **Team key** (required when Linear is the **tracker**): honor `--team=<KEY>`. Otherwise enumerate teams via `mcp__linear-server__list_teams({})` (or the GraphQL `teams` query) and present them via `AskUserQuestion` (label = team key, description = team name) for the user to pick the team that owns lisa's destination Issues. If Linear is source-only, `teamKey` is optional — skip unless the user wants to pin a team scope.
140
+ - **Team key** (required when Linear is the **tracker**): honor `--team=<KEY>`. Otherwise enumerate teams via `lisa:linear-access operation: list-teams({})` (or the GraphQL `teams` query) and present them via `AskUserQuestion` (label = team key, description = team name) for the user to pick the team that owns lisa's destination Issues. If Linear is source-only, `teamKey` is optional — skip unless the user wants to pin a team scope.
141
141
 
142
142
  ### Step 3 — Scaffold the lifecycle label namespaces
143
143
 
@@ -154,7 +154,7 @@ read_role() { # $1=namespace (build|prd) $2=role $3=default
154
154
 
155
155
  #### 3a. Build-queue labels — ISSUE labels (only if Linear is the tracker)
156
156
 
157
- Probe with `mcp__linear-server__list_issue_labels` (scoped to the team). For each role's resolved name, create it via `mcp__linear-server__create_issue_label` only if absent. The `done` role is env-keyed — create all three defaults; collapse to a single string in config later if the project's terminal state is env-independent.
157
+ Probe with `lisa:linear-access operation: list-issue-labels` (scoped to the team). For each role's resolved name, create it via `lisa:linear-access operation: create-issue-label` only if absent. The `done` role is env-keyed — create all three defaults; collapse to a single string in config later if the project's terminal state is env-independent.
158
158
 
159
159
  | Role | Default |
160
160
  |------|---------|
@@ -168,7 +168,7 @@ Probe with `mcp__linear-server__list_issue_labels` (scoped to the team). For eac
168
168
 
169
169
  #### 3b. PRD-lifecycle labels — PROJECT labels (only if Linear is the PRD source)
170
170
 
171
- Probe with `mcp__linear-server__list_project_labels`. Create missing ones via `mcp__linear-server__create_project_label`. This probe-then-create is find-or-create per label: a label already present is reused untouched, so re-running never duplicates `prd-*`. These are a **separate label kind** from issue labels — creating an issue label of the same name will NOT work for the PRD flow.
171
+ Probe with `lisa:linear-access operation: list-project-labels`. Create missing ones via `lisa:linear-access operation: create-project-label`. This probe-then-create is find-or-create per label: a label already present is reused untouched, so re-running never duplicates `prd-*`. These are a **separate label kind** from issue labels — creating an issue label of the same name will NOT work for the PRD flow.
172
172
 
173
173
  `prd-verified` is the terminal lifecycle state after `prd-shipped` (the `verified` role from config-resolution, #591): `/lisa:verify-prd` transitions a Linear PRD project into it once the shipped product has been empirically verified against the PRD. Scaffold it through the same find-or-create path as every other `prd-*` row.
174
174
 
@@ -22,5 +22,5 @@ See the `config-resolution` rule for configuration and dispatch table.
22
22
 
23
23
  ## Rules
24
24
 
25
- - The journey content is identical across vendors; only the parser source differs (the JIRA vendor reads description via Atlassian MCP; the GitHub vendor reads body via `gh issue view --json body`; the Linear vendor reads description via `mcp__linear-server__get_issue`).
25
+ - The journey content is identical across vendors; only the parser source differs (the JIRA vendor reads description via Atlassian MCP; the GitHub vendor reads body via `gh issue view --json body`; the Linear vendor reads description via `lisa:linear-access operation: get-issue`).
26
26
  - Evidence posting always goes through `lisa:tracker-evidence` — never bypass.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: verify-prd
3
3
  description: "Initiative-level PRD acceptance gate. Given a PRD ref/URL (GitHub Issue, Linear project/issue, Notion page, Confluence page, or JIRA issue), resolves the source vendor, reads the PRD body and its generated top-level child work set via the prd-lifecycle-rollup contract (native hierarchy first, machine-readable generated-work section fallback — never reimplementing child enumeration), and confirms every required generated top-level work item is terminal before any verification runs. If any required top-level child is non-terminal, it reports the incomplete child set and STOPS without verifying or transitioning the PRD. When the guard passes, it runs spec-conformance against the original PRD requirements (via the spec-conformance skill) plus empirical verification appropriate to the shipped surface (via verification-lifecycle). On a CONFORMS verdict with all empirical checks passing it runs the PASS path: transitions the PRD shipped → verified and posts verification evidence. On a PARTIAL/DIVERGES conformance verdict or any failing empirical check it runs the self-healing FAIL path: it re-opens the PRD shipped → ticketed (NEVER blocked), creates build-ready fix tickets (via tracker-write with build_ready: true) for each missing/incorrect/divergent behavior — registered as the PRD's generated work — and posts a product-readable failure report (with a verification-round count) naming which requirements/ACs failed with observed-vs-expected evidence. The fix tickets auto-build, rollup re-ships the PRD once they are terminal, and a later intake cycle re-verifies — the loop closes itself and never auto-halts. Re-runs are idempotent: evidence/failure-report comments are regenerated in place via a stable sentinel marker (never appended, round incremented), fix tickets are deduped by a stable PRD-ref + requirement marker (referenced/updated, never duplicated), and the lifecycle transition is a no-op when the PRD already carries the target role (exactly one lifecycle label/status remains) — per the prd-lifecycle-rollup idempotency dedupe key (match by stable ref, never by title)."
4
- allowed-tools: ["Skill", "Bash", "Read", "mcp__claude_ai_Notion__notion-fetch", "mcp__claude_ai_Notion__notion-get-comments", "mcp__atlassian__getConfluencePage", "mcp__atlassian__getConfluencePageDescendants", "mcp__atlassian__getJiraIssue", "mcp__atlassian__searchJiraIssuesUsingJql", "mcp__atlassian__getAccessibleAtlassianResources", "mcp__linear-server__get_project", "mcp__linear-server__list_issues", "mcp__linear-server__get_issue", "mcp__linear-server__list_documents", "mcp__linear-server__get_document"]
4
+ allowed-tools: ["Skill", "Bash", "Read", "mcp__claude_ai_Notion__notion-fetch", "mcp__claude_ai_Notion__notion-get-comments", "mcp__atlassian__getConfluencePage", "mcp__atlassian__getConfluencePageDescendants", "mcp__atlassian__getJiraIssue", "mcp__atlassian__searchJiraIssuesUsingJql", "mcp__atlassian__getAccessibleAtlassianResources"]
5
5
  ---
6
6
 
7
7
  # PRD-level Verification: $ARGUMENTS
@@ -38,7 +38,7 @@ Detect the vendor from `$ARGUMENTS` the same way `prd-ticket-coverage` / `prd-ba
38
38
  | Input shape | Vendor | Read surface |
39
39
  |---|---|---|
40
40
  | `github.com/<org>/<repo>/issues/<n>` or `<org>/<repo>#<n>` | **GitHub Issues** | `gh` CLI (Lisa uses the CLI exclusively for GitHub — no GitHub MCP) |
41
- | `linear.app/...` | **Linear** | `mcp__linear-server__get_project` / `get_issue` |
41
+ | `linear.app/...` | **Linear** | `lisa:linear-access operation: get-project` / `lisa:linear-access operation: get-issue` |
42
42
  | `notion.so` / `notion.site` | **Notion** | `mcp__claude_ai_Notion__notion-fetch` (`include_discussions: true`) |
43
43
  | `*.atlassian.net/wiki/...` | **Confluence** | `mcp__atlassian__getConfluencePage` (+ descendants) |
44
44
  | JIRA issue key (e.g. `PROJ-123`) or `*.atlassian.net/browse/...` | **JIRA** | `mcp__atlassian__getJiraIssue` |