@codyswann/lisa 2.195.3 → 2.195.6

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 (817) hide show
  1. package/README.md +17 -3
  2. package/all/copy-contents/gitignore +10 -4
  3. package/dist/cli/print-update-warning.d.ts +1 -1
  4. package/dist/cli/print-update-warning.js +2 -2
  5. package/dist/cli/print-update-warning.js.map +1 -1
  6. package/dist/cli/update-check.d.ts +6 -0
  7. package/dist/cli/update-check.d.ts.map +1 -1
  8. package/dist/cli/update-check.js +3 -3
  9. package/dist/cli/update-check.js.map +1 -1
  10. package/dist/cli/update-cmd.d.ts +1 -1
  11. package/dist/cli/update-cmd.d.ts.map +1 -1
  12. package/dist/cli/update-cmd.js +8 -7
  13. package/dist/cli/update-cmd.js.map +1 -1
  14. package/dist/codex/hooks-installer.d.ts +4 -1
  15. package/dist/codex/hooks-installer.d.ts.map +1 -1
  16. package/dist/codex/hooks-installer.js +109 -30
  17. package/dist/codex/hooks-installer.js.map +1 -1
  18. package/dist/codex/mcp-installer.d.ts +22 -0
  19. package/dist/codex/mcp-installer.d.ts.map +1 -0
  20. package/dist/codex/mcp-installer.js +135 -0
  21. package/dist/codex/mcp-installer.js.map +1 -0
  22. package/dist/codex/plugin-marketplace-installer.d.ts +19 -13
  23. package/dist/codex/plugin-marketplace-installer.d.ts.map +1 -1
  24. package/dist/codex/plugin-marketplace-installer.js +69 -72
  25. package/dist/codex/plugin-marketplace-installer.js.map +1 -1
  26. package/dist/codex/project-hooks-cleanup.d.ts +12 -0
  27. package/dist/codex/project-hooks-cleanup.d.ts.map +1 -0
  28. package/dist/codex/project-hooks-cleanup.js +31 -0
  29. package/dist/codex/project-hooks-cleanup.js.map +1 -0
  30. package/dist/codex/project-overlay.d.ts +23 -0
  31. package/dist/codex/project-overlay.d.ts.map +1 -0
  32. package/dist/codex/project-overlay.js +64 -0
  33. package/dist/codex/project-overlay.js.map +1 -0
  34. package/dist/codex/scripts/inject-rules.sh +4 -0
  35. package/dist/codex/scripts/install-pkgs.sh +4 -0
  36. package/dist/codex/scripts/setup-jira-cli.sh +5 -1
  37. package/dist/codex/settings-installer.d.ts.map +1 -1
  38. package/dist/codex/settings-installer.js +16 -3
  39. package/dist/codex/settings-installer.js.map +1 -1
  40. package/dist/codex/skills-installer.d.ts +15 -19
  41. package/dist/codex/skills-installer.d.ts.map +1 -1
  42. package/dist/codex/skills-installer.js +47 -140
  43. package/dist/codex/skills-installer.js.map +1 -1
  44. package/dist/core/lisa-plugin-selection.d.ts +16 -0
  45. package/dist/core/lisa-plugin-selection.d.ts.map +1 -0
  46. package/dist/core/lisa-plugin-selection.js +59 -0
  47. package/dist/core/lisa-plugin-selection.js.map +1 -0
  48. package/dist/core/lisa-rules-mirror.d.ts +2 -1
  49. package/dist/core/lisa-rules-mirror.d.ts.map +1 -1
  50. package/dist/core/lisa-rules-mirror.js +19 -3
  51. package/dist/core/lisa-rules-mirror.js.map +1 -1
  52. package/dist/core/lisa-skill-sources.d.ts.map +1 -1
  53. package/dist/core/lisa-skill-sources.js +16 -1
  54. package/dist/core/lisa-skill-sources.js.map +1 -1
  55. package/dist/core/lisa.d.ts +4 -6
  56. package/dist/core/lisa.d.ts.map +1 -1
  57. package/dist/core/lisa.js +12 -38
  58. package/dist/core/lisa.js.map +1 -1
  59. package/dist/migrations/ensure-lisa-postinstall.d.ts.map +1 -1
  60. package/dist/migrations/ensure-lisa-postinstall.js +4 -3
  61. package/dist/migrations/ensure-lisa-postinstall.js.map +1 -1
  62. package/dist/opencode/plugin-templates/lisa-session-bootstrap.ts +2 -3
  63. package/npm-package/create-only/.github/workflows/publish-to-npm.yml +2 -1
  64. package/package.json +2 -3
  65. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa/.codex-plugin/plugin.json +2 -2
  67. package/plugins/lisa/.codex-plugin/skills/lisa-acceptance-criteria/SKILL.md +71 -0
  68. package/plugins/lisa/.codex-plugin/skills/lisa-acceptance-criteria/agents/openai.yaml +4 -0
  69. package/plugins/lisa/.codex-plugin/skills/lisa-agent-design-best-practices/SKILL.md +219 -0
  70. package/plugins/lisa/.codex-plugin/skills/lisa-agent-design-best-practices/agents/openai.yaml +4 -0
  71. package/plugins/lisa/.codex-plugin/skills/lisa-analyze-claude-remote/SKILL.md +429 -0
  72. package/plugins/lisa/.codex-plugin/skills/lisa-analyze-claude-remote/agents/openai.yaml +4 -0
  73. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/SKILL.md +361 -0
  74. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/agents/openai.yaml +4 -0
  75. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/scripts/markdown-to-adf.mjs +214 -0
  76. package/plugins/lisa/.codex-plugin/skills/lisa-automation-status/SKILL.md +111 -0
  77. package/plugins/lisa/.codex-plugin/skills/lisa-automation-status/agents/openai.yaml +4 -0
  78. package/plugins/lisa/.codex-plugin/skills/lisa-bug-triage/SKILL.md +23 -0
  79. package/plugins/lisa/.codex-plugin/skills/lisa-bug-triage/agents/openai.yaml +4 -0
  80. package/plugins/lisa/.codex-plugin/skills/lisa-codebase-research/SKILL.md +87 -0
  81. package/plugins/lisa/.codex-plugin/skills/lisa-codebase-research/agents/openai.yaml +4 -0
  82. package/plugins/lisa/.codex-plugin/skills/lisa-codify-verification/SKILL.md +162 -0
  83. package/plugins/lisa/.codex-plugin/skills/lisa-codify-verification/agents/openai.yaml +4 -0
  84. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-prd-intake/SKILL.md +417 -0
  85. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-prd-intake/agents/openai.yaml +4 -0
  86. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-to-tracker/SKILL.md +356 -0
  87. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-to-tracker/agents/openai.yaml +4 -0
  88. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-write-prd/SKILL.md +109 -0
  89. package/plugins/lisa/.codex-plugin/skills/lisa-confluence-write-prd/agents/openai.yaml +4 -0
  90. package/plugins/lisa/.codex-plugin/skills/lisa-cross-pollinate/SKILL.md +175 -0
  91. package/plugins/lisa/.codex-plugin/skills/lisa-cross-pollinate/agents/openai.yaml +4 -0
  92. package/plugins/lisa/.codex-plugin/skills/lisa-debrief/SKILL.md +94 -0
  93. package/plugins/lisa/.codex-plugin/skills/lisa-debrief/agents/openai.yaml +4 -0
  94. package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/SKILL.md +63 -0
  95. package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/agents/openai.yaml +4 -0
  96. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +336 -0
  97. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/agents/openai.yaml +4 -0
  98. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +179 -0
  99. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/agents/openai.yaml +4 -0
  100. package/plugins/lisa/.codex-plugin/skills/lisa-epic-triage/SKILL.md +28 -0
  101. package/plugins/lisa/.codex-plugin/skills/lisa-epic-triage/agents/openai.yaml +4 -0
  102. package/plugins/lisa/.codex-plugin/skills/lisa-exploratory-qa/SKILL.md +91 -0
  103. package/plugins/lisa/.codex-plugin/skills/lisa-exploratory-qa/agents/openai.yaml +4 -0
  104. package/plugins/lisa/.codex-plugin/skills/lisa-fix-linter-error/SKILL.md +45 -0
  105. package/plugins/lisa/.codex-plugin/skills/lisa-fix-linter-error/agents/openai.yaml +4 -0
  106. package/plugins/lisa/.codex-plugin/skills/lisa-generate-claude-remote-build-script/SKILL.md +224 -0
  107. package/plugins/lisa/.codex-plugin/skills/lisa-generate-claude-remote-build-script/agents/openai.yaml +4 -0
  108. package/plugins/lisa/.codex-plugin/skills/lisa-git-commit/SKILL.md +48 -0
  109. package/plugins/lisa/.codex-plugin/skills/lisa-git-commit/agents/openai.yaml +4 -0
  110. package/plugins/lisa/.codex-plugin/skills/lisa-git-prune/SKILL.md +35 -0
  111. package/plugins/lisa/.codex-plugin/skills/lisa-git-prune/agents/openai.yaml +4 -0
  112. package/plugins/lisa/.codex-plugin/skills/lisa-git-submit-pr/SKILL.md +113 -0
  113. package/plugins/lisa/.codex-plugin/skills/lisa-git-submit-pr/agents/openai.yaml +4 -0
  114. package/plugins/lisa/.codex-plugin/skills/lisa-github-add-journey/SKILL.md +115 -0
  115. package/plugins/lisa/.codex-plugin/skills/lisa-github-add-journey/agents/openai.yaml +4 -0
  116. package/plugins/lisa/.codex-plugin/skills/lisa-github-build-intake/SKILL.md +446 -0
  117. package/plugins/lisa/.codex-plugin/skills/lisa-github-build-intake/agents/openai.yaml +4 -0
  118. package/plugins/lisa/.codex-plugin/skills/lisa-github-create/SKILL.md +101 -0
  119. package/plugins/lisa/.codex-plugin/skills/lisa-github-create/agents/openai.yaml +4 -0
  120. package/plugins/lisa/.codex-plugin/skills/lisa-github-evidence/SKILL.md +110 -0
  121. package/plugins/lisa/.codex-plugin/skills/lisa-github-evidence/agents/openai.yaml +4 -0
  122. package/plugins/lisa/.codex-plugin/skills/lisa-github-journey/SKILL.md +121 -0
  123. package/plugins/lisa/.codex-plugin/skills/lisa-github-journey/agents/openai.yaml +4 -0
  124. package/plugins/lisa/.codex-plugin/skills/lisa-github-prd-intake/SKILL.md +432 -0
  125. package/plugins/lisa/.codex-plugin/skills/lisa-github-prd-intake/agents/openai.yaml +4 -0
  126. package/plugins/lisa/.codex-plugin/skills/lisa-github-project-v2/SKILL.md +227 -0
  127. package/plugins/lisa/.codex-plugin/skills/lisa-github-project-v2/agents/openai.yaml +4 -0
  128. package/plugins/lisa/.codex-plugin/skills/lisa-github-read-issue/SKILL.md +248 -0
  129. package/plugins/lisa/.codex-plugin/skills/lisa-github-read-issue/agents/openai.yaml +4 -0
  130. package/plugins/lisa/.codex-plugin/skills/lisa-github-sync/SKILL.md +132 -0
  131. package/plugins/lisa/.codex-plugin/skills/lisa-github-sync/agents/openai.yaml +4 -0
  132. package/plugins/lisa/.codex-plugin/skills/lisa-github-to-tracker/SKILL.md +339 -0
  133. package/plugins/lisa/.codex-plugin/skills/lisa-github-to-tracker/agents/openai.yaml +4 -0
  134. package/plugins/lisa/.codex-plugin/skills/lisa-github-validate-issue/SKILL.md +330 -0
  135. package/plugins/lisa/.codex-plugin/skills/lisa-github-validate-issue/agents/openai.yaml +4 -0
  136. package/plugins/lisa/.codex-plugin/skills/lisa-github-verify/SKILL.md +29 -0
  137. package/plugins/lisa/.codex-plugin/skills/lisa-github-verify/agents/openai.yaml +4 -0
  138. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-issue/SKILL.md +339 -0
  139. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-issue/agents/openai.yaml +4 -0
  140. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-prd/SKILL.md +157 -0
  141. package/plugins/lisa/.codex-plugin/skills/lisa-github-write-prd/agents/openai.yaml +4 -0
  142. package/plugins/lisa/.codex-plugin/skills/lisa-implement/SKILL.md +202 -0
  143. package/plugins/lisa/.codex-plugin/skills/lisa-implement/agents/openai.yaml +4 -0
  144. package/plugins/lisa/.codex-plugin/skills/lisa-improve-code-complexity/SKILL.md +44 -0
  145. package/plugins/lisa/.codex-plugin/skills/lisa-improve-code-complexity/agents/openai.yaml +4 -0
  146. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines/SKILL.md +45 -0
  147. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines/agents/openai.yaml +4 -0
  148. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines-per-function/SKILL.md +46 -0
  149. package/plugins/lisa/.codex-plugin/skills/lisa-improve-max-lines-per-function/agents/openai.yaml +4 -0
  150. package/plugins/lisa/.codex-plugin/skills/lisa-improve-test-coverage/SKILL.md +44 -0
  151. package/plugins/lisa/.codex-plugin/skills/lisa-improve-test-coverage/agents/openai.yaml +4 -0
  152. package/plugins/lisa/.codex-plugin/skills/lisa-improve-tests/SKILL.md +47 -0
  153. package/plugins/lisa/.codex-plugin/skills/lisa-improve-tests/agents/openai.yaml +4 -0
  154. package/plugins/lisa/.codex-plugin/skills/lisa-intake/SKILL.md +133 -0
  155. package/plugins/lisa/.codex-plugin/skills/lisa-intake/agents/openai.yaml +4 -0
  156. package/plugins/lisa/.codex-plugin/skills/lisa-intake-explain/SKILL.md +279 -0
  157. package/plugins/lisa/.codex-plugin/skills/lisa-intake-explain/agents/openai.yaml +4 -0
  158. package/plugins/lisa/.codex-plugin/skills/lisa-jam-access/SKILL.md +52 -0
  159. package/plugins/lisa/.codex-plugin/skills/lisa-jam-access/agents/openai.yaml +4 -0
  160. package/plugins/lisa/.codex-plugin/skills/lisa-jira-add-journey/SKILL.md +121 -0
  161. package/plugins/lisa/.codex-plugin/skills/lisa-jira-add-journey/agents/openai.yaml +4 -0
  162. package/plugins/lisa/.codex-plugin/skills/lisa-jira-build-intake/SKILL.md +368 -0
  163. package/plugins/lisa/.codex-plugin/skills/lisa-jira-build-intake/agents/openai.yaml +4 -0
  164. package/plugins/lisa/.codex-plugin/skills/lisa-jira-create/SKILL.md +154 -0
  165. package/plugins/lisa/.codex-plugin/skills/lisa-jira-create/agents/openai.yaml +4 -0
  166. package/plugins/lisa/.codex-plugin/skills/lisa-jira-evidence/SKILL.md +90 -0
  167. package/plugins/lisa/.codex-plugin/skills/lisa-jira-evidence/agents/openai.yaml +4 -0
  168. package/plugins/lisa/.codex-plugin/skills/lisa-jira-evidence/scripts/post-evidence.sh +180 -0
  169. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/SKILL.md +127 -0
  170. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/agents/openai.yaml +4 -0
  171. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/scripts/generate-templates.py +233 -0
  172. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/scripts/parse-plan.py +368 -0
  173. package/plugins/lisa/.codex-plugin/skills/lisa-jira-read-ticket/SKILL.md +198 -0
  174. package/plugins/lisa/.codex-plugin/skills/lisa-jira-read-ticket/agents/openai.yaml +4 -0
  175. package/plugins/lisa/.codex-plugin/skills/lisa-jira-read-ticket/scripts/download-attachment.sh +110 -0
  176. package/plugins/lisa/.codex-plugin/skills/lisa-jira-sync/SKILL.md +108 -0
  177. package/plugins/lisa/.codex-plugin/skills/lisa-jira-sync/agents/openai.yaml +4 -0
  178. package/plugins/lisa/.codex-plugin/skills/lisa-jira-validate-ticket/SKILL.md +317 -0
  179. package/plugins/lisa/.codex-plugin/skills/lisa-jira-validate-ticket/agents/openai.yaml +4 -0
  180. package/plugins/lisa/.codex-plugin/skills/lisa-jira-verify/SKILL.md +30 -0
  181. package/plugins/lisa/.codex-plugin/skills/lisa-jira-verify/agents/openai.yaml +4 -0
  182. package/plugins/lisa/.codex-plugin/skills/lisa-jira-write-ticket/SKILL.md +267 -0
  183. package/plugins/lisa/.codex-plugin/skills/lisa-jira-write-ticket/agents/openai.yaml +4 -0
  184. package/plugins/lisa/.codex-plugin/skills/lisa-jsdoc-best-practices/SKILL.md +432 -0
  185. package/plugins/lisa/.codex-plugin/skills/lisa-jsdoc-best-practices/agents/openai.yaml +4 -0
  186. package/plugins/lisa/.codex-plugin/skills/lisa-linear-access/SKILL.md +90 -0
  187. package/plugins/lisa/.codex-plugin/skills/lisa-linear-access/agents/openai.yaml +4 -0
  188. package/plugins/lisa/.codex-plugin/skills/lisa-linear-add-journey/SKILL.md +105 -0
  189. package/plugins/lisa/.codex-plugin/skills/lisa-linear-add-journey/agents/openai.yaml +4 -0
  190. package/plugins/lisa/.codex-plugin/skills/lisa-linear-build-intake/SKILL.md +346 -0
  191. package/plugins/lisa/.codex-plugin/skills/lisa-linear-build-intake/agents/openai.yaml +4 -0
  192. package/plugins/lisa/.codex-plugin/skills/lisa-linear-create/SKILL.md +146 -0
  193. package/plugins/lisa/.codex-plugin/skills/lisa-linear-create/agents/openai.yaml +4 -0
  194. package/plugins/lisa/.codex-plugin/skills/lisa-linear-evidence/SKILL.md +103 -0
  195. package/plugins/lisa/.codex-plugin/skills/lisa-linear-evidence/agents/openai.yaml +4 -0
  196. package/plugins/lisa/.codex-plugin/skills/lisa-linear-journey/SKILL.md +134 -0
  197. package/plugins/lisa/.codex-plugin/skills/lisa-linear-journey/agents/openai.yaml +4 -0
  198. package/plugins/lisa/.codex-plugin/skills/lisa-linear-prd-intake/SKILL.md +383 -0
  199. package/plugins/lisa/.codex-plugin/skills/lisa-linear-prd-intake/agents/openai.yaml +4 -0
  200. package/plugins/lisa/.codex-plugin/skills/lisa-linear-read-issue/SKILL.md +200 -0
  201. package/plugins/lisa/.codex-plugin/skills/lisa-linear-read-issue/agents/openai.yaml +4 -0
  202. package/plugins/lisa/.codex-plugin/skills/lisa-linear-sync/SKILL.md +127 -0
  203. package/plugins/lisa/.codex-plugin/skills/lisa-linear-sync/agents/openai.yaml +4 -0
  204. package/plugins/lisa/.codex-plugin/skills/lisa-linear-to-tracker/SKILL.md +339 -0
  205. package/plugins/lisa/.codex-plugin/skills/lisa-linear-to-tracker/agents/openai.yaml +4 -0
  206. package/plugins/lisa/.codex-plugin/skills/lisa-linear-validate-issue/SKILL.md +314 -0
  207. package/plugins/lisa/.codex-plugin/skills/lisa-linear-validate-issue/agents/openai.yaml +4 -0
  208. package/plugins/lisa/.codex-plugin/skills/lisa-linear-verify/SKILL.md +51 -0
  209. package/plugins/lisa/.codex-plugin/skills/lisa-linear-verify/agents/openai.yaml +4 -0
  210. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-issue/SKILL.md +292 -0
  211. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-issue/agents/openai.yaml +4 -0
  212. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-prd/SKILL.md +96 -0
  213. package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-prd/agents/openai.yaml +4 -0
  214. package/plugins/lisa/.codex-plugin/skills/lisa-monitor/SKILL.md +69 -0
  215. package/plugins/lisa/.codex-plugin/skills/lisa-monitor/agents/openai.yaml +4 -0
  216. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-add-test-coverage/SKILL.md +40 -0
  217. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-add-test-coverage/agents/openai.yaml +4 -0
  218. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-improve-tests/SKILL.md +29 -0
  219. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-improve-tests/agents/openai.yaml +4 -0
  220. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-lower-code-complexity/SKILL.md +28 -0
  221. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-lower-code-complexity/agents/openai.yaml +4 -0
  222. package/plugins/lisa/.codex-plugin/skills/lisa-notion-access/SKILL.md +226 -0
  223. package/plugins/lisa/.codex-plugin/skills/lisa-notion-access/agents/openai.yaml +4 -0
  224. package/plugins/lisa/.codex-plugin/skills/lisa-notion-prd-intake/SKILL.md +360 -0
  225. package/plugins/lisa/.codex-plugin/skills/lisa-notion-prd-intake/agents/openai.yaml +4 -0
  226. package/plugins/lisa/.codex-plugin/skills/lisa-notion-to-tracker/SKILL.md +353 -0
  227. package/plugins/lisa/.codex-plugin/skills/lisa-notion-to-tracker/agents/openai.yaml +4 -0
  228. package/plugins/lisa/.codex-plugin/skills/lisa-notion-write-prd/SKILL.md +109 -0
  229. package/plugins/lisa/.codex-plugin/skills/lisa-notion-write-prd/agents/openai.yaml +4 -0
  230. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-review/SKILL.md +83 -0
  231. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-review/agents/openai.yaml +4 -0
  232. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-simplifier/SKILL.md +76 -0
  233. package/plugins/lisa/.codex-plugin/skills/lisa-parity-code-simplifier/agents/openai.yaml +4 -0
  234. package/plugins/lisa/.codex-plugin/skills/lisa-parity-coderabbit/SKILL.md +77 -0
  235. package/plugins/lisa/.codex-plugin/skills/lisa-parity-coderabbit/agents/openai.yaml +4 -0
  236. package/plugins/lisa/.codex-plugin/skills/lisa-parity-safety-net-rules/SKILL.md +144 -0
  237. package/plugins/lisa/.codex-plugin/skills/lisa-parity-safety-net-rules/agents/openai.yaml +4 -0
  238. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +211 -0
  239. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/agents/openai.yaml +4 -0
  240. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-seer/SKILL.md +135 -0
  241. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-seer/agents/openai.yaml +4 -0
  242. package/plugins/lisa/.codex-plugin/skills/lisa-parity-skill-creator/SKILL.md +151 -0
  243. package/plugins/lisa/.codex-plugin/skills/lisa-parity-skill-creator/agents/openai.yaml +4 -0
  244. package/plugins/lisa/.codex-plugin/skills/lisa-performance-review/SKILL.md +94 -0
  245. package/plugins/lisa/.codex-plugin/skills/lisa-performance-review/agents/openai.yaml +4 -0
  246. package/plugins/lisa/.codex-plugin/skills/lisa-plan/SKILL.md +60 -0
  247. package/plugins/lisa/.codex-plugin/skills/lisa-plan/agents/openai.yaml +4 -0
  248. package/plugins/lisa/.codex-plugin/skills/lisa-plugin-sync-explain/SKILL.md +53 -0
  249. package/plugins/lisa/.codex-plugin/skills/lisa-plugin-sync-explain/agents/openai.yaml +4 -0
  250. package/plugins/lisa/.codex-plugin/skills/lisa-posthog-access/SKILL.md +60 -0
  251. package/plugins/lisa/.codex-plugin/skills/lisa-posthog-access/agents/openai.yaml +4 -0
  252. package/plugins/lisa/.codex-plugin/skills/lisa-prd-backlink/SKILL.md +265 -0
  253. package/plugins/lisa/.codex-plugin/skills/lisa-prd-backlink/agents/openai.yaml +4 -0
  254. package/plugins/lisa/.codex-plugin/skills/lisa-prd-source-write/SKILL.md +101 -0
  255. package/plugins/lisa/.codex-plugin/skills/lisa-prd-source-write/agents/openai.yaml +4 -0
  256. package/plugins/lisa/.codex-plugin/skills/lisa-prd-ticket-coverage/SKILL.md +170 -0
  257. package/plugins/lisa/.codex-plugin/skills/lisa-prd-ticket-coverage/agents/openai.yaml +4 -0
  258. package/plugins/lisa/.codex-plugin/skills/lisa-product-walkthrough/SKILL.md +104 -0
  259. package/plugins/lisa/.codex-plugin/skills/lisa-product-walkthrough/agents/openai.yaml +4 -0
  260. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/SKILL.md +315 -0
  261. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/agents/openai.yaml +4 -0
  262. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/evidence-card-format.md +21 -0
  263. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/host-project-only.md +22 -0
  264. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/idempotency-verification-harness.md +57 -0
  265. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/public-external-inspiration.md +22 -0
  266. package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/examples/unavailable-data-rejection.md +22 -0
  267. package/plugins/lisa/.codex-plugin/skills/lisa-pull-request-review/SKILL.md +84 -0
  268. package/plugins/lisa/.codex-plugin/skills/lisa-pull-request-review/agents/openai.yaml +4 -0
  269. package/plugins/lisa/.codex-plugin/skills/lisa-quality-review/SKILL.md +54 -0
  270. package/plugins/lisa/.codex-plugin/skills/lisa-quality-review/agents/openai.yaml +4 -0
  271. package/plugins/lisa/.codex-plugin/skills/lisa-queue-status/SKILL.md +133 -0
  272. package/plugins/lisa/.codex-plugin/skills/lisa-queue-status/agents/openai.yaml +4 -0
  273. package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/SKILL.md +1030 -0
  274. package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/agents/openai.yaml +4 -0
  275. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/SKILL.md +96 -0
  276. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/agents/openai.yaml +4 -0
  277. package/plugins/lisa/.codex-plugin/skills/lisa-research/SKILL.md +68 -0
  278. package/plugins/lisa/.codex-plugin/skills/lisa-research/agents/openai.yaml +4 -0
  279. package/plugins/lisa/.codex-plugin/skills/lisa-review-implementation/SKILL.md +209 -0
  280. package/plugins/lisa/.codex-plugin/skills/lisa-review-implementation/agents/openai.yaml +4 -0
  281. package/plugins/lisa/.codex-plugin/skills/lisa-review-local/SKILL.md +88 -0
  282. package/plugins/lisa/.codex-plugin/skills/lisa-review-local/agents/openai.yaml +4 -0
  283. package/plugins/lisa/.codex-plugin/skills/lisa-root-cause-analysis/SKILL.md +155 -0
  284. package/plugins/lisa/.codex-plugin/skills/lisa-root-cause-analysis/agents/openai.yaml +4 -0
  285. package/plugins/lisa/.codex-plugin/skills/lisa-security-review/SKILL.md +57 -0
  286. package/plugins/lisa/.codex-plugin/skills/lisa-security-review/agents/openai.yaml +4 -0
  287. package/plugins/lisa/.codex-plugin/skills/lisa-security-zap-scan/SKILL.md +33 -0
  288. package/plugins/lisa/.codex-plugin/skills/lisa-security-zap-scan/agents/openai.yaml +4 -0
  289. package/plugins/lisa/.codex-plugin/skills/lisa-sentry-access/SKILL.md +56 -0
  290. package/plugins/lisa/.codex-plugin/skills/lisa-sentry-access/agents/openai.yaml +4 -0
  291. package/plugins/lisa/.codex-plugin/skills/lisa-setup-atlassian/SKILL.md +347 -0
  292. package/plugins/lisa/.codex-plugin/skills/lisa-setup-atlassian/agents/openai.yaml +4 -0
  293. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/SKILL.md +103 -0
  294. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/agents/openai.yaml +4 -0
  295. package/plugins/lisa/.codex-plugin/skills/lisa-setup-confluence/SKILL.md +254 -0
  296. package/plugins/lisa/.codex-plugin/skills/lisa-setup-confluence/agents/openai.yaml +4 -0
  297. package/plugins/lisa/.codex-plugin/skills/lisa-setup-github/SKILL.md +268 -0
  298. package/plugins/lisa/.codex-plugin/skills/lisa-setup-github/agents/openai.yaml +4 -0
  299. package/plugins/lisa/.codex-plugin/skills/lisa-setup-jira/SKILL.md +198 -0
  300. package/plugins/lisa/.codex-plugin/skills/lisa-setup-jira/agents/openai.yaml +4 -0
  301. package/plugins/lisa/.codex-plugin/skills/lisa-setup-linear/SKILL.md +251 -0
  302. package/plugins/lisa/.codex-plugin/skills/lisa-setup-linear/agents/openai.yaml +4 -0
  303. package/plugins/lisa/.codex-plugin/skills/lisa-setup-notion/SKILL.md +316 -0
  304. package/plugins/lisa/.codex-plugin/skills/lisa-setup-notion/agents/openai.yaml +4 -0
  305. package/plugins/lisa/.codex-plugin/skills/lisa-sonarcloud-access/SKILL.md +71 -0
  306. package/plugins/lisa/.codex-plugin/skills/lisa-sonarcloud-access/agents/openai.yaml +4 -0
  307. package/plugins/lisa/.codex-plugin/skills/lisa-spec-conformance/SKILL.md +159 -0
  308. package/plugins/lisa/.codex-plugin/skills/lisa-spec-conformance/agents/openai.yaml +4 -0
  309. package/plugins/lisa/.codex-plugin/skills/lisa-sync-down/SKILL.md +171 -0
  310. package/plugins/lisa/.codex-plugin/skills/lisa-sync-down/agents/openai.yaml +4 -0
  311. package/plugins/lisa/.codex-plugin/skills/lisa-task-decomposition/SKILL.md +127 -0
  312. package/plugins/lisa/.codex-plugin/skills/lisa-task-decomposition/agents/openai.yaml +4 -0
  313. package/plugins/lisa/.codex-plugin/skills/lisa-task-triage/SKILL.md +23 -0
  314. package/plugins/lisa/.codex-plugin/skills/lisa-task-triage/agents/openai.yaml +4 -0
  315. package/plugins/lisa/.codex-plugin/skills/lisa-tdd-implementation/SKILL.md +86 -0
  316. package/plugins/lisa/.codex-plugin/skills/lisa-tdd-implementation/agents/openai.yaml +4 -0
  317. package/plugins/lisa/.codex-plugin/skills/lisa-tear-down-automations/SKILL.md +34 -0
  318. package/plugins/lisa/.codex-plugin/skills/lisa-tear-down-automations/agents/openai.yaml +4 -0
  319. package/plugins/lisa/.codex-plugin/skills/lisa-test-strategy/SKILL.md +63 -0
  320. package/plugins/lisa/.codex-plugin/skills/lisa-test-strategy/agents/openai.yaml +4 -0
  321. package/plugins/lisa/.codex-plugin/skills/lisa-ticket-triage/SKILL.md +186 -0
  322. package/plugins/lisa/.codex-plugin/skills/lisa-ticket-triage/agents/openai.yaml +4 -0
  323. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-add-journey/SKILL.md +27 -0
  324. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-add-journey/agents/openai.yaml +4 -0
  325. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-build-intake/SKILL.md +86 -0
  326. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-build-intake/agents/openai.yaml +4 -0
  327. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-create/SKILL.md +27 -0
  328. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-create/agents/openai.yaml +4 -0
  329. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/SKILL.md +53 -0
  330. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/agents/openai.yaml +4 -0
  331. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-journey/SKILL.md +27 -0
  332. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-journey/agents/openai.yaml +4 -0
  333. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-read/SKILL.md +28 -0
  334. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-read/agents/openai.yaml +4 -0
  335. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-source-artifacts/SKILL.md +107 -0
  336. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-source-artifacts/agents/openai.yaml +4 -0
  337. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-sync/SKILL.md +65 -0
  338. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-sync/agents/openai.yaml +4 -0
  339. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-validate/SKILL.md +37 -0
  340. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-validate/agents/openai.yaml +4 -0
  341. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-verify/SKILL.md +29 -0
  342. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-verify/agents/openai.yaml +4 -0
  343. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-write/SKILL.md +54 -0
  344. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-write/agents/openai.yaml +4 -0
  345. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/SKILL.md +170 -0
  346. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/agents/openai.yaml +4 -0
  347. package/plugins/lisa/.codex-plugin/skills/lisa-use-the-product/SKILL.md +86 -0
  348. package/plugins/lisa/.codex-plugin/skills/lisa-use-the-product/agents/openai.yaml +4 -0
  349. package/plugins/lisa/.codex-plugin/skills/lisa-validate-tracker-mapping/SKILL.md +195 -0
  350. package/plugins/lisa/.codex-plugin/skills/lisa-validate-tracker-mapping/agents/openai.yaml +4 -0
  351. package/plugins/lisa/.codex-plugin/skills/lisa-verification-lifecycle/SKILL.md +365 -0
  352. package/plugins/lisa/.codex-plugin/skills/lisa-verification-lifecycle/agents/openai.yaml +4 -0
  353. package/plugins/lisa/.codex-plugin/skills/lisa-verify/SKILL.md +52 -0
  354. package/plugins/lisa/.codex-plugin/skills/lisa-verify/agents/openai.yaml +4 -0
  355. package/plugins/lisa/.codex-plugin/skills/lisa-verify-prd/SKILL.md +392 -0
  356. package/plugins/lisa/.codex-plugin/skills/lisa-verify-prd/agents/openai.yaml +4 -0
  357. package/plugins/lisa/.codex-plugin/skills/lisa-wiki-install/SKILL.md +101 -0
  358. package/plugins/lisa/.codex-plugin/skills/lisa-wiki-install/agents/openai.yaml +4 -0
  359. package/plugins/lisa/hooks/inject-rules.sh +3 -2
  360. package/plugins/lisa/hooks/install-pkgs.sh +4 -45
  361. package/plugins/lisa/hooks/setup-jira-cli.sh +4 -12
  362. package/plugins/lisa/skills/lisa-setup-linear/SKILL.md +1 -1
  363. package/plugins/lisa-agy/plugin.json +1 -1
  364. package/plugins/lisa-agy/skills/lisa-setup-linear/SKILL.md +1 -1
  365. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  366. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  367. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  368. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  369. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  370. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  371. package/plugins/lisa-copilot/hooks/inject-rules.sh +3 -2
  372. package/plugins/lisa-copilot/hooks/install-pkgs.sh +4 -45
  373. package/plugins/lisa-copilot/hooks/setup-jira-cli.sh +4 -12
  374. package/plugins/lisa-copilot/skills/lisa-setup-linear/SKILL.md +1 -1
  375. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  376. package/plugins/lisa-cursor/hooks/install-pkgs.sh +4 -45
  377. package/plugins/lisa-cursor/hooks/setup-jira-cli.sh +4 -12
  378. package/plugins/lisa-cursor/skills/lisa-setup-linear/SKILL.md +1 -1
  379. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  380. package/plugins/lisa-expo/.codex-plugin/plugin.json +2 -2
  381. package/plugins/lisa-expo/.codex-plugin/skills/add-app-clip/SKILL.md +280 -0
  382. package/plugins/lisa-expo/.codex-plugin/skills/add-app-clip/agents/openai.yaml +4 -0
  383. package/plugins/lisa-expo/.codex-plugin/skills/add-app-clip/references/native-module.md +96 -0
  384. package/plugins/lisa-expo/.codex-plugin/skills/apollo-client/SKILL.md +238 -0
  385. package/plugins/lisa-expo/.codex-plugin/skills/apollo-client/agents/openai.yaml +4 -0
  386. package/plugins/lisa-expo/.codex-plugin/skills/apollo-client/references/mutation-patterns.md +360 -0
  387. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/SKILL.md +367 -0
  388. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/agents/openai.yaml +4 -0
  389. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  390. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  391. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  392. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/scripts/test_validate_atomic_structure.py +240 -0
  393. package/plugins/lisa-expo/.codex-plugin/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +438 -0
  394. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/SKILL.md +321 -0
  395. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/agents/openai.yaml +4 -0
  396. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/animations.md +220 -0
  397. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/controls.md +272 -0
  398. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/form-sheet.md +253 -0
  399. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/gradients.md +106 -0
  400. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/icons.md +213 -0
  401. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/media.md +198 -0
  402. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/route-structure.md +229 -0
  403. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/search.md +248 -0
  404. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/storage.md +121 -0
  405. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/tabs.md +433 -0
  406. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  407. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/visual-effects.md +197 -0
  408. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/webgpu-three.md +605 -0
  409. package/plugins/lisa-expo/.codex-plugin/skills/building-native-ui/references/zoom-transitions.md +158 -0
  410. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/SKILL.md +299 -0
  411. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/agents/openai.yaml +4 -0
  412. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/references/examples.md +749 -0
  413. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/references/patterns.md +318 -0
  414. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/scripts/create_component.py +200 -0
  415. package/plugins/lisa-expo/.codex-plugin/skills/container-view-pattern/scripts/validate_component.py +209 -0
  416. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/SKILL.md +268 -0
  417. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/agents/openai.yaml +4 -0
  418. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  419. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  420. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  421. package/plugins/lisa-expo/.codex-plugin/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  422. package/plugins/lisa-expo/.codex-plugin/skills/directory-structure/SKILL.md +214 -0
  423. package/plugins/lisa-expo/.codex-plugin/skills/directory-structure/agents/openai.yaml +4 -0
  424. package/plugins/lisa-expo/.codex-plugin/skills/directory-structure/scripts/validate_structure.py +454 -0
  425. package/plugins/lisa-expo/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +105 -0
  426. package/plugins/lisa-expo/.codex-plugin/skills/e2e-coverage-gaps/agents/openai.yaml +4 -0
  427. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/SKILL.md +228 -0
  428. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/agents/openai.yaml +4 -0
  429. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  430. package/plugins/lisa-expo/.codex-plugin/skills/eas-update-insights/references/update-insights-schema.md +69 -0
  431. package/plugins/lisa-expo/.codex-plugin/skills/expo-api-routes/SKILL.md +369 -0
  432. package/plugins/lisa-expo/.codex-plugin/skills/expo-api-routes/agents/openai.yaml +4 -0
  433. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/SKILL.md +54 -0
  434. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/agents/openai.yaml +4 -0
  435. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  436. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  437. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/comparison.md +63 -0
  438. package/plugins/lisa-expo/.codex-plugin/skills/expo-brownfield/references/troubleshooting.md +88 -0
  439. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/SKILL.md +92 -0
  440. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/agents/openai.yaml +4 -0
  441. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/scripts/fetch.js +113 -0
  442. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/scripts/package.json +11 -0
  443. package/plugins/lisa-expo/.codex-plugin/skills/expo-cicd-workflows/scripts/validate.js +85 -0
  444. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/SKILL.md +193 -0
  445. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/agents/openai.yaml +4 -0
  446. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/app-store-metadata.md +479 -0
  447. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/ios-app-store.md +355 -0
  448. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/play-store.md +264 -0
  449. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/testflight.md +58 -0
  450. package/plugins/lisa-expo/.codex-plugin/skills/expo-deployment/references/workflows.md +200 -0
  451. package/plugins/lisa-expo/.codex-plugin/skills/expo-dev-client/SKILL.md +164 -0
  452. package/plugins/lisa-expo/.codex-plugin/skills/expo-dev-client/agents/openai.yaml +4 -0
  453. package/plugins/lisa-expo/.codex-plugin/skills/expo-env-config/SKILL.md +309 -0
  454. package/plugins/lisa-expo/.codex-plugin/skills/expo-env-config/agents/openai.yaml +4 -0
  455. package/plugins/lisa-expo/.codex-plugin/skills/expo-env-config/references/validation-patterns.md +417 -0
  456. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/SKILL.md +141 -0
  457. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/agents/openai.yaml +4 -0
  458. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/config-plugin.md +90 -0
  459. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/create-expo-module.md +206 -0
  460. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/lifecycle.md +127 -0
  461. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/module-config.md +48 -0
  462. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/native-module.md +286 -0
  463. package/plugins/lisa-expo/.codex-plugin/skills/expo-module/references/native-view.md +171 -0
  464. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/SKILL.md +431 -0
  465. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/agents/openai.yaml +4 -0
  466. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/references/official-docs.md +290 -0
  467. package/plugins/lisa-expo/.codex-plugin/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  468. package/plugins/lisa-expo/.codex-plugin/skills/expo-tailwind-setup/SKILL.md +480 -0
  469. package/plugins/lisa-expo/.codex-plugin/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  470. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-jetpack-compose/SKILL.md +40 -0
  471. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-jetpack-compose/agents/openai.yaml +4 -0
  472. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-swift-ui/SKILL.md +39 -0
  473. package/plugins/lisa-expo/.codex-plugin/skills/expo-ui-swift-ui/agents/openai.yaml +4 -0
  474. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/SKILL.md +419 -0
  475. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/agents/openai.yaml +4 -0
  476. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  477. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  478. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  479. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/scripts/test_validate_styling.py +240 -0
  480. package/plugins/lisa-expo/.codex-plugin/skills/gluestack-nativewind/scripts/validate_styling.py +424 -0
  481. package/plugins/lisa-expo/.codex-plugin/skills/jira-add-journey/SKILL.md +126 -0
  482. package/plugins/lisa-expo/.codex-plugin/skills/jira-add-journey/agents/openai.yaml +4 -0
  483. package/plugins/lisa-expo/.codex-plugin/skills/jira-create/SKILL.md +161 -0
  484. package/plugins/lisa-expo/.codex-plugin/skills/jira-create/agents/openai.yaml +4 -0
  485. package/plugins/lisa-expo/.codex-plugin/skills/jira-evidence/SKILL.md +78 -0
  486. package/plugins/lisa-expo/.codex-plugin/skills/jira-evidence/agents/openai.yaml +4 -0
  487. package/plugins/lisa-expo/.codex-plugin/skills/jira-evidence/scripts/post-evidence.sh +180 -0
  488. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/SKILL.md +190 -0
  489. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/agents/openai.yaml +4 -0
  490. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/scripts/generate-templates.py +281 -0
  491. package/plugins/lisa-expo/.codex-plugin/skills/jira-journey/scripts/parse-plan.py +368 -0
  492. package/plugins/lisa-expo/.codex-plugin/skills/jira-verify/SKILL.md +27 -0
  493. package/plugins/lisa-expo/.codex-plugin/skills/jira-verify/agents/openai.yaml +4 -0
  494. package/plugins/lisa-expo/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +13 -0
  495. package/plugins/lisa-expo/.codex-plugin/skills/lisa-e2e-coverage-gaps/agents/openai.yaml +4 -0
  496. package/plugins/lisa-expo/.codex-plugin/skills/local-state/SKILL.md +362 -0
  497. package/plugins/lisa-expo/.codex-plugin/skills/local-state/agents/openai.yaml +4 -0
  498. package/plugins/lisa-expo/.codex-plugin/skills/local-state/references/async-storage.md +505 -0
  499. package/plugins/lisa-expo/.codex-plugin/skills/local-state/references/persistence-patterns.md +711 -0
  500. package/plugins/lisa-expo/.codex-plugin/skills/local-state/references/reactive-variables.md +446 -0
  501. package/plugins/lisa-expo/.codex-plugin/skills/native-data-fetching/SKILL.md +507 -0
  502. package/plugins/lisa-expo/.codex-plugin/skills/native-data-fetching/agents/openai.yaml +4 -0
  503. package/plugins/lisa-expo/.codex-plugin/skills/native-data-fetching/references/expo-router-loaders.md +344 -0
  504. package/plugins/lisa-expo/.codex-plugin/skills/ops-browser-uat/SKILL.md +124 -0
  505. package/plugins/lisa-expo/.codex-plugin/skills/ops-browser-uat/agents/openai.yaml +4 -0
  506. package/plugins/lisa-expo/.codex-plugin/skills/ops-check-logs/SKILL.md +217 -0
  507. package/plugins/lisa-expo/.codex-plugin/skills/ops-check-logs/agents/openai.yaml +4 -0
  508. package/plugins/lisa-expo/.codex-plugin/skills/ops-db-ops/SKILL.md +123 -0
  509. package/plugins/lisa-expo/.codex-plugin/skills/ops-db-ops/agents/openai.yaml +4 -0
  510. package/plugins/lisa-expo/.codex-plugin/skills/ops-deploy/SKILL.md +123 -0
  511. package/plugins/lisa-expo/.codex-plugin/skills/ops-deploy/agents/openai.yaml +4 -0
  512. package/plugins/lisa-expo/.codex-plugin/skills/ops-monitor-errors/SKILL.md +99 -0
  513. package/plugins/lisa-expo/.codex-plugin/skills/ops-monitor-errors/agents/openai.yaml +4 -0
  514. package/plugins/lisa-expo/.codex-plugin/skills/ops-performance/SKILL.md +165 -0
  515. package/plugins/lisa-expo/.codex-plugin/skills/ops-performance/agents/openai.yaml +4 -0
  516. package/plugins/lisa-expo/.codex-plugin/skills/ops-run-local/SKILL.md +169 -0
  517. package/plugins/lisa-expo/.codex-plugin/skills/ops-run-local/agents/openai.yaml +4 -0
  518. package/plugins/lisa-expo/.codex-plugin/skills/ops-verify-health/SKILL.md +101 -0
  519. package/plugins/lisa-expo/.codex-plugin/skills/ops-verify-health/agents/openai.yaml +4 -0
  520. package/plugins/lisa-expo/.codex-plugin/skills/owasp-zap/SKILL.md +61 -0
  521. package/plugins/lisa-expo/.codex-plugin/skills/owasp-zap/agents/openai.yaml +4 -0
  522. package/plugins/lisa-expo/.codex-plugin/skills/play-store-access/SKILL.md +226 -0
  523. package/plugins/lisa-expo/.codex-plugin/skills/play-store-access/agents/openai.yaml +4 -0
  524. package/plugins/lisa-expo/.codex-plugin/skills/playwright-ci-debugging/SKILL.md +140 -0
  525. package/plugins/lisa-expo/.codex-plugin/skills/playwright-ci-debugging/agents/openai.yaml +4 -0
  526. package/plugins/lisa-expo/.codex-plugin/skills/playwright-selectors/SKILL.md +455 -0
  527. package/plugins/lisa-expo/.codex-plugin/skills/playwright-selectors/agents/openai.yaml +4 -0
  528. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/SKILL.md +251 -0
  529. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/agents/openai.yaml +4 -0
  530. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/references/extraction-strategies.md +456 -0
  531. package/plugins/lisa-expo/.codex-plugin/skills/reduce-complexity/references/refactoring-patterns.md +557 -0
  532. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/SKILL.md +314 -0
  533. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/agents/openai.yaml +4 -0
  534. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/async-patterns.md +420 -0
  535. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/expo-router-testing.md +556 -0
  536. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/mocking-patterns.md +590 -0
  537. package/plugins/lisa-expo/.codex-plugin/skills/testing-library/references/query-priority.md +291 -0
  538. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/SKILL.md +134 -0
  539. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/agents/openai.yaml +4 -0
  540. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  541. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  542. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/native-tabs.md +124 -0
  543. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/new-architecture.md +79 -0
  544. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/react-19.md +79 -0
  545. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/react-compiler.md +59 -0
  546. package/plugins/lisa-expo/.codex-plugin/skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  547. package/plugins/lisa-expo/.codex-plugin/skills/use-dom/SKILL.md +417 -0
  548. package/plugins/lisa-expo/.codex-plugin/skills/use-dom/agents/openai.yaml +4 -0
  549. package/plugins/lisa-expo/.mcp.json +0 -4
  550. package/plugins/lisa-expo/THIRD-PARTY-NOTICES.md +14 -6
  551. package/plugins/lisa-expo/skills/building-native-ui/SKILL.md +1 -1
  552. package/plugins/lisa-expo-agy/THIRD-PARTY-NOTICES.md +14 -6
  553. package/plugins/lisa-expo-agy/plugin.json +1 -1
  554. package/plugins/lisa-expo-agy/skills/building-native-ui/SKILL.md +1 -1
  555. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -7
  556. package/plugins/lisa-expo-copilot/.mcp.json +0 -4
  557. package/plugins/lisa-expo-copilot/THIRD-PARTY-NOTICES.md +14 -6
  558. package/plugins/lisa-expo-copilot/skills/building-native-ui/SKILL.md +1 -1
  559. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  560. package/plugins/lisa-expo-cursor/THIRD-PARTY-NOTICES.md +14 -6
  561. package/plugins/lisa-expo-cursor/mcp.json +0 -4
  562. package/plugins/lisa-expo-cursor/skills/building-native-ui/SKILL.md +1 -1
  563. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  564. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +2 -2
  565. package/plugins/lisa-harper-fabric/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +105 -0
  566. package/plugins/lisa-harper-fabric/.codex-plugin/skills/e2e-coverage-gaps/agents/openai.yaml +4 -0
  567. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-auth/SKILL.md +368 -0
  568. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-auth/agents/openai.yaml +4 -0
  569. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-build-and-deploy/SKILL.md +198 -0
  570. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-build-and-deploy/agents/openai.yaml +4 -0
  571. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-caching/SKILL.md +265 -0
  572. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-caching/agents/openai.yaml +4 -0
  573. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-component-model/SKILL.md +87 -0
  574. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-component-model/agents/openai.yaml +4 -0
  575. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-config-yaml/SKILL.md +283 -0
  576. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-config-yaml/agents/openai.yaml +4 -0
  577. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-operations/SKILL.md +239 -0
  578. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-operations/agents/openai.yaml +4 -0
  579. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-realtime/SKILL.md +187 -0
  580. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-realtime/agents/openai.yaml +4 -0
  581. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-resources/SKILL.md +142 -0
  582. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-resources/agents/openai.yaml +4 -0
  583. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-rest-queries/SKILL.md +403 -0
  584. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-rest-queries/agents/openai.yaml +4 -0
  585. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-schema-graphql/SKILL.md +123 -0
  586. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-schema-graphql/agents/openai.yaml +4 -0
  587. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-testing/SKILL.md +254 -0
  588. package/plugins/lisa-harper-fabric/.codex-plugin/skills/harper-testing/agents/openai.yaml +4 -0
  589. package/plugins/lisa-harper-fabric/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +13 -0
  590. package/plugins/lisa-harper-fabric/.codex-plugin/skills/lisa-e2e-coverage-gaps/agents/openai.yaml +4 -0
  591. package/plugins/lisa-harper-fabric/hooks/block-generated-artifact-edits.sh +42 -24
  592. package/plugins/lisa-harper-fabric/hooks/enforce-config-extensions.mjs +12 -14
  593. package/plugins/lisa-harper-fabric/hooks/enforce-config-extensions.sh +30 -3
  594. package/plugins/lisa-harper-fabric/hooks/inject-rules.sh +1 -1
  595. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  596. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  597. package/plugins/lisa-harper-fabric-copilot/hooks/block-generated-artifact-edits.sh +42 -24
  598. package/plugins/lisa-harper-fabric-copilot/hooks/enforce-config-extensions.mjs +12 -14
  599. package/plugins/lisa-harper-fabric-copilot/hooks/enforce-config-extensions.sh +30 -3
  600. package/plugins/lisa-harper-fabric-copilot/hooks/inject-rules.sh +1 -1
  601. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  602. package/plugins/lisa-harper-fabric-cursor/hooks/block-generated-artifact-edits.sh +42 -24
  603. package/plugins/lisa-harper-fabric-cursor/hooks/enforce-config-extensions.mjs +12 -14
  604. package/plugins/lisa-harper-fabric-cursor/hooks/enforce-config-extensions.sh +30 -3
  605. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  606. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +2 -2
  607. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/SKILL.md +176 -0
  608. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/agents/openai.yaml +4 -0
  609. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/advanced-features.md +527 -0
  610. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/project-patterns.md +531 -0
  611. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/quick-start.md +257 -0
  612. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  613. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-graphql/references/types-scalars.md +513 -0
  614. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-rules/SKILL.md +565 -0
  615. package/plugins/lisa-nestjs/.codex-plugin/skills/nestjs-rules/agents/openai.yaml +4 -0
  616. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/SKILL.md +275 -0
  617. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/agents/openai.yaml +4 -0
  618. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  619. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  620. package/plugins/lisa-nestjs/.codex-plugin/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  621. package/plugins/lisa-nestjs/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  622. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  623. package/plugins/lisa-nestjs-agy/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  624. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  625. package/plugins/lisa-nestjs-copilot/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  626. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  627. package/plugins/lisa-nestjs-cursor/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  628. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  629. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +2 -2
  630. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-repo-topic/SKILL.md +13 -0
  631. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-repo-topic/agents/openai.yaml +4 -0
  632. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-slack/SKILL.md +13 -0
  633. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-slack/agents/openai.yaml +4 -0
  634. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-telegram/SKILL.md +13 -0
  635. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-connect-staff-telegram/agents/openai.yaml +4 -0
  636. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-repo-topic/SKILL.md +163 -0
  637. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-repo-topic/agents/openai.yaml +4 -0
  638. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +185 -0
  639. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
  640. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/agents/openai.yaml +4 -0
  641. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/references/platform-routing.md +123 -0
  642. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
  643. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-setup/SKILL.md +141 -0
  644. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-openclaw-setup/agents/openai.yaml +4 -0
  645. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-setup-openclaw/SKILL.md +13 -0
  646. package/plugins/lisa-openclaw/.codex-plugin/skills/lisa-setup-openclaw/agents/openai.yaml +4 -0
  647. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  648. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  649. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  650. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  651. package/plugins/lisa-phaser/.codex-plugin/plugin.json +2 -2
  652. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-accessibility/SKILL.md +135 -0
  653. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-accessibility/agents/openai.yaml +4 -0
  654. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-pipeline/SKILL.md +222 -0
  655. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-pipeline/agents/openai.yaml +4 -0
  656. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-sourcing/SKILL.md +151 -0
  657. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-asset-sourcing/agents/openai.yaml +4 -0
  658. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-build-deploy/SKILL.md +153 -0
  659. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-build-deploy/agents/openai.yaml +4 -0
  660. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-i18n/SKILL.md +122 -0
  661. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-i18n/agents/openai.yaml +4 -0
  662. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-project-structure/SKILL.md +89 -0
  663. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-project-structure/agents/openai.yaml +4 -0
  664. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-services/SKILL.md +208 -0
  665. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-services/agents/openai.yaml +4 -0
  666. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-testing/SKILL.md +192 -0
  667. package/plugins/lisa-phaser/.codex-plugin/skills/phaser-testing/agents/openai.yaml +4 -0
  668. package/plugins/lisa-phaser/hooks/inject-rules.sh +1 -1
  669. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  670. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  671. package/plugins/lisa-phaser-copilot/hooks/inject-rules.sh +1 -1
  672. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  673. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  674. package/plugins/lisa-rails/.codex-plugin/plugin.json +2 -2
  675. package/plugins/lisa-rails/.codex-plugin/skills/action-controller-best-practices/SKILL.md +374 -0
  676. package/plugins/lisa-rails/.codex-plugin/skills/action-controller-best-practices/agents/openai.yaml +4 -0
  677. package/plugins/lisa-rails/.codex-plugin/skills/action-view-best-practices/SKILL.md +335 -0
  678. package/plugins/lisa-rails/.codex-plugin/skills/action-view-best-practices/agents/openai.yaml +4 -0
  679. package/plugins/lisa-rails/.codex-plugin/skills/active-record-model-best-practices/SKILL.md +166 -0
  680. package/plugins/lisa-rails/.codex-plugin/skills/active-record-model-best-practices/agents/openai.yaml +4 -0
  681. package/plugins/lisa-rails/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +105 -0
  682. package/plugins/lisa-rails/.codex-plugin/skills/e2e-coverage-gaps/agents/openai.yaml +4 -0
  683. package/plugins/lisa-rails/.codex-plugin/skills/fix-linter-error/SKILL.md +45 -0
  684. package/plugins/lisa-rails/.codex-plugin/skills/fix-linter-error/agents/openai.yaml +4 -0
  685. package/plugins/lisa-rails/.codex-plugin/skills/improve-code-complexity/SKILL.md +48 -0
  686. package/plugins/lisa-rails/.codex-plugin/skills/improve-code-complexity/agents/openai.yaml +4 -0
  687. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines/SKILL.md +46 -0
  688. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines/agents/openai.yaml +4 -0
  689. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines-per-function/SKILL.md +46 -0
  690. package/plugins/lisa-rails/.codex-plugin/skills/improve-max-lines-per-function/agents/openai.yaml +4 -0
  691. package/plugins/lisa-rails/.codex-plugin/skills/improve-test-coverage/SKILL.md +45 -0
  692. package/plugins/lisa-rails/.codex-plugin/skills/improve-test-coverage/agents/openai.yaml +4 -0
  693. package/plugins/lisa-rails/.codex-plugin/skills/jira-add-journey/SKILL.md +65 -0
  694. package/plugins/lisa-rails/.codex-plugin/skills/jira-add-journey/agents/openai.yaml +4 -0
  695. package/plugins/lisa-rails/.codex-plugin/skills/jira-create/SKILL.md +100 -0
  696. package/plugins/lisa-rails/.codex-plugin/skills/jira-create/agents/openai.yaml +4 -0
  697. package/plugins/lisa-rails/.codex-plugin/skills/jira-evidence/SKILL.md +70 -0
  698. package/plugins/lisa-rails/.codex-plugin/skills/jira-evidence/agents/openai.yaml +4 -0
  699. package/plugins/lisa-rails/.codex-plugin/skills/jira-evidence/scripts/post-evidence.sh +180 -0
  700. package/plugins/lisa-rails/.codex-plugin/skills/jira-journey/SKILL.md +64 -0
  701. package/plugins/lisa-rails/.codex-plugin/skills/jira-journey/agents/openai.yaml +4 -0
  702. package/plugins/lisa-rails/.codex-plugin/skills/jira-verify/SKILL.md +26 -0
  703. package/plugins/lisa-rails/.codex-plugin/skills/jira-verify/agents/openai.yaml +4 -0
  704. package/plugins/lisa-rails/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +13 -0
  705. package/plugins/lisa-rails/.codex-plugin/skills/lisa-e2e-coverage-gaps/agents/openai.yaml +4 -0
  706. package/plugins/lisa-rails/.codex-plugin/skills/ops-check-logs/SKILL.md +191 -0
  707. package/plugins/lisa-rails/.codex-plugin/skills/ops-check-logs/agents/openai.yaml +4 -0
  708. package/plugins/lisa-rails/.codex-plugin/skills/ops-deploy/SKILL.md +153 -0
  709. package/plugins/lisa-rails/.codex-plugin/skills/ops-deploy/agents/openai.yaml +4 -0
  710. package/plugins/lisa-rails/.codex-plugin/skills/ops-run-local/SKILL.md +169 -0
  711. package/plugins/lisa-rails/.codex-plugin/skills/ops-run-local/agents/openai.yaml +4 -0
  712. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-jobs/SKILL.md +157 -0
  713. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-jobs/agents/openai.yaml +4 -0
  714. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-telemetry/SKILL.md +197 -0
  715. package/plugins/lisa-rails/.codex-plugin/skills/ops-verify-telemetry/agents/openai.yaml +4 -0
  716. package/plugins/lisa-rails/hooks/inject-rules.sh +2 -1
  717. package/plugins/lisa-rails-agy/plugin.json +1 -1
  718. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  719. package/plugins/lisa-rails-copilot/hooks/inject-rules.sh +2 -1
  720. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  721. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  722. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  723. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  724. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  725. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  726. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  727. package/plugins/lisa-wiki/.codex-plugin/plugin.json +2 -2
  728. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-ingest/SKILL.md +12 -0
  729. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-ingest/agents/openai.yaml +4 -0
  730. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-role/SKILL.md +12 -0
  731. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-add-role/agents/openai.yaml +4 -0
  732. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-ingest/SKILL.md +12 -0
  733. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-ingest/agents/openai.yaml +4 -0
  734. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-lint/SKILL.md +11 -0
  735. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-lint/agents/openai.yaml +4 -0
  736. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-migrate/SKILL.md +12 -0
  737. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-migrate/agents/openai.yaml +4 -0
  738. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-onboard-me/SKILL.md +12 -0
  739. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-onboard-me/agents/openai.yaml +4 -0
  740. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-query/SKILL.md +12 -0
  741. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-query/agents/openai.yaml +4 -0
  742. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup/SKILL.md +12 -0
  743. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup/agents/openai.yaml +4 -0
  744. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup-wiki/SKILL.md +12 -0
  745. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-setup-wiki/agents/openai.yaml +4 -0
  746. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-status/SKILL.md +12 -0
  747. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-status/agents/openai.yaml +4 -0
  748. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
  749. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-ingest/agents/openai.yaml +4 -0
  750. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-role/SKILL.md +30 -0
  751. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-add-role/agents/openai.yaml +4 -0
  752. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
  753. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-confluence/agents/openai.yaml +4 -0
  754. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
  755. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-docs/agents/openai.yaml +4 -0
  756. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-git/SKILL.md +25 -0
  757. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-git/agents/openai.yaml +4 -0
  758. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
  759. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-jira/agents/openai.yaml +4 -0
  760. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
  761. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-memory/agents/openai.yaml +4 -0
  762. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
  763. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-notion/agents/openai.yaml +4 -0
  764. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
  765. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-roles/agents/openai.yaml +4 -0
  766. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
  767. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-slack/agents/openai.yaml +4 -0
  768. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-web/SKILL.md +23 -0
  769. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-connector-web/agents/openai.yaml +4 -0
  770. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-doctor/SKILL.md +47 -0
  771. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-doctor/agents/openai.yaml +4 -0
  772. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-ingest/SKILL.md +99 -0
  773. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-ingest/agents/openai.yaml +4 -0
  774. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-lint/SKILL.md +32 -0
  775. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-lint/agents/openai.yaml +4 -0
  776. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-migrate/SKILL.md +43 -0
  777. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-migrate/agents/openai.yaml +4 -0
  778. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
  779. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-onboard-me/agents/openai.yaml +4 -0
  780. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-query/SKILL.md +36 -0
  781. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-query/agents/openai.yaml +4 -0
  782. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup/SKILL.md +75 -0
  783. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup/agents/openai.yaml +4 -0
  784. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup-automations/SKILL.md +83 -0
  785. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-setup-automations/agents/openai.yaml +4 -0
  786. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-status/SKILL.md +47 -0
  787. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-status/agents/openai.yaml +4 -0
  788. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-tear-down-automations/SKILL.md +34 -0
  789. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-tear-down-automations/agents/openai.yaml +4 -0
  790. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-usage/SKILL.md +50 -0
  791. package/plugins/lisa-wiki/.codex-plugin/skills/lisa-wiki-usage/agents/openai.yaml +4 -0
  792. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  793. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  794. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  795. package/plugins/src/base/hooks/inject-rules.sh +3 -2
  796. package/plugins/src/base/hooks/install-pkgs.sh +4 -45
  797. package/plugins/src/base/hooks/setup-jira-cli.sh +4 -12
  798. package/plugins/src/base/skills/lisa-setup-linear/SKILL.md +1 -1
  799. package/plugins/src/expo/.mcp.json +0 -4
  800. package/plugins/src/expo/THIRD-PARTY-NOTICES.md +14 -6
  801. package/plugins/src/expo/skills/building-native-ui/SKILL.md +1 -1
  802. package/plugins/src/harper-fabric/hooks/block-generated-artifact-edits.sh +42 -24
  803. package/plugins/src/harper-fabric/hooks/enforce-config-extensions.mjs +12 -14
  804. package/plugins/src/harper-fabric/hooks/enforce-config-extensions.sh +30 -3
  805. package/plugins/src/harper-fabric/hooks/inject-rules.sh +1 -1
  806. package/plugins/src/nestjs/skills/typeorm-patterns/references/configuration-patterns.md +5 -5
  807. package/plugins/src/phaser/hooks/inject-rules.sh +1 -1
  808. package/plugins/src/rails/hooks/inject-rules.sh +2 -1
  809. package/scripts/clean-dist.mjs +7 -0
  810. package/scripts/generate-codex-plugin-artifacts.mjs +311 -20
  811. package/scripts/install-claude-plugins.sh +53 -40
  812. package/typescript/package-lisa/package.lisa.json +1 -1
  813. package/.agents/plugins/marketplace.json +0 -128
  814. package/dist/codex/lisa-plugin-detection.d.ts +0 -68
  815. package/dist/codex/lisa-plugin-detection.d.ts.map +0 -1
  816. package/dist/codex/lisa-plugin-detection.js +0 -139
  817. package/dist/codex/lisa-plugin-detection.js.map +0 -1
