@codyswann/lisa 2.247.2 → 2.250.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +5 -0
  2. package/all/copy-overwrite/scripts/lisa-work-item.mjs +1102 -0
  3. package/dist/cli/doctor-kane.d.ts +15 -0
  4. package/dist/cli/doctor-kane.d.ts.map +1 -0
  5. package/dist/cli/doctor-kane.js +28 -0
  6. package/dist/cli/doctor-kane.js.map +1 -0
  7. package/dist/cli/doctor-worker-epoch.d.ts +11 -0
  8. package/dist/cli/doctor-worker-epoch.d.ts.map +1 -0
  9. package/dist/cli/doctor-worker-epoch.js +234 -0
  10. package/dist/cli/doctor-worker-epoch.js.map +1 -0
  11. package/dist/cli/doctor.d.ts +3 -1
  12. package/dist/cli/doctor.d.ts.map +1 -1
  13. package/dist/cli/doctor.js +6 -0
  14. package/dist/cli/doctor.js.map +1 -1
  15. package/dist/cli/index.d.ts +7 -0
  16. package/dist/cli/index.d.ts.map +1 -1
  17. package/dist/cli/index.js +56 -8
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/kane-cmd.d.ts +45 -0
  20. package/dist/cli/kane-cmd.d.ts.map +1 -0
  21. package/dist/cli/kane-cmd.js +91 -0
  22. package/dist/cli/kane-cmd.js.map +1 -0
  23. package/dist/cli/ui-lisa-version.d.ts.map +1 -1
  24. package/dist/cli/ui-lisa-version.js +1 -5
  25. package/dist/cli/ui-lisa-version.js.map +1 -1
  26. package/dist/core/kane-cli-parser.d.ts +9 -0
  27. package/dist/core/kane-cli-parser.d.ts.map +1 -0
  28. package/dist/core/kane-cli-parser.js +145 -0
  29. package/dist/core/kane-cli-parser.js.map +1 -0
  30. package/dist/core/kane-cli-process.d.ts +15 -0
  31. package/dist/core/kane-cli-process.d.ts.map +1 -0
  32. package/dist/core/kane-cli-process.js +77 -0
  33. package/dist/core/kane-cli-process.js.map +1 -0
  34. package/dist/core/kane-cli-types.d.ts +61 -0
  35. package/dist/core/kane-cli-types.d.ts.map +1 -0
  36. package/dist/core/kane-cli-types.js +3 -0
  37. package/dist/core/kane-cli-types.js.map +1 -0
  38. package/dist/core/kane-cli.d.ts +42 -0
  39. package/dist/core/kane-cli.d.ts.map +1 -0
  40. package/dist/core/kane-cli.js +253 -0
  41. package/dist/core/kane-cli.js.map +1 -0
  42. package/dist/core/kane-pilot-report.d.ts +21 -0
  43. package/dist/core/kane-pilot-report.d.ts.map +1 -0
  44. package/dist/core/kane-pilot-report.js +169 -0
  45. package/dist/core/kane-pilot-report.js.map +1 -0
  46. package/dist/core/kane-pilot-types.d.ts +60 -0
  47. package/dist/core/kane-pilot-types.d.ts.map +1 -0
  48. package/dist/core/kane-pilot-types.js +2 -0
  49. package/dist/core/kane-pilot-types.js.map +1 -0
  50. package/dist/core/kane-pilot.d.ts +25 -0
  51. package/dist/core/kane-pilot.d.ts.map +1 -0
  52. package/dist/core/kane-pilot.js +255 -0
  53. package/dist/core/kane-pilot.js.map +1 -0
  54. package/dist/core/project-config-kane.d.ts +27 -0
  55. package/dist/core/project-config-kane.d.ts.map +1 -0
  56. package/dist/core/project-config-kane.js +152 -0
  57. package/dist/core/project-config-kane.js.map +1 -0
  58. package/dist/core/project-config.d.ts +11 -0
  59. package/dist/core/project-config.d.ts.map +1 -1
  60. package/dist/core/project-config.js +7 -5
  61. package/dist/core/project-config.js.map +1 -1
  62. package/package.json +1 -1
  63. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  65. package/plugins/lisa/.codex-plugin/skills/lisa-codify-verification/SKILL.md +2 -0
  66. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +7 -0
  67. package/plugins/lisa/.codex-plugin/skills/lisa-exploratory-qa/SKILL.md +3 -0
  68. package/plugins/lisa/.codex-plugin/skills/lisa-github-claim/SKILL.md +27 -0
  69. package/plugins/lisa/.codex-plugin/skills/lisa-github-claim/agents/openai.yaml +4 -0
  70. package/plugins/lisa/.codex-plugin/skills/lisa-implement/SKILL.md +50 -14
  71. package/plugins/lisa/.codex-plugin/skills/lisa-improve-harness/SKILL.md +487 -0
  72. package/plugins/lisa/.codex-plugin/skills/lisa-improve-harness/agents/openai.yaml +4 -0
  73. package/plugins/lisa/.codex-plugin/skills/lisa-jira-claim/SKILL.md +27 -0
  74. package/plugins/lisa/.codex-plugin/skills/lisa-jira-claim/agents/openai.yaml +4 -0
  75. package/plugins/lisa/.codex-plugin/skills/lisa-kane-browser/SKILL.md +80 -0
  76. package/plugins/lisa/.codex-plugin/skills/lisa-kane-browser/agents/openai.yaml +4 -0
  77. package/plugins/lisa/.codex-plugin/skills/lisa-linear-claim/SKILL.md +27 -0
  78. package/plugins/lisa/.codex-plugin/skills/lisa-linear-claim/agents/openai.yaml +4 -0
  79. package/plugins/lisa/.codex-plugin/skills/lisa-monitor/SKILL.md +2 -0
  80. package/plugins/lisa/.codex-plugin/skills/lisa-parity-coderabbit/SKILL.md +10 -0
  81. package/plugins/lisa/.codex-plugin/skills/lisa-product-walkthrough/SKILL.md +2 -0
  82. package/plugins/lisa/.codex-plugin/skills/lisa-review-local/SKILL.md +11 -0
  83. package/plugins/lisa/.codex-plugin/skills/lisa-setup-kane/SKILL.md +96 -0
  84. package/plugins/lisa/.codex-plugin/skills/lisa-setup-kane/agents/openai.yaml +4 -0
  85. package/plugins/lisa/.codex-plugin/skills/lisa-track/SKILL.md +71 -0
  86. package/plugins/lisa/.codex-plugin/skills/lisa-track/agents/openai.yaml +4 -0
  87. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-claim/SKILL.md +35 -0
  88. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-claim/agents/openai.yaml +4 -0
  89. package/plugins/lisa/.codex-plugin/skills/lisa-use-the-product/SKILL.md +1 -1
  90. package/plugins/lisa/.codex-plugin/skills/lisa-verification-lifecycle/SKILL.md +3 -1
  91. package/plugins/lisa/.codex-plugin/skills/lisa-verify/SKILL.md +1 -0
  92. package/plugins/lisa/agents/product-specialist.md +2 -0
  93. package/plugins/lisa/agents/quality-specialist.md +4 -1
  94. package/plugins/lisa/agents/verification-specialist.md +2 -2
  95. package/plugins/lisa/commands/improve-harness.md +6 -0
  96. package/plugins/lisa/commands/track.md +6 -0
  97. package/plugins/lisa/rules/eager/config-resolution.md +9 -0
  98. package/plugins/lisa/rules/eager/convergent-review.md +19 -0
  99. package/plugins/lisa/rules/eager/tracked-work.md +7 -0
  100. package/plugins/lisa/rules/eager/verification.md +1 -1
  101. package/plugins/lisa/rules/reference/config-resolution.md +26 -1
  102. package/plugins/lisa/rules/reference/convergent-review.md +69 -0
  103. package/plugins/lisa/rules/reference/tracked-work.md +26 -0
  104. package/plugins/lisa/rules/reference/verification.md +4 -2
  105. package/plugins/lisa/skills/lisa-codify-verification/SKILL.md +2 -0
  106. package/plugins/lisa/skills/lisa-doctor/SKILL.md +7 -0
  107. package/plugins/lisa/skills/lisa-exploratory-qa/SKILL.md +3 -0
  108. package/plugins/lisa/skills/lisa-github-claim/SKILL.md +27 -0
  109. package/plugins/lisa/skills/lisa-github-claim/agents/openai.yaml +4 -0
  110. package/plugins/lisa/skills/lisa-implement/SKILL.md +50 -14
  111. package/plugins/lisa/skills/lisa-improve-harness/SKILL.md +487 -0
  112. package/plugins/lisa/skills/lisa-improve-harness/agents/openai.yaml +4 -0
  113. package/plugins/lisa/skills/lisa-jira-claim/SKILL.md +27 -0
  114. package/plugins/lisa/skills/lisa-jira-claim/agents/openai.yaml +4 -0
  115. package/plugins/lisa/skills/lisa-kane-browser/SKILL.md +80 -0
  116. package/plugins/lisa/skills/lisa-kane-browser/agents/openai.yaml +4 -0
  117. package/plugins/lisa/skills/lisa-linear-claim/SKILL.md +27 -0
  118. package/plugins/lisa/skills/lisa-linear-claim/agents/openai.yaml +4 -0
  119. package/plugins/lisa/skills/lisa-monitor/SKILL.md +2 -0
  120. package/plugins/lisa/skills/lisa-parity-coderabbit/SKILL.md +10 -0
  121. package/plugins/lisa/skills/lisa-product-walkthrough/SKILL.md +2 -0
  122. package/plugins/lisa/skills/lisa-review-local/SKILL.md +11 -0
  123. package/plugins/lisa/skills/lisa-setup-kane/SKILL.md +96 -0
  124. package/plugins/lisa/skills/lisa-setup-kane/agents/openai.yaml +4 -0
  125. package/plugins/lisa/skills/lisa-track/SKILL.md +71 -0
  126. package/plugins/lisa/skills/lisa-track/agents/openai.yaml +4 -0
  127. package/plugins/lisa/skills/lisa-tracker-claim/SKILL.md +35 -0
  128. package/plugins/lisa/skills/lisa-tracker-claim/agents/openai.yaml +4 -0
  129. package/plugins/lisa/skills/lisa-use-the-product/SKILL.md +1 -1
  130. package/plugins/lisa/skills/lisa-verification-lifecycle/SKILL.md +3 -1
  131. package/plugins/lisa/skills/lisa-verify/SKILL.md +1 -0
  132. package/plugins/lisa-agy/agents/product-specialist.md +2 -0
  133. package/plugins/lisa-agy/agents/quality-specialist.md +4 -1
  134. package/plugins/lisa-agy/agents/verification-specialist.md +2 -2
  135. package/plugins/lisa-agy/commands/lisa/improve-harness.md +6 -0
  136. package/plugins/lisa-agy/commands/lisa/track.md +6 -0
  137. package/plugins/lisa-agy/plugin.json +1 -1
  138. package/plugins/lisa-agy/skills/lisa-codify-verification/SKILL.md +2 -0
  139. package/plugins/lisa-agy/skills/lisa-doctor/SKILL.md +7 -0
  140. package/plugins/lisa-agy/skills/lisa-exploratory-qa/SKILL.md +3 -0
  141. package/plugins/lisa-agy/skills/lisa-github-claim/SKILL.md +27 -0
  142. package/plugins/lisa-agy/skills/lisa-implement/SKILL.md +50 -14
  143. package/plugins/lisa-agy/skills/lisa-improve-harness/SKILL.md +487 -0
  144. package/plugins/lisa-agy/skills/lisa-jira-claim/SKILL.md +27 -0
  145. package/plugins/lisa-agy/skills/lisa-kane-browser/SKILL.md +80 -0
  146. package/plugins/lisa-agy/skills/lisa-linear-claim/SKILL.md +27 -0
  147. package/plugins/lisa-agy/skills/lisa-monitor/SKILL.md +2 -0
  148. package/plugins/lisa-agy/skills/lisa-parity-coderabbit/SKILL.md +10 -0
  149. package/plugins/lisa-agy/skills/lisa-product-walkthrough/SKILL.md +2 -0
  150. package/plugins/lisa-agy/skills/lisa-review-local/SKILL.md +11 -0
  151. package/plugins/lisa-agy/skills/lisa-setup-kane/SKILL.md +96 -0
  152. package/plugins/lisa-agy/skills/lisa-track/SKILL.md +71 -0
  153. package/plugins/lisa-agy/skills/lisa-tracker-claim/SKILL.md +35 -0
  154. package/plugins/lisa-agy/skills/lisa-use-the-product/SKILL.md +1 -1
  155. package/plugins/lisa-agy/skills/lisa-verification-lifecycle/SKILL.md +3 -1
  156. package/plugins/lisa-agy/skills/lisa-verify/SKILL.md +1 -0
  157. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  158. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  159. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  160. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  161. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  162. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  163. package/plugins/lisa-copilot/agents/product-specialist.agent.md +2 -0
  164. package/plugins/lisa-copilot/agents/quality-specialist.agent.md +4 -1
  165. package/plugins/lisa-copilot/agents/verification-specialist.agent.md +2 -2
  166. package/plugins/lisa-copilot/commands/lisa/improve-harness.md +6 -0
  167. package/plugins/lisa-copilot/commands/lisa/track.md +6 -0
  168. package/plugins/lisa-copilot/rules/eager/config-resolution.md +9 -0
  169. package/plugins/lisa-copilot/rules/eager/convergent-review.md +19 -0
  170. package/plugins/lisa-copilot/rules/eager/tracked-work.md +7 -0
  171. package/plugins/lisa-copilot/rules/eager/verification.md +1 -1
  172. package/plugins/lisa-copilot/rules/reference/config-resolution.md +26 -1
  173. package/plugins/lisa-copilot/rules/reference/convergent-review.md +69 -0
  174. package/plugins/lisa-copilot/rules/reference/tracked-work.md +26 -0
  175. package/plugins/lisa-copilot/rules/reference/verification.md +4 -2
  176. package/plugins/lisa-copilot/skills/lisa-codify-verification/SKILL.md +2 -0
  177. package/plugins/lisa-copilot/skills/lisa-doctor/SKILL.md +7 -0
  178. package/plugins/lisa-copilot/skills/lisa-exploratory-qa/SKILL.md +3 -0
  179. package/plugins/lisa-copilot/skills/lisa-github-claim/SKILL.md +27 -0
  180. package/plugins/lisa-copilot/skills/lisa-implement/SKILL.md +50 -14
  181. package/plugins/lisa-copilot/skills/lisa-improve-harness/SKILL.md +487 -0
  182. package/plugins/lisa-copilot/skills/lisa-jira-claim/SKILL.md +27 -0
  183. package/plugins/lisa-copilot/skills/lisa-kane-browser/SKILL.md +80 -0
  184. package/plugins/lisa-copilot/skills/lisa-linear-claim/SKILL.md +27 -0
  185. package/plugins/lisa-copilot/skills/lisa-monitor/SKILL.md +2 -0
  186. package/plugins/lisa-copilot/skills/lisa-parity-coderabbit/SKILL.md +10 -0
  187. package/plugins/lisa-copilot/skills/lisa-product-walkthrough/SKILL.md +2 -0
  188. package/plugins/lisa-copilot/skills/lisa-review-local/SKILL.md +11 -0
  189. package/plugins/lisa-copilot/skills/lisa-setup-kane/SKILL.md +96 -0
  190. package/plugins/lisa-copilot/skills/lisa-track/SKILL.md +71 -0
  191. package/plugins/lisa-copilot/skills/lisa-tracker-claim/SKILL.md +35 -0
  192. package/plugins/lisa-copilot/skills/lisa-use-the-product/SKILL.md +1 -1
  193. package/plugins/lisa-copilot/skills/lisa-verification-lifecycle/SKILL.md +3 -1
  194. package/plugins/lisa-copilot/skills/lisa-verify/SKILL.md +1 -0
  195. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  196. package/plugins/lisa-cursor/agents/product-specialist.md +2 -0
  197. package/plugins/lisa-cursor/agents/quality-specialist.md +4 -1
  198. package/plugins/lisa-cursor/agents/verification-specialist.md +2 -2
  199. package/plugins/lisa-cursor/commands/lisa/improve-harness.md +6 -0
  200. package/plugins/lisa-cursor/commands/lisa/track.md +6 -0
  201. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +26 -1
  202. package/plugins/lisa-cursor/rules/config-resolution.mdc +9 -0
  203. package/plugins/lisa-cursor/rules/convergent-review-reference.mdc +74 -0
  204. package/plugins/lisa-cursor/rules/convergent-review.mdc +24 -0
  205. package/plugins/lisa-cursor/rules/tracked-work-reference.mdc +31 -0
  206. package/plugins/lisa-cursor/rules/tracked-work.mdc +12 -0
  207. package/plugins/lisa-cursor/rules/verification-reference.mdc +4 -2
  208. package/plugins/lisa-cursor/rules/verification.mdc +1 -1
  209. package/plugins/lisa-cursor/skills/lisa-codify-verification/SKILL.md +2 -0
  210. package/plugins/lisa-cursor/skills/lisa-doctor/SKILL.md +7 -0
  211. package/plugins/lisa-cursor/skills/lisa-exploratory-qa/SKILL.md +3 -0
  212. package/plugins/lisa-cursor/skills/lisa-github-claim/SKILL.md +27 -0
  213. package/plugins/lisa-cursor/skills/lisa-implement/SKILL.md +50 -14
  214. package/plugins/lisa-cursor/skills/lisa-improve-harness/SKILL.md +487 -0
  215. package/plugins/lisa-cursor/skills/lisa-jira-claim/SKILL.md +27 -0
  216. package/plugins/lisa-cursor/skills/lisa-kane-browser/SKILL.md +80 -0
  217. package/plugins/lisa-cursor/skills/lisa-linear-claim/SKILL.md +27 -0
  218. package/plugins/lisa-cursor/skills/lisa-monitor/SKILL.md +2 -0
  219. package/plugins/lisa-cursor/skills/lisa-parity-coderabbit/SKILL.md +10 -0
  220. package/plugins/lisa-cursor/skills/lisa-product-walkthrough/SKILL.md +2 -0
  221. package/plugins/lisa-cursor/skills/lisa-review-local/SKILL.md +11 -0
  222. package/plugins/lisa-cursor/skills/lisa-setup-kane/SKILL.md +96 -0
  223. package/plugins/lisa-cursor/skills/lisa-track/SKILL.md +71 -0
  224. package/plugins/lisa-cursor/skills/lisa-tracker-claim/SKILL.md +35 -0
  225. package/plugins/lisa-cursor/skills/lisa-use-the-product/SKILL.md +1 -1
  226. package/plugins/lisa-cursor/skills/lisa-verification-lifecycle/SKILL.md +3 -1
  227. package/plugins/lisa-cursor/skills/lisa-verify/SKILL.md +1 -0
  228. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  229. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  230. package/plugins/lisa-expo-agy/plugin.json +1 -1
  231. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  232. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  233. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  234. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  235. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  236. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  237. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  238. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  239. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  240. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  241. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  242. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  243. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  244. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  245. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  246. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  247. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  248. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  249. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  250. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  251. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  252. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  253. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  254. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  255. package/plugins/lisa-rails-agy/plugin.json +1 -1
  256. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  257. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  258. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  259. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  260. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  261. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  262. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  263. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  264. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  265. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  266. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  267. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  268. package/plugins/src/base/agents/product-specialist.md +2 -0
  269. package/plugins/src/base/agents/quality-specialist.md +4 -1
  270. package/plugins/src/base/agents/verification-specialist.md +2 -2
  271. package/plugins/src/base/commands/improve-harness.md +6 -0
  272. package/plugins/src/base/commands/track.md +6 -0
  273. package/plugins/src/base/rules/eager/config-resolution.md +9 -0
  274. package/plugins/src/base/rules/eager/convergent-review.md +19 -0
  275. package/plugins/src/base/rules/eager/tracked-work.md +7 -0
  276. package/plugins/src/base/rules/eager/verification.md +1 -1
  277. package/plugins/src/base/rules/reference/config-resolution.md +26 -1
  278. package/plugins/src/base/rules/reference/convergent-review.md +69 -0
  279. package/plugins/src/base/rules/reference/tracked-work.md +26 -0
  280. package/plugins/src/base/rules/reference/verification.md +4 -2
  281. package/plugins/src/base/skills/lisa-codify-verification/SKILL.md +2 -0
  282. package/plugins/src/base/skills/lisa-doctor/SKILL.md +7 -0
  283. package/plugins/src/base/skills/lisa-exploratory-qa/SKILL.md +3 -0
  284. package/plugins/src/base/skills/lisa-github-claim/SKILL.md +27 -0
  285. package/plugins/src/base/skills/lisa-implement/SKILL.md +50 -14
  286. package/plugins/src/base/skills/lisa-improve-harness/SKILL.md +487 -0
  287. package/plugins/src/base/skills/lisa-jira-claim/SKILL.md +27 -0
  288. package/plugins/src/base/skills/lisa-kane-browser/SKILL.md +80 -0
  289. package/plugins/src/base/skills/lisa-linear-claim/SKILL.md +27 -0
  290. package/plugins/src/base/skills/lisa-monitor/SKILL.md +2 -0
  291. package/plugins/src/base/skills/lisa-parity-coderabbit/SKILL.md +10 -0
  292. package/plugins/src/base/skills/lisa-product-walkthrough/SKILL.md +2 -0
  293. package/plugins/src/base/skills/lisa-review-local/SKILL.md +11 -0
  294. package/plugins/src/base/skills/lisa-setup-kane/SKILL.md +96 -0
  295. package/plugins/src/base/skills/lisa-track/SKILL.md +71 -0
  296. package/plugins/src/base/skills/lisa-tracker-claim/SKILL.md +35 -0
  297. package/plugins/src/base/skills/lisa-use-the-product/SKILL.md +1 -1
  298. package/plugins/src/base/skills/lisa-verification-lifecycle/SKILL.md +3 -1
  299. package/plugins/src/base/skills/lisa-verify/SKILL.md +1 -0
  300. package/rails/copy-overwrite/lefthook.yml +10 -0
  301. package/scripts/lisa-work-item.mjs +5 -0
  302. package/typescript/copy-contents/.husky/commit-msg +9 -23
  303. package/typescript/copy-contents/.husky/pre-push +10 -0
  304. package/typescript/copy-contents/.husky/prepare-commit-msg +15 -0
