@codyswann/lisa 1.95.0 → 2.0.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 (200) hide show
  1. package/dist/cli/index.d.ts.map +1 -1
  2. package/dist/cli/index.js +41 -5
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/codex/agent-installer.d.ts +56 -0
  5. package/dist/codex/agent-installer.d.ts.map +1 -0
  6. package/dist/codex/agent-installer.js +201 -0
  7. package/dist/codex/agent-installer.js.map +1 -0
  8. package/dist/codex/agent-transformer.d.ts +53 -0
  9. package/dist/codex/agent-transformer.d.ts.map +1 -0
  10. package/dist/codex/agent-transformer.js +181 -0
  11. package/dist/codex/agent-transformer.js.map +1 -0
  12. package/dist/codex/agents-md-installer.d.ts +24 -0
  13. package/dist/codex/agents-md-installer.d.ts.map +1 -0
  14. package/dist/codex/agents-md-installer.js +63 -0
  15. package/dist/codex/agents-md-installer.js.map +1 -0
  16. package/dist/codex/hooks-installer.d.ts +24 -0
  17. package/dist/codex/hooks-installer.d.ts.map +1 -0
  18. package/dist/codex/hooks-installer.js +206 -0
  19. package/dist/codex/hooks-installer.js.map +1 -0
  20. package/dist/codex/hooks-merger.d.ts +82 -0
  21. package/dist/codex/hooks-merger.d.ts.map +1 -0
  22. package/dist/codex/hooks-merger.js +127 -0
  23. package/dist/codex/hooks-merger.js.map +1 -0
  24. package/dist/codex/manifest.d.ts +32 -0
  25. package/dist/codex/manifest.d.ts.map +1 -0
  26. package/dist/codex/manifest.js +86 -0
  27. package/dist/codex/manifest.js.map +1 -0
  28. package/dist/codex/settings-installer.d.ts +48 -0
  29. package/dist/codex/settings-installer.d.ts.map +1 -0
  30. package/dist/codex/settings-installer.js +276 -0
  31. package/dist/codex/settings-installer.js.map +1 -0
  32. package/dist/codex/skills-installer.d.ts +46 -0
  33. package/dist/codex/skills-installer.d.ts.map +1 -0
  34. package/dist/codex/skills-installer.js +344 -0
  35. package/dist/codex/skills-installer.js.map +1 -0
  36. package/dist/core/config.d.ts +19 -0
  37. package/dist/core/config.d.ts.map +1 -1
  38. package/dist/core/config.js +13 -0
  39. package/dist/core/config.js.map +1 -1
  40. package/dist/core/lisa.d.ts +12 -0
  41. package/dist/core/lisa.d.ts.map +1 -1
  42. package/dist/core/lisa.js +48 -0
  43. package/dist/core/lisa.js.map +1 -1
  44. package/dist/core/project-config.d.ts +49 -0
  45. package/dist/core/project-config.d.ts.map +1 -0
  46. package/dist/core/project-config.js +119 -0
  47. package/dist/core/project-config.js.map +1 -0
  48. package/package.json +3 -1
  49. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa/agents/jira-build-intake.md +58 -0
  51. package/plugins/lisa/agents/notion-prd-intake.md +57 -0
  52. package/plugins/lisa/commands/{plan/fix-linter-error.md → fix/linter-error.md} +1 -1
  53. package/plugins/lisa/commands/implement.md +6 -0
  54. package/plugins/{src/base/commands/plan/lower-code-complexity.md → lisa/commands/improve/code-complexity.md} +1 -1
  55. package/plugins/lisa/commands/{plan/reduce-max-lines-per-function.md → improve/max-lines-per-function.md} +1 -1
  56. package/plugins/lisa/commands/{plan/add-test-coverage.md → improve/test-coverage.md} +1 -1
  57. package/plugins/lisa/commands/{plan/improve-tests.md → improve/tests.md} +1 -1
  58. package/plugins/lisa/commands/plan.md +15 -3
  59. package/plugins/lisa/commands/product-walkthrough.md +7 -0
  60. package/plugins/{src/base/commands/plan/local-code-review.md → lisa/commands/review/local.md} +1 -1
  61. package/plugins/{src/base/skills/plan-fix-linter-error → lisa/skills/fix-linter-error}/SKILL.md +2 -2
  62. package/plugins/lisa/skills/{plan-execute → implement}/SKILL.md +1 -1
  63. package/plugins/lisa/skills/{plan-lower-code-complexity → improve-code-complexity}/SKILL.md +2 -2
  64. package/plugins/lisa/skills/{plan-reduce-max-lines → improve-max-lines}/SKILL.md +2 -2
  65. package/plugins/{src/base/skills/plan-reduce-max-lines-per-function → lisa/skills/improve-max-lines-per-function}/SKILL.md +2 -2
  66. package/plugins/lisa/skills/{plan-add-test-coverage → improve-test-coverage}/SKILL.md +2 -2
  67. package/plugins/{src/base/skills/plan-improve-tests → lisa/skills/improve-tests}/SKILL.md +2 -2
  68. package/plugins/lisa/skills/jira-build-intake/SKILL.md +134 -0
  69. package/plugins/lisa/skills/jira-create/SKILL.md +53 -30
  70. package/plugins/lisa/skills/jira-source-artifacts/SKILL.md +107 -0
  71. package/plugins/lisa/skills/jira-validate-ticket/SKILL.md +224 -0
  72. package/plugins/lisa/skills/jira-verify/SKILL.md +15 -91
  73. package/plugins/lisa/skills/jira-write-ticket/SKILL.md +20 -15
  74. package/plugins/lisa/skills/notion-prd-intake/SKILL.md +169 -0
  75. package/plugins/lisa/skills/notion-to-jira/SKILL.md +137 -95
  76. package/plugins/lisa/skills/prd-ticket-coverage/SKILL.md +137 -0
  77. package/plugins/lisa/skills/product-walkthrough/SKILL.md +129 -0
  78. package/plugins/lisa/skills/{plan-local-code-review → review-local}/SKILL.md +1 -1
  79. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-expo/skills/jira-create/SKILL.md +60 -28
  82. package/plugins/lisa-expo/skills/jira-verify/SKILL.md +14 -34
  83. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-rails/skills/{plan-fix-linter-error → fix-linter-error}/SKILL.md +2 -2
  86. package/plugins/lisa-rails/skills/{plan-lower-code-complexity → improve-code-complexity}/SKILL.md +2 -2
  87. package/plugins/{src/rails/skills/plan-reduce-max-lines → lisa-rails/skills/improve-max-lines}/SKILL.md +2 -2
  88. package/plugins/{src/rails/skills/plan-reduce-max-lines-per-function → lisa-rails/skills/improve-max-lines-per-function}/SKILL.md +2 -2
  89. package/plugins/lisa-rails/skills/{plan-add-test-coverage → improve-test-coverage}/SKILL.md +2 -2
  90. package/plugins/lisa-rails/skills/jira-create/SKILL.md +59 -28
  91. package/plugins/lisa-rails/skills/jira-verify/SKILL.md +13 -16
  92. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  93. package/plugins/src/base/agents/jira-build-intake.md +58 -0
  94. package/plugins/src/base/agents/notion-prd-intake.md +57 -0
  95. package/plugins/src/base/commands/{plan/fix-linter-error.md → fix/linter-error.md} +1 -1
  96. package/plugins/src/base/commands/implement.md +6 -0
  97. package/plugins/{lisa/commands/plan/lower-code-complexity.md → src/base/commands/improve/code-complexity.md} +1 -1
  98. package/plugins/src/base/commands/{plan/reduce-max-lines-per-function.md → improve/max-lines-per-function.md} +1 -1
  99. package/plugins/src/base/commands/{plan/add-test-coverage.md → improve/test-coverage.md} +1 -1
  100. package/plugins/src/base/commands/{plan/improve-tests.md → improve/tests.md} +1 -1
  101. package/plugins/src/base/commands/plan.md +15 -3
  102. package/plugins/src/base/commands/product-walkthrough.md +7 -0
  103. package/plugins/{lisa/commands/plan/local-code-review.md → src/base/commands/review/local.md} +1 -1
  104. package/plugins/{lisa/skills/plan-fix-linter-error → src/base/skills/fix-linter-error}/SKILL.md +2 -2
  105. package/plugins/src/base/skills/{plan-execute → implement}/SKILL.md +1 -1
  106. package/plugins/src/base/skills/{plan-lower-code-complexity → improve-code-complexity}/SKILL.md +2 -2
  107. package/plugins/src/base/skills/{plan-reduce-max-lines → improve-max-lines}/SKILL.md +2 -2
  108. package/plugins/{lisa/skills/plan-reduce-max-lines-per-function → src/base/skills/improve-max-lines-per-function}/SKILL.md +2 -2
  109. package/plugins/src/base/skills/{plan-add-test-coverage → improve-test-coverage}/SKILL.md +2 -2
  110. package/plugins/{lisa/skills/plan-improve-tests → src/base/skills/improve-tests}/SKILL.md +2 -2
  111. package/plugins/src/base/skills/jira-build-intake/SKILL.md +134 -0
  112. package/plugins/src/base/skills/jira-create/SKILL.md +53 -30
  113. package/plugins/src/base/skills/jira-source-artifacts/SKILL.md +107 -0
  114. package/plugins/src/base/skills/jira-validate-ticket/SKILL.md +224 -0
  115. package/plugins/src/base/skills/jira-verify/SKILL.md +15 -91
  116. package/plugins/src/base/skills/jira-write-ticket/SKILL.md +20 -15
  117. package/plugins/src/base/skills/notion-prd-intake/SKILL.md +169 -0
  118. package/plugins/src/base/skills/notion-to-jira/SKILL.md +137 -95
  119. package/plugins/src/base/skills/prd-ticket-coverage/SKILL.md +137 -0
  120. package/plugins/src/base/skills/product-walkthrough/SKILL.md +129 -0
  121. package/plugins/src/base/skills/{plan-local-code-review → review-local}/SKILL.md +1 -1
  122. package/plugins/src/expo/skills/jira-create/SKILL.md +60 -28
  123. package/plugins/src/expo/skills/jira-verify/SKILL.md +14 -34
  124. package/plugins/src/rails/skills/{plan-fix-linter-error → fix-linter-error}/SKILL.md +2 -2
  125. package/plugins/src/rails/skills/{plan-lower-code-complexity → improve-code-complexity}/SKILL.md +2 -2
  126. package/plugins/{lisa-rails/skills/plan-reduce-max-lines → src/rails/skills/improve-max-lines}/SKILL.md +2 -2
  127. package/plugins/{lisa-rails/skills/plan-reduce-max-lines-per-function → src/rails/skills/improve-max-lines-per-function}/SKILL.md +2 -2
  128. package/plugins/src/rails/skills/{plan-add-test-coverage → improve-test-coverage}/SKILL.md +2 -2
  129. package/plugins/src/rails/skills/jira-create/SKILL.md +59 -28
  130. package/plugins/src/rails/skills/jira-verify/SKILL.md +13 -16
  131. package/plugins/lisa/commands/build.md +0 -12
  132. package/plugins/lisa/commands/fix.md +0 -12
  133. package/plugins/lisa/commands/improve.md +0 -18
  134. package/plugins/lisa/commands/investigate.md +0 -10
  135. package/plugins/lisa/commands/jira/add-journey.md +0 -7
  136. package/plugins/lisa/commands/jira/create.md +0 -7
  137. package/plugins/lisa/commands/jira/evidence.md +0 -7
  138. package/plugins/lisa/commands/jira/journey.md +0 -7
  139. package/plugins/lisa/commands/jira/read-ticket.md +0 -7
  140. package/plugins/lisa/commands/jira/sync.md +0 -7
  141. package/plugins/lisa/commands/jira/triage.md +0 -7
  142. package/plugins/lisa/commands/jira/verify.md +0 -7
  143. package/plugins/lisa/commands/jira/write-ticket.md +0 -7
  144. package/plugins/lisa/commands/plan/create.md +0 -8
  145. package/plugins/lisa/commands/plan/execute.md +0 -6
  146. package/plugins/lisa/commands/review/implementation.md +0 -7
  147. package/plugins/lisa/commands/review.md +0 -10
  148. package/plugins/lisa/commands/ship.md +0 -8
  149. package/plugins/lisa/commands/spec-conformance.md +0 -7
  150. package/plugins/lisa-expo/commands/jira/add-journey.md +0 -7
  151. package/plugins/lisa-expo/commands/jira/create.md +0 -7
  152. package/plugins/lisa-expo/commands/jira/evidence.md +0 -7
  153. package/plugins/lisa-expo/commands/jira/journey.md +0 -7
  154. package/plugins/lisa-expo/commands/jira/verify.md +0 -7
  155. package/plugins/lisa-rails/commands/jira/add-journey.md +0 -7
  156. package/plugins/lisa-rails/commands/jira/create.md +0 -7
  157. package/plugins/lisa-rails/commands/jira/evidence.md +0 -7
  158. package/plugins/lisa-rails/commands/jira/journey.md +0 -7
  159. package/plugins/lisa-rails/commands/jira/verify.md +0 -7
  160. package/plugins/src/base/commands/build.md +0 -12
  161. package/plugins/src/base/commands/fix.md +0 -12
  162. package/plugins/src/base/commands/improve.md +0 -18
  163. package/plugins/src/base/commands/investigate.md +0 -10
  164. package/plugins/src/base/commands/jira/add-journey.md +0 -7
  165. package/plugins/src/base/commands/jira/create.md +0 -7
  166. package/plugins/src/base/commands/jira/evidence.md +0 -7
  167. package/plugins/src/base/commands/jira/journey.md +0 -7
  168. package/plugins/src/base/commands/jira/read-ticket.md +0 -7
  169. package/plugins/src/base/commands/jira/sync.md +0 -7
  170. package/plugins/src/base/commands/jira/triage.md +0 -7
  171. package/plugins/src/base/commands/jira/verify.md +0 -7
  172. package/plugins/src/base/commands/jira/write-ticket.md +0 -7
  173. package/plugins/src/base/commands/plan/create.md +0 -8
  174. package/plugins/src/base/commands/plan/execute.md +0 -6
  175. package/plugins/src/base/commands/review/implementation.md +0 -7
  176. package/plugins/src/base/commands/review.md +0 -10
  177. package/plugins/src/base/commands/ship.md +0 -8
  178. package/plugins/src/base/commands/spec-conformance.md +0 -7
  179. package/plugins/src/expo/commands/jira/add-journey.md +0 -7
  180. package/plugins/src/expo/commands/jira/create.md +0 -7
  181. package/plugins/src/expo/commands/jira/evidence.md +0 -7
  182. package/plugins/src/expo/commands/jira/journey.md +0 -7
  183. package/plugins/src/expo/commands/jira/verify.md +0 -7
  184. package/plugins/src/rails/commands/jira/add-journey.md +0 -7
  185. package/plugins/src/rails/commands/jira/create.md +0 -7
  186. package/plugins/src/rails/commands/jira/evidence.md +0 -7
  187. package/plugins/src/rails/commands/jira/journey.md +0 -7
  188. package/plugins/src/rails/commands/jira/verify.md +0 -7
  189. /package/plugins/lisa/commands/{plan/reduce-max-lines.md → improve/max-lines.md} +0 -0
  190. /package/plugins/lisa-rails/commands/{plan/fix-linter-error.md → fix/linter-error.md} +0 -0
  191. /package/plugins/lisa-rails/commands/{plan/lower-code-complexity.md → improve/code-complexity.md} +0 -0
  192. /package/plugins/lisa-rails/commands/{plan/reduce-max-lines-per-function.md → improve/max-lines-per-function.md} +0 -0
  193. /package/plugins/lisa-rails/commands/{plan/reduce-max-lines.md → improve/max-lines.md} +0 -0
  194. /package/plugins/lisa-rails/commands/{plan/add-test-coverage.md → improve/test-coverage.md} +0 -0
  195. /package/plugins/src/base/commands/{plan/reduce-max-lines.md → improve/max-lines.md} +0 -0
  196. /package/plugins/src/rails/commands/{plan/fix-linter-error.md → fix/linter-error.md} +0 -0
  197. /package/plugins/src/rails/commands/{plan/lower-code-complexity.md → improve/code-complexity.md} +0 -0
  198. /package/plugins/src/rails/commands/{plan/reduce-max-lines-per-function.md → improve/max-lines-per-function.md} +0 -0
  199. /package/plugins/src/rails/commands/{plan/reduce-max-lines.md → improve/max-lines.md} +0 -0
  200. /package/plugins/src/rails/commands/{plan/add-test-coverage.md → improve/test-coverage.md} +0 -0
