@codyswann/lisa 1.56.0 → 1.56.2

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 (469) hide show
  1. package/.claude-plugin/marketplace.json +11 -5
  2. package/all/merge/.claude/settings.json +7 -0
  3. package/package.json +1 -1
  4. package/plugins/lisa/.claude-plugin/plugin.json +148 -0
  5. package/plugins/lisa-cdk/.claude-plugin/plugin.json +3 -159
  6. package/plugins/lisa-expo/.claude-plugin/plugin.json +2 -146
  7. package/plugins/lisa-expo/commands/jira/add-journey.md +1 -1
  8. package/plugins/lisa-expo/commands/jira/create.md +1 -1
  9. package/plugins/lisa-expo/commands/jira/evidence.md +1 -1
  10. package/plugins/lisa-expo/commands/jira/journey.md +1 -1
  11. package/plugins/lisa-expo/commands/jira/verify.md +1 -1
  12. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +3 -159
  13. package/plugins/lisa-rails/.claude-plugin/plugin.json +2 -120
  14. package/plugins/lisa-rails/commands/jira/add-journey.md +1 -1
  15. package/plugins/lisa-rails/commands/jira/create.md +1 -1
  16. package/plugins/lisa-rails/commands/jira/evidence.md +1 -1
  17. package/plugins/lisa-rails/commands/jira/journey.md +1 -1
  18. package/plugins/lisa-rails/commands/jira/verify.md +1 -1
  19. package/plugins/lisa-rails/commands/plan/add-test-coverage.md +1 -1
  20. package/plugins/lisa-rails/commands/plan/fix-linter-error.md +1 -1
  21. package/plugins/lisa-rails/commands/plan/lower-code-complexity.md +1 -1
  22. package/plugins/lisa-rails/commands/plan/reduce-max-lines-per-function.md +1 -1
  23. package/plugins/lisa-rails/commands/plan/reduce-max-lines.md +1 -1
  24. package/plugins/lisa-typescript/.claude-plugin/plugin.json +2 -127
  25. package/plugins/src/base/.claude-plugin/plugin.json +78 -0
  26. package/plugins/src/cdk/.claude-plugin/plugin.json +2 -81
  27. package/plugins/src/expo/.claude-plugin/plugin.json +1 -68
  28. package/plugins/{lisa-typescript → src/expo}/commands/jira/add-journey.md +1 -1
  29. package/plugins/{lisa-nestjs → src/expo}/commands/jira/create.md +1 -1
  30. package/plugins/{lisa-nestjs → src/expo}/commands/jira/evidence.md +1 -1
  31. package/plugins/{lisa-nestjs → src/expo}/commands/jira/journey.md +1 -1
  32. package/plugins/{lisa-nestjs → src/expo}/commands/jira/verify.md +1 -1
  33. package/plugins/src/nestjs/.claude-plugin/plugin.json +2 -81
  34. package/plugins/src/rails/.claude-plugin/plugin.json +1 -59
  35. package/plugins/{lisa-nestjs → src/rails}/commands/jira/add-journey.md +1 -1
  36. package/plugins/{lisa-typescript → src/rails}/commands/jira/create.md +1 -1
  37. package/plugins/{lisa-typescript → src/rails}/commands/jira/evidence.md +1 -1
  38. package/plugins/{lisa-typescript → src/rails}/commands/jira/journey.md +1 -1
  39. package/plugins/{lisa-typescript → src/rails}/commands/jira/verify.md +1 -1
  40. package/plugins/{lisa-expo → src/rails}/commands/plan/add-test-coverage.md +1 -1
  41. package/plugins/{lisa-expo → src/rails}/commands/plan/fix-linter-error.md +1 -1
  42. package/plugins/{lisa-expo → src/rails}/commands/plan/lower-code-complexity.md +1 -1
  43. package/plugins/{lisa-expo → src/rails}/commands/plan/reduce-max-lines-per-function.md +1 -1
  44. package/plugins/{lisa-expo → src/rails}/commands/plan/reduce-max-lines.md +1 -1
  45. package/plugins/src/typescript/.claude-plugin/plugin.json +1 -58
  46. package/scripts/build-plugins.sh +30 -17
  47. package/scripts/install-claude-plugins.sh +28 -11
  48. package/typescript/merge/.claude/settings.json +2 -2
  49. package/typescript/package-lisa/package.lisa.json +2 -1
  50. package/plugins/lisa-expo/agents/agent-architect.md +0 -310
  51. package/plugins/lisa-expo/agents/architecture-specialist.md +0 -53
  52. package/plugins/lisa-expo/agents/debug-specialist.md +0 -204
  53. package/plugins/lisa-expo/agents/git-history-analyzer.md +0 -183
  54. package/plugins/lisa-expo/agents/hooks-expert.md +0 -74
  55. package/plugins/lisa-expo/agents/implementer.md +0 -54
  56. package/plugins/lisa-expo/agents/learner.md +0 -44
  57. package/plugins/lisa-expo/agents/performance-specialist.md +0 -95
  58. package/plugins/lisa-expo/agents/product-specialist.md +0 -72
  59. package/plugins/lisa-expo/agents/quality-specialist.md +0 -55
  60. package/plugins/lisa-expo/agents/security-specialist.md +0 -58
  61. package/plugins/lisa-expo/agents/skill-evaluator.md +0 -246
  62. package/plugins/lisa-expo/agents/slash-command-architect.md +0 -87
  63. package/plugins/lisa-expo/agents/test-specialist.md +0 -64
  64. package/plugins/lisa-expo/agents/verification-specialist.md +0 -189
  65. package/plugins/lisa-expo/agents/web-search-researcher.md +0 -112
  66. package/plugins/lisa-expo/commands/git/commit-and-submit-pr.md +0 -7
  67. package/plugins/lisa-expo/commands/git/commit-submit-pr-and-verify.md +0 -7
  68. package/plugins/lisa-expo/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  69. package/plugins/lisa-expo/commands/git/commit.md +0 -7
  70. package/plugins/lisa-expo/commands/git/prune.md +0 -6
  71. package/plugins/lisa-expo/commands/git/submit-pr.md +0 -7
  72. package/plugins/lisa-expo/commands/jira/fix.md +0 -7
  73. package/plugins/lisa-expo/commands/jira/implement.md +0 -7
  74. package/plugins/lisa-expo/commands/jira/sync.md +0 -7
  75. package/plugins/lisa-expo/commands/plan/create.md +0 -6
  76. package/plugins/lisa-expo/commands/plan/execute.md +0 -7
  77. package/plugins/lisa-expo/commands/plan/local-code-review.md +0 -6
  78. package/plugins/lisa-expo/commands/pull-request/review.md +0 -7
  79. package/plugins/lisa-expo/commands/review/implementation.md +0 -7
  80. package/plugins/lisa-expo/commands/security/zap-scan.md +0 -6
  81. package/plugins/lisa-expo/commands/sonarqube/check.md +0 -6
  82. package/plugins/lisa-expo/commands/sonarqube/fix.md +0 -6
  83. package/plugins/lisa-expo/commands/tasks/load.md +0 -7
  84. package/plugins/lisa-expo/commands/tasks/sync.md +0 -7
  85. package/plugins/lisa-expo/hooks/debug-hook.sh +0 -47
  86. package/plugins/lisa-expo/hooks/enforce-plan-rules.sh +0 -15
  87. package/plugins/lisa-expo/hooks/format-on-edit.sh +0 -76
  88. package/plugins/lisa-expo/hooks/install-pkgs.sh +0 -64
  89. package/plugins/lisa-expo/hooks/lint-on-edit.sh +0 -81
  90. package/plugins/lisa-expo/hooks/notify-ntfy.sh +0 -183
  91. package/plugins/lisa-expo/hooks/setup-jira-cli.sh +0 -52
  92. package/plugins/lisa-expo/hooks/sg-scan-on-edit.sh +0 -68
  93. package/plugins/lisa-expo/hooks/sync-tasks.sh +0 -107
  94. package/plugins/lisa-expo/hooks/ticket-sync-reminder.sh +0 -23
  95. package/plugins/lisa-expo/hooks/track-plan-sessions.sh +0 -164
  96. package/plugins/lisa-expo/hooks/verify-completion.sh +0 -77
  97. package/plugins/lisa-expo/rules/README.md +0 -240
  98. package/plugins/lisa-expo/rules/coding-philosophy.md +0 -428
  99. package/plugins/lisa-expo/rules/lisa.md +0 -37
  100. package/plugins/lisa-expo/rules/verfication.md +0 -596
  101. package/plugins/lisa-expo/skills/agent-design-best-practices/SKILL.md +0 -219
  102. package/plugins/lisa-expo/skills/git-commit/SKILL.md +0 -48
  103. package/plugins/lisa-expo/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  104. package/plugins/lisa-expo/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  105. package/plugins/lisa-expo/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  106. package/plugins/lisa-expo/skills/git-prune/SKILL.md +0 -35
  107. package/plugins/lisa-expo/skills/git-submit-pr/SKILL.md +0 -44
  108. package/plugins/lisa-expo/skills/jira-fix/SKILL.md +0 -16
  109. package/plugins/lisa-expo/skills/jira-implement/SKILL.md +0 -18
  110. package/plugins/lisa-expo/skills/jira-sync/SKILL.md +0 -63
  111. package/plugins/lisa-expo/skills/jsdoc-best-practices/SKILL.md +0 -432
  112. package/plugins/lisa-expo/skills/lisa-review-implementation/SKILL.md +0 -209
  113. package/plugins/lisa-expo/skills/plan-add-test-coverage/SKILL.md +0 -44
  114. package/plugins/lisa-expo/skills/plan-execute/SKILL.md +0 -89
  115. package/plugins/lisa-expo/skills/plan-fix-linter-error/SKILL.md +0 -45
  116. package/plugins/lisa-expo/skills/plan-local-code-review/SKILL.md +0 -88
  117. package/plugins/lisa-expo/skills/plan-lower-code-complexity/SKILL.md +0 -44
  118. package/plugins/lisa-expo/skills/plan-reduce-max-lines/SKILL.md +0 -45
  119. package/plugins/lisa-expo/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  120. package/plugins/lisa-expo/skills/pull-request-review/SKILL.md +0 -68
  121. package/plugins/lisa-expo/skills/security-zap-scan/SKILL.md +0 -33
  122. package/plugins/lisa-expo/skills/sonarqube-check/SKILL.md +0 -11
  123. package/plugins/lisa-expo/skills/sonarqube-fix/SKILL.md +0 -8
  124. package/plugins/lisa-expo/skills/tasks-load/SKILL.md +0 -88
  125. package/plugins/lisa-expo/skills/tasks-sync/SKILL.md +0 -108
  126. package/plugins/lisa-nestjs/agents/agent-architect.md +0 -310
  127. package/plugins/lisa-nestjs/agents/architecture-specialist.md +0 -53
  128. package/plugins/lisa-nestjs/agents/debug-specialist.md +0 -204
  129. package/plugins/lisa-nestjs/agents/git-history-analyzer.md +0 -183
  130. package/plugins/lisa-nestjs/agents/hooks-expert.md +0 -74
  131. package/plugins/lisa-nestjs/agents/implementer.md +0 -54
  132. package/plugins/lisa-nestjs/agents/learner.md +0 -44
  133. package/plugins/lisa-nestjs/agents/performance-specialist.md +0 -95
  134. package/plugins/lisa-nestjs/agents/product-specialist.md +0 -72
  135. package/plugins/lisa-nestjs/agents/quality-specialist.md +0 -55
  136. package/plugins/lisa-nestjs/agents/security-specialist.md +0 -58
  137. package/plugins/lisa-nestjs/agents/skill-evaluator.md +0 -246
  138. package/plugins/lisa-nestjs/agents/slash-command-architect.md +0 -87
  139. package/plugins/lisa-nestjs/agents/test-specialist.md +0 -64
  140. package/plugins/lisa-nestjs/agents/verification-specialist.md +0 -189
  141. package/plugins/lisa-nestjs/agents/web-search-researcher.md +0 -112
  142. package/plugins/lisa-nestjs/commands/git/commit-and-submit-pr.md +0 -7
  143. package/plugins/lisa-nestjs/commands/git/commit-submit-pr-and-verify.md +0 -7
  144. package/plugins/lisa-nestjs/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  145. package/plugins/lisa-nestjs/commands/git/commit.md +0 -7
  146. package/plugins/lisa-nestjs/commands/git/prune.md +0 -6
  147. package/plugins/lisa-nestjs/commands/git/submit-pr.md +0 -7
  148. package/plugins/lisa-nestjs/commands/jira/fix.md +0 -7
  149. package/plugins/lisa-nestjs/commands/jira/implement.md +0 -7
  150. package/plugins/lisa-nestjs/commands/jira/sync.md +0 -7
  151. package/plugins/lisa-nestjs/commands/plan/add-test-coverage.md +0 -7
  152. package/plugins/lisa-nestjs/commands/plan/create.md +0 -6
  153. package/plugins/lisa-nestjs/commands/plan/execute.md +0 -7
  154. package/plugins/lisa-nestjs/commands/plan/fix-linter-error.md +0 -7
  155. package/plugins/lisa-nestjs/commands/plan/local-code-review.md +0 -6
  156. package/plugins/lisa-nestjs/commands/plan/lower-code-complexity.md +0 -6
  157. package/plugins/lisa-nestjs/commands/plan/reduce-max-lines-per-function.md +0 -7
  158. package/plugins/lisa-nestjs/commands/plan/reduce-max-lines.md +0 -7
  159. package/plugins/lisa-nestjs/commands/pull-request/review.md +0 -7
  160. package/plugins/lisa-nestjs/commands/review/implementation.md +0 -7
  161. package/plugins/lisa-nestjs/commands/security/zap-scan.md +0 -6
  162. package/plugins/lisa-nestjs/commands/sonarqube/check.md +0 -6
  163. package/plugins/lisa-nestjs/commands/sonarqube/fix.md +0 -6
  164. package/plugins/lisa-nestjs/commands/tasks/load.md +0 -7
  165. package/plugins/lisa-nestjs/commands/tasks/sync.md +0 -7
  166. package/plugins/lisa-nestjs/hooks/debug-hook.sh +0 -47
  167. package/plugins/lisa-nestjs/hooks/enforce-plan-rules.sh +0 -15
  168. package/plugins/lisa-nestjs/hooks/format-on-edit.sh +0 -76
  169. package/plugins/lisa-nestjs/hooks/install-pkgs.sh +0 -64
  170. package/plugins/lisa-nestjs/hooks/lint-on-edit.sh +0 -81
  171. package/plugins/lisa-nestjs/hooks/notify-ntfy.sh +0 -183
  172. package/plugins/lisa-nestjs/hooks/setup-jira-cli.sh +0 -52
  173. package/plugins/lisa-nestjs/hooks/sg-scan-on-edit.sh +0 -68
  174. package/plugins/lisa-nestjs/hooks/sync-tasks.sh +0 -107
  175. package/plugins/lisa-nestjs/hooks/ticket-sync-reminder.sh +0 -23
  176. package/plugins/lisa-nestjs/hooks/track-plan-sessions.sh +0 -164
  177. package/plugins/lisa-nestjs/hooks/verify-completion.sh +0 -77
  178. package/plugins/lisa-nestjs/rules/README.md +0 -240
  179. package/plugins/lisa-nestjs/rules/coding-philosophy.md +0 -428
  180. package/plugins/lisa-nestjs/rules/lisa.md +0 -37
  181. package/plugins/lisa-nestjs/rules/verfication.md +0 -596
  182. package/plugins/lisa-nestjs/skills/agent-design-best-practices/SKILL.md +0 -219
  183. package/plugins/lisa-nestjs/skills/git-commit/SKILL.md +0 -48
  184. package/plugins/lisa-nestjs/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  185. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  186. package/plugins/lisa-nestjs/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  187. package/plugins/lisa-nestjs/skills/git-prune/SKILL.md +0 -35
  188. package/plugins/lisa-nestjs/skills/git-submit-pr/SKILL.md +0 -44
  189. package/plugins/lisa-nestjs/skills/jira-add-journey/SKILL.md +0 -120
  190. package/plugins/lisa-nestjs/skills/jira-create/SKILL.md +0 -95
  191. package/plugins/lisa-nestjs/skills/jira-evidence/SKILL.md +0 -73
  192. package/plugins/lisa-nestjs/skills/jira-evidence/scripts/post-evidence.sh +0 -163
  193. package/plugins/lisa-nestjs/skills/jira-fix/SKILL.md +0 -16
  194. package/plugins/lisa-nestjs/skills/jira-implement/SKILL.md +0 -18
  195. package/plugins/lisa-nestjs/skills/jira-journey/SKILL.md +0 -125
  196. package/plugins/lisa-nestjs/skills/jira-journey/scripts/generate-templates.py +0 -233
  197. package/plugins/lisa-nestjs/skills/jira-journey/scripts/parse-plan.py +0 -368
  198. package/plugins/lisa-nestjs/skills/jira-sync/SKILL.md +0 -63
  199. package/plugins/lisa-nestjs/skills/jira-verify/SKILL.md +0 -48
  200. package/plugins/lisa-nestjs/skills/jsdoc-best-practices/SKILL.md +0 -432
  201. package/plugins/lisa-nestjs/skills/lisa-review-implementation/SKILL.md +0 -209
  202. package/plugins/lisa-nestjs/skills/plan-add-test-coverage/SKILL.md +0 -44
  203. package/plugins/lisa-nestjs/skills/plan-execute/SKILL.md +0 -89
  204. package/plugins/lisa-nestjs/skills/plan-fix-linter-error/SKILL.md +0 -45
  205. package/plugins/lisa-nestjs/skills/plan-local-code-review/SKILL.md +0 -88
  206. package/plugins/lisa-nestjs/skills/plan-lower-code-complexity/SKILL.md +0 -44
  207. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines/SKILL.md +0 -45
  208. package/plugins/lisa-nestjs/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  209. package/plugins/lisa-nestjs/skills/pull-request-review/SKILL.md +0 -68
  210. package/plugins/lisa-nestjs/skills/security-zap-scan/SKILL.md +0 -33
  211. package/plugins/lisa-nestjs/skills/sonarqube-check/SKILL.md +0 -11
  212. package/plugins/lisa-nestjs/skills/sonarqube-fix/SKILL.md +0 -8
  213. package/plugins/lisa-nestjs/skills/tasks-load/SKILL.md +0 -88
  214. package/plugins/lisa-nestjs/skills/tasks-sync/SKILL.md +0 -108
  215. package/plugins/lisa-rails/agents/agent-architect.md +0 -310
  216. package/plugins/lisa-rails/agents/architecture-specialist.md +0 -53
  217. package/plugins/lisa-rails/agents/debug-specialist.md +0 -204
  218. package/plugins/lisa-rails/agents/git-history-analyzer.md +0 -183
  219. package/plugins/lisa-rails/agents/hooks-expert.md +0 -74
  220. package/plugins/lisa-rails/agents/implementer.md +0 -54
  221. package/plugins/lisa-rails/agents/learner.md +0 -44
  222. package/plugins/lisa-rails/agents/performance-specialist.md +0 -95
  223. package/plugins/lisa-rails/agents/product-specialist.md +0 -72
  224. package/plugins/lisa-rails/agents/quality-specialist.md +0 -55
  225. package/plugins/lisa-rails/agents/security-specialist.md +0 -58
  226. package/plugins/lisa-rails/agents/skill-evaluator.md +0 -246
  227. package/plugins/lisa-rails/agents/slash-command-architect.md +0 -87
  228. package/plugins/lisa-rails/agents/test-specialist.md +0 -64
  229. package/plugins/lisa-rails/agents/verification-specialist.md +0 -189
  230. package/plugins/lisa-rails/agents/web-search-researcher.md +0 -112
  231. package/plugins/lisa-rails/commands/git/commit-and-submit-pr.md +0 -7
  232. package/plugins/lisa-rails/commands/git/commit-submit-pr-and-verify.md +0 -7
  233. package/plugins/lisa-rails/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  234. package/plugins/lisa-rails/commands/git/commit.md +0 -7
  235. package/plugins/lisa-rails/commands/git/prune.md +0 -6
  236. package/plugins/lisa-rails/commands/git/submit-pr.md +0 -7
  237. package/plugins/lisa-rails/commands/jira/fix.md +0 -7
  238. package/plugins/lisa-rails/commands/jira/implement.md +0 -7
  239. package/plugins/lisa-rails/commands/jira/sync.md +0 -7
  240. package/plugins/lisa-rails/commands/plan/create.md +0 -6
  241. package/plugins/lisa-rails/commands/plan/execute.md +0 -7
  242. package/plugins/lisa-rails/commands/plan/local-code-review.md +0 -6
  243. package/plugins/lisa-rails/commands/pull-request/review.md +0 -7
  244. package/plugins/lisa-rails/commands/review/implementation.md +0 -7
  245. package/plugins/lisa-rails/commands/security/zap-scan.md +0 -6
  246. package/plugins/lisa-rails/commands/sonarqube/check.md +0 -6
  247. package/plugins/lisa-rails/commands/sonarqube/fix.md +0 -6
  248. package/plugins/lisa-rails/commands/tasks/load.md +0 -7
  249. package/plugins/lisa-rails/commands/tasks/sync.md +0 -7
  250. package/plugins/lisa-rails/hooks/debug-hook.sh +0 -47
  251. package/plugins/lisa-rails/hooks/enforce-plan-rules.sh +0 -15
  252. package/plugins/lisa-rails/hooks/format-on-edit.sh +0 -76
  253. package/plugins/lisa-rails/hooks/install-pkgs.sh +0 -64
  254. package/plugins/lisa-rails/hooks/lint-on-edit.sh +0 -81
  255. package/plugins/lisa-rails/hooks/notify-ntfy.sh +0 -183
  256. package/plugins/lisa-rails/hooks/setup-jira-cli.sh +0 -52
  257. package/plugins/lisa-rails/hooks/sg-scan-on-edit.sh +0 -68
  258. package/plugins/lisa-rails/hooks/sync-tasks.sh +0 -107
  259. package/plugins/lisa-rails/hooks/ticket-sync-reminder.sh +0 -23
  260. package/plugins/lisa-rails/hooks/track-plan-sessions.sh +0 -164
  261. package/plugins/lisa-rails/hooks/verify-completion.sh +0 -77
  262. package/plugins/lisa-rails/rules/README.md +0 -240
  263. package/plugins/lisa-rails/rules/coding-philosophy.md +0 -428
  264. package/plugins/lisa-rails/rules/verfication.md +0 -596
  265. package/plugins/lisa-rails/skills/agent-design-best-practices/SKILL.md +0 -219
  266. package/plugins/lisa-rails/skills/git-commit/SKILL.md +0 -48
  267. package/plugins/lisa-rails/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  268. package/plugins/lisa-rails/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  269. package/plugins/lisa-rails/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  270. package/plugins/lisa-rails/skills/git-prune/SKILL.md +0 -35
  271. package/plugins/lisa-rails/skills/git-submit-pr/SKILL.md +0 -44
  272. package/plugins/lisa-rails/skills/jira-fix/SKILL.md +0 -16
  273. package/plugins/lisa-rails/skills/jira-implement/SKILL.md +0 -18
  274. package/plugins/lisa-rails/skills/jira-journey/scripts/generate-templates.py +0 -233
  275. package/plugins/lisa-rails/skills/jira-journey/scripts/parse-plan.py +0 -368
  276. package/plugins/lisa-rails/skills/jira-sync/SKILL.md +0 -63
  277. package/plugins/lisa-rails/skills/jsdoc-best-practices/SKILL.md +0 -432
  278. package/plugins/lisa-rails/skills/lisa-review-implementation/SKILL.md +0 -209
  279. package/plugins/lisa-rails/skills/plan-execute/SKILL.md +0 -89
  280. package/plugins/lisa-rails/skills/plan-local-code-review/SKILL.md +0 -88
  281. package/plugins/lisa-rails/skills/pull-request-review/SKILL.md +0 -68
  282. package/plugins/lisa-rails/skills/security-zap-scan/SKILL.md +0 -33
  283. package/plugins/lisa-rails/skills/sonarqube-check/SKILL.md +0 -11
  284. package/plugins/lisa-rails/skills/sonarqube-fix/SKILL.md +0 -8
  285. package/plugins/lisa-rails/skills/tasks-load/SKILL.md +0 -88
  286. package/plugins/lisa-rails/skills/tasks-sync/SKILL.md +0 -108
  287. package/plugins/lisa-typescript/agents/agent-architect.md +0 -310
  288. package/plugins/lisa-typescript/agents/architecture-specialist.md +0 -53
  289. package/plugins/lisa-typescript/agents/debug-specialist.md +0 -204
  290. package/plugins/lisa-typescript/agents/git-history-analyzer.md +0 -183
  291. package/plugins/lisa-typescript/agents/hooks-expert.md +0 -74
  292. package/plugins/lisa-typescript/agents/implementer.md +0 -54
  293. package/plugins/lisa-typescript/agents/learner.md +0 -44
  294. package/plugins/lisa-typescript/agents/performance-specialist.md +0 -95
  295. package/plugins/lisa-typescript/agents/product-specialist.md +0 -72
  296. package/plugins/lisa-typescript/agents/quality-specialist.md +0 -55
  297. package/plugins/lisa-typescript/agents/security-specialist.md +0 -58
  298. package/plugins/lisa-typescript/agents/skill-evaluator.md +0 -246
  299. package/plugins/lisa-typescript/agents/slash-command-architect.md +0 -87
  300. package/plugins/lisa-typescript/agents/test-specialist.md +0 -64
  301. package/plugins/lisa-typescript/agents/verification-specialist.md +0 -189
  302. package/plugins/lisa-typescript/agents/web-search-researcher.md +0 -112
  303. package/plugins/lisa-typescript/commands/git/commit-and-submit-pr.md +0 -7
  304. package/plugins/lisa-typescript/commands/git/commit-submit-pr-and-verify.md +0 -7
  305. package/plugins/lisa-typescript/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  306. package/plugins/lisa-typescript/commands/git/commit.md +0 -7
  307. package/plugins/lisa-typescript/commands/git/prune.md +0 -6
  308. package/plugins/lisa-typescript/commands/git/submit-pr.md +0 -7
  309. package/plugins/lisa-typescript/commands/jira/fix.md +0 -7
  310. package/plugins/lisa-typescript/commands/jira/implement.md +0 -7
  311. package/plugins/lisa-typescript/commands/jira/sync.md +0 -7
  312. package/plugins/lisa-typescript/commands/plan/add-test-coverage.md +0 -7
  313. package/plugins/lisa-typescript/commands/plan/create.md +0 -6
  314. package/plugins/lisa-typescript/commands/plan/execute.md +0 -7
  315. package/plugins/lisa-typescript/commands/plan/fix-linter-error.md +0 -7
  316. package/plugins/lisa-typescript/commands/plan/local-code-review.md +0 -6
  317. package/plugins/lisa-typescript/commands/plan/lower-code-complexity.md +0 -6
  318. package/plugins/lisa-typescript/commands/plan/reduce-max-lines-per-function.md +0 -7
  319. package/plugins/lisa-typescript/commands/plan/reduce-max-lines.md +0 -7
  320. package/plugins/lisa-typescript/commands/pull-request/review.md +0 -7
  321. package/plugins/lisa-typescript/commands/review/implementation.md +0 -7
  322. package/plugins/lisa-typescript/commands/security/zap-scan.md +0 -6
  323. package/plugins/lisa-typescript/commands/sonarqube/check.md +0 -6
  324. package/plugins/lisa-typescript/commands/sonarqube/fix.md +0 -6
  325. package/plugins/lisa-typescript/commands/tasks/load.md +0 -7
  326. package/plugins/lisa-typescript/commands/tasks/sync.md +0 -7
  327. package/plugins/lisa-typescript/hooks/debug-hook.sh +0 -47
  328. package/plugins/lisa-typescript/hooks/enforce-plan-rules.sh +0 -15
  329. package/plugins/lisa-typescript/hooks/install-pkgs.sh +0 -64
  330. package/plugins/lisa-typescript/hooks/notify-ntfy.sh +0 -183
  331. package/plugins/lisa-typescript/hooks/setup-jira-cli.sh +0 -52
  332. package/plugins/lisa-typescript/hooks/sync-tasks.sh +0 -107
  333. package/plugins/lisa-typescript/hooks/ticket-sync-reminder.sh +0 -23
  334. package/plugins/lisa-typescript/hooks/track-plan-sessions.sh +0 -164
  335. package/plugins/lisa-typescript/hooks/verify-completion.sh +0 -77
  336. package/plugins/lisa-typescript/rules/README.md +0 -240
  337. package/plugins/lisa-typescript/rules/coding-philosophy.md +0 -428
  338. package/plugins/lisa-typescript/rules/verfication.md +0 -596
  339. package/plugins/lisa-typescript/skills/agent-design-best-practices/SKILL.md +0 -219
  340. package/plugins/lisa-typescript/skills/git-commit/SKILL.md +0 -48
  341. package/plugins/lisa-typescript/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  342. package/plugins/lisa-typescript/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  343. package/plugins/lisa-typescript/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  344. package/plugins/lisa-typescript/skills/git-prune/SKILL.md +0 -35
  345. package/plugins/lisa-typescript/skills/git-submit-pr/SKILL.md +0 -44
  346. package/plugins/lisa-typescript/skills/jira-add-journey/SKILL.md +0 -120
  347. package/plugins/lisa-typescript/skills/jira-create/SKILL.md +0 -95
  348. package/plugins/lisa-typescript/skills/jira-evidence/SKILL.md +0 -73
  349. package/plugins/lisa-typescript/skills/jira-evidence/scripts/post-evidence.sh +0 -163
  350. package/plugins/lisa-typescript/skills/jira-fix/SKILL.md +0 -16
  351. package/plugins/lisa-typescript/skills/jira-implement/SKILL.md +0 -18
  352. package/plugins/lisa-typescript/skills/jira-journey/SKILL.md +0 -125
  353. package/plugins/lisa-typescript/skills/jira-journey/scripts/generate-templates.py +0 -233
  354. package/plugins/lisa-typescript/skills/jira-journey/scripts/parse-plan.py +0 -368
  355. package/plugins/lisa-typescript/skills/jira-sync/SKILL.md +0 -63
  356. package/plugins/lisa-typescript/skills/jira-verify/SKILL.md +0 -48
  357. package/plugins/lisa-typescript/skills/jsdoc-best-practices/SKILL.md +0 -432
  358. package/plugins/lisa-typescript/skills/lisa-review-implementation/SKILL.md +0 -209
  359. package/plugins/lisa-typescript/skills/plan-add-test-coverage/SKILL.md +0 -44
  360. package/plugins/lisa-typescript/skills/plan-execute/SKILL.md +0 -89
  361. package/plugins/lisa-typescript/skills/plan-fix-linter-error/SKILL.md +0 -45
  362. package/plugins/lisa-typescript/skills/plan-local-code-review/SKILL.md +0 -88
  363. package/plugins/lisa-typescript/skills/plan-lower-code-complexity/SKILL.md +0 -44
  364. package/plugins/lisa-typescript/skills/plan-reduce-max-lines/SKILL.md +0 -45
  365. package/plugins/lisa-typescript/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  366. package/plugins/lisa-typescript/skills/pull-request-review/SKILL.md +0 -68
  367. package/plugins/lisa-typescript/skills/security-zap-scan/SKILL.md +0 -33
  368. package/plugins/lisa-typescript/skills/sonarqube-check/SKILL.md +0 -11
  369. package/plugins/lisa-typescript/skills/sonarqube-fix/SKILL.md +0 -8
  370. package/plugins/lisa-typescript/skills/tasks-load/SKILL.md +0 -88
  371. package/plugins/lisa-typescript/skills/tasks-sync/SKILL.md +0 -108
  372. package/plugins/src/base/hooks/format-on-edit.sh +0 -76
  373. package/plugins/src/base/hooks/lint-on-edit.sh +0 -81
  374. package/plugins/src/base/hooks/sg-scan-on-edit.sh +0 -68
  375. package/plugins/src/base/rules/lisa.md +0 -37
  376. /package/plugins/{lisa-cdk → lisa}/agents/agent-architect.md +0 -0
  377. /package/plugins/{lisa-cdk → lisa}/agents/architecture-specialist.md +0 -0
  378. /package/plugins/{lisa-cdk → lisa}/agents/debug-specialist.md +0 -0
  379. /package/plugins/{lisa-cdk → lisa}/agents/git-history-analyzer.md +0 -0
  380. /package/plugins/{lisa-cdk → lisa}/agents/hooks-expert.md +0 -0
  381. /package/plugins/{lisa-cdk → lisa}/agents/implementer.md +0 -0
  382. /package/plugins/{lisa-cdk → lisa}/agents/learner.md +0 -0
  383. /package/plugins/{lisa-cdk → lisa}/agents/performance-specialist.md +0 -0
  384. /package/plugins/{lisa-cdk → lisa}/agents/product-specialist.md +0 -0
  385. /package/plugins/{lisa-cdk → lisa}/agents/quality-specialist.md +0 -0
  386. /package/plugins/{lisa-cdk → lisa}/agents/security-specialist.md +0 -0
  387. /package/plugins/{lisa-cdk → lisa}/agents/skill-evaluator.md +0 -0
  388. /package/plugins/{lisa-cdk → lisa}/agents/slash-command-architect.md +0 -0
  389. /package/plugins/{lisa-cdk → lisa}/agents/test-specialist.md +0 -0
  390. /package/plugins/{lisa-cdk → lisa}/agents/verification-specialist.md +0 -0
  391. /package/plugins/{lisa-cdk → lisa}/agents/web-search-researcher.md +0 -0
  392. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-and-submit-pr.md +0 -0
  393. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-and-verify.md +0 -0
  394. /package/plugins/{lisa-cdk → lisa}/commands/git/commit-submit-pr-deploy-and-verify.md +0 -0
  395. /package/plugins/{lisa-cdk → lisa}/commands/git/commit.md +0 -0
  396. /package/plugins/{lisa-cdk → lisa}/commands/git/prune.md +0 -0
  397. /package/plugins/{lisa-cdk → lisa}/commands/git/submit-pr.md +0 -0
  398. /package/plugins/{lisa-cdk → lisa}/commands/jira/add-journey.md +0 -0
  399. /package/plugins/{lisa-cdk → lisa}/commands/jira/create.md +0 -0
  400. /package/plugins/{lisa-cdk → lisa}/commands/jira/evidence.md +0 -0
  401. /package/plugins/{lisa-cdk → lisa}/commands/jira/fix.md +0 -0
  402. /package/plugins/{lisa-cdk → lisa}/commands/jira/implement.md +0 -0
  403. /package/plugins/{lisa-cdk → lisa}/commands/jira/journey.md +0 -0
  404. /package/plugins/{lisa-cdk → lisa}/commands/jira/sync.md +0 -0
  405. /package/plugins/{lisa-cdk → lisa}/commands/jira/verify.md +0 -0
  406. /package/plugins/{lisa-cdk → lisa}/commands/plan/add-test-coverage.md +0 -0
  407. /package/plugins/{lisa-cdk → lisa}/commands/plan/create.md +0 -0
  408. /package/plugins/{lisa-cdk → lisa}/commands/plan/execute.md +0 -0
  409. /package/plugins/{lisa-cdk → lisa}/commands/plan/fix-linter-error.md +0 -0
  410. /package/plugins/{lisa-cdk → lisa}/commands/plan/local-code-review.md +0 -0
  411. /package/plugins/{lisa-cdk → lisa}/commands/plan/lower-code-complexity.md +0 -0
  412. /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines-per-function.md +0 -0
  413. /package/plugins/{lisa-cdk → lisa}/commands/plan/reduce-max-lines.md +0 -0
  414. /package/plugins/{lisa-cdk → lisa}/commands/pull-request/review.md +0 -0
  415. /package/plugins/{lisa-cdk → lisa}/commands/review/implementation.md +0 -0
  416. /package/plugins/{lisa-cdk → lisa}/commands/security/zap-scan.md +0 -0
  417. /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/check.md +0 -0
  418. /package/plugins/{lisa-cdk → lisa}/commands/sonarqube/fix.md +0 -0
  419. /package/plugins/{lisa-cdk → lisa}/commands/tasks/load.md +0 -0
  420. /package/plugins/{lisa-cdk → lisa}/commands/tasks/sync.md +0 -0
  421. /package/plugins/{lisa-cdk → lisa}/hooks/debug-hook.sh +0 -0
  422. /package/plugins/{lisa-cdk → lisa}/hooks/enforce-plan-rules.sh +0 -0
  423. /package/plugins/{lisa-cdk → lisa}/hooks/install-pkgs.sh +0 -0
  424. /package/plugins/{lisa-cdk → lisa}/hooks/notify-ntfy.sh +0 -0
  425. /package/plugins/{lisa-cdk → lisa}/hooks/setup-jira-cli.sh +0 -0
  426. /package/plugins/{lisa-cdk → lisa}/hooks/sync-tasks.sh +0 -0
  427. /package/plugins/{lisa-cdk → lisa}/hooks/ticket-sync-reminder.sh +0 -0
  428. /package/plugins/{lisa-cdk → lisa}/hooks/track-plan-sessions.sh +0 -0
  429. /package/plugins/{lisa-cdk → lisa}/hooks/verify-completion.sh +0 -0
  430. /package/plugins/{lisa-cdk → lisa}/rules/README.md +0 -0
  431. /package/plugins/{lisa-cdk → lisa}/rules/coding-philosophy.md +0 -0
  432. /package/plugins/{lisa-cdk → lisa}/rules/verfication.md +0 -0
  433. /package/plugins/{lisa-cdk → lisa}/skills/agent-design-best-practices/SKILL.md +0 -0
  434. /package/plugins/{lisa-cdk → lisa}/skills/git-commit/SKILL.md +0 -0
  435. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-and-submit-pr/SKILL.md +0 -0
  436. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -0
  437. /package/plugins/{lisa-cdk → lisa}/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -0
  438. /package/plugins/{lisa-cdk → lisa}/skills/git-prune/SKILL.md +0 -0
  439. /package/plugins/{lisa-cdk → lisa}/skills/git-submit-pr/SKILL.md +0 -0
  440. /package/plugins/{lisa-cdk → lisa}/skills/jira-add-journey/SKILL.md +0 -0
  441. /package/plugins/{lisa-cdk → lisa}/skills/jira-create/SKILL.md +0 -0
  442. /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/SKILL.md +0 -0
  443. /package/plugins/{lisa-cdk → lisa}/skills/jira-evidence/scripts/post-evidence.sh +0 -0
  444. /package/plugins/{lisa-cdk → lisa}/skills/jira-fix/SKILL.md +0 -0
  445. /package/plugins/{lisa-cdk → lisa}/skills/jira-implement/SKILL.md +0 -0
  446. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/SKILL.md +0 -0
  447. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/generate-templates.py +0 -0
  448. /package/plugins/{lisa-cdk → lisa}/skills/jira-journey/scripts/parse-plan.py +0 -0
  449. /package/plugins/{lisa-cdk → lisa}/skills/jira-sync/SKILL.md +0 -0
  450. /package/plugins/{lisa-cdk → lisa}/skills/jira-verify/SKILL.md +0 -0
  451. /package/plugins/{lisa-cdk → lisa}/skills/jsdoc-best-practices/SKILL.md +0 -0
  452. /package/plugins/{lisa-cdk → lisa}/skills/lisa-review-implementation/SKILL.md +0 -0
  453. /package/plugins/{lisa-cdk → lisa}/skills/plan-add-test-coverage/SKILL.md +0 -0
  454. /package/plugins/{lisa-cdk → lisa}/skills/plan-execute/SKILL.md +0 -0
  455. /package/plugins/{lisa-cdk → lisa}/skills/plan-fix-linter-error/SKILL.md +0 -0
  456. /package/plugins/{lisa-cdk → lisa}/skills/plan-local-code-review/SKILL.md +0 -0
  457. /package/plugins/{lisa-cdk → lisa}/skills/plan-lower-code-complexity/SKILL.md +0 -0
  458. /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines/SKILL.md +0 -0
  459. /package/plugins/{lisa-cdk → lisa}/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -0
  460. /package/plugins/{lisa-cdk → lisa}/skills/pull-request-review/SKILL.md +0 -0
  461. /package/plugins/{lisa-cdk → lisa}/skills/security-zap-scan/SKILL.md +0 -0
  462. /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-check/SKILL.md +0 -0
  463. /package/plugins/{lisa-cdk → lisa}/skills/sonarqube-fix/SKILL.md +0 -0
  464. /package/plugins/{lisa-cdk → lisa}/skills/tasks-load/SKILL.md +0 -0
  465. /package/plugins/{lisa-cdk → lisa}/skills/tasks-sync/SKILL.md +0 -0
  466. /package/plugins/{lisa-cdk → src/typescript}/hooks/format-on-edit.sh +0 -0
  467. /package/plugins/{lisa-cdk → src/typescript}/hooks/lint-on-edit.sh +0 -0
  468. /package/plugins/{lisa-cdk → src/typescript}/hooks/sg-scan-on-edit.sh +0 -0
  469. /package/plugins/{lisa-cdk → src/typescript}/rules/lisa.md +0 -0