@@ -21,6 +21,7 @@ Experience the product the way a **brand-new end user** would: drive its real co
21
21
  ## 1. Set up
22
22
 
23
23
  - **Invoke `use-the-product`** to detect the product type, resolve the environment + mutation policy, and discover personas/subagents. Everything about *how* to drive the product, *where*, and *how much you may mutate* comes from there — do not re-derive it.
24
+ - For a DOM web app whose resolved non-production environment has mutation policy `full`, check the optional Kane provider with `lisa kane probe`. If ready, invoke `lisa-kane-browser` for self-contained journeys and use its screenshots, HAR/network, console, and normalized verdict as evidence. Keep the run on a directly controlled browser for `read-only`/`forbidden` environments. Treat `tool_failed`/`timed_out` as provider findings, never as product bugs.
24
25
  - **Confirm the tracker is configured.** Findings are filed as tickets, so read `tracker` from `.lisa.config.json` (local overrides global). If unset, stop and report that the tracker must be configured (`/lisa:setup:jira` / `:github` / `:linear`) before exploratory QA can file findings — do not silently fall back to a report file.
25
26
  - Read the `ready` flag (default `false`).
26
27
 
@@ -62,6 +63,8 @@ Whether you may create/edit/delete — and as which account — is set by the `u
62
63
 
63
64
  No report file. Every finding becomes a **leaf work item** via `lisa-tracker-write` (the vendor-neutral writer — it dispatches to the configured tracker and runs the validation gate; never call a vendor `*-write-*` skill directly):
64
65
 
66
+ Kane never files the work item itself. Even when it marks a failure as a confirmed product bug, run Lisa's marker-based duplicate search, apply the QA lens, and route the finding through `lisa-tracker-write` exactly as for every other controller.
67
+
65
68
  | Finding | `issue_type` | `build_ready` |
66
69
  |---|---|---|
67
70
  | User-visible **bug** (broken behavior) | `Bug` | the `ready` flag (default `false`) |
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: lisa-github-claim
3
+ description: "Idempotently claims one live…"
4
+ allowed-tools: ["Bash", "Skill", "Read"]
5
+ ---
6
+
7
+ # Claim GitHub Issue: $ARGUMENTS
8
+
9
+ Claim exactly one canonical `org/repo#<number>` reference. This is the reusable direct-session counterpart of `lisa-github-build-intake` Phase 3b.
10
+
11
+ 1. Resolve merged `.github.org`, `.github.repo`, optional `.github.queueRepo`, and `github.labels.build` values from local-over-global config. Resolve current-repository identity independently using `repo-scope-split` / `config-resolution` (`.repo` -> `.github.repo` -> `git remote get-url origin` basename). The queue repository defaults to `<github.org>/<github.repo>`; it is only the tracker storage/scan target and never replaces current-repository identity. Resolve the ready and claimed roles from config (defaults `status:ready` and `status:in-progress`); do not hardcode lifecycle decisions.
12
+ 2. Require the ref's `org/repo` to equal the resolved queue repository. Invoke `lisa-github-read-issue <ref>` immediately before mutation. When the queue repository differs from the current repository, require exactly the current-repository scope (`repo:<current>`); reject an unlabeled issue, `repo:<other>`, or an ambiguous multi-repo leaf. Also reject a closed issue, an active blocker, any issue with open child work, or a childless Epic per `repo-scope-split` and `leaf-only-lifecycle`.
13
+ 3. Inspect the live build lifecycle labels:
14
+ - Already claimed, review, environment-done, or another configured later non-terminal role -> preserve it and set `claim_outcome: reused`.
15
+ - Ready or no build lifecycle label -> run `gh issue edit <number> --repo <org>/<repo>`, remove ready when present, and add claimed. This is the idempotency lock.
16
+ - Terminal label/state -> reject; completed work cannot be rebound as new work.
17
+ 4. If and only if the issue is unassigned, add `@me`; leave every existing assignee untouched.
18
+ 5. Post the stable marker comment once, deduped against all existing comments:
19
+
20
+ ```text
21
+ [lisa-tracker-claim] Claimed by Lisa. Starting implementation.
22
+ ```
23
+
24
+ 6. Invoke `lisa-github-read-issue <ref>` again. Success requires the issue to remain open, leaf/current-repo (including the explicit `repo:<current>` proof for an umbrella queue), and in claimed or a later non-terminal role. If the relabel or verification fails, return failure and do not authorize a binding.
25
+ 7. Return `tracker_provider: github`, canonical `work_item_ref: <org>/<repo>#<number>`, `claim_outcome: claimed|reused`, assignee outcome, and the post-write status evidence.
26
+
27
+ Never create an issue here. Never call GitHub for a configured Jira or Linear project.
@@ -0,0 +1,4 @@
1
+ display_name: "Github Claim"
2
+ short_description: "Idempotently claims one live…"
3
+ default_prompt:
4
+ - "Use $lisa-github-claim: Idempotently claims one live…."
@@ -34,18 +34,26 @@ Treat the first successful lead-spawn request (or, on the Codex fallback, the fi
34
34
 
35
35
  ## Resolve the input (first task assigned to the team)
36
36
 
37
- $ARGUMENTS is either a url to a ticket containing the request, a pointer to a file containing the request, or the request in text format.
37
+ $ARGUMENTS is either a URL/key for an existing work item, a pointer to a file containing the request, or the request in text format. Every form must resolve to exactly one live, claimed tracker leaf and a verified worktree binding before the lead may begin durable work.
38
38
 
39
39
  The team lead does NOT read the input directly. The first task on the team's plan is "resolve the input" — assigned to a bounded input-resolver teammate, which then:
40
40
 
41
- - If it's a ticket, calls `lisa-tracker-read` (preferred — vendor-agnostic; dispatches per `.lisa.config.json` `tracker`). **Mismatch guard**: if the ticket format doesn't match the configured tracker (e.g., a GitHub URL when `tracker` is `jira`), `tracker-read` stops and reports the error — never auto-translates vendors:
42
- - JIRA ticket → `lisa-tracker-read` → `lisa-jira-read-ticket`
43
- - GitHub Issue `lisa-tracker-read` `lisa-github-read-issue`
44
- - Linear identifier or project URL `lisa-tracker-read` `lisa-linear-read-issue`
45
- - Captures comments and metadata, not just the description.
46
- - If it's a file, reads the entire file without offset or limit.
47
- - If it's a plain-text request, uses the provided text verbatim as the resolved input.
48
- - Returns the resolved input to the team lead, who then proceeds to roster selection.
41
+ The input-resolver invokes `lisa-track $ARGUMENTS` and owns its complete resolve -> claim -> bind transaction:
42
+
43
+ - **Explicit ticket:** call `lisa-tracker-read` against the configured tracker and require a live open/unresolved current-project leaf. **Mismatch guard:** if the ticket format/project does not match the configured tracker (for example, a GitHub URL when `tracker` is `jira`), stop — never auto-translate vendors or trust pasted/stale ticket text. The read captures comments, graph, and metadata, not just the description.
44
+ - **Specification file:** read the entire file without offset or limit, preserve it as the resolved input, and follow the plain-text resolution path below.
45
+ - **Plain text or file contents:** search the configured project conservatively for open leaves describing the same outcome. Live-validate every candidate through `lisa-tracker-read`; reuse only exactly one high-confidence match. When there is no unique match (zero or ambiguous candidates), synthesize one complete single-repository leaf and invoke `lisa-tracker-write` exactly once with `build_ready: true`, then live-read its canonical returned ref. Never create a thin placeholder, hierarchy, or container.
46
+ - **Claim:** invoke `lisa-tracker-claim <canonical-ref>` and require the provider skill's post-read verified `claimed|reused` result. A failed or inaccessible claim blocks the flow.
47
+ - **Bind before durable work:** only after the verified claim, run:
48
+
49
+ ```bash
50
+ node scripts/lisa-work-item.mjs bind <canonical-ref>
51
+ ```
52
+
53
+ Require a successful readback of that worktree-local binding. On detached HEAD, `branch: null` is the expected pending binding; after branch creation the mandatory `attach-branch` step below must replace it before any commit. Tracker or binding failure stops the flow; never continue untracked.
54
+ - Return the full resolved work-item context plus `tracker_provider`, canonical `work_item_ref`, resolution outcome, claim outcome, and verified binding to the team lead, who then proceeds to roster selection.
55
+
56
+ The input resolver may perform these tracker and local-binding operations before the Roster Decision because they are the mandatory gate that establishes what work the team is allowed to do. No project source, documentation, plan artifact, branch, or task may be created or changed before this transaction succeeds. Read-only discussion/orientation outside an Implement flow remains exempt per the `tracked-work` rule.
49
57
 
50
58
  The input resolver is the only teammate that may be spawned before the Roster Decision exists. After it returns the resolved input, do not spawn any lifecycle, research, implementation, review, verification, or learning teammate until the Roster Decision has been recorded.
51
59
 
@@ -86,13 +94,14 @@ Using the general-purpose agent in Team Lead session, **determine the base branc
86
94
  - **Rebase the feature branch onto `origin/<base>` and resolve any merge conflicts BEFORE starting work.** If the conflicts cannot be resolved cleanly and safely, create a fix task for the agent team (with the conflicting file list and current merge state) and resolve it before implementation begins — never start work on stale or conflicted code.
87
95
  4. **The PR targets the resolved base branch** — carry it as `target_branch=<base>` into `lisa-git-submit-pr` (Verify flow). `git-submit-pr` already chooses a closing keyword when the base is the production/default branch and a non-closing reference for a non-terminal environment branch. For a bug fixed on a non-integration environment branch, the current flow is not done until the fix is merged and verified there, then forward cherry-picked down to the integration branch via a linked follow-up.
88
96
 
89
- When the request came from a tracker work item, preserve its native identifier for development linkage:
97
+ Every Implement run now has a tracker work item. Preserve its canonical identifier for development linkage unconditionally:
90
98
 
91
- - Capture `tracker_provider` and `work_item_ref` from the resolved input before creating or reusing a branch. Examples: `github` + `CodySwannGT/lisa#614`, `linear` + `ENG-123`, `jira` + `ENG-123`.
99
+ - Capture `tracker_provider` and `work_item_ref` from the tracked input before creating or reusing a branch. Examples: `github` + `CodySwannGT/lisa#614`, `linear` + `ENG-123`, `jira` + `ENG-123`. Missing linkage is a workflow failure, never an optional/no-ticket mode.
92
100
  - If a new branch is needed and the provider can link branches by identifier, include the identifier in the branch name before the human-readable slug. Linear and JIRA integrations commonly link from branch names; GitHub issue linkage is PR-body driven, but including the issue number in the branch name is still useful. Keep branch names URL-safe, for example `codex/ENG-123-add-checkout-copy` or `codex/614-add-checkout-copy`.
101
+ - After the feature branch exists, run `node scripts/lisa-work-item.mjs attach-branch` so the worktree-local binding records the actual branch without treating the branch name as authority.
93
102
  - Pass the work-item ref and target branch to `lisa-git-submit-pr` when opening or updating the PR, for example `work_item_ref=CodySwannGT/lisa#614 target_branch=<base resolved from the ticket's environment above>` (not hardcoded `main`). The PR workflow owns provider-specific body text and must decide whether to use a closing keyword or a non-closing reference.
94
103
  - After `lisa-git-submit-pr` returns a PR URL, ensure the reverse backlink is present on the source work item by running `lisa-tracker-sync <work_item_ref> pr-ready pr_url=<url> tracker_provider=<provider>`. The sync path must prefer native provider linkage and fall back to one managed `[lisa-pr-link]` comment when native linkage is unavailable or cannot be verified.
95
- - If the provider has no native branch or PR development-linkage surface, continue without linkage and mention that the provider was skipped.
104
+ - If the provider has no native branch or PR development-linkage surface, the managed `[lisa-pr-link]` fallback is required; never continue without proven ticket-side linkage.
96
105
 
97
106
  Using the general-purpose agent in Team Lead session, Determine which flow applies:
98
107
  1. Research -- needs a PRD (no specification exists)
@@ -185,6 +194,32 @@ Before marking a task complete, the implementing agent records concise MLD into
185
194
 
186
195
  Each task must have their learnings captured to the ledger by the learner subagent.
187
196
 
197
+ ## Implement valid suggestions
198
+
199
+ When review, CodeRabbit, local-review, product, quality, security, or specialist
200
+ feedback arrives, apply the `convergent-review` rule before changing code:
201
+
202
+ 1. Normalize each finding into severity, blocking yes/no, concrete failure
203
+ scenario, evidence, and proposed smallest fix.
204
+ 2. Treat a blocker with no concrete correctness, security, data-loss, or
205
+ contract-violation scenario as malformed. Reply with the missing-evidence
206
+ reason and handle it as non-blocking.
207
+ 3. Resolve each finding with one disposition:
208
+ - `fixed`: make the smallest code, test, docs, or generated-artifact change
209
+ that removes the failure scenario.
210
+ - `deferred`: record why the issue is real but non-blocking, and file or link
211
+ follow-up work when useful.
212
+ - `pushed-back`: cite the evidence, scope boundary, or repository rule that
213
+ refutes the finding.
214
+ 4. If a reviewer cannot refute a pushback with fresh evidence, the author's
215
+ disposition stands.
216
+ 5. After the suggestion-implementation task completes and required gates pass,
217
+ do not reopen review unless new evidence appears: a relevant new commit, a
218
+ failed gate, a newly cited failure scenario, or a scope change.
219
+ 6. If a blocking disagreement remains irreconcilable, stop the review loop:
220
+ move the work item to the configured blocked state, add `human-needed` when
221
+ the decision is human-only, and summarize both positions in plain language.
222
+
188
223
  Before shutting down the team, execute the Verify flow:
189
224
 
190
225
  1. Run quality gates: lint, typecheck, tests — all must pass. These are prerequisites, NOT verification.
@@ -214,12 +249,13 @@ Before shutting down the team, execute the Verify flow:
214
249
  4. Record Implement usage on the originating work artifact via `lisa-usage-accounting` so the work item (or other implementation-owned artifact) gains a direct `lisa-implement` usage entry in the canonical `## Lisa Usage` section. If the parent / child graph is already known, prefer `record_and_rollup` so ancestor totals refresh in the same write; otherwise still write the direct entry, and if runtime usage is unavailable, use `source: unavailable` with nullable token/cost fields instead of skipping the row.
215
250
  5. Commit ALL outstanding changes in logical batches on the branch (minus sensitive data/information) — not just changes made by the agent team. This includes pre-existing uncommitted changes that were on the branch before the plan started. Do NOT filter commits to only "task-related" files. If it shows up in git status, it gets committed (unless it contains secrets).
216
251
  6. Push the changes - if any pre-push hook blocks you, create a task for the agent team to fix the error/problem whether it was pre-existing or not
217
- 7. Open a pull request with auto-merge on via `lisa-git-submit-pr`, targeting the **base branch resolved from the ticket's environment** (`target_branch=<base>`, per the branch step above), and including the work-item ref when one exists so the PR can be linked natively to the source issue.
252
+ 7. Open a pull request with auto-merge on via `lisa-git-submit-pr`, targeting the **base branch resolved from the ticket's environment** (`target_branch=<base>`, per the branch step above), and including the mandatory work-item ref so the PR can be linked natively to the source issue.
218
253
  7a. Confirm two-way linkage before treating PR submission as complete: the PR body/title/branch must reference the work item, and the work item must have either a verified native PR link or a single managed `[lisa-pr-link]` fallback comment from `lisa-tracker-sync`.
219
254
  8. PR Watch Loop: Drive the PR to merge via the `drive-pr-to-merge` skill — the single source of truth for clearing every blocker (auto-merge with direct-merge fallback, `BEHIND` re-sync, conflict resolution, failing-check fixes, human + bot review-comment handling with thread resolution, stale `CHANGES_REQUESTED` dismissal, and post-merge ancestry verification). `git-submit-pr` already invokes it; if you reach this step with a PR already open, invoke `drive-pr-to-merge` directly with the PR number. For a large review backlog you may fan the code-fix work out to the agent team, but `drive-pr-to-merge` owns the loop and the terminal conditions — do not re-implement them.
220
- 9. Merge the PR, then refresh the ticket-side backlink with `lisa-tracker-sync <work_item_ref> pr-merged pr_url=<url> merge_sha=<sha> tracker_provider=<provider>` when a work item exists.
255
+ 9. Merge the PR, then refresh the ticket-side backlink with `lisa-tracker-sync <work_item_ref> pr-merged pr_url=<url> merge_sha=<sha> tracker_provider=<provider>`.
221
256
  10. Monitor the deploy action that triggers automatically from the successful merge
222
257
  11. If deploy fails, create a task for the agent team to fix the failure, open a new PR and then go back to step 7
223
258
  12. Remote verification: `verification-specialist` verifies in target environment (same checks as local verification, but on remote), and refreshes the verdict (step 2a) to reflect the remote result.
224
259
  13. `ops-specialist`: post-deploy health check, monitor for errors in first minutes
225
260
  14. If remote verification fails, create a task for the agent team to find out why it failed, fix it and return to step 5. **Bound this loop**: after a small number of full fix→deploy→reverify cycles without reaching a passing remote verdict (treat ~3 as the ceiling unless the work item states otherwise), stop retrying — file a build-ready fix ticket, write the verdict with `status: "blocked"` and the diagnosis, and move the work item to blocked rather than looping indefinitely. The completion gate releases on a `blocked` verdict, so the flow ends with a recorded outcome instead of a silent spin or a self-declared success.
261
+ 15. After true terminal completion — required merge/deploy/verification passed, usage/evidence and two-way PR linkage are recorded, and the work item is terminal — run `node scripts/lisa-work-item.mjs clear` and verify the worktree has no current binding. Do not clear on an interruption or blocked outcome; preserving the binding is what keeps resumed work attributable.