@@ -1,23 +1,27 @@
1
1
  ---
2
2
  name: jira-create
3
3
  description: This skill should be used when creating JIRA epics, stories, and tasks from code files or descriptions. It analyzes the provided input, determines the appropriate issue hierarchy, and creates issues with comprehensive quality requirements including test-first development and documentation.
4
- allowed-tools: ["Read", "Glob", "LS", "mcp__atlassian__createJiraIssue", "mcp__atlassian__getVisibleJiraProjects", "mcp__atlassian__getJiraProjectIssueTypesMetadata", "mcp__atlassian__getAccessibleAtlassianResources"]
4
+ allowed-tools: ["Read", "Glob", "LS", "Skill", "mcp__atlassian__getVisibleJiraProjects", "mcp__atlassian__getJiraProjectIssueTypesMetadata", "mcp__atlassian__getAccessibleAtlassianResources"]
5
5
  ---
6
6
 
7
7
  # Create JIRA Issues from $ARGUMENTS
8
8
 
9
- Analyze the provided file(s) and create a comprehensive JIRA hierarchy with all mandatory quality gates.
9
+ Analyze the provided file(s) and plan a JIRA hierarchy. **This skill plans structure only — every individual ticket write is delegated to `jira-write-ticket`.** Do not call `mcp__atlassian__createJiraIssue` from this skill; the necessary write tools are intentionally not in `allowed-tools`.
10
10
 