@@ -0,0 +1,292 @@
1
+ ---
2
+ name: lisa-linear-write-issue
3
+ description: "Creates or updates a Linear…"
4
+ allowed-tools: ["Bash", "Skill"]
5
+ ---
6
+
7
+ # Write Linear Work Item: $ARGUMENTS
8
+
9
+ Create or update a Linear work item — Project (for Epics), Issue (for Stories), or sub-Issue (for Sub-tasks) — with all required relationships, metadata, and quality gates. Every section below is mandatory. Thin items are rejected.
10
+
11
+ Repository name for scoped comments: `basename $(git rev-parse --show-toplevel)`.
12
+
13
+ ## Configuration
14
+
15
+ This skill reads configuration from `.lisa.config.json` (with `.lisa.config.local.json` overriding per key). Required keys:
16
+
17
+ - `linear.workspace` — Linear workspace slug
18
+ - `linear.teamKey` — Linear team key (e.g. `ENG`); the team owns the destination items
19
+
20
+ If either is missing, stop and report — never invent values.
21
+
22
+ ## Polymorphic dispatch
23
+
24
+ Linear's data model maps Epic / Story / Sub-task to **different entity types**. This skill dispatches on `issue_type`:
25
+
26
+ | `issue_type` | Linear entity | MCP write tool | Parent field |
27
+ |--------------|---------------|----------------|--------------|
28
+ | `Epic` | **Project** | `lisa-linear-access operation: save-project` | (none — Projects are top-level within a team) |
29
+ | `Story` / `Task` / `Improvement` | **Issue** | `lisa-linear-access operation: save-issue` | `projectId` (the Epic Project) |
30
+ | `Sub-task` | **sub-Issue** | `lisa-linear-access operation: save-issue` | `parentId` (the Story Issue) |
31
+ | `Bug` | **Issue** | `lisa-linear-access operation: save-issue` | `projectId` if part of an Epic; else top-level |
32
+ | `Spike` | **Issue** | `lisa-linear-access operation: save-issue` | `projectId` if part of an Epic; else top-level |
33
+
34
+ Status workflow uses **labels** (`status:ready`, `status:in-progress`, `status:on-dev`, `status:done`) for portability across teams — Linear's per-team workflow state names vary, but labels are workspace-scoped and stable. Native Linear `state` is set to the team's default `Todo` state on create.
35
+
36
+ ## Phase 1 — Resolve Intent
37
+
38
+ Determine from `$ARGUMENTS` and context whether this is a CREATE or UPDATE:
39
+
40
+ - **CREATE**: no existing identifier provided.
41
+ - **UPDATE**: identifier provided (`<TEAM>-<n>` for Issue, project slug + short-id for Project) — call `/linear-read-issue <ref>` first to load the full current state. Never overwrite without reading.
42
+
43
+ Resolve the team ID for `linear.teamKey` via `lisa-linear-access operation: list-teams({query: <teamKey>})`. Cache it.
44
+
45
+ ## Phase 2 — Gather Required Inputs
46
+
47
+ Required fields (stop and ask if missing — never invent values):
48
+
49
+ | Field | Required For | Notes |
50
+ |-------|--------------|-------|
51
+ | `team_key` | CREATE | From `linear.teamKey` config; required for both Project and Issue creation |
52
+ | `issue_type` | CREATE | One of: Epic, Story, Task, Bug, Spike, Sub-task, Improvement |
53
+ | Summary | CREATE, UPDATE | One line, imperative voice, under 100 chars |
54
+ | Description | CREATE, UPDATE | Multi-section markdown — see Phase 3 |
55
+ | Project parent (for Story / Task / Bug / Spike / Improvement when part of an Epic) | non-Epic, non-Sub-task in Epic context | Linear Project ID — the Epic |
56
+ | Sub-task parent | Sub-task | Linear Issue ID — the Story |
57
+ | Priority | CREATE | Native Linear priority: 0=No priority, 1=Urgent, 2=High, 3=Medium, 4=Low |
58
+ | Acceptance criteria | Story, Task, Bug, Sub-task, Improvement | Gherkin — see Phase 3 |
59
+ | Validation Journey | Runtime-behavior changes | Delegate to `/linear-add-journey` |
60
+ | Target backend environment | Runtime-behavior changes | `dev` / `staging` / `prod`; recorded in description (Phase 3). Skip only for doc/config/type-only items. |
61
+ | Sign-in account / credentials | Items that touch authenticated surfaces | Name the account (or source — 1Password item, env var, seeded fixture) and role; recorded in description. Omit when sign-in is not required. |
62
+ | Single-repo scope | Bug, Task, Sub-task | These types MUST cover one repo only. If the work crosses repos, split it before creating. Epic / Spike / Story may span repos. |
63
+
64
+ Optional but recommended: assignee, estimate (story points), labels, project milestone (fix-version equivalent), cycle.
65
+
66
+ ## Phase 3 — Description Quality
67
+
68
+ Linear descriptions are markdown (NOT Jira wiki markup — no `h2.` headings, use `##` instead). The description MUST address three audiences. Reject and rewrite if any are missing.
69
+
70
+ ```markdown
71
+ ## Context / Business Value
72
+ [Why this matters. Stakeholder-facing. Concrete user impact or business outcome.
73
+ Link to the originating Slack thread, Notion doc, incident, or customer report.]
74
+
75
+ ## Technical Approach
76
+ [Developer-facing. Integration points, impacted modules, data model implications,
77
+ relevant tradeoffs. Not a full design doc — a pointer for someone picking it up.]
78
+
79
+ ## Acceptance Criteria
80
+ 1. Given <precondition>
81
+ When <action>
82
+ Then <observable outcome>
83
+ 2. Given <precondition>
84
+ When <action>
85
+ Then <observable outcome>
86
+
87
+ ## Out of Scope
88
+ [Explicit list of what this item does NOT cover. Forces scope discipline.]
89
+
90
+ ## Target Backend Environment
91
+ [Required when the item changes runtime behavior. One of: dev / staging / prod.
92
+ Skip section entirely for doc-only, config-only, or type-only items.]
93
+
94
+ ## Sign-in Required
95
+ [Include this section ONLY if the work touches authenticated surfaces.
96
+ Specify: the account/role to sign in as, where to get the credentials
97
+ (1Password item name, env var, seeded fixture), and any MFA/SSO notes.
98
+ Omit the section entirely when sign-in is not required.]
99
+
100
+ ## Repository
101
+ [Required for Bug / Task / Sub-task. Name the single repo this item covers.
102
+ If the work spans repos, this issue type is wrong — split into per-repo
103
+ Tasks/Sub-tasks under a parent Story or Epic.]
104
+
105
+ ## Validation Journey
106
+ [Delegate to /linear-add-journey if the item changes runtime behavior.
107
+ Skip only for doc-only, config-only, or type-only items.]
108
+ ```
109
+
110
+ Rules:
111
+ - Every acceptance criterion uses Given/When/Then. No vague "should work" language.
112
+ - Every criterion is independently verifiable (UI, API, data, or performance check).
113
+ - If the item is a Bug, include reproduction steps, expected vs. actual behavior, and environment.
114
+ - If the item is a Spike, include the question being answered and the definition of done (decision doc, prototype, or findings).
115
+ - If sign-in is required, the implementer must be able to sign in from the description alone — never assume they will guess the account or hunt for credentials.
116
+
117
+ ## Phase 4 — Relationship Discovery (Mandatory)
118
+
119
+ Before creating or updating, find candidate relationships. Do NOT skip — this is the step agents most often omit.
120
+
121
+ ### 4a. Project Parent (Epic-equivalent)
122
+
123
+ If the item is **not an Epic** and **not a top-level Bug/Spike**, it MUST have a parent context:
124
+
125
+ - **Story / Task / Improvement** → must have a `projectId` (the Epic Project) set.
126
+ - **Sub-task** → must have a `parentId` (the Story Issue) set.
127
+
128
+ If the parent is explicitly provided, use it. Otherwise:
129
+
130
+ 1. Search active Projects in the team:
131
+ ```text
132
+ lisa-linear-access operation: list-projects({team: <teamKey>, state: ["backlog", "planned", "started"]})
133
+ ```
134
+ Match on keywords from the summary and description.
135
+ 2. If no matching Project exists, stop and ask the human to create or pick one. Do NOT orphan the item.
136
+
137
+ ### 4b. Related Items
138
+
139
+ Relationship discovery is **mandatory** on every create and every update — never declare "no related work" without doing both searches below and recording their outcomes on the item.
140
+
141
+ **Search 1: local git history** (catches PRs / commits that touched the same area but were never linked):
142
+
143
+ ```bash
144
+ git log --all --oneline --grep="<keyword>"
145
+ git log --all --oneline -- <path-or-glob>
146
+ git log --since=90.days --oneline -- <path-or-glob>
147
+ ```
148
+
149
+ If the git search surfaces a PR or commit that relates to this work, capture the PR URL — it becomes a remote link (Phase 4c) and may also point to a sibling item worth linking.
150
+
151
+ **Search 2: Linear MCP** (catches open and recently-closed items):
152
+
153
+ ```text
154
+ # Open items in the same Project
155
+ lisa-linear-access operation: list-issues({project: <projectId>, state_type: ["unstarted", "started"]})
156
+
157
+ # Open items with overlapping keywords (workspace-wide)
158
+ lisa-linear-access operation: list-issues({query: "<keyword>", state_type: ["unstarted", "started"]})
159
+
160
+ # Items with shared labels
161
+ lisa-linear-access operation: list-issues({label: "<label>", updatedAt: ">-30d"})
162
+
163
+ # Recently closed items in the same Project
164
+ lisa-linear-access operation: list-issues({project: <projectId>, state_type: ["completed", "canceled"], updatedAt: ">-30d"})
165
+ ```
166
+
167
+ **Record the outcome.** Add a `## Relationship Search` subsection (or a comment if updating) listing the queries you ran and what they returned. If the searches yielded nothing, write that explicitly — "Searched git history for `<keywords>` and Linear for project=`X`, label=`Y`; no related work found." An item with zero relations and no documented search is rejected.
168
+
169
+ For each candidate, classify the relationship:
170
+
171
+ | Relation Type | When to Use |
172
+ |---------------|-------------|
173
+ | `blocks` | This item must ship before the linked item can proceed |
174
+ | `blocked_by` | The linked item must ship before this one can proceed |
175
+ | `relates_to` | Shared context, no ordering constraint |
176
+ | `duplicates` | This item already exists — close one as duplicate |
177
+
178
+ Linear native relations are set on the Issue via `save_issue`'s `relations` field (or via a paired `save_issue_relation` call if available in the MCP). For Project-level (Epic) relationships, capture them in the description under `## Related Projects` since Linear doesn't model relations between Projects natively.
179
+
180
+ ### 4c. Remote Links
181
+
182
+ Identify and attach (Linear stores attachments / links on the Issue or in description body):
183
+
184
+ - GitHub PRs, branches, or commits related to this work
185
+ - Confluence pages (design docs, RFCs, runbooks)
186
+ - Dashboards (Grafana, Datadog, Sentry issue)
187
+ - Incident items (PagerDuty, Statuspage)
188
+ - **Source artifacts from the originating PRD / parent Project**: classify and inherit per the rules in `lisa-tracker-source-artifacts` (invoke that skill if you haven't loaded the rules in this session). Enumerate the parent Project's links and inherit the ones whose domain matches this item's scope (UI → `ui-design` + `ux-flow`; backend → `data`; infra → `ops`; always inherit `reference`). Never assume a developer will walk up to the Project to find design context — attach it here.
189
+
190
+ If the item was generated from a PRD (by `lisa-notion-to-tracker` or similar) and the parent Project has no source artifacts, surface that as a smell and ask whether artifacts were missed during extraction before proceeding.
191
+
192
+ ### 4d. Source Precedence (must appear on the item)
193
+
194
+ Source precedence rules and cross-axis conflict handling are defined in `lisa-tracker-source-artifacts` §3 and §4. When an item carries both design artifacts and a description, record the precedence explicitly in the description (under Technical Approach or a dedicated `## Source Precedence` subsection) so the implementer doesn't silently reconcile conflicts. Cross-axis conflicts go under `## Open Questions` as BLOCKER items.
195
+
196
+ For UI-touching items, include the existing-component reuse expectation per `lisa-tracker-source-artifacts` §7.
197
+
198
+ ### 4e. Live Product Walkthrough Findings (UI-touching items)
199
+
200
+ If the item modifies an existing user-facing surface, a `lisa-product-walkthrough` should already have been run upstream. Inherit its findings under a `## Current Product` subsection in the description so the implementer sees what's shipped today before changing it. If the upstream skill skipped the walkthrough but this item clearly modifies an existing surface, invoke `lisa-product-walkthrough` here before proceeding.
201
+
202
+ ## Phase 5 — Set Metadata
203
+
204
+ Before create/update, verify each field is populated where applicable:
205
+
206
+ - **Labels**: include `status:ready` for a new **leaf** work unit (Bug / Task / Sub-task / Improvement with no child work) per `leaf-only-lifecycle`, **unless `build_ready: false`** (see the Build-ready control input below); component labels (`component:<name>`); status / priority labels are NOT redundant with native fields — labels exist for portability and downstream queries. A container (Epic Project / Story with sub-issues / Spike) never receives `status:ready`.
207
+ - **Native priority field**: 0–4 per Linear's scale; explicit, not "unset".
208
+ - **Native estimate**: per Linear's team-configured estimate scale (often 0–8 Fibonacci); skip for Epic / Spike.
209
+ - **ProjectMilestone**: when the team uses dated milestones, set the milestone on the Project (Epic) or on the Issue (when an Issue belongs to a milestone).
210
+ - **Cycle**: only if actively in a cycle.
211
+ - **Assignee**: leave unset if unknown rather than auto-assigning.
212
+
213
+ For Bug / Task / Sub-task, ensure the summary is prefixed with `[<repo-name>]`.
214
+
215
+ ### Build-ready control input (`build_ready`)
216
+
217
+ `build_ready` is an optional write-control input (default: **omitted**). It governs whether a **leaf** work unit's `status:ready` label is applied on create. It never overrides `leaf-only-lifecycle` — a container is never stamped build-ready regardless of `build_ready`. "Not build-ready" is not a special state: the Issue is still created with Linear's default native `Todo` state; it just lacks the `status:ready` **label** the build lifecycle keys off, so a human can promote it later.
218
+
219
+ - **Omitted** → current behavior: a leaf work unit receives `status:ready`. Preserves what every existing caller (`lisa-plan`, the `*-to-tracker` skills) relies on.
220
+ - **`build_ready: false`** → create the leaf **without** the `status:ready` label, so it sits in the backlog for a human to review and promote into the queue.
221
+ - **`build_ready: true`** → ensure the leaf carries `status:ready` so `lisa-intake` / `lisa-linear-build-intake` auto-picks it up.
222
+
223
+ ## Phase 5.5 — Validate (Pre-write Gate)
224
+
225
+ Before any write, invoke `lisa-linear-validate-issue` with the full proposed spec assembled from Phases 2 / 3 / 4 / 5. Pass it as a YAML block per the `lisa-linear-validate-issue` schema, including `runtime_behavior_change`, `authenticated_surface`, and `artifacts_attached` flags so the right gates run.
226
+
227
+ The validator is the **single source of truth** for what makes a valid Linear work item. The same gates are used by `lisa-linear-to-tracker` dry-run, by `lisa-linear-verify` post-write, and here. Do not re-implement gate logic in this skill.
228
+
229
+ If the validator reports `FAIL`:
230
+ - Surface the failure list and the per-gate remediation to the user.
231
+ - Do NOT proceed to Phase 6. Fix the spec (or stop and ask the human) and re-run validation.
232
+ - Never call `lisa-linear-access operation: save-project` or `lisa-linear-access operation: save-issue` while the validator's verdict is FAIL.
233
+
234
+ If the validator reports `PASS`, continue to Phase 6.
235
+
236
+ ## Phase 6 — Create or Update
237
+
238
+ ### CREATE — Epic (Project)
239
+
240
+ 1. Resolve any required Project labels (`prd-ticketed`, etc.) via `lisa-linear-access operation: list-project-labels` (create via `lisa-linear-access operation: create-project-label` if missing).
241
+ 2. Call `lisa-linear-access operation: save-project` with: `name` (summary), `description` (markdown), `teamIds: [<teamId>]`, `labelIds`, `priority` (Linear Project priority is also 0–4), `state` (default `backlog`), milestones if dated.
242
+ 3. Capture the returned Project ID and slug — Phase 4 children need these.
243
+ 4. If the Project is the parent for downstream Stories, record the ID for `lisa-linear-to-tracker` Phase 4 to use.
244
+
245
+ ### CREATE — Story / Task / Bug / Spike / Improvement (Issue with projectId)
246
+
247
+ 1. Resolve any required Issue labels (`component:<name>`, `prd-intake-feedback` only if this is a sentinel issue, etc.) via `lisa-linear-access operation: list-issue-labels` (create via `lisa-linear-access operation: create-issue-label` if missing). Include `status:ready` in `labelIds` only for a **leaf** work unit and only when `build_ready` is not `false` (per the Build-ready control input) — omit it for a container, and for a `build_ready: false` leaf which then waits in the backlog for a human to promote it.
248
+ 2. Call `lisa-linear-access operation: save-issue` with: `team` (teamId), `title` (summary), `description` (markdown), `projectId` (the Epic Project), `priority` (0–4), `estimate`, `labelIds`, `assignee` if known.
249
+ 3. Capture the returned identifier (e.g. `ENG-123`) — Phase 4 sub-tasks need it as `parentId`.
250
+ 4. Add relationships from Phase 4b via `save_issue` (relations field) or paired relation calls.
251
+ 5. If the item changes runtime behavior, invoke `lisa-linear-add-journey` to append the Validation Journey section.
252
+
253
+ ### CREATE — Sub-task (Issue with parentId)
254
+
255
+ 1. Resolve labels as above.
256
+ 2. Call `lisa-linear-access operation: save-issue` with: `team` (teamId), `title` (`[<repo>] <summary>` prefix is mandatory), `description` (markdown), `parentId` (the Story Issue ID), `projectId` (inherit from parent), `priority`, `estimate`, `labelIds`.
257
+ 3. Capture identifier.
258
+ 4. Add relationships via Phase 4b.
259
+
260
+ ### UPDATE
261
+
262
+ 1. Call `lisa-linear-access operation: save-project` or `lisa-linear-access operation: save-issue` with **only the fields being changed**. Do NOT resend fields that weren't in the change set — Linear treats the call as a full overwrite of the listed fields.
263
+ 2. Preserve description sections you are not editing — re-read via `/linear-read-issue` first, including any existing canonical managed `## Lisa Usage` section unless the caller intentionally supplied an updated canonical section. Use the shared `lisa-usage-accounting` serializer/merge path rather than freehand edits to ledger rows.
264
+
265
+ ## Phase 7 — Verify
266
+
267
+ Call the `lisa-linear-verify` skill on the resulting item. `lisa-linear-verify` fetches the live item and runs `lisa-linear-validate-issue` against it — same gates as Phase 5.5, but applied to what Linear actually stored. If it reports failures, fix them before returning. Do not report success on an item that fails verify.
268
+
269
+ ## Phase 8 — Announce
270
+
271
+ Post a creation comment via `lisa-linear-access operation: save-comment` (on the Issue, or on a sentinel issue under the Project for Epic-level announcements) with:
272
+
273
+ - `[<repo>]` prefix if the item is repo-scoped
274
+ - Who the item is assigned to (if known)
275
+ - The relationships that were set (`blocks`, `blocked_by`, `relates_to`) with Linear identifiers
276
+ - Any remote PRs attached
277
+
278
+ Skip this step only on UPDATE when no material change was made.
279
+
280
+ ## Rules
281
+
282
+ - Never create a non-Epic, non-top-level item without a parent context (Project for Stories, parentId for Sub-tasks).
283
+ - Never skip relationship discovery — both the git history search AND the Linear MCP search must run, and their outcomes must be recorded on the item. "None found" is acceptable only when it's documented.
284
+ - Never create a Bug, Task, or Sub-task that spans multiple repos. Split it before creating.
285
+ - Never include a runtime-behavior item without a target backend environment, and never include an authenticated-surface item without sign-in credentials in the description.
286
+ - Never invent custom field values. If the team requires a field you don't have, stop and ask.
287
+ - Never overwrite a description without reading the current version first.
288
+ - Preserve an existing canonical `## Lisa Usage` section on update; never append a second usage
289
+ section or silently drop ledger rows.
290
+ - All Linear writes go through this skill so best practices are enforced uniformly. Downstream skills (e.g. `lisa-linear-create`) should delegate here rather than calling the MCP write tools directly.
291
+ - The gate logic (what makes a valid item) lives in `lisa-linear-validate-issue`, NOT in this skill. This skill calls the validator at Phase 5.5 (pre-write) and Phase 7 (via `lisa-linear-verify` post-write). When a gate needs to change, change it in `lisa-linear-validate-issue` — every caller picks it up automatically.
292
+ - This skill is the destination of the `lisa-tracker-write` shim when `tracker = "linear"`. Vendor-neutral callers (`notion-to-tracker`, `confluence-to-tracker`, `linear-to-tracker`, `github-to-tracker`) MUST go through `lisa-tracker-write`, not call this skill directly.
@@ -0,0 +1,4 @@
1
+ display_name: "Linear Write Issue"
2
+ short_description: "Creates or updates a Linear…"
3
+ default_prompt:
4
+ - "Use $lisa-linear-write-issue: Creates or updates a Linear…."
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: lisa-linear-write-prd
3
+ description: "Creates or idempotently updates…"
4
+ allowed-tools: ["Skill", "Bash"]
5
+ ---
6
+
7
+ # Write Linear PRD: $ARGUMENTS
8
+
9
+ Create (or update) a PRD as a Linear **Project** in the configured workspace/team. Invoked by
10
+ `lisa-prd-source-write` when `source = linear`; do not call directly from a vendor-neutral caller.
11
+
12
+ Linear's PRD lifecycle uses **project-level labels** (`prd-*`), per `config-resolution`. (The Linear
13
+ PRD source models a PRD as a Project — the same shape `lisa-linear-prd-intake` scans.)
14
+
15
+ `$ARGUMENTS` carries the `lisa-prd-source-write` spec: `title`, `body` (full PRD markdown),
16
+ `initial_role` (`draft` | `ready`, default `draft`), `dedupe_key`, `marker`, optional `source_ref`.
17
+
18
+ ## Phase 1 — Resolve workspace/team + PRD lifecycle labels
19
+
20
+ ```bash
21
+ read_g() { local lv gv; lv=$(jq -r "$1 // empty" .lisa.config.local.json 2>/dev/null); gv=$(jq -r "$1 // empty" .lisa.config.json 2>/dev/null); echo "${lv:-${gv:-$2}}"; }
22
+ WORKSPACE=$(read_g '.linear.workspace' '')
23
+ TEAM=$(read_g '.linear.teamKey' '')
24
+ # Resolve the FULL PRD lifecycle vocabulary from config (never hard-code names) so the one-of
25
+ # reconcile and the past-ready check are correct even when a project renamed any label.
26
+ PRD_DRAFT=$(read_g '.linear.labels.prd.draft' 'prd-draft')
27
+ PRD_READY=$(read_g '.linear.labels.prd.ready' 'prd-ready')
28
+ PRD_IN_REVIEW=$(read_g '.linear.labels.prd.in_review' 'prd-in-review')
29
+ PRD_BLOCKED=$(read_g '.linear.labels.prd.blocked' 'prd-blocked')
30
+ PRD_TICKETED=$(read_g '.linear.labels.prd.ticketed' 'prd-ticketed')
31
+ PRD_SHIPPED=$(read_g '.linear.labels.prd.shipped' 'prd-shipped')
32
+ PRD_VERIFIED=$(read_g '.linear.labels.prd.verified' 'prd-verified')
33
+ ALL_PRD_LABELS=("$PRD_DRAFT" "$PRD_READY" "$PRD_IN_REVIEW" "$PRD_BLOCKED" "$PRD_TICKETED" "$PRD_SHIPPED" "$PRD_VERIFIED")
34
+ PROGRESSED=("$PRD_IN_REVIEW" "$PRD_BLOCKED" "$PRD_TICKETED" "$PRD_SHIPPED" "$PRD_VERIFIED")
35
+ [ -z "$WORKSPACE" ] && { echo "Error: linear.workspace not set in .lisa.config.json."; exit 1; }
36
+ [ -z "$TEAM" ] && { echo "Error: linear.teamKey not set in .lisa.config.json. A team key is required to create or scope a Linear Project."; exit 1; }
37
+ ```
38
+
39
+ Resolve the target project-label from `initial_role`: `ready` → `$PRD_READY`, else `$PRD_DRAFT`.
40
+ Resolve its label id via `lisa-linear-access operation: list-project-labels` (create via
41
+ `lisa-linear-access operation: create-project-label` if missing).
42
+
43
+ ## Phase 2 — Dedupe by marker (search before create)
44
+
45
+ The `marker` is embedded in the Project description. Find an existing Project carrying it — match the
46
+ marker, **never** the project name:
47
+
48
+ 1. `lisa-linear-access operation: list-projects` scoped to the team/workspace (filtered by the `prd-*` label
49
+ set when supported), then inspect each candidate's description via
50
+ `lisa-linear-access operation: get-project` for the marker. If `source_ref` was passed, target it directly.
51
+ 2. If a Project with the marker exists → **update**; else → **create**.
52
+
53
+ ## Phase 3 — Create or update
54
+
55
+ **Marker + usage-ledger preservation (both paths).** Before writing the `description`, ensure it
56
+ contains **exactly one** marker line — inject the marker if the synthesized description lacks it.
57
+ **Never write a markerless description** (including UPDATE / `source_ref`): that breaks future
58
+ dedupe. If the live Project description already contains the canonical managed `## Lisa Usage`
59
+ section, preserve it verbatim unless the caller intentionally supplied an updated canonical section;
60
+ use the shared `lisa-usage-accounting` serializer/merge path rather than hand-editing ledger rows.
61
+
62
+ **CREATE:** `lisa-linear-access operation: save-project` with:
63
+ - `name`: `$TITLE`
64
+ - `description`: the marker-normalized full PRD markdown
65
+ - `teamIds`: `[<resolved team id>]`
66
+ - `labelIds`: `[<role label id>]` (exactly one PRD lifecycle label)
67
+ - `state`: Linear Project default (e.g. `backlog`)
68
+
69
+ **UPDATE** (existing project or `source_ref`): `save_project` with the project id and **only** the
70
+ changed fields — regenerate the marker-normalized `description` without dropping the managed
71
+ `## Lisa Usage` section, and reconcile labels to **exactly one** PRD lifecycle label: add the role
72
+ label, remove every other label in the resolved
73
+ `${ALL_PRD_LABELS[@]}` set (config-resolved names, not a hard-coded list). Do **not** down-rank a
74
+ Project whose current label is in the resolved `${PROGRESSED[@]}` set (already past `ready`) — leave
75
+ it and report `reused (already past ready)`.
76
+
77
+ ## Phase 4 — Return
78
+
79
+ ```yaml
80
+ ref: "<linear-project-id-or-slug>"
81
+ url: "<project url>"
82
+ role: draft | ready # (or the Project's current role when reused past ready)
83
+ marker: "<MARKER>"
84
+ outcome: created | reused
85
+ ```
86
+
87
+ ## Rules
88
+
89
+ - Exactly one PRD lifecycle project-label at all times.
90
+ - Match dedupe by marker, never by project name.
91
+ - Preserve an existing canonical `## Lisa Usage` section on update; never append a second usage
92
+ section or silently drop ledger rows.
93
+ - Never down-rank a Project already past `ready`.
94
+ - Source-side writer (`prd-*` project labels) — never touches issue-level build labels (`status:*`),
95
+ which are `lisa-linear-write-issue`'s lane (see `config-resolution` self-host separation).
96
+ - Resolve label names from config (`linear.labels.prd.*`) — never hardcode.
@@ -0,0 +1,4 @@
1
+ display_name: "Linear Write PRD"
2
+ short_description: "Creates or idempotently updates…"
3
+ default_prompt:
4
+ - "Use $lisa-linear-write-prd: Creates or idempotently updates…."
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: lisa-monitor
3
+ description: "Monitor application health AND…"
4
+ allowed-tools: ["Skill", "Bash", "Read", "Grep", "Glob"]
5
+ ---
6
+
7
+ # Monitor: $ARGUMENTS
8
+
9
+ Spot-check application health, **audit observability completeness**, and **file build-ready tickets** for the problems and instrumentation gaps it finds — all scoped to the current repo. Useful reactively (after a deploy, after a Sentry alert, before pushing a hot change), as a periodic manual observability sweep, and as the post-deploy verification step inside `lisa-verify`.
10
+
11
+ **Arguments:** `<environment>` (`dev` / `staging` / `prod`) `[--dry-run] [--report-only] [--all-gaps] [max_candidates=<n>]`.
12
+
13
+ - `--dry-run` — audit and report which tickets *would* be filed, but create nothing.
14
+ - `--report-only` — health/audit summary only; no filing and no would-file analysis. This is the mode `lisa-verify` passes for its post-deploy check, so monitor never files during a verify run.
15
+ - `--all-gaps` — also file `recommended`-tier gaps (session replay, product analytics, etc.), not just `core`. Does not change anomaly thresholds.
16
+ - `max_candidates=<n>` — cap tickets filed this run (default 20; config `monitor.maxCandidates`).
17
+
18
+ ## Orchestration: agent team
19
+
20
+ If you are NOT already operating inside an agent team (no prior successful team-creation or subagent-delegation tool call in this session, not spawned into a team context), the very first thing you do is establish team orchestration.
21
+
22
+ Use the team tool for the current runtime:
23
+
24
+ - Claude Code >= 2.1.178: there is no `TeamCreate` tool; the team forms automatically when you spawn the first teammate with `Agent`. That first spawn should be the bounded specialist needed to start this flow. On older Claude Code that still exposes `TeamCreate`, the explicit team-create path is also acceptable.
25
+ - Codex: do not call `TeamCreate`; Codex does not expose that Claude tool. Use `tool_search` with a query like `multi-agent tools` to load `multi_agent_v1`, then use `multi_agent_v1.spawn_agent` for teammate delegation. Treat the first successful `spawn_agent` call as establishing team orchestration.
26
+ - Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
27
+
28
+ If no team creation or subagent delegation tool is available, explicitly state that team orchestration is unavailable in this runtime, continue as the lead agent, and preserve the workflow's review, verification, and task-tracking obligations locally.
29
+
30
+ Until the team is established, the first Codex teammate has been spawned, or the no-team fallback has been declared, do NOT call any of: `TaskCreate`, `Skill`, MCP tools (Atlassian / Linear / GitHub / Notion / Sentry), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob`. The initial Claude `Agent` spawn described above is the only pre-team exception because it establishes the team. Hitting health endpoints, pulling logs, querying Sentry — all of those are tasks for the team you are about to create, not for the lead session before orchestration exists.
31
+
32
+ If you ARE already inside an agent team (e.g., a teammate invoked this skill via the Skill tool), do NOT create a second team — many harnesses reject double-creates — and do NOT collapse the nested flow into a single inline worker. A nested team-first flow must still bring in the specialists it requires by adding them to the existing team, not by doing the work itself:
33
+
34
+ - **Claude:** teams are flat and only the lead can add named teammates, so do NOT call `Agent` with a `name` from a teammate (the harness rejects it: *"Teammates cannot spawn other teammates — the team roster is flat"*). Send the team lead a message naming the specialist teammate(s) this flow needs, their task assignments, and completion criteria, then coordinate through the shared task list until they finish. An anonymous subagent (`Agent` with `name` omitted) is permitted only for bounded one-shot work whose result returns directly to you — it is not a substitute for the required lifecycle specialists.
35
+ - **Codex:** do NOT call `TeamCreate`. If the lead/root agent is addressable (you were given its id/handle), send it a request to `multi_agent_v1.spawn_agent` the specialist agent(s), including each agent's prompt, ownership, and expected result. If no lead handle exists but `spawn_agent` is available to you, spawn only the bounded specialist agent(s) this flow needs, `wait_agent` for their results, and relay those results upward to the parent/lead.
36
+
37
+ Treat the first successful lead-spawn request (or, on the Codex fallback, the first specialist spawn) as preserving team orchestration. Never satisfy a team-first lifecycle flow by doing all the work inline.
38
+
39
+ ## Flow
40
+
41
+ Execute the **Monitor** sub-flow as defined in the `intent-routing` rule (loaded via the lisa plugin): **discover → collect live signals → audit completeness → report → file (standalone only)**. The `observability-audit` rule owns the profile detection, the completeness rubric, the conservative anomaly thresholds, the gate-passing ticket templates, the fingerprint/idempotency contract, the cap, and the Verify report-only guard — follow it; do not restate it here.
42
+
43
+ **Live-signal collection** delegates to a stack-specific `ops-specialist` agent when the stack overlay ships one. The **Expo** ops-specialist composes the full set below:
44
+
45
+ - `ops-verify-health` — health endpoints
46
+ - `ops-check-logs` — CloudWatch / browser console / device / Serverless logs
47
+ - `ops-monitor-errors` — Sentry issues, error-rate spikes, regressions
48
+ - `ops-performance` — slow queries, p99 latency, hotspots
49
+ - `ops-browser-uat` — Playwright smoke flows against the deployed env
50
+ - `ops-db-ops` — pending migrations, replication lag
51
+ - `ops-deploy` — deploy status / rollback readiness
52
+
53
+ The **Rails** ops-specialist composes a different subset (`ops-run-local`, `ops-deploy`, `ops-check-logs`, `ops-verify-jobs`, `ops-verify-telemetry` — X-Ray/CloudWatch traces and metrics via `ops-verify-telemetry`). When no `ops-specialist` overlay is present (e.g. NestJS, CDK, or a generic TypeScript repo), fall back to **stack-agnostic base probing** — read manifests/config to discover what's wired, then probe live sources directly (Sentry CLI/REST, `aws logs` / `aws cloudwatch` / `aws xray`, the Playwright MCP for client-side console/network), exactly as the `observability-audit` "read-then-probe" detection prescribes. The agent decides which subset to run based on the env, the repo profile, and any extra context.
54
+
55
+ ## Ticket filing (standalone only)
56
+
57
+ After report, file what was found — **only when run standalone**, never under `--report-only`/`--dry-run` and never when nested inside `lisa-verify` (which passes `--report-only`):
58
+
59
+ - **Anomalies** (live signals over the conservative bar) → `Bug` leaves. **Gaps** (in-scope MISSING rubric dimensions) → `Task`/`Improvement` leaves.
60
+ - Every ticket is filed via the vendor-neutral `lisa-tracker-write` shim with `build_ready: true` (never a vendor write skill directly), as a **single-repo leaf** stamped `repo:<current>`, with a real three-audience description, Gherkin AC, Target Backend Environment, and a Validation Journey + `EVIDENCE:` marker so it passes the `tracker-validate` gates.
61
+ - **Idempotent:** embed the `<!-- lisa:monitor-finding: <fingerprint> -->` sentinel and search-before-create; never duplicate a live or just-resolved finding.
62
+ - **Capped** at `max_candidates` (default 20), `core`/high-severity first; report how many were filed vs dropped.
63
+ - **`--dry-run`** previews would-file tickets and creates nothing. **`--all-gaps`** widens gap filing to `recommended` tiers.
64
+
65
+ `monitor` files only. The `intake` / `tracker-build-intake` cron picks the ready tickets up and implements them.
66
+
67
+ ## Output
68
+
69
+ A single report: the health/anomaly summary (failures, warnings, no-issue confirmations) + the observability audit table (each in-scope dimension as `OK` / `WARN` / `MISSING` / `PRESENT (unverified)`) + the filing summary (tickets filed with refs + fingerprints, duplicates skipped, dropped count if the cap truncated; or would-file tickets under `--dry-run`). For post-deploy verification (when called from `lisa-verify`), the report-only summary becomes evidence on the originating work item.
@@ -0,0 +1,4 @@
1
+ display_name: "Monitor"
2
+ short_description: "Monitor application health AND…"
3
+ default_prompt:
4
+ - "Use $lisa-monitor: Monitor application health AND…."
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: lisa-nightly-add-test-coverage
3
+ description: "Nightly direct-execution skill…"
4
+ allowed-tools: ["Edit", "MultiEdit", "Write", "Read", "Glob", "Grep", "Bash"]
5
+ ---
6
+
7
+ # Nightly Test Coverage Improvement
8
+
9
+ The caller provides pre-computed context:
10
+ - **Package manager** (`npm`, `yarn`, or `bun`)
11
+ - **Thresholds file** path (vitest.thresholds.json or jest.thresholds.json)
12
+ - **Current thresholds** (statements, branches, functions, lines percentages)
13
+ - **Proposed thresholds** (each metric increased by the coverage increment, capped at 90%)
14
+ - **Metrics being bumped** (which metrics are below target)
15
+
16
+ ## Instructions
17
+
18
+ ### Phase 1: Identify gaps
19
+
20
+ 1. Run the project's coverage script with the provided package manager (e.g., `npm run test:cov`, `yarn test:cov`, or `bun run test:cov`) to get the coverage report -- identify gaps BEFORE reading any source files
21
+ 2. Parse the coverage output to identify the specific files and lines with the lowest coverage. Prioritize files with the most uncovered lines/branches.
22
+ 3. Read ONE existing test file to learn the project's testing patterns (mocks, imports, assertions). Do not read more than one.
23
+
24
+ ### Phase 2: Write tests incrementally — one file at a time
25
+
26
+ For each source file with low coverage (starting with the lowest):
27
+
28
+ 4. Read only the uncovered sections of the source file using the coverage report line numbers -- do not explore the codebase broadly
29
+ 5. Write a test file targeting the uncovered branches/lines for that source file
30
+ 6. Run the test file in isolation (e.g., `npx vitest run tests/my-new-test.test.ts`) to verify it passes before moving on
31
+ 7. If the test fails, fix it immediately. Do not move to the next file until the current test passes.
32
+ 8. Repeat steps 4-7 for the next source file. Stop once you estimate the proposed thresholds will be met.
33
+
34
+ ### Phase 3: Verify and ship
35
+
36
+ 9. Run the full coverage script to verify the new thresholds pass
37
+ 10. Update the thresholds file with the proposed new threshold values
38
+ 11. Re-run the coverage script to confirm the updated thresholds pass
39
+ 12. Commit all changes (new tests + updated thresholds file) with conventional commit messages
40
+ 13. Create a PR with `gh pr create` with a title like "test: increase test coverage: [metrics being bumped]" summarizing coverage improvements
@@ -0,0 +1,4 @@
1
+ display_name: "Nightly Add Test Coverage"
2
+ short_description: "Nightly direct-execution skill…"
3
+ default_prompt:
4
+ - "Use $lisa-nightly-add-test-coverage: Nightly direct-execution skill…."
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: lisa-nightly-improve-tests
3
+ description: "Nightly direct-execution skill…"
4
+ allowed-tools: ["Edit", "MultiEdit", "Write", "Read", "Glob", "Grep", "Bash"]
5
+ ---
6
+
7
+ # Nightly Test Quality Improvement
8
+
9
+ The caller provides:
10
+ - **Mode**: "nightly" or "general"
11
+ - **Changed files** (nightly mode only): list of source files changed in the last 24 hours
12
+
13
+ ## Nightly Mode
14
+
15
+ 1. For each changed source file, find its corresponding test file(s)
16
+ 2. Analyze those test files for: missing edge cases, weak assertions (toBeTruthy instead of specific values), missing error path coverage, tests that test implementation rather than behavior
17
+ 3. Improve the test files with the most impactful changes
18
+ 4. Run the full test suite to verify all tests pass
19
+ 5. Commit changes with conventional commit messages
20
+ 6. Create a PR with `gh pr create` summarizing what was improved and why
21
+
22
+ ## General Mode
23
+
24
+ 1. Scan the test files to find weak, brittle, or poorly-written tests
25
+ 2. Look for: missing edge cases, weak assertions (toBeTruthy instead of specific values), missing error path coverage, tests that test implementation rather than behavior
26
+ 3. Improve 3-5 test files with the most impactful changes
27
+ 4. Run the full test suite to verify all tests pass
28
+ 5. Commit changes with conventional commit messages
29
+ 6. Create a PR with `gh pr create` summarizing what was improved and why
@@ -0,0 +1,4 @@
1
+ display_name: "Nightly Improve Tests"
2
+ short_description: "Nightly direct-execution skill…"
3
+ default_prompt:
4
+ - "Use $lisa-nightly-improve-tests: Nightly direct-execution skill…."
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: lisa-nightly-lower-code-complexity
3
+ description: "Nightly direct-execution skill…"
4
+ allowed-tools: ["Edit", "MultiEdit", "Write", "Read", "Glob", "Grep", "Bash"]
5
+ ---
6
+
7
+ # Nightly Code Complexity Reduction
8
+
9
+ The caller provides pre-computed context:
10
+ - **Package manager** (`npm`, `yarn`, or `bun`)
11
+ - **Current thresholds** (cognitiveComplexity, maxLinesPerFunction from eslint.thresholds.json)
12
+ - **Proposed thresholds** (each metric decreased toward target minimums)
13
+ - **Metrics being reduced** (which metrics are above target)
14
+
15
+ ## Instructions
16
+
17
+ 1. Update eslint.thresholds.json with the proposed new threshold values (do NOT change the maxLines threshold)
18
+ 2. Run the project's lint script with the provided package manager (e.g., `npm run lint`, `yarn lint`, or `bun run lint`) to find functions that violate the new stricter thresholds
19
+ 3. **Before editing**, check each violating file's total line count (`wc -l`). If a file is within 20 lines of its `max-lines` ESLint limit (typically 300), extract helpers into a **separate companion file** (e.g., `fooHelpers.ts`) instead of adding them to the same file. Extracting functions into the same file adds net lines and can create new max-lines violations.
20
+ 4. Fix violations one file at a time. Read only the specific function that violates — do not pre-read all files upfront. Fix it, then move to the next.
21
+ 5. For cognitive complexity violations: use early returns, extract helper functions, replace conditionals with lookup tables
22
+ 6. For max-lines-per-function violations: split large functions, extract helper functions, separate concerns
23
+ 7. After each file edit, run the project's formatter (e.g., `bun run format` or `npx prettier --write <file>`) to ensure line counts reflect the final formatted state before moving on
24
+ 8. Re-run the lint script with the provided package manager to verify all violations are resolved (both the target metric AND max-lines)
25
+ 9. Run the TypeScript compiler to catch type errors early: `npx tsc --noEmit 2>&1 | head -30`. If there are type errors, fix them now — do NOT wait until the commit step. Pre-commit hooks run type checking, and discovering errors at commit time wastes turns.
26
+ 10. Run the project's test script with the provided package manager (e.g., `npm run test`, `yarn test`, or `bun run test`) to verify no tests are broken by the refactoring
27
+ 11. Commit all changes (refactored code + updated eslint.thresholds.json) with conventional commit messages
28
+ 12. Create a PR with `gh pr create` with a title like "refactor: reduce code complexity: [metrics being reduced]" summarizing the changes
@@ -0,0 +1,4 @@
1
+ display_name: "Nightly Lower Code Complexity"
2
+ short_description: "Nightly direct-execution skill…"
3
+ default_prompt:
4
+ - "Use $lisa-nightly-lower-code-complexity: Nightly direct-execution skill…."