@@ -1,219 +0,0 @@
1
- ---
2
- name: agent-design-best-practices
3
- description: Best practices for designing Claude Code agent files (.claude/agents/*.md). This skill should be used when writing or reviewing agent markdown files to ensure proper design with focused domains, correct tool access, reusable definitions, and separation of capabilities from lifecycle. Combines Anthropic's official guidance with battle-tested patterns from agent team usage.
4
- ---
5
-
6
- # Agent Design Best Practices
7
-
8
- ## Overview
9
-
10
- This skill defines best practices for designing Claude Code agent files (`.claude/agents/*.md`). Agent files define reusable roles that can be spawned as subagents or teammates. The core principle is that **agent files define capabilities, not lifecycle** -- the team lead's spawn prompt controls when and how the agent runs.
11
-
12
- ## Principles
13
-
14
- ### 1. Define Capabilities, Not Lifecycle
15
-
16
- Agent files describe *what* an agent can do. The spawn prompt from the team lead controls *when* it runs and *what to focus on*.
17
-
18
- ```markdown
19
- <!-- Wrong: Hardcodes workflow phase and interaction pattern -->
20
- # Security Planner Agent
21
-
22
- You are a security specialist in a plan-create Agent Team.
23
- Given a Research Brief from the team lead, identify security
24
- considerations for the planned changes.
25
-
26
- ## Output Format
27
-
28
- Send your sub-plan to the team lead via `SendMessage` with this structure:
29
- ...
30
- ```
31
-
32
- ```markdown
33
- <!-- Correct: Defines domain expertise, team lead controls usage -->
34
- # Security Specialist Agent
35
-
36
- You are a security specialist who identifies vulnerabilities,
37
- evaluates threats, and recommends mitigations for code changes.
38
-
39
- ## Analysis Process
40
- 1. Read affected files
41
- 2. STRIDE analysis
42
- 3. Check input validation
43
- ...
44
- ```
45
-
46
- The wrong version is coupled to one workflow ("plan-create Agent Team", "Given a Research Brief", "Send via SendMessage"). The correct version works in any context -- planning, review, ad-hoc analysis -- because the team lead's spawn prompt provides the specific instructions.
47
-
48
- ### 2. One Agent Per Domain, Not Per Phase
49
-
50
- Prefer a single agent that covers a domain over multiple agents split by workflow phase. The team lead specializes the agent per phase via the spawn prompt.
51
-
52
- | Wrong | Right |
53
- |-------|-------|
54
- | `security-planner` + `security-reviewer` | `security-specialist` |
55
- | `test-strategist` + `test-coverage-agent` | `test-specialist` |
56
- | `architecture-planner` + `architecture-reviewer` | `architecture-specialist` |
57
-
58
- The same agent type can be spawned multiple times with different prompts for different phases. A `security-specialist` spawned during planning gets "evaluate this plan for security risks" while the same type spawned during review gets "review these code changes for vulnerabilities."
59
-
60
- ### 3. Design Focused Domains
61
-
62
- Each agent should excel at one specific domain. The domain should be broad enough to avoid workflow coupling but narrow enough to provide real expertise.
63
-
64
- ```yaml
65
- # Too narrow (coupled to one workflow step)
66
- description: Performs STRIDE analysis on Research Briefs during plan-create Phase 2
67
-
68
- # Too broad (no clear expertise)
69
- description: General-purpose agent that can do anything
70
-
71
- # Just right (focused domain, reusable across workflows)
72
- description: Security specialist. Performs threat modeling (STRIDE), reviews code for OWASP Top 10 vulnerabilities, checks auth/validation/secrets handling.
73
- ```
74
-
75
- ### 4. Write Detailed Descriptions
76
-
77
- Claude uses the `description` field in YAML frontmatter to decide when to delegate tasks. Be specific about what the agent does and when it adds value.
78
-
79
- ```yaml
80
- # Bad: Vague, Claude can't decide when to use it
81
- description: Reviews code
82
-
83
- # Good: Specific domain, clear trigger conditions
84
- description: Security specialist. Performs threat modeling (STRIDE), reviews code for OWASP Top 10 vulnerabilities, checks auth/validation/secrets handling, and recommends mitigations.
85
- ```
86
-
87
- ### 5. Limit Tool Access
88
-
89
- Grant only the tools necessary for the agent's domain. This enforces focus and prevents agents from exceeding their intended scope.
90
-
91
- | Agent Type | Appropriate Tools | Rationale |
92
- |-----------|-------------------|-----------|
93
- | Researcher / Reviewer | `Read, Grep, Glob, Bash` | Read-only analysis, no file modifications |
94
- | Implementer | `Read, Write, Edit, Bash, Grep, Glob` | Needs to modify code |
95
- | Planner | `Read, Grep, Glob` | Research only, no execution |
96
-
97
- Read-only agents cannot implement code. Do not assign implementation tasks to agents without `Write` and `Edit` tools.
98
-
99
- ### 6. No Hardcoded Interaction Patterns
100
-
101
- Do not prescribe how the agent communicates or what input format it expects. The team lead's spawn prompt handles interaction patterns.
102
-
103
- ```markdown
104
- <!-- Wrong: Hardcodes communication protocol -->
105
- ## Input
106
- You receive a **Research Brief** from the team lead containing...
107
-
108
- ## Output Format
109
- Send your sub-plan to the team lead via `SendMessage` with this structure:
110
- ```
111
-
112
- ```markdown
113
- <!-- Correct: Defines output structure without prescribing delivery mechanism -->
114
- ## Output Format
115
- Structure your findings as:
116
-
117
- ### Threat Model (STRIDE)
118
- | Threat | Applies? | Description | Mitigation |
119
- ...
120
- ```
121
-
122
- The output format itself is fine to define -- it provides structure. But how the agent receives input and delivers output should be left to the team lead.
123
-
124
- ### 7. Context Window Isolation
125
-
126
- Each teammate has its own context window. Teammates do not share context and cannot see what other teammates have done. Account for this in agent design:
127
-
128
- - Do not assume the agent has seen previous analysis from other agents
129
- - Include enough domain knowledge in the agent file for independent operation
130
- - The team lead bridges context between agents via spawn prompts and messages
131
-
132
- ### 8. File Ownership in Teams
133
-
134
- When agents work in teams, each teammate should own distinct files or directories. Two teammates editing the same file leads to conflicts and lost work.
135
-
136
- Design agent domains so their file ownership naturally separates:
137
-
138
- | Agent | Owns |
139
- |-------|------|
140
- | `implementer` | Source files (`src/`) |
141
- | `test-specialist` | Test files (`tests/`) |
142
- | `quality-specialist` | No files (read-only) |
143
-
144
- ## Agent File Structure
145
-
146
- ### Required Frontmatter
147
-
148
- ```yaml
149
- ---
150
- name: agent-name # lowercase with hyphens
151
- description: When and why to use this agent. Be specific.
152
- tools: Read, Grep, Glob # comma-separated, minimal set
153
- ---
154
- ```
155
-
156
- ### Optional Frontmatter
157
-
158
- ```yaml
159
- model: sonnet # sonnet, opus, haiku, or inherit (default)
160
- permissionMode: default # default, acceptEdits, plan, bypassPermissions, etc.
161
- maxTurns: 50 # limit agentic turns
162
- skills: # skills to preload
163
- - skill-name
164
- memory: user # persistent memory: user, project, or local
165
- ```
166
-
167
- ### Body Structure
168
-
169
- The markdown body becomes the agent's system prompt. Structure it as:
170
-
171
- 1. **Role statement** -- one sentence describing what the agent is
172
- 2. **Analysis/workflow process** -- numbered steps for the agent's approach
173
- 3. **Output format** -- structure for findings (without prescribing delivery mechanism)
174
- 4. **Rules/constraints** -- guardrails for the agent's behavior
175
-
176
- ## Anti-Patterns
177
-
178
- ### Don't Create Phase-Specific Agents
179
-
180
- ```markdown
181
- <!-- Wrong: Two agents for the same domain, split by phase -->
182
- # Pre-Implementation Security Planner
183
- ...
184
- # Post-Implementation Security Reviewer
185
- ...
186
-
187
- <!-- Correct: One agent, team lead controls timing -->
188
- # Security Specialist
189
- ...
190
- ```
191
-
192
- ### Don't Hardcode Workflow Dependencies
193
-
194
- ```markdown
195
- <!-- Wrong: Agent assumes specific workflow context -->
196
- You are part of the plan-create Phase 2 team.
197
- Wait for the Research Brief from Phase 1.
198
- After your analysis, the Consistency Checker will validate your output.
199
-
200
- <!-- Correct: Agent is self-contained -->
201
- You are a security specialist who identifies vulnerabilities
202
- and recommends mitigations for code changes.
203
- ```
204
-
205
- ### Don't Over-Specify the Model
206
-
207
- Only set `model` when there's a clear reason. Most agents work well with `inherit` (the default), which uses the same model as the parent session. Use `haiku` for fast, simple tasks (exploration, search). Use `sonnet` or `opus` only when the domain requires stronger reasoning.
208
-
209
- ## Verification Checklist
210
-
211
- Before committing an agent file, verify:
212
-
213
- 1. **Description is specific** -- Claude can determine when to delegate from the description alone
214
- 2. **Tools are minimal** -- only the tools the agent actually needs
215
- 3. **No workflow coupling** -- no references to specific team structures, phases, or input formats
216
- 4. **No hardcoded communication** -- no "send via SendMessage" or "given a Research Brief"
217
- 5. **Domain is reusable** -- the agent works in planning, review, and ad-hoc contexts
218
- 6. **Role statement is clear** -- first line of body explains what the agent is
219
- 7. **Output format is defined** -- structured output without prescribing delivery
@@ -1,48 +0,0 @@
1
- ---
2
- name: git-commit
3
- description: This skill should be used when creating conventional commits for current changes. It groups related changes into logical commits, ensures all files are committed, and verifies the working directory is clean afterward.
4
- allowed-tools: ["Bash"]
5
- ---
6
-
7
- # Git Commit Workflow
8
-
9
- Create conventional commits for current changes. Optional hint: $ARGUMENTS
10
-
11
- ## Workflow
12
-
13
- ### See what has changed
14
-
15
- !git status
16
- !git diff --stat
17
-
18
- ### Apply these requirements
19
-
20
- 1. **Branch Check**: If on `dev`, `staging`, or `main`, create a feature branch named after the changes
21
- 2. **Commit Strategy**: Group related changes into logical conventional commits (feat, fix, chore, docs, etc.)
22
- 3. **Commit ALL Files**: Every file must be assigned to a commit group - no file gets left out or unstaged
23
- 4. **Commit Creation**: Stage and commit each group with clear messages
24
- 5. **Verification**: Run `git status` to confirm working directory is clean - must show "nothing to commit"
25
-
26
- ### Use conventional commit format
27
-
28
- - `feat:` for new features
29
- - `fix:` for bug fixes
30
- - `docs:` for documentation
31
- - `chore:` for maintenance
32
- - `style:` for formatting
33
- - `refactor:` for code restructuring
34
- - `test:` for test additions
35
-
36
- ### Never
37
-
38
- - use `--no-verify` flag
39
- - attempt to bypass tests or quality checks
40
- - skip tests or quality checks
41
- - stash changes - ALL changes must be committed
42
- - skip or exclude any files from the commit - even if they're unrelated
43
- - leave uncommitted changes in the working directory
44
- - ask the user which files to commit - commit everything
45
-
46
- ## Execute
47
-
48
- Execute the workflow now.
@@ -1,8 +0,0 @@
1
- ---
2
- name: git-commit-and-submit-pr
3
- description: This skill should be used when creating conventional commits for current changes and then submitting the current branch as a pull request for code review. It combines the git:commit and git:submit-pr skills into a single workflow.
4
- allowed-tools: ["Bash"]
5
- ---
6
-
7
- 1. Run /git-commit $ARGUMENTS
8
- 2. Run /git-submit-pr $ARGUMENTS
@@ -1,7 +0,0 @@
1
- ---
2
- name: git-commit-submit-pr-and-verify
3
- description: This skill should be used when creating conventional commits for current changes and then submitting the current branch as a pull request for code review. And then verifying the pull request was approved.
4
- allowed-tools: ["Bash"]
5
- ---
6
-
7
- Run the /git-commit-and-submit-pr with $ARGUMENTS and set the PR to auto-merge. Fix any pre-commit or pre-push issues and then follow the pr, make sure all checks pass and comments are resolved or addressed. Fix anything that is broken and repeat.
@@ -1,7 +0,0 @@
1
- ---
2
- name: git-commit-submit-pr-deploy-and-verify
3
- description: This skill should be used when creating conventional commits for current changes and then submitting the current branch as a pull request for code review. And then verifying the pull request was approved. As well as making sure the resutling deploy succeeds.
4
- allowed-tools: ["Bash"]
5
- ---
6
-
7
- Run the /git-commit-submit-pr-and-verify with $ARGUMENTS. Once the merge is complete, follow the resulting deploy and fix anything that breaks with the deploy and then follow this process again with a new PR until the deploy succeeds.
@@ -1,35 +0,0 @@
1
- ---
2
- name: git-prune
3
- description: This skill should be used when pruning local branches that have been deleted on the remote. It fetches remote changes, identifies stale local branches, and safely deletes them.
4
- allowed-tools: ["Bash"]
5
- ---
6
-
7
- # Git Prune Local Branches
8
-
9
- Remove local branches whose upstream tracking branches have been deleted on remote.
10
-
11
- ## Workflow
12
-
13
- ### Fetch and prune remote-tracking references
14
-
15
- !git fetch --prune
16
-
17
- ### Find and delete stale local branches
18
-
19
- !git branch -vv | grep ': gone]' | awk '{print $1}'
20
-
21
- ### Apply these requirements
22
-
23
- 1. **Preview**: Show which branches will be deleted before deleting
24
- 2. **Safe Delete**: Use `-d` (safe delete) which refuses to delete unmerged branches
25
- 3. **Report**: Show summary of deleted branches
26
-
27
- ### Never
28
-
29
- - Force delete (`-D`) without user confirmation
30
- - Delete the current branch
31
- - Delete protected branches (dev, staging, main)
32
-
33
- ## Execute
34
-
35
- Execute the workflow now.
@@ -1,44 +0,0 @@
1
- ---
2
- name: git-submit-pr
3
- description: This skill should be used when pushing changes and creating or updating a pull request. It verifies the branch state, pushes to remote, creates or updates a PR with a comprehensive description, and enables auto-merge.
4
- allowed-tools: ["Bash", "mcp__github__create_pull_request", "mcp__github__get_pull_request", "mcp__github__update_pull_request"]
5
- ---
6
-
7
- # Submit Pull Request Workflow
8
-
9
- Push current branch and create or update a pull request. Optional hint: $ARGUMENTS
10
-
11
- ## Workflow
12
-
13
- ### Check current state
14
-
15
- !git status
16
- !git log --oneline -10
17
-
18
- ### Apply these requirements
19
-
20
- 1. **Branch Check**: Verify not on `dev`, `staging`, or `main` (cannot create PR from protected branches)
21
- 2. **Commit Check**: Ensure all changes are committed before pushing
22
- 3. **Push**: Push current branch to remote with `-u` flag and the following environment variable - GIT_SSH_COMMAND="ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=5"
23
- 4. **PR Management**:
24
- - Check for existing PR on this branch
25
- - If exists: Update description with latest changes
26
- - If not: Create PR with comprehensive description (not a draft)
27
- 5. **Auto-merge**: Enable auto-merge on the PR using `gh pr merge --auto --merge`
28
-
29
- ### PR Description Format
30
-
31
- Include in the PR description:
32
-
33
- - **Summary**: Brief overview of changes (1-3 bullet points)
34
- - **Test plan**: How to verify the changes work correctly
35
-
36
- ### Never
37
-
38
- - use `--force` push without explicit user request
39
- - create PR from protected branches (dev, staging, main)
40
- - skip pushing before PR creation
41
-
42
- ## Execute
43
-
44
- Execute the workflow now.
@@ -1,16 +0,0 @@
1
- ---
2
- name: jira-fix
3
- description: This skill should be used when fixing a bug ticket in JIRA
4
- ---
5
-
6
- 1. Use the JIRA/Atlassian MCP or CLI to fully read this issue, including comments and attachments: $ARGUMENTS
7
- 2. Extract sign-in information if available from the ticket (e.g., test credentials, OTP codes)
8
- 3. Use the project's verification method to attempt to reproduce the bug:
9
- - For UI projects: Use Playwright MCP browser tools to record a replication
10
- - For API projects: Use curl or test commands to reproduce the error
11
- - For library projects: Write a minimal reproduction test
12
- 4. If you cannot reproduce the issue, upload the evidence to the JIRA ticket explaining that you can't replicate it and skip the remaining steps
13
- 5. If there have already been attempts to fix this bug, understand the previous attempts by looking for pull requests and git commits related to it
14
- 6. Fix the bug
15
- 7. Verify the fix using the same verification method used in step 3
16
- 8. Upload the evidence to the JIRA ticket and explain the fix
@@ -1,18 +0,0 @@
1
- ---
2
- name: jira-implement
3
- description: This skill should be used when implementing the requirements in a JIRA ticket.
4
- ---
5
-
6
- Use either the Atlassian MCP or CLI to examine the contents of the JIRA ticket: $ARGUMENTS
7
-
8
- If neither is available, stop and report that you cannot access the ticket.
9
-
10
- Read all the details in the ticket, including any URLs and attachments.
11
-
12
- Make a plan to fulfill the requirements of the ticket.
13
-
14
- Important: If this involves UI changes, use Playwright MCP browser tools to access the app and get a better understanding of what needs to be done. Create a verification task using browser tools to confirm the implementation.
15
-
16
- Important: If this involves API or backend changes, use curl or test commands to understand current behavior. Create a verification task to confirm the implementation.
17
-
18
- If you don't know how to access the app or service, clarify when making the plan.
@@ -1,233 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Generate evidence comment templates from captured text evidence.
3
-
4
- Scans an evidence directory for text/JSON evidence files, reads the journey JSON,
5
- and produces comment.txt (JIRA wiki markup) and comment.md (GitHub markdown).
6
-
7
- Usage:
8
- python3 generate-templates.py <TICKET_ID> <PR_NUMBER> <BRANCH_NAME> <EVIDENCE_DIR> [JOURNEY_JSON]
9
-
10
- Example:
11
- python3 generate-templates.py PROJ-123 42 fix/PROJ-123-api ./evidence journey.json
12
-
13
- If JOURNEY_JSON is not provided, reads from stdin.
14
- """
15
-
16
- import json
17
- import os
18
- import re
19
- import subprocess
20
- import sys
21
- from pathlib import Path
22
-
23
-
24
- def get_jira_server():
25
- """Read JIRA server URL from jira-cli config."""
26
- config_path = Path.home() / ".config" / ".jira" / ".config.yml"
27
- if not config_path.exists():
28
- return ""
29
- with open(config_path) as f:
30
- for line in f:
31
- if line.startswith("server:"):
32
- return line.split(":", 1)[1].strip()
33
- return ""
34
-
35
-
36
- def get_github_repo():
37
- """Detect GitHub repo from gh CLI."""
38
- try:
39
- result = subprocess.run(
40
- ["gh", "repo", "view", "--json", "nameWithOwner", "--jq", ".nameWithOwner"],
41
- capture_output=True, text=True, timeout=10,
42
- )
43
- return result.stdout.strip()
44
- except (subprocess.SubprocessError, FileNotFoundError):
45
- return ""
46
-
47
-
48
- def collect_evidence(evidence_dir):
49
- """Collect evidence files (text, JSON, and images) sorted by name."""
50
- evidence_path = Path(evidence_dir)
51
- files = []
52
- for pattern in ("[0-9][0-9]-*.txt", "[0-9][0-9]-*.json", "[0-9][0-9]-*.png"):
53
- files.extend(evidence_path.glob(pattern))
54
- # Exclude comment.txt
55
- files = [f for f in files if f.name != "comment.txt"]
56
- return sorted(files, key=lambda p: p.name)
57
-
58
-
59
- def detect_language(filename, content):
60
- """Detect code block language from filename extension and content."""
61
- if filename.endswith(".json"):
62
- return "json"
63
- if "HTTP/" in content or "curl" in content.lower():
64
- return "http"
65
- if "CREATE TABLE" in content or "ALTER TABLE" in content or "\\d " in content:
66
- return "sql"
67
- return "text"
68
-
69
-
70
- def generate_jira_wiki(ticket_id, pr_number, branch, evidence_files, journey, gh_repo):
71
- """Generate JIRA wiki markup comment with code block evidence."""
72
- lines = []
73
- lines.append(f"h2. Evidence — PR #{pr_number}")
74
- lines.append("")
75
- lines.append(f"*Branch:* {{{{{branch}}}}}")
76
- lines.append(f"*PR:* [PR #{pr_number}|https://github.com/{gh_repo}/pull/{pr_number}]")
77
- lines.append("")
78
-
79
- # Verification Results from assertions
80
- if journey.get("assertions"):
81
- lines.append("h3. Verification Results")
82
- lines.append("")
83
- for assertion in journey["assertions"]:
84
- lines.append(f"* {assertion}")
85
- lines.append("")
86
-
87
- # Evidence
88
- lines.append("h3. Evidence")
89
- lines.append("")
90
-
91
- for evidence_path in evidence_files:
92
- filename = evidence_path.name
93
- stem = evidence_path.stem
94
- # Extract readable label: remove NN- prefix
95
- label_parts = stem.split("-")[1:]
96
- label = " ".join(label_parts).title() if label_parts else stem
97
-
98
- if filename.endswith(".png"):
99
- display_width = 700
100
- lines.append(f"*{label}:*")
101
- lines.append(f"!{filename}|width={display_width}!")
102
- lines.append("")
103
- else:
104
- content = evidence_path.read_text().strip()
105
- lang = detect_language(filename, content)
106
- lines.append(f"*{label}:*")
107
- lines.append(f"{{code:{lang}}}")
108
- lines.append(content)
109
- lines.append("{code}")
110
- lines.append("")
111
-
112
- # Verification Journey steps
113
- if journey.get("steps"):
114
- lines.append("h3. Verification Journey")
115
- lines.append("")
116
- for step in journey["steps"]:
117
- text = step["text"]
118
- clean_text = re.sub(r'\s*\[(SCREENSHOT|EVIDENCE):\s*[^\]]+\]', '', text).strip()
119
- lines.append(f"# {clean_text}")
120
- lines.append("")
121
-
122
- return "\n".join(lines)
123
-
124
-
125
- def generate_github_md(ticket_id, pr_number, branch, evidence_files, journey, gh_repo, jira_server):
126
- """Generate GitHub markdown comment with code block evidence."""
127
- release_base = f"https://github.com/{gh_repo}/releases/download/pr-assets"
128
-
129
- lines = []
130
- lines.append(f"## Evidence — PR #{pr_number}")
131
- lines.append("")
132
- lines.append(f"**Branch:** `{branch}`")
133
- if jira_server:
134
- lines.append(f"**Ticket:** [{ticket_id}]({jira_server}/browse/{ticket_id})")
135
- else:
136
- lines.append(f"**Ticket:** {ticket_id}")
137
- lines.append("")
138
-
139
- # Verification Results
140
- if journey.get("assertions"):
141
- lines.append("### Verification Results")
142
- lines.append("")
143
- for assertion in journey["assertions"]:
144
- lines.append(f"- {assertion}")
145
- lines.append("")
146
-
147
- # Evidence
148
- lines.append("### Evidence")
149
- lines.append("")
150
-
151
- for evidence_path in evidence_files:
152
- filename = evidence_path.name
153
- stem = evidence_path.stem
154
- label_parts = stem.split("-")[1:]
155
- label = " ".join(label_parts).title() if label_parts else stem
156
-
157
- if filename.endswith(".png"):
158
- lines.append(f"**{label}:**")
159
- lines.append("")
160
- lines.append(f"![{label}]({release_base}/{filename})")
161
- lines.append("")
162
- else:
163
- content = evidence_path.read_text().strip()
164
- lang = detect_language(filename, content)
165
- lines.append(f"**{label}:**")
166
- lines.append("")
167
- lines.append(f"```{lang}")
168
- lines.append(content)
169
- lines.append("```")
170
- lines.append("")
171
-
172
- # Verification Journey
173
- if journey.get("steps"):
174
- lines.append("### Verification Journey")
175
- lines.append("")
176
- for step in journey["steps"]:
177
- text = step["text"]
178
- clean_text = re.sub(r'\s*\[(SCREENSHOT|EVIDENCE):\s*[^\]]+\]', '', text).strip()
179
- lines.append(f"{step['number']}. {clean_text}")
180
- lines.append("")
181
-
182
- return "\n".join(lines)
183
-
184
-
185
- def main():
186
- if len(sys.argv) < 5:
187
- print(
188
- "Usage: generate-templates.py <TICKET_ID> <PR_NUMBER> <BRANCH_NAME> <EVIDENCE_DIR> [JOURNEY_JSON]",
189
- file=sys.stderr,
190
- )
191
- sys.exit(1)
192
-
193
- ticket_id = sys.argv[1]
194
- pr_number = sys.argv[2]
195
- branch = sys.argv[3]
196
- evidence_dir = sys.argv[4]
197
- journey_file = sys.argv[5] if len(sys.argv) > 5 else None
198
-
199
- # Read journey JSON
200
- if journey_file:
201
- with open(journey_file) as f:
202
- journey = json.load(f)
203
- else:
204
- journey = json.load(sys.stdin)
205
-
206
- gh_repo = get_github_repo()
207
- if not gh_repo:
208
- print("ERROR: Could not detect GitHub repo — ensure gh CLI is authenticated", file=sys.stderr)
209
- sys.exit(1)
210
-
211
- jira_server = get_jira_server()
212
-
213
- evidence_files = collect_evidence(evidence_dir)
214
- if not evidence_files:
215
- print(f"ERROR: No evidence files found in {evidence_dir}", file=sys.stderr)
216
- sys.exit(1)
217
-
218
- # Generate templates
219
- jira_wiki = generate_jira_wiki(ticket_id, pr_number, branch, evidence_files, journey, gh_repo)
220
- github_md = generate_github_md(ticket_id, pr_number, branch, evidence_files, journey, gh_repo, jira_server)
221
-
222
- # Write templates
223
- evidence_path = Path(evidence_dir)
224
- (evidence_path / "comment.txt").write_text(jira_wiki)
225
- (evidence_path / "comment.md").write_text(github_md)
226
-
227
- print(f"Generated {evidence_path / 'comment.txt'} ({len(jira_wiki)} bytes)")
228
- print(f"Generated {evidence_path / 'comment.md'} ({len(github_md)} bytes)")
229
- print(f"Evidence files: {len(evidence_files)}")
230
-
231
-
232
- if __name__ == "__main__":
233
- main()