11
11
  ## Process
12
12
 
13
- 1. **Analyze**: Read $ARGUMENTS to understand scope
14
- 2. **Determine Structure**:
13
+ 1. **Analyze**: Read $ARGUMENTS to understand scope.
14
+ 2. **Extract source artifacts**: invoke the `jira-source-artifacts` skill, then enumerate every external URL, embed, attachment, or example payload and classify each by domain per its rules. Build the `artifacts` map. See "Source Artifacts" below.
15
+ 3. **Walk the live product** (when applicable): if the work touches existing user-facing surfaces, invoke the `product-walkthrough` skill to capture current behavior, design-vs-product divergence, and reuse candidates. Especially load-bearing for Expo/React Native — a UI ticket without a current-product walkthrough is missing context the implementer needs. Skip only when the work is purely backend or affects a screen that does not yet exist. See "Live Product Walkthrough" below.
16
+ 4. **Determine structure**:
15
17
  - Epic needed if: multiple features, major changes, >3 related files
16
18
  - Direct tasks if: bug fix, single file, minor change
17
- 3. **Create Issues** with hierarchy:
18
- ```
19
+ 5. **Plan hierarchy**:
20
+ ```text
19
21
  Epic → User Story → Tasks (test, implement, document, cleanup)
20
22
  ```
23
+ 6. **Delegate every write to `jira-write-ticket`** in dependency order (epic first, then stories with the epic as parent, then sub-tasks with their story as parent). Pass the artifacts (filtered by domain per `jira-source-artifacts` inheritance rules), the walkthrough findings (under `## Current Product`), and — for UI tickets — the Validation Journey draft with `[SCREENSHOT: ...]` markers. See "Delegation to jira-write-ticket" below.
24
+ 7. **Run the artifact preservation gate** (`jira-source-artifacts` §8): after all writes complete, build the preservation matrix and verify every extracted artifact is reachable from the created tickets. Fail loudly if anything was dropped.
21
25
 
22
26
  ## Mandatory for Every Code Issue
23
27
 
@@ -87,33 +91,19 @@ h3. Assertions
87
91
  6. **Prerequisites include feature flags** — If the feature is behind a PostHog flag, name it explicitly
88
92
  7. **Auth steps included when needed** — If the journey requires login, include the test credentials in Prerequisites
89
93
 
90
- ## Source Artifact Preservation
91
-
92
- If $ARGUMENTS includes a PRD, design doc, Figma URL, Lovable prototype, or similar external artifact — or if a referenced file links out to one — those references MUST be preserved as remote links on the created tickets. Dropping source artifacts during ticket creation is the single most common quality failure in this pipeline, because developers picking up a ticket then lose the design/UX source of truth.
94
+ ## Source Artifacts
93
95
 
94
- Rules:
96
+ If $ARGUMENTS includes (or references) any external artifact — PRD, design doc, Figma URL, Lovable prototype, Loom walkthrough, screenshot, example payload — those references MUST be preserved as remote links on the created tickets. Silent artifact loss is the single most common quality failure in this pipeline.
95
97
 
96
- 1. **Extract before creating**: enumerate every external URL, embed, attachment, or example payload in the input. Classify by domain (`ui-design`, `ux-flow`, `data`, `ops`, `reference`) see `notion-to-jira` Phase 1.5 for the canonical taxonomy.
97
- 2. **Epic gets everything**: attach all extracted artifacts as remote links on the epic, regardless of domain.
98
- 3. **Stories inherit by domain**: frontend/Expo stories get `ui-design` + `ux-flow` + `reference`; backend gets `data` + `reference`; infra gets `ops` + `reference`. When ambiguous, err on the side of inclusion.
99
- 4. **Sub-tasks inherit via parent**: do not re-attach on every sub-task unless a specific artifact applies only to that sub-task.
100
- 5. **Verify before reporting**: before declaring done, confirm every extracted artifact is reachable from the tickets. If any are missing, fail loudly and surface the dropped list to the human — do not silently drop.
98
+ **Invoke the `jira-source-artifacts` skill** for the canonical rules: domains, per-tool classification (Figma `/proto/` vs design, Lovable, Loom, screenshots), source precedence, conflict handling under `## Open Questions`, inheritance from epic story sub-task, and the existing-component reuse expectation. Do not restate the rules here.
101
99
 
102
- When delegating actual writes to `jira-write-ticket`, pass the extracted artifact list so its Phase 4c (Remote Links) step can attach them.
100
+ Expo-specific note: the existing-component reuse rule is especially load-bearing for React Native — the project has an established component library; pixel-matching a mock instead of reusing components is the most common drift mode.
103
101
 
104
- **Classification disambiguation** (applied during extraction):
105
- - Figma URL with `/proto/` or `starting-point-node-id=` → `ux-flow`; plain design frame URL → `ui-design`.
106
- - Lovable output → always `ux-flow` (its code/styling/logic is NOT authoritative).
107
- - Loom / annotated screenshot with flow arrows → `ux-flow`; bare screenshot → `ui-design`.
102
+ When delegating writes to `jira-write-ticket`, pass the extracted artifact list so its Phase 4c step can attach them.
108
103
 
109
- **Source precedence** (must be recorded on every ticket carrying design artifacts):
110
- - Business rules (fields, validation, permissions, constraints) come from the **description / PRD body**.
111
- - Visual treatment (layout, spacing, typography, color) comes from **mocks** (`ui-design`).
112
- - Flow and interaction (navigation, transitions, state changes, empty/error/loading states) come from **prototypes** (`ux-flow`).
113
- - API / data shape comes from **`data` artifacts**.
114
- - Cross-axis conflicts are surfaced as `## Open Questions` BLOCKERs, never silently reconciled.
104
+ ## Live Product Walkthrough
115
105
 
116
- **Existing-component reuse** (applies to every UI-touching ticket especially relevant for Expo/React Native with its established component library): the story description must instruct the implementer to locate the closest existing component in the codebase and prefer reuse over pixel-matching a mock. Design-vs-code divergence is raised on the ticket, not resolved by the implementer alone.
106
+ When the work touches existing user-facing surfaces, invoke the `product-walkthrough` skill before drafting tickets. Findings (current behavior, design-vs-product divergence, reuse candidates, behavioral surprises) become inputs to the ticket plan and surface under `## Current Product` on the resulting tickets, complementing the Validation Journey (which describes how to verify the *new* behavior, not what exists today). Skip only when the work is purely backend or affects a screen that does not yet exist.
117
107
 
118
108
  ## Issue Requirements
119
109
 
@@ -126,4 +116,46 @@ Each issue must clearly communicate to:
126
116
  Default project: from jira-cli config (override via arguments)
127
117
  Exclude unless requested: migration plans, performance tests
128
118
 
129
- Execute the analysis and create the complete JIRA structure with proper parent-child relationships.
119
+ ## Delegation to jira-write-ticket
120
+
121
+ **Mandatory.** Every ticket created by this skill MUST go through `jira-write-ticket`. This skill never calls `mcp__atlassian__createJiraIssue` itself — that tool is intentionally excluded from `allowed-tools` so the gate cannot be bypassed.
122
+
123
+ `jira-write-ticket` enforces things this skill does not, and which determine ticket quality:
124
+ - 3-audience description (Context / Technical Approach / Acceptance Criteria)
125
+ - Gherkin acceptance criteria
126
+ - Epic parent validation (non-bug, non-epic types)
127
+ - Explicit link discovery (`blocks` / `is blocked by` / `relates to` / `duplicates` / `clones`)
128
+ - Remote links (PRs, Confluence, dashboards)
129
+ - Single-repo scope check for Bug / Task / Sub-task
130
+ - Sign-in account and target environment recorded in description
131
+ - Post-create verification
132
+
133
+ ### Invocation order
134
+
135
+ Tickets must be created in parent-before-child order so each child can be passed its parent key:
136
+
137
+ 1. Invoke `jira-write-ticket` for the epic. Capture the returned key.
138
+ 2. For each story, invoke `jira-write-ticket` with the epic key as the epic parent. Capture each story key.
139
+ 3. For each sub-task, invoke `jira-write-ticket` with the parent story key.
140
+
141
+ ### What to pass to each invocation
142
+
143
+ For every delegated write, pass:
144
+ - The summary, issue type, project key, and priority you decided
145
+ - The 3-section description body you drafted (Context / Technical Approach / Acceptance Criteria)
146
+ - Gherkin acceptance criteria
147
+ - Parent key (epic key for stories; story key for sub-tasks)
148
+ - The artifact list extracted in "Source Artifacts", filtered by domain per the inheritance rules — `jira-write-ticket` Phase 4c attaches them as remote links
149
+ - For UI-touching tickets: the Validation Journey draft (with `[SCREENSHOT: ...]` markers, viewports, and feature-flag prerequisites). If the journey is missing, instruct it to call `jira-add-journey` after create.
150
+
151
+ ### What this skill is responsible for
152
+
153
+ This skill owns:
154
+ - Deciding the *shape* of the hierarchy (what's an epic vs. story vs. sub-task)
155
+ - Drafting the description body and acceptance criteria from the input
156
+ - Extracting and classifying source artifacts
157
+ - Threading parent keys through subsequent writes
158
+ - Drafting the Validation Journey for UI tickets (this is Expo-specific guidance the base skill doesn't have)
159
+ - Running the artifact preservation check after all writes complete
160
+
161
+ It does not own the actual JIRA write — that's `jira-write-ticket`'s job.
@@ -1,47 +1,27 @@
1
1
  ---
2
2
  name: jira-verify
3
- description: This skill should be used when verifying that a JIRA ticket meets organizational standards for epic relationships and description quality. It checks epic parent relationships and validates description completeness for coding assistants, developers, and stakeholders.
4
- allowed-tools: ["mcp__atlassian__getJiraIssue", "mcp__atlassian__searchJiraIssuesUsingJql", "mcp__atlassian__getAccessibleAtlassianResources"]
3
+ description: This skill should be used when verifying that a JIRA ticket meets organizational standards for epic relationships, description quality, and (for UI tickets) Validation Journey presence. It fetches the live ticket and delegates the gate checks to jira-validate-ticket so the bar matches what jira-write-ticket enforces pre-write.
4
+ allowed-tools: ["Skill", "mcp__atlassian__getJiraIssue", "mcp__atlassian__getAccessibleAtlassianResources"]
5
5
  ---
6
6
 
7
7
  # Verify JIRA Ticket: $ARGUMENTS
8
8
 
9
- Fetch ticket $ARGUMENTS and verify it meets organizational standards.
9
+ Verify that the existing JIRA ticket `$ARGUMENTS` meets organizational standards. This skill is a thin post-write wrapper around `jira-validate-ticket`: it fetches the live ticket and asks `jira-validate-ticket` to run the gates against the fetched state.
10
10
 
11
- ## Verification Checks
11
+ This indirection exists so the gate definitions live in exactly one place (`jira-validate-ticket`). When the bar changes, change it there — `jira-verify`, `jira-write-ticket` (Phase 5.5 pre-write), and `notion-to-jira` (PRD dry-run) all pick it up.
12
12
 
13
- ### 1. Epic Parent Relationship
13
+ ## Process
14
14
 
15
- **Rule**: Non-bug, non-epic tickets MUST have an epic parent
15
+ 1. Resolve cloud ID via `mcp__atlassian__getAccessibleAtlassianResources`.
16
+ 2. Fetch the ticket via `mcp__atlassian__getJiraIssue` for `$ARGUMENTS`.
17
+ 3. Invoke `jira-validate-ticket` and pass the ticket key. The validator runs every gate (Specification + Feasibility) against the live state, including the Validation Journey check (S11) which applies to any runtime-behavior change — UI tickets in Expo always qualify.
18
+ 4. Surface the validator's report verbatim.
16
19
 
17
- - If missing: Search filter 10089 (Epic Backlog) and suggest appropriate epics
20
+ ## Output
18
21
 
19
- ### 2. Description Quality
22
+ Pass through `jira-validate-ticket`'s structured output unchanged. Downstream callers parse the gate lines.
20
23
 
21
- Verify description adequately addresses:
24
+ ## Notes
22
25
 
23
- **Coding Assistants**: Acceptance criteria, requirements, constraints, I/O
24
- **Developers**: Technical context, integration points, testing, edge cases
25
- **Stakeholders**: Business value, user impact, success metrics, summary
26
-
27
- ### 3. Validation Journey (Frontend Tickets)
28
-
29
- **Rule**: Tickets that touch UI (components, labels, or description mentioning frontend, UI, modal, layout, responsive, screen, page, button, form) MUST include a Validation Journey section.
30
-
31
- Check by running:
32
-
33
- ```bash
34
- python3 .claude/skills/jira-journey/scripts/parse-plan.py <TICKET_ID> 2>&1
35
- ```
36
-
37
- - If the parser returns steps: PASS
38
- - If the parser fails with "No 'Validation Journey' section found": FAIL — recommend using `/jira-add-journey <TICKET_ID>` to add one
39
-
40
- This check is skipped for:
41
- - Pure backend/API tickets (no UI surface)
42
- - Config-only tickets (env vars, feature flags, CI/CD)
43
- - Epic-level tickets (journeys belong on child stories/tasks)
44
-
45
- ## Execute Verification
46
-
47
- Retrieve ticket details, run all checks, and provide specific improvement recommendations for any failures.
26
+ - This skill is read-only. It never edits the ticket, posts comments, or changes status.
27
+ - For UI tickets that fail the Validation Journey gate, the validator's remediation will recommend `/jira-add-journey` — the Expo flavor of `jira-add-journey` produces the `[SCREENSHOT: ...]` + viewport block that the Playwright-based journey runner consumes.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plan-fix-linter-error
2
+ name: fix-linter-error
3
3
  description: This skill should be used when fixing all violations of one or more RuboCop cops across the codebase. It runs RuboCop, groups violations by cop and file, generates a brief with fix strategies, and creates a plan with tasks to implement the fixes.
4
4
  allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
5
 
@@ -42,4 +42,4 @@ Fix strategies: extract methods, reduce complexity, apply auto-correct where saf
42
42
  Verification: `bundle exec rubocop --format simple 2>&1 | grep -E "($ARGUMENTS)" | wc -l` -> Expected: 0
43
43
  ```
44
44
 
45
- Invoke `/plan-execute` with this brief to create the implementation plan.
45
+ Invoke `/implement` with this brief to create the implementation plan.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plan-lower-code-complexity
2
+ name: improve-code-complexity
3
3
  description: This skill should be used when reducing the code complexity threshold of the codebase. It lowers the CyclomaticComplexity threshold by 2, identifies methods that exceed the new limit, generates a brief with refactoring strategies, and creates a plan with tasks to fix all violations.
4
4
  allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
5
  ---
@@ -45,4 +45,4 @@ Refactoring strategies: extract methods, early returns, extract conditions, use
45
45
  Verification: `bundle exec rubocop --only Metrics/CyclomaticComplexity --format simple 2>&1 | grep "offense" | wc -l` -> Expected: 0
46
46
  ```
47
47
 
48
- Invoke `/plan-execute` with this brief to create the implementation plan.
48
+ Invoke `/implement` with this brief to create the implementation plan.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plan-reduce-max-lines
2
+ name: improve-max-lines
3
3
  description: This skill should be used when reducing the maximum class/module lines threshold and fixing all violations. It updates the RuboCop configuration, identifies classes and modules exceeding the new limit, generates a brief with refactoring strategies, and creates a plan with tasks to split oversized files.
4
4
  allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
5
 
@@ -43,4 +43,4 @@ Refactoring strategies: extract concerns, extract service objects, remove duplic
43
43
  Verification: `bundle exec rubocop --only Metrics/ClassLength,Metrics/ModuleLength --format simple 2>&1 | grep "offense" | wc -l` -> Expected: 0
44
44
  ```
45
45
 
46
- Invoke `/plan-execute` with this brief to create the implementation plan.
46
+ Invoke `/implement` with this brief to create the implementation plan.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plan-reduce-max-lines-per-function
2
+ name: improve-max-lines-per-function
3
3
  description: This skill should be used when reducing the maximum lines per method threshold and fixing all violations. It updates the RuboCop configuration, identifies methods exceeding the new limit, generates a brief with refactoring strategies, and creates a plan with tasks to split oversized methods.
4
4
  allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
5
 
@@ -43,4 +43,4 @@ Refactoring strategies: extract methods, early returns, extract conditions, use
43
43
  Verification: `bundle exec rubocop --only Metrics/MethodLength --format simple 2>&1 | grep "offense" | wc -l` -> Expected: 0
44
44
  ```
45
45
 
46
- Invoke `/plan-execute` with this brief to create the implementation plan.
46
+ Invoke `/implement` with this brief to create the implementation plan.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plan-add-test-coverage
2
+ name: improve-test-coverage
3
3
  description: This skill should be used when increasing test coverage to a specified threshold percentage. It runs the test suite with SimpleCov, identifies files with the lowest coverage, generates a brief with coverage gaps, and creates a plan with tasks to add the missing tests.
4
4
  allowed-tools: ["Read", "Bash", "Glob", "Grep"]
5
5
 
@@ -42,4 +42,4 @@ Configuration: .simplecov, update minimum_coverage to $ARGUMENTS%
42
42
  Verification: `bundle exec rspec` -> Expected: SimpleCov reports >= $ARGUMENTS% coverage
43
43
  ```
44
44
 
45
- Invoke `/plan-execute` with this brief to create the implementation plan.
45
+ Invoke `/implement` with this brief to create the implementation plan.
@@ -1,23 +1,27 @@
1
1
  ---
2
2
  name: jira-create
3
3
  description: This skill should be used when creating JIRA epics, stories, and tasks from code files or descriptions. It analyzes the provided input, determines the appropriate issue hierarchy, and creates issues with comprehensive quality requirements including test-first development and documentation.
4
- allowed-tools: ["Read", "Glob", "LS", "mcp__atlassian__createJiraIssue", "mcp__atlassian__getVisibleJiraProjects", "mcp__atlassian__getJiraProjectIssueTypesMetadata", "mcp__atlassian__getAccessibleAtlassianResources"]
4
+ allowed-tools: ["Read", "Glob", "LS", "Skill", "mcp__atlassian__getVisibleJiraProjects", "mcp__atlassian__getJiraProjectIssueTypesMetadata", "mcp__atlassian__getAccessibleAtlassianResources"]
5
5
  ---
6
6
 
7
7
  # Create JIRA Issues from $ARGUMENTS
8
8
 
9
- Analyze the provided file(s) and create a comprehensive JIRA hierarchy with all mandatory quality gates.
9
+ Analyze the provided file(s) and plan a JIRA hierarchy. **This skill plans structure only — every individual ticket write is delegated to `jira-write-ticket`.** Do not call `mcp__atlassian__createJiraIssue` from this skill; the necessary write tools are intentionally not in `allowed-tools`.
10
10
 
11
11
  ## Process
12
12
 
13
- 1. **Analyze**: Read $ARGUMENTS to understand scope
14
- 2. **Determine Structure**:
13
+ 1. **Analyze**: Read $ARGUMENTS to understand scope.
14
+ 2. **Extract source artifacts**: invoke the `jira-source-artifacts` skill, then enumerate every external URL, embed, attachment, or example payload and classify each by domain per its rules. Build the `artifacts` map. See "Source Artifacts" below.
15
+ 3. **Walk the live product** (when applicable): if the work touches existing user-facing surfaces, invoke the `product-walkthrough` skill to capture current behavior, design-vs-product divergence, and reuse candidates. Skip only when the work is purely backend or affects a screen that does not yet exist. See "Live Product Walkthrough" below.
16
+ 4. **Determine structure**:
15
17
  - Epic needed if: multiple features, major changes, >3 related files
16
18
  - Direct tasks if: bug fix, single file, minor change
17
- 3. **Create Issues** with hierarchy:
18
- ```
19
+ 5. **Plan hierarchy**:
20
+ ```text
19
21
  Epic → User Story → Tasks (test, implement, document, cleanup)
20
22
  ```
23
+ 6. **Delegate every write to `jira-write-ticket`** in dependency order (epic first, then stories with the epic as parent, then sub-tasks with their story as parent). Pass the artifacts (filtered by domain per `jira-source-artifacts` inheritance rules) and the walkthrough findings (under `## Current Product`). See "Delegation to jira-write-ticket" below.
24
+ 7. **Run the artifact preservation gate** (`jira-source-artifacts` §8): after all writes complete, build the preservation matrix and verify every extracted artifact is reachable from the created tickets. Fail loudly if anything was dropped.
21
25
 
22
26
  ## Mandatory for Every Code Issue
23
27
 
@@ -27,33 +31,19 @@ Analyze the provided file(s) and create a comprehensive JIRA hierarchy with all
27
31
  **Feature Flags**: All features behind flags with lifecycle plan
28
32
  **Cleanup**: Remove temporary code, scripts, dev configs
29
33
 
30
- ## Source Artifact Preservation
31
-
32
- If $ARGUMENTS includes a PRD, design doc, Figma URL, Lovable prototype, or similar external artifact — or if a referenced file links out to one — those references MUST be preserved as remote links on the created tickets. Dropping source artifacts during ticket creation is the single most common quality failure in this pipeline, because developers picking up a ticket then lose the design/UX source of truth.
34
+ ## Source Artifacts
33
35
 
34
- Rules:
36
+ If $ARGUMENTS includes (or references) any external artifact — PRD, design doc, Figma URL, Lovable prototype, Loom walkthrough, screenshot, example payload — those references MUST be preserved as remote links on the created tickets. Silent artifact loss is the single most common quality failure in this pipeline.
35
37
 
36
- 1. **Extract before creating**: enumerate every external URL, embed, attachment, or example payload in the input. Classify by domain (`ui-design`, `ux-flow`, `data`, `ops`, `reference`) see `notion-to-jira` Phase 1.5 for the canonical taxonomy.
37
- 2. **Epic gets everything**: attach all extracted artifacts as remote links on the epic, regardless of domain.
38
- 3. **Stories inherit by domain**: frontend/view stories get `ui-design` + `ux-flow` + `reference`; backend/model/controller stories get `data` + `reference`; infra stories get `ops` + `reference`. When ambiguous, err on the side of inclusion.
39
- 4. **Sub-tasks inherit via parent**: do not re-attach on every sub-task unless a specific artifact applies only to that sub-task.
40
- 5. **Verify before reporting**: before declaring done, confirm every extracted artifact is reachable from the tickets. If any are missing, fail loudly and surface the dropped list to the human — do not silently drop.
38
+ **Invoke the `jira-source-artifacts` skill** for the canonical rules: domains, per-tool classification (Figma `/proto/` vs design, Lovable, Loom, screenshots), source precedence, conflict handling under `## Open Questions`, inheritance from epic story sub-task, and the existing-component reuse expectation. Do not restate the rules here.
41
39
 
42
- When delegating actual writes to `jira-write-ticket`, pass the extracted artifact list so its Phase 4c (Remote Links) step can attach them.
40
+ Rails-specific note: the existing-component reuse rule applies to view partials and ViewComponents — the closest existing partial/component is usually the right answer over pixel-matching a mock from scratch.
43
41
 
44
- **Classification disambiguation** (applied during extraction):
45
- - Figma URL with `/proto/` or `starting-point-node-id=` → `ux-flow`; plain design frame URL → `ui-design`.
46
- - Lovable output → always `ux-flow` (its code/styling/logic is NOT authoritative).
47
- - Loom / annotated screenshot with flow arrows → `ux-flow`; bare screenshot → `ui-design`.
42
+ When delegating writes to `jira-write-ticket`, pass the extracted artifact list so its Phase 4c step can attach them.
48
43
 
49
- **Source precedence** (must be recorded on every ticket carrying design artifacts):
50
- - Business rules (fields, validation, permissions, constraints) come from the **description / PRD body**.
51
- - Visual treatment (layout, spacing, typography, color) comes from **mocks** (`ui-design`).
52
- - Flow and interaction (navigation, transitions, state changes, empty/error/loading states) come from **prototypes** (`ux-flow`).
53
- - API / data shape comes from **`data` artifacts**.
54
- - Cross-axis conflicts are surfaced as `## Open Questions` BLOCKERs, never silently reconciled.
44
+ ## Live Product Walkthrough
55
45
 
56
- **Existing-component reuse** (applies to every view/partial-touching ticket): the story description must instruct the implementer to locate the closest existing view partial or ViewComponent in the codebase and prefer reuse over pixel-matching a mock. Design-vs-code divergence is raised on the ticket, not resolved by the implementer alone.
46
+ When the work touches existing user-facing surfaces, invoke the `product-walkthrough` skill before drafting tickets. Findings (current behavior, design-vs-product divergence, reuse candidates, behavioral surprises) become inputs to the ticket plan and surface under `## Current Product` on the resulting tickets. Skip only when the work is purely backend or affects a screen that does not yet exist.
57
47
 
58
48
  ## Issue Requirements
59
49
 
@@ -66,4 +56,45 @@ Each issue must clearly communicate to:
66
56
  Default project: SE (override via arguments)
67
57
  Exclude unless requested: migration plans, performance tests
68
58
 
69
- Execute the analysis and create the complete JIRA structure with proper parent-child relationships.
59
+ ## Delegation to jira-write-ticket
60
+
61
+ **Mandatory.** Every ticket created by this skill MUST go through `jira-write-ticket`. This skill never calls `mcp__atlassian__createJiraIssue` itself — that tool is intentionally excluded from `allowed-tools` so the gate cannot be bypassed.
62
+
63
+ `jira-write-ticket` enforces things this skill does not, and which determine ticket quality:
64
+ - 3-audience description (Context / Technical Approach / Acceptance Criteria)
65
+ - Gherkin acceptance criteria
66
+ - Epic parent validation (non-bug, non-epic types)
67
+ - Explicit link discovery (`blocks` / `is blocked by` / `relates to` / `duplicates` / `clones`)
68
+ - Remote links (PRs, Confluence, dashboards)
69
+ - Single-repo scope check for Bug / Task / Sub-task
70
+ - Sign-in account and target environment recorded in description
71
+ - Post-create verification
72
+
73
+ ### Invocation order
74
+
75
+ Tickets must be created in parent-before-child order so each child can be passed its parent key:
76
+
77
+ 1. Invoke `jira-write-ticket` for the epic. Capture the returned key.
78
+ 2. For each story, invoke `jira-write-ticket` with the epic key as the epic parent. Capture each story key.
79
+ 3. For each sub-task, invoke `jira-write-ticket` with the parent story key.
80
+
81
+ ### What to pass to each invocation
82
+
83
+ For every delegated write, pass:
84
+ - The summary, issue type, project key, and priority you decided
85
+ - The 3-section description body you drafted (Context / Technical Approach / Acceptance Criteria)
86
+ - Gherkin acceptance criteria
87
+ - Parent key (epic key for stories; story key for sub-tasks)
88
+ - The artifact list extracted in "Source Artifacts", filtered by domain per the inheritance rules — `jira-write-ticket` Phase 4c attaches them as remote links
89
+ - For tickets that change runtime behavior: the Validation Journey draft, or instruct it to call `jira-add-journey` after create
90
+
91
+ ### What this skill is responsible for
92
+
93
+ This skill owns:
94
+ - Deciding the *shape* of the hierarchy (what's an epic vs. story vs. sub-task)
95
+ - Drafting the description body and acceptance criteria from the input
96
+ - Extracting and classifying source artifacts
97
+ - Threading parent keys through subsequent writes
98
+ - Running the artifact preservation check after all writes complete
99
+
100
+ It does not own the actual JIRA write — that's `jira-write-ticket`'s job.
@@ -1,29 +1,26 @@
1
1
  ---
2
2
  name: jira-verify
3
- description: This skill should be used when verifying that a JIRA ticket meets organizational standards for epic relationships and description quality. It checks epic parent relationships and validates description completeness for coding assistants, developers, and stakeholders.
4
- allowed-tools: ["mcp__atlassian__getJiraIssue", "mcp__atlassian__searchJiraIssuesUsingJql", "mcp__atlassian__getAccessibleAtlassianResources"]
3
+ description: This skill should be used when verifying that a JIRA ticket meets organizational standards for epic relationships and description quality. It fetches the live ticket and delegates the gate checks to jira-validate-ticket so the bar matches what jira-write-ticket enforces pre-write.
4
+ allowed-tools: ["Skill", "mcp__atlassian__getJiraIssue", "mcp__atlassian__getAccessibleAtlassianResources"]
5
5
  ---
6
6
 
7
7
  # Verify JIRA Ticket: $ARGUMENTS
8
8
 
9
- Fetch ticket $ARGUMENTS and verify it meets organizational standards.
9
+ Verify that the existing JIRA ticket `$ARGUMENTS` meets organizational standards. This skill is a thin post-write wrapper around `jira-validate-ticket`: it fetches the live ticket and asks `jira-validate-ticket` to run the gates against the fetched state.
10
10
 
11
- ## Verification Checks
11
+ This indirection exists so the gate definitions live in exactly one place (`jira-validate-ticket`). When the bar changes, change it there — `jira-verify`, `jira-write-ticket` (Phase 5.5 pre-write), and `notion-to-jira` (PRD dry-run) all pick it up.
12
12
 
13
- ### 1. Epic Parent Relationship
13
+ ## Process
14
14
 
15
- **Rule**: Non-bug, non-epic tickets MUST have an epic parent
15
+ 1. Resolve cloud ID via `mcp__atlassian__getAccessibleAtlassianResources`.
16
+ 2. Fetch the ticket via `mcp__atlassian__getJiraIssue` for `$ARGUMENTS`.
17
+ 3. Invoke `jira-validate-ticket` and pass the ticket key. The validator runs every gate (Specification + Feasibility) against the live state.
18
+ 4. Surface the validator's report verbatim.
16
19
 
17
- - If missing: Search filter 10089 (Epic Backlog) and suggest appropriate epics
20
+ ## Output
18
21
 
19
- ### 2. Description Quality
22
+ Pass through `jira-validate-ticket`'s structured output unchanged. Downstream callers parse the gate lines.
20
23
 
21
- Verify description adequately addresses:
24
+ ## Notes
22
25
 
23
- **Coding Assistants**: Acceptance criteria, requirements, constraints, I/O
24
- **Developers**: Technical context, integration points, testing, edge cases
25
- **Stakeholders**: Business value, user impact, success metrics, summary
26
-
27
- ## Execute Verification
28
-
29
- Retrieve ticket details, run both checks, and provide specific improvement recommendations for any failures.
26
+ - This skill is read-only. It never edits the ticket, posts comments, or changes status.
@@ -1,12 +0,0 @@
1
- ---
2
- description: "Build a feature. Defines acceptance criteria, researches codebase, implements via TDD, verifies locally, and reviews."
3
- argument-hint: "<description-or-ticket-id-or-url>"
4
- ---
5
-
6
- Apply the `intent-routing` rule (loaded via the lisa plugin) and execute the **Implement** flow with the **Build** work type.
7
-
8
- **Orchestration: agent team.** Build runs a long multi-specialist sequence with parallel review. After echoing the flow and orchestration mode, your FIRST tool call MUST be `TeamCreate`. Do not call `TaskCreate`, `Agent`, or implementation tools before the team exists.
9
-
10
- If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket, extract context, and delegate back to the Implement flow.
11
-
12
- $ARGUMENTS
@@ -1,12 +0,0 @@
1
- ---
2
- description: "Fix a bug. Reproduces, analyzes git history, finds root cause, implements fix via TDD, verifies locally, and reviews."
3
- argument-hint: "<description-or-ticket-id-or-url>"
4
- ---
5
-
6
- Apply the `intent-routing` rule (loaded via the lisa plugin) and execute the **Implement** flow with the **Fix** work type.
7
-
8
- **Orchestration: agent team.** Fix runs a long multi-specialist sequence with parallel review. After echoing the flow and orchestration mode, your FIRST tool call MUST be `TeamCreate`. Do not call `TaskCreate`, `Agent`, or implementation tools before the team exists.
9
-
10
- If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket, extract context, and delegate back to the Implement flow.
11
-
12
- $ARGUMENTS
@@ -1,18 +0,0 @@
1
- ---
2
- description: "Improve existing code. Measures baseline, implements improvements via TDD, measures again, and reviews."
3
- argument-hint: "<target-description>"
4
- ---
5
-
6
- Apply the `intent-routing` rule (loaded via the lisa plugin) and execute the **Implement** flow with the **Improve** work type.
7
-
8
- **Orchestration: agent team.** Improve runs a multi-specialist sequence with parallel review. After echoing the flow and orchestration mode, your FIRST tool call MUST be `TeamCreate`. Do not call `TaskCreate`, `Agent`, or implementation tools before the team exists.
9
-
10
- For specific improvement types, you can also use:
11
- - `/lisa:plan:add-test-coverage` -- increase test coverage
12
- - `/lisa:plan:fix-linter-error` -- fix lint rule violations
13
- - `/lisa:plan:lower-code-complexity` -- reduce cognitive complexity
14
- - `/lisa:plan:reduce-max-lines` -- reduce file length
15
- - `/lisa:plan:reduce-max-lines-per-function` -- reduce function length
16
- - `/lisa:plan:improve-tests` -- improve test quality
17
-
18
- $ARGUMENTS
@@ -1,10 +0,0 @@
1
- ---
2
- description: "Investigate an issue. Analyzes git history, reproduces, traces execution, checks logs, and reports findings with evidence."
3
- argument-hint: "<description-or-ticket-id-or-url>"
4
- ---
5
-
6
- Apply the `intent-routing` rule (loaded via the lisa plugin) and execute the **Implement** flow with the **Investigate Only** work type (spike).
7
-
8
- If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket and extract context.
9
-
10
- $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Add Validation Journey section to existing ticket"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<TICKET_ID>"
5
- ---
6
-
7
- Use the /lisa:jira-add-journey skill to add a Validation Journey section to the ticket. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Create JIRA epics/stories/tasks from code files with comprehensive quality requirements"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<file-or-directory-path> [project-key]"
5
- ---
6
-
7
- Use the /lisa:jira-create skill to create JIRA issues from the provided input. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Post captured evidence to JIRA and GitHub PR"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>"
5
- ---
6
-
7
- Use the /lisa:jira-evidence skill to post captured evidence to JIRA and the GitHub PR. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Execute Validation Journey and capture evidence"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<TICKET_ID> [PR_NUMBER]"
5
- ---
6
-
7
- Use the /lisa:jira-journey skill to execute the Validation Journey and capture evidence. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Read a JIRA ticket with full scope — metadata, comments, remote PRs, linked tickets, epic siblings, subtasks"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<TICKET-ID>"
5
- ---
6
-
7
- Use the /lisa:jira-read-ticket skill to fetch the full scope of the JIRA ticket and its related graph. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Sync plan progress to a linked JIRA ticket"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<ticket-id>"
5
- ---
6
-
7
- Use the /lisa:jira-sync skill to sync plan progress to the linked JIRA ticket. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Analytical triage of a JIRA ticket -- ambiguity detection, edge case analysis, verification methodology"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<TICKET-ID>"
5
- ---
6
-
7
- Use the /lisa:ticket-triage skill to run analytical triage on the JIRA ticket. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Verify JIRA ticket meets standards for epic relationships and description quality"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "<TICKET-ID>"
5
- ---
6
-
7
- Use the /lisa:jira-verify skill to verify the JIRA ticket meets organizational standards. $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Create or update a JIRA ticket with enforced relationships, Gherkin criteria, and metadata quality gates"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "[TICKET-ID | <create-intent-description>]"
5
- ---
6
-
7
- Use the /lisa:jira-write-ticket skill to create or update the JIRA ticket with full relationship discovery and quality enforcement. $ARGUMENTS
@@ -1,8 +0,0 @@
1
- ---
2
- description: "Creates an implementation plan from a ticket URL, file path, or text description"
3
- argument-hint: "<ticket-url | @file-path | description>"
4
- ---
5
-
6
- Apply the `intent-routing` rule (loaded via the lisa plugin) and execute the **Plan** flow on $ARGUMENTS.
7
-
8
- If requirements are ambiguous or no specification exists, suggest running the **Research** flow first.
@@ -1,6 +0,0 @@
1
- ---
2
- description: "Deploys an agent team to research, implement, review and deploy a plan"
3
- argument-hint: "<ticket-url | @file-path | description>"
4
- ---
5
-
6
- Pass through to `/build` with $ARGUMENTS. The Build command applies the `intent-routing` rule (loaded via the lisa plugin) and runs the full Implement → Review → Verify chain, which is what this command historically did.
@@ -1,7 +0,0 @@
1
- ---
2
- description: "Compare project's Lisa-managed files against Lisa source templates and offer to upstream changes"
3
- allowed-tools: ["Skill"]
4
- argument-hint: "[lisa-dir]"
5
- ---
6
-
7
- Use the /lisa:lisa-review-implementation skill to compare project files against Lisa templates. $ARGUMENTS
@@ -1,10 +0,0 @@
1
- ---
2
- description: "Review code changes. Runs quality, security, performance, product, and test reviews in parallel, then consolidates findings."
3
- argument-hint: "[pr-link-or-branch]"
4
- ---
5
-
6
- Apply the `intent-routing` rule (loaded via the lisa plugin) and execute the **Review** sub-flow.
7
-
8
- This sub-flow is also invoked automatically by the Implement flow. It runs `quality-specialist`, `security-specialist`, and `performance-specialist` in parallel, followed by `product-specialist` and `test-specialist`. Consolidates all findings ranked by severity.
9
-
10
- $ARGUMENTS