@codyswann/lisa 2.121.0 → 2.122.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 (873) hide show
  1. package/.claude-plugin/marketplace.json +144 -0
  2. package/dist/agy/agents-md-installer.d.ts +6 -3
  3. package/dist/agy/agents-md-installer.d.ts.map +1 -1
  4. package/dist/agy/agents-md-installer.js +9 -4
  5. package/dist/agy/agents-md-installer.js.map +1 -1
  6. package/dist/agy/mcp-installer.d.ts +18 -0
  7. package/dist/agy/mcp-installer.d.ts.map +1 -1
  8. package/dist/agy/mcp-installer.js +21 -0
  9. package/dist/agy/mcp-installer.js.map +1 -1
  10. package/dist/agy/plugin-installer.d.ts +6 -4
  11. package/dist/agy/plugin-installer.d.ts.map +1 -1
  12. package/dist/agy/plugin-installer.js +13 -7
  13. package/dist/agy/plugin-installer.js.map +1 -1
  14. package/dist/codex/lisa-plugin-detection.d.ts +18 -19
  15. package/dist/codex/lisa-plugin-detection.d.ts.map +1 -1
  16. package/dist/codex/lisa-plugin-detection.js +26 -22
  17. package/dist/codex/lisa-plugin-detection.js.map +1 -1
  18. package/dist/copilot/plugin-installer.d.ts +6 -3
  19. package/dist/copilot/plugin-installer.d.ts.map +1 -1
  20. package/dist/copilot/plugin-installer.js +14 -7
  21. package/dist/copilot/plugin-installer.js.map +1 -1
  22. package/dist/core/config.d.ts +20 -0
  23. package/dist/core/config.d.ts.map +1 -1
  24. package/dist/core/config.js +20 -0
  25. package/dist/core/config.js.map +1 -1
  26. package/dist/core/lisa.d.ts +16 -0
  27. package/dist/core/lisa.d.ts.map +1 -1
  28. package/dist/core/lisa.js +66 -19
  29. package/dist/core/lisa.js.map +1 -1
  30. package/package.json +1 -1
  31. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa/.codex-plugin/plugin.json +2 -2
  33. package/plugins/lisa/{.codex-plugin → hooks}/hooks.json +7 -7
  34. package/plugins/lisa-agy/plugin.json +1 -1
  35. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  37. package/plugins/lisa-cdk-agy/plugin.json +11 -0
  38. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +11 -0
  39. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +11 -0
  40. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa-expo-agy/.mcp.json +8 -0
  45. package/plugins/lisa-expo-agy/THIRD-PARTY-NOTICES.md +57 -0
  46. package/plugins/lisa-expo-agy/agents/ops-specialist.md +124 -0
  47. package/plugins/lisa-expo-agy/commands/e2e-coverage-gaps.md +7 -0
  48. package/plugins/lisa-expo-agy/commands/exploratory-qa.md +7 -0
  49. package/plugins/lisa-expo-agy/plugin.json +11 -0
  50. package/plugins/lisa-expo-agy/skills/add-app-clip/SKILL.md +280 -0
  51. package/plugins/lisa-expo-agy/skills/add-app-clip/references/native-module.md +96 -0
  52. package/plugins/lisa-expo-agy/skills/apollo-client/SKILL.md +238 -0
  53. package/plugins/lisa-expo-agy/skills/apollo-client/references/mutation-patterns.md +360 -0
  54. package/plugins/lisa-expo-agy/skills/atomic-design-gluestack/SKILL.md +360 -0
  55. package/plugins/lisa-expo-agy/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  56. package/plugins/lisa-expo-agy/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  57. package/plugins/lisa-expo-agy/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  58. package/plugins/lisa-expo-agy/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
  59. package/plugins/lisa-expo-agy/skills/building-native-ui/SKILL.md +321 -0
  60. package/plugins/lisa-expo-agy/skills/building-native-ui/references/animations.md +220 -0
  61. package/plugins/lisa-expo-agy/skills/building-native-ui/references/controls.md +272 -0
  62. package/plugins/lisa-expo-agy/skills/building-native-ui/references/form-sheet.md +253 -0
  63. package/plugins/lisa-expo-agy/skills/building-native-ui/references/gradients.md +106 -0
  64. package/plugins/lisa-expo-agy/skills/building-native-ui/references/icons.md +213 -0
  65. package/plugins/lisa-expo-agy/skills/building-native-ui/references/media.md +198 -0
  66. package/plugins/lisa-expo-agy/skills/building-native-ui/references/route-structure.md +229 -0
  67. package/plugins/lisa-expo-agy/skills/building-native-ui/references/search.md +248 -0
  68. package/plugins/lisa-expo-agy/skills/building-native-ui/references/storage.md +121 -0
  69. package/plugins/lisa-expo-agy/skills/building-native-ui/references/tabs.md +433 -0
  70. package/plugins/lisa-expo-agy/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  71. package/plugins/lisa-expo-agy/skills/building-native-ui/references/visual-effects.md +197 -0
  72. package/plugins/lisa-expo-agy/skills/building-native-ui/references/webgpu-three.md +605 -0
  73. package/plugins/lisa-expo-agy/skills/building-native-ui/references/zoom-transitions.md +158 -0
  74. package/plugins/lisa-expo-agy/skills/container-view-pattern/SKILL.md +299 -0
  75. package/plugins/lisa-expo-agy/skills/container-view-pattern/references/examples.md +749 -0
  76. package/plugins/lisa-expo-agy/skills/container-view-pattern/references/patterns.md +318 -0
  77. package/plugins/lisa-expo-agy/skills/container-view-pattern/scripts/create_component.py +200 -0
  78. package/plugins/lisa-expo-agy/skills/container-view-pattern/scripts/validate_component.py +209 -0
  79. package/plugins/lisa-expo-agy/skills/cross-platform-compatibility/SKILL.md +268 -0
  80. package/plugins/lisa-expo-agy/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  81. package/plugins/lisa-expo-agy/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  82. package/plugins/lisa-expo-agy/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  83. package/plugins/lisa-expo-agy/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  84. package/plugins/lisa-expo-agy/skills/directory-structure/SKILL.md +202 -0
  85. package/plugins/lisa-expo-agy/skills/directory-structure/scripts/validate_structure.py +445 -0
  86. package/plugins/lisa-expo-agy/skills/e2e-coverage-gaps/SKILL.md +105 -0
  87. package/plugins/lisa-expo-agy/skills/eas-update-insights/SKILL.md +228 -0
  88. package/plugins/lisa-expo-agy/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  89. package/plugins/lisa-expo-agy/skills/eas-update-insights/references/update-insights-schema.md +69 -0
  90. package/plugins/lisa-expo-agy/skills/exploratory-qa/SKILL.md +145 -0
  91. package/plugins/lisa-expo-agy/skills/expo-api-routes/SKILL.md +369 -0
  92. package/plugins/lisa-expo-agy/skills/expo-brownfield/SKILL.md +54 -0
  93. package/plugins/lisa-expo-agy/skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  94. package/plugins/lisa-expo-agy/skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  95. package/plugins/lisa-expo-agy/skills/expo-brownfield/references/comparison.md +63 -0
  96. package/plugins/lisa-expo-agy/skills/expo-brownfield/references/troubleshooting.md +88 -0
  97. package/plugins/lisa-expo-agy/skills/expo-cicd-workflows/SKILL.md +92 -0
  98. package/plugins/lisa-expo-agy/skills/expo-cicd-workflows/scripts/fetch.js +113 -0
  99. package/plugins/lisa-expo-agy/skills/expo-cicd-workflows/scripts/package.json +11 -0
  100. package/plugins/lisa-expo-agy/skills/expo-cicd-workflows/scripts/validate.js +85 -0
  101. package/plugins/lisa-expo-agy/skills/expo-deployment/SKILL.md +190 -0
  102. package/plugins/lisa-expo-agy/skills/expo-deployment/references/app-store-metadata.md +479 -0
  103. package/plugins/lisa-expo-agy/skills/expo-deployment/references/ios-app-store.md +355 -0
  104. package/plugins/lisa-expo-agy/skills/expo-deployment/references/play-store.md +246 -0
  105. package/plugins/lisa-expo-agy/skills/expo-deployment/references/testflight.md +58 -0
  106. package/plugins/lisa-expo-agy/skills/expo-deployment/references/workflows.md +200 -0
  107. package/plugins/lisa-expo-agy/skills/expo-dev-client/SKILL.md +164 -0
  108. package/plugins/lisa-expo-agy/skills/expo-env-config/SKILL.md +309 -0
  109. package/plugins/lisa-expo-agy/skills/expo-env-config/references/validation-patterns.md +417 -0
  110. package/plugins/lisa-expo-agy/skills/expo-module/SKILL.md +141 -0
  111. package/plugins/lisa-expo-agy/skills/expo-module/references/config-plugin.md +90 -0
  112. package/plugins/lisa-expo-agy/skills/expo-module/references/create-expo-module.md +206 -0
  113. package/plugins/lisa-expo-agy/skills/expo-module/references/lifecycle.md +127 -0
  114. package/plugins/lisa-expo-agy/skills/expo-module/references/module-config.md +48 -0
  115. package/plugins/lisa-expo-agy/skills/expo-module/references/native-module.md +286 -0
  116. package/plugins/lisa-expo-agy/skills/expo-module/references/native-view.md +171 -0
  117. package/plugins/lisa-expo-agy/skills/expo-router-best-practices/SKILL.md +431 -0
  118. package/plugins/lisa-expo-agy/skills/expo-router-best-practices/references/official-docs.md +290 -0
  119. package/plugins/lisa-expo-agy/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  120. package/plugins/lisa-expo-agy/skills/expo-tailwind-setup/SKILL.md +480 -0
  121. package/plugins/lisa-expo-agy/skills/expo-ui-jetpack-compose/SKILL.md +40 -0
  122. package/plugins/lisa-expo-agy/skills/expo-ui-swift-ui/SKILL.md +39 -0
  123. package/plugins/lisa-expo-agy/skills/gluestack-nativewind/SKILL.md +411 -0
  124. package/plugins/lisa-expo-agy/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  125. package/plugins/lisa-expo-agy/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  126. package/plugins/lisa-expo-agy/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  127. package/plugins/lisa-expo-agy/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
  128. package/plugins/lisa-expo-agy/skills/jira-add-journey/SKILL.md +126 -0
  129. package/plugins/lisa-expo-agy/skills/jira-create/SKILL.md +161 -0
  130. package/plugins/lisa-expo-agy/skills/jira-evidence/SKILL.md +78 -0
  131. package/plugins/lisa-expo-agy/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  132. package/plugins/lisa-expo-agy/skills/jira-journey/SKILL.md +190 -0
  133. package/plugins/lisa-expo-agy/skills/jira-journey/scripts/generate-templates.py +281 -0
  134. package/plugins/lisa-expo-agy/skills/jira-journey/scripts/parse-plan.py +368 -0
  135. package/plugins/lisa-expo-agy/skills/jira-verify/SKILL.md +27 -0
  136. package/plugins/lisa-expo-agy/skills/local-state/SKILL.md +362 -0
  137. package/plugins/lisa-expo-agy/skills/local-state/references/async-storage.md +505 -0
  138. package/plugins/lisa-expo-agy/skills/local-state/references/persistence-patterns.md +711 -0
  139. package/plugins/lisa-expo-agy/skills/local-state/references/reactive-variables.md +446 -0
  140. package/plugins/lisa-expo-agy/skills/native-data-fetching/SKILL.md +507 -0
  141. package/plugins/lisa-expo-agy/skills/native-data-fetching/references/expo-router-loaders.md +344 -0
  142. package/plugins/lisa-expo-agy/skills/ops-browser-uat/SKILL.md +124 -0
  143. package/plugins/lisa-expo-agy/skills/ops-check-logs/SKILL.md +211 -0
  144. package/plugins/lisa-expo-agy/skills/ops-db-ops/SKILL.md +119 -0
  145. package/plugins/lisa-expo-agy/skills/ops-deploy/SKILL.md +119 -0
  146. package/plugins/lisa-expo-agy/skills/ops-monitor-errors/SKILL.md +99 -0
  147. package/plugins/lisa-expo-agy/skills/ops-performance/SKILL.md +165 -0
  148. package/plugins/lisa-expo-agy/skills/ops-run-local/SKILL.md +166 -0
  149. package/plugins/lisa-expo-agy/skills/ops-verify-health/SKILL.md +101 -0
  150. package/plugins/lisa-expo-agy/skills/owasp-zap/SKILL.md +56 -0
  151. package/plugins/lisa-expo-agy/skills/playwright-ci-debugging/SKILL.md +140 -0
  152. package/plugins/lisa-expo-agy/skills/playwright-selectors/SKILL.md +455 -0
  153. package/plugins/lisa-expo-agy/skills/reduce-complexity/SKILL.md +251 -0
  154. package/plugins/lisa-expo-agy/skills/reduce-complexity/references/extraction-strategies.md +456 -0
  155. package/plugins/lisa-expo-agy/skills/reduce-complexity/references/refactoring-patterns.md +557 -0
  156. package/plugins/lisa-expo-agy/skills/testing-library/SKILL.md +314 -0
  157. package/plugins/lisa-expo-agy/skills/testing-library/references/async-patterns.md +420 -0
  158. package/plugins/lisa-expo-agy/skills/testing-library/references/expo-router-testing.md +556 -0
  159. package/plugins/lisa-expo-agy/skills/testing-library/references/mocking-patterns.md +590 -0
  160. package/plugins/lisa-expo-agy/skills/testing-library/references/query-priority.md +291 -0
  161. package/plugins/lisa-expo-agy/skills/upgrading-expo/SKILL.md +134 -0
  162. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  163. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  164. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/native-tabs.md +124 -0
  165. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/new-architecture.md +79 -0
  166. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/react-19.md +79 -0
  167. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/react-compiler.md +59 -0
  168. package/plugins/lisa-expo-agy/skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  169. package/plugins/lisa-expo-agy/skills/use-dom/SKILL.md +417 -0
  170. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +11 -0
  171. package/plugins/lisa-expo-copilot/.mcp.json +8 -0
  172. package/plugins/lisa-expo-copilot/THIRD-PARTY-NOTICES.md +57 -0
  173. package/plugins/lisa-expo-copilot/agents/ops-specialist.agent.md +124 -0
  174. package/plugins/lisa-expo-copilot/commands/e2e-coverage-gaps.md +7 -0
  175. package/plugins/lisa-expo-copilot/commands/exploratory-qa.md +7 -0
  176. package/plugins/lisa-expo-copilot/skills/add-app-clip/SKILL.md +280 -0
  177. package/plugins/lisa-expo-copilot/skills/add-app-clip/references/native-module.md +96 -0
  178. package/plugins/lisa-expo-copilot/skills/apollo-client/SKILL.md +238 -0
  179. package/plugins/lisa-expo-copilot/skills/apollo-client/references/mutation-patterns.md +360 -0
  180. package/plugins/lisa-expo-copilot/skills/atomic-design-gluestack/SKILL.md +360 -0
  181. package/plugins/lisa-expo-copilot/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  182. package/plugins/lisa-expo-copilot/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  183. package/plugins/lisa-expo-copilot/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  184. package/plugins/lisa-expo-copilot/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
  185. package/plugins/lisa-expo-copilot/skills/building-native-ui/SKILL.md +321 -0
  186. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/animations.md +220 -0
  187. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/controls.md +272 -0
  188. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/form-sheet.md +253 -0
  189. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/gradients.md +106 -0
  190. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/icons.md +213 -0
  191. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/media.md +198 -0
  192. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/route-structure.md +229 -0
  193. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/search.md +248 -0
  194. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/storage.md +121 -0
  195. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/tabs.md +433 -0
  196. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  197. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/visual-effects.md +197 -0
  198. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/webgpu-three.md +605 -0
  199. package/plugins/lisa-expo-copilot/skills/building-native-ui/references/zoom-transitions.md +158 -0
  200. package/plugins/lisa-expo-copilot/skills/container-view-pattern/SKILL.md +299 -0
  201. package/plugins/lisa-expo-copilot/skills/container-view-pattern/references/examples.md +749 -0
  202. package/plugins/lisa-expo-copilot/skills/container-view-pattern/references/patterns.md +318 -0
  203. package/plugins/lisa-expo-copilot/skills/container-view-pattern/scripts/create_component.py +200 -0
  204. package/plugins/lisa-expo-copilot/skills/container-view-pattern/scripts/validate_component.py +209 -0
  205. package/plugins/lisa-expo-copilot/skills/cross-platform-compatibility/SKILL.md +268 -0
  206. package/plugins/lisa-expo-copilot/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  207. package/plugins/lisa-expo-copilot/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  208. package/plugins/lisa-expo-copilot/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  209. package/plugins/lisa-expo-copilot/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  210. package/plugins/lisa-expo-copilot/skills/directory-structure/SKILL.md +202 -0
  211. package/plugins/lisa-expo-copilot/skills/directory-structure/scripts/validate_structure.py +445 -0
  212. package/plugins/lisa-expo-copilot/skills/e2e-coverage-gaps/SKILL.md +105 -0
  213. package/plugins/lisa-expo-copilot/skills/eas-update-insights/SKILL.md +228 -0
  214. package/plugins/lisa-expo-copilot/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  215. package/plugins/lisa-expo-copilot/skills/eas-update-insights/references/update-insights-schema.md +69 -0
  216. package/plugins/lisa-expo-copilot/skills/exploratory-qa/SKILL.md +145 -0
  217. package/plugins/lisa-expo-copilot/skills/expo-api-routes/SKILL.md +369 -0
  218. package/plugins/lisa-expo-copilot/skills/expo-brownfield/SKILL.md +54 -0
  219. package/plugins/lisa-expo-copilot/skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  220. package/plugins/lisa-expo-copilot/skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  221. package/plugins/lisa-expo-copilot/skills/expo-brownfield/references/comparison.md +63 -0
  222. package/plugins/lisa-expo-copilot/skills/expo-brownfield/references/troubleshooting.md +88 -0
  223. package/plugins/lisa-expo-copilot/skills/expo-cicd-workflows/SKILL.md +92 -0
  224. package/plugins/lisa-expo-copilot/skills/expo-cicd-workflows/scripts/fetch.js +113 -0
  225. package/plugins/lisa-expo-copilot/skills/expo-cicd-workflows/scripts/package.json +11 -0
  226. package/plugins/lisa-expo-copilot/skills/expo-cicd-workflows/scripts/validate.js +85 -0
  227. package/plugins/lisa-expo-copilot/skills/expo-deployment/SKILL.md +190 -0
  228. package/plugins/lisa-expo-copilot/skills/expo-deployment/references/app-store-metadata.md +479 -0
  229. package/plugins/lisa-expo-copilot/skills/expo-deployment/references/ios-app-store.md +355 -0
  230. package/plugins/lisa-expo-copilot/skills/expo-deployment/references/play-store.md +246 -0
  231. package/plugins/lisa-expo-copilot/skills/expo-deployment/references/testflight.md +58 -0
  232. package/plugins/lisa-expo-copilot/skills/expo-deployment/references/workflows.md +200 -0
  233. package/plugins/lisa-expo-copilot/skills/expo-dev-client/SKILL.md +164 -0
  234. package/plugins/lisa-expo-copilot/skills/expo-env-config/SKILL.md +309 -0
  235. package/plugins/lisa-expo-copilot/skills/expo-env-config/references/validation-patterns.md +417 -0
  236. package/plugins/lisa-expo-copilot/skills/expo-module/SKILL.md +141 -0
  237. package/plugins/lisa-expo-copilot/skills/expo-module/references/config-plugin.md +90 -0
  238. package/plugins/lisa-expo-copilot/skills/expo-module/references/create-expo-module.md +206 -0
  239. package/plugins/lisa-expo-copilot/skills/expo-module/references/lifecycle.md +127 -0
  240. package/plugins/lisa-expo-copilot/skills/expo-module/references/module-config.md +48 -0
  241. package/plugins/lisa-expo-copilot/skills/expo-module/references/native-module.md +286 -0
  242. package/plugins/lisa-expo-copilot/skills/expo-module/references/native-view.md +171 -0
  243. package/plugins/lisa-expo-copilot/skills/expo-router-best-practices/SKILL.md +431 -0
  244. package/plugins/lisa-expo-copilot/skills/expo-router-best-practices/references/official-docs.md +290 -0
  245. package/plugins/lisa-expo-copilot/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  246. package/plugins/lisa-expo-copilot/skills/expo-tailwind-setup/SKILL.md +480 -0
  247. package/plugins/lisa-expo-copilot/skills/expo-ui-jetpack-compose/SKILL.md +40 -0
  248. package/plugins/lisa-expo-copilot/skills/expo-ui-swift-ui/SKILL.md +39 -0
  249. package/plugins/lisa-expo-copilot/skills/gluestack-nativewind/SKILL.md +411 -0
  250. package/plugins/lisa-expo-copilot/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  251. package/plugins/lisa-expo-copilot/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  252. package/plugins/lisa-expo-copilot/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  253. package/plugins/lisa-expo-copilot/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
  254. package/plugins/lisa-expo-copilot/skills/jira-add-journey/SKILL.md +126 -0
  255. package/plugins/lisa-expo-copilot/skills/jira-create/SKILL.md +161 -0
  256. package/plugins/lisa-expo-copilot/skills/jira-evidence/SKILL.md +78 -0
  257. package/plugins/lisa-expo-copilot/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  258. package/plugins/lisa-expo-copilot/skills/jira-journey/SKILL.md +190 -0
  259. package/plugins/lisa-expo-copilot/skills/jira-journey/scripts/generate-templates.py +281 -0
  260. package/plugins/lisa-expo-copilot/skills/jira-journey/scripts/parse-plan.py +368 -0
  261. package/plugins/lisa-expo-copilot/skills/jira-verify/SKILL.md +27 -0
  262. package/plugins/lisa-expo-copilot/skills/local-state/SKILL.md +362 -0
  263. package/plugins/lisa-expo-copilot/skills/local-state/references/async-storage.md +505 -0
  264. package/plugins/lisa-expo-copilot/skills/local-state/references/persistence-patterns.md +711 -0
  265. package/plugins/lisa-expo-copilot/skills/local-state/references/reactive-variables.md +446 -0
  266. package/plugins/lisa-expo-copilot/skills/native-data-fetching/SKILL.md +507 -0
  267. package/plugins/lisa-expo-copilot/skills/native-data-fetching/references/expo-router-loaders.md +344 -0
  268. package/plugins/lisa-expo-copilot/skills/ops-browser-uat/SKILL.md +124 -0
  269. package/plugins/lisa-expo-copilot/skills/ops-check-logs/SKILL.md +211 -0
  270. package/plugins/lisa-expo-copilot/skills/ops-db-ops/SKILL.md +119 -0
  271. package/plugins/lisa-expo-copilot/skills/ops-deploy/SKILL.md +119 -0
  272. package/plugins/lisa-expo-copilot/skills/ops-monitor-errors/SKILL.md +99 -0
  273. package/plugins/lisa-expo-copilot/skills/ops-performance/SKILL.md +165 -0
  274. package/plugins/lisa-expo-copilot/skills/ops-run-local/SKILL.md +166 -0
  275. package/plugins/lisa-expo-copilot/skills/ops-verify-health/SKILL.md +101 -0
  276. package/plugins/lisa-expo-copilot/skills/owasp-zap/SKILL.md +56 -0
  277. package/plugins/lisa-expo-copilot/skills/playwright-ci-debugging/SKILL.md +140 -0
  278. package/plugins/lisa-expo-copilot/skills/playwright-selectors/SKILL.md +455 -0
  279. package/plugins/lisa-expo-copilot/skills/reduce-complexity/SKILL.md +251 -0
  280. package/plugins/lisa-expo-copilot/skills/reduce-complexity/references/extraction-strategies.md +456 -0
  281. package/plugins/lisa-expo-copilot/skills/reduce-complexity/references/refactoring-patterns.md +557 -0
  282. package/plugins/lisa-expo-copilot/skills/testing-library/SKILL.md +314 -0
  283. package/plugins/lisa-expo-copilot/skills/testing-library/references/async-patterns.md +420 -0
  284. package/plugins/lisa-expo-copilot/skills/testing-library/references/expo-router-testing.md +556 -0
  285. package/plugins/lisa-expo-copilot/skills/testing-library/references/mocking-patterns.md +590 -0
  286. package/plugins/lisa-expo-copilot/skills/testing-library/references/query-priority.md +291 -0
  287. package/plugins/lisa-expo-copilot/skills/upgrading-expo/SKILL.md +134 -0
  288. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  289. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  290. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/native-tabs.md +124 -0
  291. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/new-architecture.md +79 -0
  292. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/react-19.md +79 -0
  293. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/react-compiler.md +59 -0
  294. package/plugins/lisa-expo-copilot/skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  295. package/plugins/lisa-expo-copilot/skills/use-dom/SKILL.md +417 -0
  296. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +11 -0
  297. package/plugins/lisa-expo-cursor/.mcp.json +8 -0
  298. package/plugins/lisa-expo-cursor/THIRD-PARTY-NOTICES.md +57 -0
  299. package/plugins/lisa-expo-cursor/agents/ops-specialist.md +124 -0
  300. package/plugins/lisa-expo-cursor/commands/e2e-coverage-gaps.md +7 -0
  301. package/plugins/lisa-expo-cursor/commands/exploratory-qa.md +7 -0
  302. package/plugins/lisa-expo-cursor/skills/add-app-clip/SKILL.md +280 -0
  303. package/plugins/lisa-expo-cursor/skills/add-app-clip/references/native-module.md +96 -0
  304. package/plugins/lisa-expo-cursor/skills/apollo-client/SKILL.md +238 -0
  305. package/plugins/lisa-expo-cursor/skills/apollo-client/references/mutation-patterns.md +360 -0
  306. package/plugins/lisa-expo-cursor/skills/atomic-design-gluestack/SKILL.md +360 -0
  307. package/plugins/lisa-expo-cursor/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
  308. package/plugins/lisa-expo-cursor/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
  309. package/plugins/lisa-expo-cursor/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
  310. package/plugins/lisa-expo-cursor/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
  311. package/plugins/lisa-expo-cursor/skills/building-native-ui/SKILL.md +321 -0
  312. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/animations.md +220 -0
  313. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/controls.md +272 -0
  314. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/form-sheet.md +253 -0
  315. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/gradients.md +106 -0
  316. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/icons.md +213 -0
  317. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/media.md +198 -0
  318. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/route-structure.md +229 -0
  319. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/search.md +248 -0
  320. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/storage.md +121 -0
  321. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/tabs.md +433 -0
  322. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  323. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/visual-effects.md +197 -0
  324. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/webgpu-three.md +605 -0
  325. package/plugins/lisa-expo-cursor/skills/building-native-ui/references/zoom-transitions.md +158 -0
  326. package/plugins/lisa-expo-cursor/skills/container-view-pattern/SKILL.md +299 -0
  327. package/plugins/lisa-expo-cursor/skills/container-view-pattern/references/examples.md +749 -0
  328. package/plugins/lisa-expo-cursor/skills/container-view-pattern/references/patterns.md +318 -0
  329. package/plugins/lisa-expo-cursor/skills/container-view-pattern/scripts/create_component.py +200 -0
  330. package/plugins/lisa-expo-cursor/skills/container-view-pattern/scripts/validate_component.py +209 -0
  331. package/plugins/lisa-expo-cursor/skills/cross-platform-compatibility/SKILL.md +268 -0
  332. package/plugins/lisa-expo-cursor/skills/cross-platform-compatibility/references/common-issues.md +619 -0
  333. package/plugins/lisa-expo-cursor/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
  334. package/plugins/lisa-expo-cursor/skills/cross-platform-compatibility/references/platform-api.md +276 -0
  335. package/plugins/lisa-expo-cursor/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
  336. package/plugins/lisa-expo-cursor/skills/directory-structure/SKILL.md +202 -0
  337. package/plugins/lisa-expo-cursor/skills/directory-structure/scripts/validate_structure.py +445 -0
  338. package/plugins/lisa-expo-cursor/skills/e2e-coverage-gaps/SKILL.md +105 -0
  339. package/plugins/lisa-expo-cursor/skills/eas-update-insights/SKILL.md +228 -0
  340. package/plugins/lisa-expo-cursor/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  341. package/plugins/lisa-expo-cursor/skills/eas-update-insights/references/update-insights-schema.md +69 -0
  342. package/plugins/lisa-expo-cursor/skills/exploratory-qa/SKILL.md +145 -0
  343. package/plugins/lisa-expo-cursor/skills/expo-api-routes/SKILL.md +369 -0
  344. package/plugins/lisa-expo-cursor/skills/expo-brownfield/SKILL.md +54 -0
  345. package/plugins/lisa-expo-cursor/skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  346. package/plugins/lisa-expo-cursor/skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  347. package/plugins/lisa-expo-cursor/skills/expo-brownfield/references/comparison.md +63 -0
  348. package/plugins/lisa-expo-cursor/skills/expo-brownfield/references/troubleshooting.md +88 -0
  349. package/plugins/lisa-expo-cursor/skills/expo-cicd-workflows/SKILL.md +92 -0
  350. package/plugins/lisa-expo-cursor/skills/expo-cicd-workflows/scripts/fetch.js +113 -0
  351. package/plugins/lisa-expo-cursor/skills/expo-cicd-workflows/scripts/package.json +11 -0
  352. package/plugins/lisa-expo-cursor/skills/expo-cicd-workflows/scripts/validate.js +85 -0
  353. package/plugins/lisa-expo-cursor/skills/expo-deployment/SKILL.md +190 -0
  354. package/plugins/lisa-expo-cursor/skills/expo-deployment/references/app-store-metadata.md +479 -0
  355. package/plugins/lisa-expo-cursor/skills/expo-deployment/references/ios-app-store.md +355 -0
  356. package/plugins/lisa-expo-cursor/skills/expo-deployment/references/play-store.md +246 -0
  357. package/plugins/lisa-expo-cursor/skills/expo-deployment/references/testflight.md +58 -0
  358. package/plugins/lisa-expo-cursor/skills/expo-deployment/references/workflows.md +200 -0
  359. package/plugins/lisa-expo-cursor/skills/expo-dev-client/SKILL.md +164 -0
  360. package/plugins/lisa-expo-cursor/skills/expo-env-config/SKILL.md +309 -0
  361. package/plugins/lisa-expo-cursor/skills/expo-env-config/references/validation-patterns.md +417 -0
  362. package/plugins/lisa-expo-cursor/skills/expo-module/SKILL.md +141 -0
  363. package/plugins/lisa-expo-cursor/skills/expo-module/references/config-plugin.md +90 -0
  364. package/plugins/lisa-expo-cursor/skills/expo-module/references/create-expo-module.md +206 -0
  365. package/plugins/lisa-expo-cursor/skills/expo-module/references/lifecycle.md +127 -0
  366. package/plugins/lisa-expo-cursor/skills/expo-module/references/module-config.md +48 -0
  367. package/plugins/lisa-expo-cursor/skills/expo-module/references/native-module.md +286 -0
  368. package/plugins/lisa-expo-cursor/skills/expo-module/references/native-view.md +171 -0
  369. package/plugins/lisa-expo-cursor/skills/expo-router-best-practices/SKILL.md +431 -0
  370. package/plugins/lisa-expo-cursor/skills/expo-router-best-practices/references/official-docs.md +290 -0
  371. package/plugins/lisa-expo-cursor/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
  372. package/plugins/lisa-expo-cursor/skills/expo-tailwind-setup/SKILL.md +480 -0
  373. package/plugins/lisa-expo-cursor/skills/expo-ui-jetpack-compose/SKILL.md +40 -0
  374. package/plugins/lisa-expo-cursor/skills/expo-ui-swift-ui/SKILL.md +39 -0
  375. package/plugins/lisa-expo-cursor/skills/gluestack-nativewind/SKILL.md +411 -0
  376. package/plugins/lisa-expo-cursor/skills/gluestack-nativewind/references/color-tokens.md +343 -0
  377. package/plugins/lisa-expo-cursor/skills/gluestack-nativewind/references/component-mapping.md +307 -0
  378. package/plugins/lisa-expo-cursor/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
  379. package/plugins/lisa-expo-cursor/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
  380. package/plugins/lisa-expo-cursor/skills/jira-add-journey/SKILL.md +126 -0
  381. package/plugins/lisa-expo-cursor/skills/jira-create/SKILL.md +161 -0
  382. package/plugins/lisa-expo-cursor/skills/jira-evidence/SKILL.md +78 -0
  383. package/plugins/lisa-expo-cursor/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  384. package/plugins/lisa-expo-cursor/skills/jira-journey/SKILL.md +190 -0
  385. package/plugins/lisa-expo-cursor/skills/jira-journey/scripts/generate-templates.py +281 -0
  386. package/plugins/lisa-expo-cursor/skills/jira-journey/scripts/parse-plan.py +368 -0
  387. package/plugins/lisa-expo-cursor/skills/jira-verify/SKILL.md +27 -0
  388. package/plugins/lisa-expo-cursor/skills/local-state/SKILL.md +362 -0
  389. package/plugins/lisa-expo-cursor/skills/local-state/references/async-storage.md +505 -0
  390. package/plugins/lisa-expo-cursor/skills/local-state/references/persistence-patterns.md +711 -0
  391. package/plugins/lisa-expo-cursor/skills/local-state/references/reactive-variables.md +446 -0
  392. package/plugins/lisa-expo-cursor/skills/native-data-fetching/SKILL.md +507 -0
  393. package/plugins/lisa-expo-cursor/skills/native-data-fetching/references/expo-router-loaders.md +344 -0
  394. package/plugins/lisa-expo-cursor/skills/ops-browser-uat/SKILL.md +124 -0
  395. package/plugins/lisa-expo-cursor/skills/ops-check-logs/SKILL.md +211 -0
  396. package/plugins/lisa-expo-cursor/skills/ops-db-ops/SKILL.md +119 -0
  397. package/plugins/lisa-expo-cursor/skills/ops-deploy/SKILL.md +119 -0
  398. package/plugins/lisa-expo-cursor/skills/ops-monitor-errors/SKILL.md +99 -0
  399. package/plugins/lisa-expo-cursor/skills/ops-performance/SKILL.md +165 -0
  400. package/plugins/lisa-expo-cursor/skills/ops-run-local/SKILL.md +166 -0
  401. package/plugins/lisa-expo-cursor/skills/ops-verify-health/SKILL.md +101 -0
  402. package/plugins/lisa-expo-cursor/skills/owasp-zap/SKILL.md +56 -0
  403. package/plugins/lisa-expo-cursor/skills/playwright-ci-debugging/SKILL.md +140 -0
  404. package/plugins/lisa-expo-cursor/skills/playwright-selectors/SKILL.md +455 -0
  405. package/plugins/lisa-expo-cursor/skills/reduce-complexity/SKILL.md +251 -0
  406. package/plugins/lisa-expo-cursor/skills/reduce-complexity/references/extraction-strategies.md +456 -0
  407. package/plugins/lisa-expo-cursor/skills/reduce-complexity/references/refactoring-patterns.md +557 -0
  408. package/plugins/lisa-expo-cursor/skills/testing-library/SKILL.md +314 -0
  409. package/plugins/lisa-expo-cursor/skills/testing-library/references/async-patterns.md +420 -0
  410. package/plugins/lisa-expo-cursor/skills/testing-library/references/expo-router-testing.md +556 -0
  411. package/plugins/lisa-expo-cursor/skills/testing-library/references/mocking-patterns.md +590 -0
  412. package/plugins/lisa-expo-cursor/skills/testing-library/references/query-priority.md +291 -0
  413. package/plugins/lisa-expo-cursor/skills/upgrading-expo/SKILL.md +134 -0
  414. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  415. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  416. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/native-tabs.md +124 -0
  417. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/new-architecture.md +79 -0
  418. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/react-19.md +79 -0
  419. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/react-compiler.md +59 -0
  420. package/plugins/lisa-expo-cursor/skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  421. package/plugins/lisa-expo-cursor/skills/use-dom/SKILL.md +417 -0
  422. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  423. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +2 -2
  424. package/plugins/lisa-harper-fabric/{.codex-plugin → hooks}/hooks.json +2 -2
  425. package/plugins/lisa-harper-fabric-agy/commands/e2e-coverage-gaps.md +7 -0
  426. package/plugins/lisa-harper-fabric-agy/commands/exploratory-qa.md +7 -0
  427. package/plugins/lisa-harper-fabric-agy/plugin.json +11 -0
  428. package/plugins/lisa-harper-fabric-agy/skills/e2e-coverage-gaps/SKILL.md +105 -0
  429. package/plugins/lisa-harper-fabric-agy/skills/exploratory-qa/SKILL.md +145 -0
  430. package/plugins/lisa-harper-fabric-agy/skills/harper-build-and-deploy/SKILL.md +101 -0
  431. package/plugins/lisa-harper-fabric-agy/skills/harper-component-model/SKILL.md +87 -0
  432. package/plugins/lisa-harper-fabric-agy/skills/harper-config-yaml/SKILL.md +107 -0
  433. package/plugins/lisa-harper-fabric-agy/skills/harper-resources/SKILL.md +106 -0
  434. package/plugins/lisa-harper-fabric-agy/skills/harper-schema-graphql/SKILL.md +72 -0
  435. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +35 -0
  436. package/plugins/lisa-harper-fabric-copilot/commands/e2e-coverage-gaps.md +7 -0
  437. package/plugins/lisa-harper-fabric-copilot/commands/exploratory-qa.md +7 -0
  438. package/plugins/lisa-harper-fabric-copilot/rules/harper-fabric.md +51 -0
  439. package/plugins/lisa-harper-fabric-copilot/skills/e2e-coverage-gaps/SKILL.md +105 -0
  440. package/plugins/lisa-harper-fabric-copilot/skills/exploratory-qa/SKILL.md +145 -0
  441. package/plugins/lisa-harper-fabric-copilot/skills/harper-build-and-deploy/SKILL.md +101 -0
  442. package/plugins/lisa-harper-fabric-copilot/skills/harper-component-model/SKILL.md +87 -0
  443. package/plugins/lisa-harper-fabric-copilot/skills/harper-config-yaml/SKILL.md +107 -0
  444. package/plugins/lisa-harper-fabric-copilot/skills/harper-resources/SKILL.md +106 -0
  445. package/plugins/lisa-harper-fabric-copilot/skills/harper-schema-graphql/SKILL.md +72 -0
  446. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +11 -0
  447. package/plugins/lisa-harper-fabric-cursor/commands/e2e-coverage-gaps.md +7 -0
  448. package/plugins/lisa-harper-fabric-cursor/commands/exploratory-qa.md +7 -0
  449. package/plugins/lisa-harper-fabric-cursor/rules/harper-fabric.md +51 -0
  450. package/plugins/lisa-harper-fabric-cursor/skills/e2e-coverage-gaps/SKILL.md +105 -0
  451. package/plugins/lisa-harper-fabric-cursor/skills/exploratory-qa/SKILL.md +145 -0
  452. package/plugins/lisa-harper-fabric-cursor/skills/harper-build-and-deploy/SKILL.md +101 -0
  453. package/plugins/lisa-harper-fabric-cursor/skills/harper-component-model/SKILL.md +87 -0
  454. package/plugins/lisa-harper-fabric-cursor/skills/harper-config-yaml/SKILL.md +107 -0
  455. package/plugins/lisa-harper-fabric-cursor/skills/harper-resources/SKILL.md +106 -0
  456. package/plugins/lisa-harper-fabric-cursor/skills/harper-schema-graphql/SKILL.md +72 -0
  457. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  458. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +2 -2
  459. package/plugins/lisa-nestjs/{.codex-plugin → hooks}/hooks.json +1 -1
  460. package/plugins/lisa-nestjs-agy/plugin.json +11 -0
  461. package/plugins/lisa-nestjs-agy/skills/nestjs-graphql/SKILL.md +176 -0
  462. package/plugins/lisa-nestjs-agy/skills/nestjs-graphql/references/advanced-features.md +527 -0
  463. package/plugins/lisa-nestjs-agy/skills/nestjs-graphql/references/project-patterns.md +531 -0
  464. package/plugins/lisa-nestjs-agy/skills/nestjs-graphql/references/quick-start.md +257 -0
  465. package/plugins/lisa-nestjs-agy/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  466. package/plugins/lisa-nestjs-agy/skills/nestjs-graphql/references/types-scalars.md +513 -0
  467. package/plugins/lisa-nestjs-agy/skills/nestjs-rules/SKILL.md +565 -0
  468. package/plugins/lisa-nestjs-agy/skills/typeorm-patterns/SKILL.md +275 -0
  469. package/plugins/lisa-nestjs-agy/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  470. package/plugins/lisa-nestjs-agy/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  471. package/plugins/lisa-nestjs-agy/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  472. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +24 -0
  473. package/plugins/lisa-nestjs-copilot/skills/nestjs-graphql/SKILL.md +176 -0
  474. package/plugins/lisa-nestjs-copilot/skills/nestjs-graphql/references/advanced-features.md +527 -0
  475. package/plugins/lisa-nestjs-copilot/skills/nestjs-graphql/references/project-patterns.md +531 -0
  476. package/plugins/lisa-nestjs-copilot/skills/nestjs-graphql/references/quick-start.md +257 -0
  477. package/plugins/lisa-nestjs-copilot/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  478. package/plugins/lisa-nestjs-copilot/skills/nestjs-graphql/references/types-scalars.md +513 -0
  479. package/plugins/lisa-nestjs-copilot/skills/nestjs-rules/SKILL.md +565 -0
  480. package/plugins/lisa-nestjs-copilot/skills/typeorm-patterns/SKILL.md +275 -0
  481. package/plugins/lisa-nestjs-copilot/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  482. package/plugins/lisa-nestjs-copilot/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  483. package/plugins/lisa-nestjs-copilot/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  484. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +24 -0
  485. package/plugins/lisa-nestjs-cursor/hooks/block-migration-edits.sh +60 -0
  486. package/plugins/lisa-nestjs-cursor/skills/nestjs-graphql/SKILL.md +176 -0
  487. package/plugins/lisa-nestjs-cursor/skills/nestjs-graphql/references/advanced-features.md +527 -0
  488. package/plugins/lisa-nestjs-cursor/skills/nestjs-graphql/references/project-patterns.md +531 -0
  489. package/plugins/lisa-nestjs-cursor/skills/nestjs-graphql/references/quick-start.md +257 -0
  490. package/plugins/lisa-nestjs-cursor/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
  491. package/plugins/lisa-nestjs-cursor/skills/nestjs-graphql/references/types-scalars.md +513 -0
  492. package/plugins/lisa-nestjs-cursor/skills/nestjs-rules/SKILL.md +565 -0
  493. package/plugins/lisa-nestjs-cursor/skills/typeorm-patterns/SKILL.md +275 -0
  494. package/plugins/lisa-nestjs-cursor/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
  495. package/plugins/lisa-nestjs-cursor/skills/typeorm-patterns/references/entity-patterns.md +450 -0
  496. package/plugins/lisa-nestjs-cursor/skills/typeorm-patterns/references/observability-patterns.md +536 -0
  497. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  498. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  499. package/plugins/lisa-openclaw-agy/commands/connect-repo-topic.md +7 -0
  500. package/plugins/lisa-openclaw-agy/commands/connect-staff-slack.md +7 -0
  501. package/plugins/lisa-openclaw-agy/commands/connect-staff-telegram.md +7 -0
  502. package/plugins/lisa-openclaw-agy/commands/setup-openclaw.md +7 -0
  503. package/plugins/lisa-openclaw-agy/plugin.json +8 -0
  504. package/plugins/lisa-openclaw-agy/skills/lisa-openclaw-connect-repo-topic/SKILL.md +137 -0
  505. package/plugins/lisa-openclaw-agy/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +109 -0
  506. package/plugins/lisa-openclaw-agy/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
  507. package/plugins/lisa-openclaw-agy/skills/lisa-openclaw-connect-staff/references/platform-routing.md +83 -0
  508. package/plugins/lisa-openclaw-agy/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
  509. package/plugins/lisa-openclaw-agy/skills/lisa-openclaw-setup/SKILL.md +138 -0
  510. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +8 -0
  511. package/plugins/lisa-openclaw-copilot/commands/connect-repo-topic.md +7 -0
  512. package/plugins/lisa-openclaw-copilot/commands/connect-staff-slack.md +7 -0
  513. package/plugins/lisa-openclaw-copilot/commands/connect-staff-telegram.md +7 -0
  514. package/plugins/lisa-openclaw-copilot/commands/setup-openclaw.md +7 -0
  515. package/plugins/lisa-openclaw-copilot/skills/lisa-openclaw-connect-repo-topic/SKILL.md +137 -0
  516. package/plugins/lisa-openclaw-copilot/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +109 -0
  517. package/plugins/lisa-openclaw-copilot/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
  518. package/plugins/lisa-openclaw-copilot/skills/lisa-openclaw-connect-staff/references/platform-routing.md +83 -0
  519. package/plugins/lisa-openclaw-copilot/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
  520. package/plugins/lisa-openclaw-copilot/skills/lisa-openclaw-setup/SKILL.md +138 -0
  521. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +8 -0
  522. package/plugins/lisa-openclaw-cursor/commands/connect-repo-topic.md +7 -0
  523. package/plugins/lisa-openclaw-cursor/commands/connect-staff-slack.md +7 -0
  524. package/plugins/lisa-openclaw-cursor/commands/connect-staff-telegram.md +7 -0
  525. package/plugins/lisa-openclaw-cursor/commands/setup-openclaw.md +7 -0
  526. package/plugins/lisa-openclaw-cursor/skills/lisa-openclaw-connect-repo-topic/SKILL.md +137 -0
  527. package/plugins/lisa-openclaw-cursor/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +109 -0
  528. package/plugins/lisa-openclaw-cursor/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
  529. package/plugins/lisa-openclaw-cursor/skills/lisa-openclaw-connect-staff/references/platform-routing.md +83 -0
  530. package/plugins/lisa-openclaw-cursor/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
  531. package/plugins/lisa-openclaw-cursor/skills/lisa-openclaw-setup/SKILL.md +138 -0
  532. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  533. package/plugins/lisa-rails/.codex-plugin/plugin.json +2 -2
  534. package/plugins/lisa-rails/{.codex-plugin → hooks}/hooks.json +4 -4
  535. package/plugins/lisa-rails-agy/agents/ops-specialist.md +226 -0
  536. package/plugins/lisa-rails-agy/commands/e2e-coverage-gaps.md +7 -0
  537. package/plugins/lisa-rails-agy/commands/exploratory-qa.md +7 -0
  538. package/plugins/lisa-rails-agy/commands/fix/linter-error.md +7 -0
  539. package/plugins/lisa-rails-agy/commands/improve/code-complexity.md +6 -0
  540. package/plugins/lisa-rails-agy/commands/improve/max-lines-per-function.md +7 -0
  541. package/plugins/lisa-rails-agy/commands/improve/max-lines.md +7 -0
  542. package/plugins/lisa-rails-agy/commands/improve/test-coverage.md +7 -0
  543. package/plugins/lisa-rails-agy/plugin.json +11 -0
  544. package/plugins/lisa-rails-agy/skills/action-controller-best-practices/SKILL.md +374 -0
  545. package/plugins/lisa-rails-agy/skills/action-view-best-practices/SKILL.md +335 -0
  546. package/plugins/lisa-rails-agy/skills/active-record-model-best-practices/SKILL.md +166 -0
  547. package/plugins/lisa-rails-agy/skills/e2e-coverage-gaps/SKILL.md +105 -0
  548. package/plugins/lisa-rails-agy/skills/exploratory-qa/SKILL.md +145 -0
  549. package/plugins/lisa-rails-agy/skills/fix-linter-error/SKILL.md +45 -0
  550. package/plugins/lisa-rails-agy/skills/improve-code-complexity/SKILL.md +48 -0
  551. package/plugins/lisa-rails-agy/skills/improve-max-lines/SKILL.md +46 -0
  552. package/plugins/lisa-rails-agy/skills/improve-max-lines-per-function/SKILL.md +46 -0
  553. package/plugins/lisa-rails-agy/skills/improve-test-coverage/SKILL.md +45 -0
  554. package/plugins/lisa-rails-agy/skills/jira-add-journey/SKILL.md +65 -0
  555. package/plugins/lisa-rails-agy/skills/jira-create/SKILL.md +100 -0
  556. package/plugins/lisa-rails-agy/skills/jira-evidence/SKILL.md +70 -0
  557. package/plugins/lisa-rails-agy/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  558. package/plugins/lisa-rails-agy/skills/jira-journey/SKILL.md +64 -0
  559. package/plugins/lisa-rails-agy/skills/jira-verify/SKILL.md +26 -0
  560. package/plugins/lisa-rails-agy/skills/ops-check-logs/SKILL.md +191 -0
  561. package/plugins/lisa-rails-agy/skills/ops-deploy/SKILL.md +153 -0
  562. package/plugins/lisa-rails-agy/skills/ops-run-local/SKILL.md +169 -0
  563. package/plugins/lisa-rails-agy/skills/ops-verify-jobs/SKILL.md +157 -0
  564. package/plugins/lisa-rails-agy/skills/ops-verify-telemetry/SKILL.md +197 -0
  565. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +50 -0
  566. package/plugins/lisa-rails-copilot/agents/ops-specialist.agent.md +226 -0
  567. package/plugins/lisa-rails-copilot/commands/e2e-coverage-gaps.md +7 -0
  568. package/plugins/lisa-rails-copilot/commands/exploratory-qa.md +7 -0
  569. package/plugins/lisa-rails-copilot/commands/fix/linter-error.md +7 -0
  570. package/plugins/lisa-rails-copilot/commands/improve/code-complexity.md +6 -0
  571. package/plugins/lisa-rails-copilot/commands/improve/max-lines-per-function.md +7 -0
  572. package/plugins/lisa-rails-copilot/commands/improve/max-lines.md +7 -0
  573. package/plugins/lisa-rails-copilot/commands/improve/test-coverage.md +7 -0
  574. package/plugins/lisa-rails-copilot/rules/rails-conventions.md +176 -0
  575. package/plugins/lisa-rails-copilot/skills/action-controller-best-practices/SKILL.md +374 -0
  576. package/plugins/lisa-rails-copilot/skills/action-view-best-practices/SKILL.md +335 -0
  577. package/plugins/lisa-rails-copilot/skills/active-record-model-best-practices/SKILL.md +166 -0
  578. package/plugins/lisa-rails-copilot/skills/e2e-coverage-gaps/SKILL.md +105 -0
  579. package/plugins/lisa-rails-copilot/skills/exploratory-qa/SKILL.md +145 -0
  580. package/plugins/lisa-rails-copilot/skills/fix-linter-error/SKILL.md +45 -0
  581. package/plugins/lisa-rails-copilot/skills/improve-code-complexity/SKILL.md +48 -0
  582. package/plugins/lisa-rails-copilot/skills/improve-max-lines/SKILL.md +46 -0
  583. package/plugins/lisa-rails-copilot/skills/improve-max-lines-per-function/SKILL.md +46 -0
  584. package/plugins/lisa-rails-copilot/skills/improve-test-coverage/SKILL.md +45 -0
  585. package/plugins/lisa-rails-copilot/skills/jira-add-journey/SKILL.md +65 -0
  586. package/plugins/lisa-rails-copilot/skills/jira-create/SKILL.md +100 -0
  587. package/plugins/lisa-rails-copilot/skills/jira-evidence/SKILL.md +70 -0
  588. package/plugins/lisa-rails-copilot/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  589. package/plugins/lisa-rails-copilot/skills/jira-journey/SKILL.md +64 -0
  590. package/plugins/lisa-rails-copilot/skills/jira-verify/SKILL.md +26 -0
  591. package/plugins/lisa-rails-copilot/skills/ops-check-logs/SKILL.md +191 -0
  592. package/plugins/lisa-rails-copilot/skills/ops-deploy/SKILL.md +153 -0
  593. package/plugins/lisa-rails-copilot/skills/ops-run-local/SKILL.md +169 -0
  594. package/plugins/lisa-rails-copilot/skills/ops-verify-jobs/SKILL.md +157 -0
  595. package/plugins/lisa-rails-copilot/skills/ops-verify-telemetry/SKILL.md +197 -0
  596. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +28 -0
  597. package/plugins/lisa-rails-cursor/agents/ops-specialist.md +226 -0
  598. package/plugins/lisa-rails-cursor/commands/e2e-coverage-gaps.md +7 -0
  599. package/plugins/lisa-rails-cursor/commands/exploratory-qa.md +7 -0
  600. package/plugins/lisa-rails-cursor/commands/fix/linter-error.md +7 -0
  601. package/plugins/lisa-rails-cursor/commands/improve/code-complexity.md +6 -0
  602. package/plugins/lisa-rails-cursor/commands/improve/max-lines-per-function.md +7 -0
  603. package/plugins/lisa-rails-cursor/commands/improve/max-lines.md +7 -0
  604. package/plugins/lisa-rails-cursor/commands/improve/test-coverage.md +7 -0
  605. package/plugins/lisa-rails-cursor/hooks/rubocop-on-edit.sh +78 -0
  606. package/plugins/lisa-rails-cursor/hooks/sg-scan-on-edit.sh +74 -0
  607. package/plugins/lisa-rails-cursor/rules/rails-conventions.md +176 -0
  608. package/plugins/lisa-rails-cursor/skills/action-controller-best-practices/SKILL.md +374 -0
  609. package/plugins/lisa-rails-cursor/skills/action-view-best-practices/SKILL.md +335 -0
  610. package/plugins/lisa-rails-cursor/skills/active-record-model-best-practices/SKILL.md +166 -0
  611. package/plugins/lisa-rails-cursor/skills/e2e-coverage-gaps/SKILL.md +105 -0
  612. package/plugins/lisa-rails-cursor/skills/exploratory-qa/SKILL.md +145 -0
  613. package/plugins/lisa-rails-cursor/skills/fix-linter-error/SKILL.md +45 -0
  614. package/plugins/lisa-rails-cursor/skills/improve-code-complexity/SKILL.md +48 -0
  615. package/plugins/lisa-rails-cursor/skills/improve-max-lines/SKILL.md +46 -0
  616. package/plugins/lisa-rails-cursor/skills/improve-max-lines-per-function/SKILL.md +46 -0
  617. package/plugins/lisa-rails-cursor/skills/improve-test-coverage/SKILL.md +45 -0
  618. package/plugins/lisa-rails-cursor/skills/jira-add-journey/SKILL.md +65 -0
  619. package/plugins/lisa-rails-cursor/skills/jira-create/SKILL.md +100 -0
  620. package/plugins/lisa-rails-cursor/skills/jira-evidence/SKILL.md +70 -0
  621. package/plugins/lisa-rails-cursor/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  622. package/plugins/lisa-rails-cursor/skills/jira-journey/SKILL.md +64 -0
  623. package/plugins/lisa-rails-cursor/skills/jira-verify/SKILL.md +26 -0
  624. package/plugins/lisa-rails-cursor/skills/ops-check-logs/SKILL.md +191 -0
  625. package/plugins/lisa-rails-cursor/skills/ops-deploy/SKILL.md +153 -0
  626. package/plugins/lisa-rails-cursor/skills/ops-run-local/SKILL.md +169 -0
  627. package/plugins/lisa-rails-cursor/skills/ops-verify-jobs/SKILL.md +157 -0
  628. package/plugins/lisa-rails-cursor/skills/ops-verify-telemetry/SKILL.md +197 -0
  629. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  630. package/plugins/lisa-typescript/.codex-plugin/plugin.json +2 -2
  631. package/plugins/lisa-typescript/{.codex-plugin → hooks}/hooks.json +4 -4
  632. package/plugins/lisa-typescript-agy/plugin.json +11 -0
  633. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +43 -0
  634. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +43 -0
  635. package/plugins/lisa-typescript-cursor/hooks/block-suppress-directives.sh +73 -0
  636. package/plugins/lisa-typescript-cursor/hooks/format-on-edit.sh +79 -0
  637. package/plugins/lisa-typescript-cursor/hooks/lint-on-edit.sh +134 -0
  638. package/plugins/lisa-typescript-cursor/hooks/sg-scan-on-edit.sh +71 -0
  639. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  640. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  641. package/plugins/lisa-wiki-agy/ci/lisa-wiki-validate.yml +33 -0
  642. package/plugins/lisa-wiki-agy/commands/add-ingest.md +6 -0
  643. package/plugins/lisa-wiki-agy/commands/add-role.md +6 -0
  644. package/plugins/lisa-wiki-agy/commands/doctor.md +6 -0
  645. package/plugins/lisa-wiki-agy/commands/ingest.md +6 -0
  646. package/plugins/lisa-wiki-agy/commands/lint.md +6 -0
  647. package/plugins/lisa-wiki-agy/commands/migrate.md +6 -0
  648. package/plugins/lisa-wiki-agy/commands/onboard-me.md +6 -0
  649. package/plugins/lisa-wiki-agy/commands/query.md +6 -0
  650. package/plugins/lisa-wiki-agy/commands/setup/wiki.md +6 -0
  651. package/plugins/lisa-wiki-agy/commands/setup-automations.md +6 -0
  652. package/plugins/lisa-wiki-agy/commands/setup.md +6 -0
  653. package/plugins/lisa-wiki-agy/commands/status.md +6 -0
  654. package/plugins/lisa-wiki-agy/commands/tear-down-automations.md +6 -0
  655. package/plugins/lisa-wiki-agy/plugin.json +8 -0
  656. package/plugins/lisa-wiki-agy/schema/lisa-wiki-config.schema.json +118 -0
  657. package/plugins/lisa-wiki-agy/schema/wiki-structure.schema.json +51 -0
  658. package/plugins/lisa-wiki-agy/scripts/_wiki-lib.mjs +185 -0
  659. package/plugins/lisa-wiki-agy/scripts/diff-guard.mjs +116 -0
  660. package/plugins/lisa-wiki-agy/scripts/ensure-gitignore.mjs +131 -0
  661. package/plugins/lisa-wiki-agy/scripts/ingest-git.mjs +189 -0
  662. package/plugins/lisa-wiki-agy/scripts/ingest-memory.mjs +130 -0
  663. package/plugins/lisa-wiki-agy/scripts/ingest-roles.mjs +85 -0
  664. package/plugins/lisa-wiki-agy/scripts/ingest_slack_channel.py +329 -0
  665. package/plugins/lisa-wiki-agy/scripts/lint-wiki.mjs +324 -0
  666. package/plugins/lisa-wiki-agy/scripts/mcp-doctor.mjs +72 -0
  667. package/plugins/lisa-wiki-agy/scripts/render-contract.mjs +107 -0
  668. package/plugins/lisa-wiki-agy/scripts/rewrite-refs.mjs +144 -0
  669. package/plugins/lisa-wiki-agy/scripts/slack_oauth_user.py +179 -0
  670. package/plugins/lisa-wiki-agy/scripts/validate-config.mjs +232 -0
  671. package/plugins/lisa-wiki-agy/scripts/verify-migration.mjs +199 -0
  672. package/plugins/lisa-wiki-agy/scripts/wiki-status.mjs +345 -0
  673. package/plugins/lisa-wiki-agy/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
  674. package/plugins/lisa-wiki-agy/skills/lisa-wiki-add-role/SKILL.md +30 -0
  675. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
  676. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
  677. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-git/SKILL.md +25 -0
  678. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
  679. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
  680. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
  681. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
  682. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
  683. package/plugins/lisa-wiki-agy/skills/lisa-wiki-connector-web/SKILL.md +23 -0
  684. package/plugins/lisa-wiki-agy/skills/lisa-wiki-doctor/SKILL.md +47 -0
  685. package/plugins/lisa-wiki-agy/skills/lisa-wiki-ingest/SKILL.md +72 -0
  686. package/plugins/lisa-wiki-agy/skills/lisa-wiki-lint/SKILL.md +32 -0
  687. package/plugins/lisa-wiki-agy/skills/lisa-wiki-migrate/SKILL.md +43 -0
  688. package/plugins/lisa-wiki-agy/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
  689. package/plugins/lisa-wiki-agy/skills/lisa-wiki-query/SKILL.md +30 -0
  690. package/plugins/lisa-wiki-agy/skills/lisa-wiki-setup/SKILL.md +75 -0
  691. package/plugins/lisa-wiki-agy/skills/lisa-wiki-setup-automations/SKILL.md +80 -0
  692. package/plugins/lisa-wiki-agy/skills/lisa-wiki-status/SKILL.md +47 -0
  693. package/plugins/lisa-wiki-agy/skills/lisa-wiki-tear-down-automations/SKILL.md +34 -0
  694. package/plugins/lisa-wiki-agy/skills/lisa-wiki-usage/SKILL.md +50 -0
  695. package/plugins/lisa-wiki-agy/templates/agents/role-agent.claude.md +16 -0
  696. package/plugins/lisa-wiki-agy/templates/agents/role-agent.codex.toml +15 -0
  697. package/plugins/lisa-wiki-agy/templates/index.md +17 -0
  698. package/plugins/lisa-wiki-agy/templates/llm-wiki-contract.md +72 -0
  699. package/plugins/lisa-wiki-agy/templates/log.md +8 -0
  700. package/plugins/lisa-wiki-agy/templates/page-types/architecture.md +18 -0
  701. package/plugins/lisa-wiki-agy/templates/page-types/concept.md +18 -0
  702. package/plugins/lisa-wiki-agy/templates/page-types/decision.md +18 -0
  703. package/plugins/lisa-wiki-agy/templates/page-types/entity.md +19 -0
  704. package/plugins/lisa-wiki-agy/templates/page-types/open-question.md +18 -0
  705. package/plugins/lisa-wiki-agy/templates/page-types/playbook.md +18 -0
  706. package/plugins/lisa-wiki-agy/templates/page-types/project.md +19 -0
  707. package/plugins/lisa-wiki-agy/templates/page-types/requirement.md +19 -0
  708. package/plugins/lisa-wiki-agy/templates/page-types/staff.md +26 -0
  709. package/plugins/lisa-wiki-agy/templates/start-here.md +24 -0
  710. package/plugins/lisa-wiki-agy/templates/state-readme.md +20 -0
  711. package/plugins/lisa-wiki-agy/templates/wrapper-gitignore.txt +19 -0
  712. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +8 -0
  713. package/plugins/lisa-wiki-copilot/ci/lisa-wiki-validate.yml +33 -0
  714. package/plugins/lisa-wiki-copilot/commands/add-ingest.md +6 -0
  715. package/plugins/lisa-wiki-copilot/commands/add-role.md +6 -0
  716. package/plugins/lisa-wiki-copilot/commands/doctor.md +6 -0
  717. package/plugins/lisa-wiki-copilot/commands/ingest.md +6 -0
  718. package/plugins/lisa-wiki-copilot/commands/lint.md +6 -0
  719. package/plugins/lisa-wiki-copilot/commands/migrate.md +6 -0
  720. package/plugins/lisa-wiki-copilot/commands/onboard-me.md +6 -0
  721. package/plugins/lisa-wiki-copilot/commands/query.md +6 -0
  722. package/plugins/lisa-wiki-copilot/commands/setup/wiki.md +6 -0
  723. package/plugins/lisa-wiki-copilot/commands/setup-automations.md +6 -0
  724. package/plugins/lisa-wiki-copilot/commands/setup.md +6 -0
  725. package/plugins/lisa-wiki-copilot/commands/status.md +6 -0
  726. package/plugins/lisa-wiki-copilot/commands/tear-down-automations.md +6 -0
  727. package/plugins/lisa-wiki-copilot/schema/lisa-wiki-config.schema.json +118 -0
  728. package/plugins/lisa-wiki-copilot/schema/wiki-structure.schema.json +51 -0
  729. package/plugins/lisa-wiki-copilot/scripts/_wiki-lib.mjs +185 -0
  730. package/plugins/lisa-wiki-copilot/scripts/diff-guard.mjs +116 -0
  731. package/plugins/lisa-wiki-copilot/scripts/ensure-gitignore.mjs +131 -0
  732. package/plugins/lisa-wiki-copilot/scripts/ingest-git.mjs +189 -0
  733. package/plugins/lisa-wiki-copilot/scripts/ingest-memory.mjs +130 -0
  734. package/plugins/lisa-wiki-copilot/scripts/ingest-roles.mjs +85 -0
  735. package/plugins/lisa-wiki-copilot/scripts/ingest_slack_channel.py +329 -0
  736. package/plugins/lisa-wiki-copilot/scripts/lint-wiki.mjs +324 -0
  737. package/plugins/lisa-wiki-copilot/scripts/mcp-doctor.mjs +72 -0
  738. package/plugins/lisa-wiki-copilot/scripts/render-contract.mjs +107 -0
  739. package/plugins/lisa-wiki-copilot/scripts/rewrite-refs.mjs +144 -0
  740. package/plugins/lisa-wiki-copilot/scripts/slack_oauth_user.py +179 -0
  741. package/plugins/lisa-wiki-copilot/scripts/validate-config.mjs +232 -0
  742. package/plugins/lisa-wiki-copilot/scripts/verify-migration.mjs +199 -0
  743. package/plugins/lisa-wiki-copilot/scripts/wiki-status.mjs +345 -0
  744. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
  745. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-add-role/SKILL.md +30 -0
  746. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
  747. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
  748. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-git/SKILL.md +25 -0
  749. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
  750. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
  751. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
  752. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
  753. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
  754. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-connector-web/SKILL.md +23 -0
  755. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-doctor/SKILL.md +47 -0
  756. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-ingest/SKILL.md +72 -0
  757. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-lint/SKILL.md +32 -0
  758. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-migrate/SKILL.md +43 -0
  759. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
  760. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-query/SKILL.md +30 -0
  761. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-setup/SKILL.md +75 -0
  762. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-setup-automations/SKILL.md +80 -0
  763. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-status/SKILL.md +47 -0
  764. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-tear-down-automations/SKILL.md +34 -0
  765. package/plugins/lisa-wiki-copilot/skills/lisa-wiki-usage/SKILL.md +50 -0
  766. package/plugins/lisa-wiki-copilot/templates/agents/role-agent.claude.md +16 -0
  767. package/plugins/lisa-wiki-copilot/templates/agents/role-agent.codex.toml +15 -0
  768. package/plugins/lisa-wiki-copilot/templates/index.md +17 -0
  769. package/plugins/lisa-wiki-copilot/templates/llm-wiki-contract.md +72 -0
  770. package/plugins/lisa-wiki-copilot/templates/log.md +8 -0
  771. package/plugins/lisa-wiki-copilot/templates/page-types/architecture.md +18 -0
  772. package/plugins/lisa-wiki-copilot/templates/page-types/concept.md +18 -0
  773. package/plugins/lisa-wiki-copilot/templates/page-types/decision.md +18 -0
  774. package/plugins/lisa-wiki-copilot/templates/page-types/entity.md +19 -0
  775. package/plugins/lisa-wiki-copilot/templates/page-types/open-question.md +18 -0
  776. package/plugins/lisa-wiki-copilot/templates/page-types/playbook.md +18 -0
  777. package/plugins/lisa-wiki-copilot/templates/page-types/project.md +19 -0
  778. package/plugins/lisa-wiki-copilot/templates/page-types/requirement.md +19 -0
  779. package/plugins/lisa-wiki-copilot/templates/page-types/staff.md +26 -0
  780. package/plugins/lisa-wiki-copilot/templates/start-here.md +24 -0
  781. package/plugins/lisa-wiki-copilot/templates/state-readme.md +20 -0
  782. package/plugins/lisa-wiki-copilot/templates/wrapper-gitignore.txt +19 -0
  783. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +8 -0
  784. package/plugins/lisa-wiki-cursor/ci/lisa-wiki-validate.yml +33 -0
  785. package/plugins/lisa-wiki-cursor/commands/add-ingest.md +6 -0
  786. package/plugins/lisa-wiki-cursor/commands/add-role.md +6 -0
  787. package/plugins/lisa-wiki-cursor/commands/doctor.md +6 -0
  788. package/plugins/lisa-wiki-cursor/commands/ingest.md +6 -0
  789. package/plugins/lisa-wiki-cursor/commands/lint.md +6 -0
  790. package/plugins/lisa-wiki-cursor/commands/migrate.md +6 -0
  791. package/plugins/lisa-wiki-cursor/commands/onboard-me.md +6 -0
  792. package/plugins/lisa-wiki-cursor/commands/query.md +6 -0
  793. package/plugins/lisa-wiki-cursor/commands/setup/wiki.md +6 -0
  794. package/plugins/lisa-wiki-cursor/commands/setup-automations.md +6 -0
  795. package/plugins/lisa-wiki-cursor/commands/setup.md +6 -0
  796. package/plugins/lisa-wiki-cursor/commands/status.md +6 -0
  797. package/plugins/lisa-wiki-cursor/commands/tear-down-automations.md +6 -0
  798. package/plugins/lisa-wiki-cursor/schema/lisa-wiki-config.schema.json +118 -0
  799. package/plugins/lisa-wiki-cursor/schema/wiki-structure.schema.json +51 -0
  800. package/plugins/lisa-wiki-cursor/scripts/_wiki-lib.mjs +185 -0
  801. package/plugins/lisa-wiki-cursor/scripts/diff-guard.mjs +116 -0
  802. package/plugins/lisa-wiki-cursor/scripts/ensure-gitignore.mjs +131 -0
  803. package/plugins/lisa-wiki-cursor/scripts/ingest-git.mjs +189 -0
  804. package/plugins/lisa-wiki-cursor/scripts/ingest-memory.mjs +130 -0
  805. package/plugins/lisa-wiki-cursor/scripts/ingest-roles.mjs +85 -0
  806. package/plugins/lisa-wiki-cursor/scripts/ingest_slack_channel.py +329 -0
  807. package/plugins/lisa-wiki-cursor/scripts/lint-wiki.mjs +324 -0
  808. package/plugins/lisa-wiki-cursor/scripts/mcp-doctor.mjs +72 -0
  809. package/plugins/lisa-wiki-cursor/scripts/render-contract.mjs +107 -0
  810. package/plugins/lisa-wiki-cursor/scripts/rewrite-refs.mjs +144 -0
  811. package/plugins/lisa-wiki-cursor/scripts/slack_oauth_user.py +179 -0
  812. package/plugins/lisa-wiki-cursor/scripts/validate-config.mjs +232 -0
  813. package/plugins/lisa-wiki-cursor/scripts/verify-migration.mjs +199 -0
  814. package/plugins/lisa-wiki-cursor/scripts/wiki-status.mjs +345 -0
  815. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
  816. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-add-role/SKILL.md +30 -0
  817. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
  818. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
  819. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-git/SKILL.md +25 -0
  820. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
  821. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
  822. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
  823. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
  824. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
  825. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-connector-web/SKILL.md +23 -0
  826. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-doctor/SKILL.md +47 -0
  827. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-ingest/SKILL.md +72 -0
  828. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-lint/SKILL.md +32 -0
  829. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-migrate/SKILL.md +43 -0
  830. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
  831. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-query/SKILL.md +30 -0
  832. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-setup/SKILL.md +75 -0
  833. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-setup-automations/SKILL.md +80 -0
  834. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-status/SKILL.md +47 -0
  835. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-tear-down-automations/SKILL.md +34 -0
  836. package/plugins/lisa-wiki-cursor/skills/lisa-wiki-usage/SKILL.md +50 -0
  837. package/plugins/lisa-wiki-cursor/templates/agents/role-agent.claude.md +16 -0
  838. package/plugins/lisa-wiki-cursor/templates/agents/role-agent.codex.toml +15 -0
  839. package/plugins/lisa-wiki-cursor/templates/index.md +17 -0
  840. package/plugins/lisa-wiki-cursor/templates/llm-wiki-contract.md +72 -0
  841. package/plugins/lisa-wiki-cursor/templates/log.md +8 -0
  842. package/plugins/lisa-wiki-cursor/templates/page-types/architecture.md +18 -0
  843. package/plugins/lisa-wiki-cursor/templates/page-types/concept.md +18 -0
  844. package/plugins/lisa-wiki-cursor/templates/page-types/decision.md +18 -0
  845. package/plugins/lisa-wiki-cursor/templates/page-types/entity.md +19 -0
  846. package/plugins/lisa-wiki-cursor/templates/page-types/open-question.md +18 -0
  847. package/plugins/lisa-wiki-cursor/templates/page-types/playbook.md +18 -0
  848. package/plugins/lisa-wiki-cursor/templates/page-types/project.md +19 -0
  849. package/plugins/lisa-wiki-cursor/templates/page-types/requirement.md +19 -0
  850. package/plugins/lisa-wiki-cursor/templates/page-types/staff.md +26 -0
  851. package/plugins/lisa-wiki-cursor/templates/start-here.md +24 -0
  852. package/plugins/lisa-wiki-cursor/templates/state-readme.md +20 -0
  853. package/plugins/lisa-wiki-cursor/templates/wrapper-gitignore.txt +19 -0
  854. package/scripts/build-plugins.sh +28 -11
  855. package/scripts/generate-codex-plugin-artifacts.mjs +28 -48
  856. package/scripts/generate-copilot-plugin-artifacts.mjs +5 -0
  857. package/scripts/generate-cursor-plugin-artifacts.mjs +4 -0
  858. package/scripts/internal-copilot-runtime-probe.json +10 -4
  859. package/plugins/lisa/.codex-plugin/hooks/block-no-verify.sh +0 -37
  860. package/plugins/lisa/.codex-plugin/hooks/inject-flow-context.sh +0 -12
  861. package/plugins/lisa/.codex-plugin/hooks/inject-rules.sh +0 -33
  862. package/plugins/lisa/.codex-plugin/hooks/install-pkgs.sh +0 -69
  863. package/plugins/lisa/.codex-plugin/hooks/notify-ntfy.sh +0 -183
  864. package/plugins/lisa/.codex-plugin/hooks/setup-jira-cli.sh +0 -51
  865. /package/plugins/{lisa-harper-fabric/.codex-plugin → lisa-harper-fabric-copilot}/hooks/inject-rules.sh +0 -0
  866. /package/plugins/{lisa-nestjs/.codex-plugin → lisa-nestjs-copilot}/hooks/block-migration-edits.sh +0 -0
  867. /package/plugins/{lisa-rails/.codex-plugin → lisa-rails-copilot}/hooks/inject-rules.sh +0 -0
  868. /package/plugins/{lisa-rails/.codex-plugin → lisa-rails-copilot}/hooks/rubocop-on-edit.sh +0 -0
  869. /package/plugins/{lisa-rails/.codex-plugin → lisa-rails-copilot}/hooks/sg-scan-on-edit.sh +0 -0
  870. /package/plugins/{lisa-typescript/.codex-plugin → lisa-typescript-copilot}/hooks/block-suppress-directives.sh +0 -0
  871. /package/plugins/{lisa-typescript/.codex-plugin → lisa-typescript-copilot}/hooks/format-on-edit.sh +0 -0
  872. /package/plugins/{lisa-typescript/.codex-plugin → lisa-typescript-copilot}/hooks/lint-on-edit.sh +0 -0
  873. /package/plugins/{lisa-typescript/.codex-plugin → lisa-typescript-copilot}/hooks/sg-scan-on-edit.sh +0 -0
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: lisa-openclaw-setup
3
+ description: Set up OpenClaw as the chat-surface runtime for this project's staff roles. Verifies the openclaw CLI, the ~/.openclaw/openclaw.json config, a secret provider, and the required gateway capabilities (sessions_spawn, native-reply session scoping, the NO_REPLY sentinel), then writes a lean `openclaw` section to .lisa.config.json. Prerequisite for lisa-openclaw-connect-staff and lisa-openclaw-connect-repo-topic. Use when a project wants its facilitator/specialist staff reachable from Telegram or Slack.
4
+ ---
5
+
6
+ # lisa-openclaw-setup
7
+
8
+ Verify the OpenClaw runtime prerequisites and record a minimal, placeholder-safe pointer in
9
+ `.lisa.config.json` so the connect skills have what they need. **This skill writes only setup-level
10
+ pointers** — never tokens, channel/topic/group ids, bot handles, or route tables. Those live in
11
+ `~/.openclaw/openclaw.json` (OpenClaw's own machine-local source of truth) and are written by the
12
+ connect skills, never committed.
13
+
14
+ This SKILL.md is self-contained and runs identically under Claude Code and Codex. There is no
15
+ command/argument layer in Codex, so do not rely on one.
16
+
17
+ ## What OpenClaw is (so the checks make sense)
18
+
19
+ OpenClaw is a locally-hosted multi-agent gateway. A **CLI** (`openclaw`, usually at
20
+ `~/.local/bin/openclaw`) manages a **config file** (`~/.openclaw/openclaw.json`) that defines agents,
21
+ chat-channel bindings (Telegram groups/topics, Slack channels), and routing. A long-running
22
+ **gateway** process delivers chat messages to agents and back. Agents reach other agents internally
23
+ via `sessions_spawn` rather than by messaging each other on the chat platform.
24
+
25
+ ## Required inputs
26
+
27
+ Gather (ask only for what is missing):
28
+
29
+ - **platform** the project will default to: `telegram` or `slack`
30
+ - **facilitator agent id** — the single human-facing "chief of staff" agent id (a staff role id; see
31
+ the soft dependency below)
32
+ - **secret provider** — how OpenClaw stores bot/app tokens (e.g. the OS keychain, a named secret
33
+ manager, or `0600` local token files). Capture only its *type* and a *reference*, never a value.
34
+
35
+ ## Soft dependency on staff roles
36
+
37
+ The facilitator and specialists are **staff roles**. A companion plugin (`lisa-wiki`) scaffolds a
38
+ staff role's "brain" (a `wiki/staff/<id>.md` doc page plus a dual-runtime subagent at
39
+ `.claude/agents/<id>.md` and `.codex/agents/<id>.toml`) from a `config.staff[]` entry. This plugin
40
+ wires that role to a chat surface — the "body".
41
+
42
+ If `config.staff[]` (in `.lisa.config.json`) has no entries yet, tell the user to define their staff
43
+ first:
44
+
45
+ - In Claude Code: run `/lisa:add-role <Role>` (e.g. `/lisa:add-role Chief of Staff`).
46
+ - In Codex: invoke `$lisa-wiki:lisa-wiki-add-role` with the role.
47
+
48
+ Only auto-delegate if that skill is actually available in the active runtime; otherwise just print the
49
+ exact next step and stop.
50
+
51
+ ## Workflow
52
+
53
+ ### 1. Locate the OpenClaw CLI
54
+
55
+ Resolve a usable `openclaw` binary, in order:
56
+
57
+ 1. `~/.local/bin/openclaw`
58
+ 2. `openclaw` on `PATH`
59
+ 3. a path the user supplies
60
+
61
+ If none is found, stop and tell the user to install OpenClaw and re-run. Record the resolved path for
62
+ the config's `configPath`/CLI discovery only if it is non-standard.
63
+
64
+ ### 2. Verify the config file
65
+
66
+ Confirm `~/.openclaw/openclaw.json` exists and is valid JSON. Do **not** print token values found
67
+ inside it. If it is missing, instruct the user to initialize OpenClaw (its own init flow creates the
68
+ file) before continuing.
69
+
70
+ ### 3. Verify a secret provider
71
+
72
+ Confirm a token-storage mechanism is configured. Acceptable: the OpenClaw-configured secret provider,
73
+ an OS keychain entry, or `0600`-permissioned local token files outside the repo. Capture the provider
74
+ *type* and a non-secret *reference* only.
75
+
76
+ ### 4. Probe required gateway capabilities
77
+
78
+ The connect skills depend on three OpenClaw behaviors. Probe for them and **fail closed** (warn
79
+ loudly, do not silently proceed) if any is missing:
80
+
81
+ - **`sessions_spawn`** — internal agent-to-agent dispatch (how the facilitator consults specialists).
82
+ - **Native-reply session scoping** — a top-level human request seeds a session keyed to its thread
83
+ root (Slack channel + root `thread_ts`; Telegram supergroup + forum topic + root `message_id`), and
84
+ replies in that thread continue the same session, so concurrent threads don't share short-term
85
+ context.
86
+ - **`NO_REPLY` sentinel** — after an agent sends a message with the platform message tool, returning
87
+ exactly `NO_REPLY` as its assistant final prevents the gateway from posting a duplicate loose
88
+ message.
89
+
90
+ Probe via the OpenClaw CLI/version and a non-mutating validate, e.g.:
91
+
92
+ ```sh
93
+ openclaw --version
94
+ openclaw config validate
95
+ ```
96
+
97
+ If a capability cannot be confirmed, record it as an unmet prerequisite. The connect skills must
98
+ refuse to create routes that would post duplicates or leak cross-thread context.
99
+
100
+ ### 5. Write the lean config section
101
+
102
+ Update **only** the `openclaw` section of `.lisa.config.json`. Parse the existing JSON, preserve all
103
+ other keys and formatting as much as practical, and write structurally (never string-splice). Shape:
104
+
105
+ ```json
106
+ {
107
+ "openclaw": {
108
+ "defaultPlatform": "telegram",
109
+ "facilitatorAgentId": "<facilitator-agent-id>",
110
+ "secretProvider": {
111
+ "type": "<secret-provider-type>",
112
+ "ref": "<secret-provider-ref>"
113
+ },
114
+ "configPath": "~/.openclaw/openclaw.json"
115
+ }
116
+ }
117
+ ```
118
+
119
+ Rules for this section:
120
+
121
+ - `defaultPlatform`: `"telegram"` or `"slack"`.
122
+ - `facilitatorAgentId`: the default facilitator/chief id only — **not** per-surface routing.
123
+ - `secretProvider`: a pointer only; never token material.
124
+ - `configPath`: optional; default `~/.openclaw/openclaw.json`. Set only for non-standard installs.
125
+ - **Reject** writing tokens, channel ids, topic ids, group ids, Slack thread roots, bot handles, or
126
+ repo paths here. If the user offers them, decline and explain they belong in
127
+ `~/.openclaw/openclaw.json`.
128
+
129
+ ### 6. Report
130
+
131
+ Finish with: resolved CLI path, config-file status, secret-provider type/ref, each capability probe
132
+ result (pass / warn / unknown), the `openclaw` section written, and the exact next command/skill
133
+ (`lisa-openclaw-connect-staff` or `lisa-openclaw-connect-repo-topic`).
134
+
135
+ ## Related
136
+
137
+ `lisa-openclaw-connect-staff`, `lisa-openclaw-connect-repo-topic`. Staff "brains" come from the
138
+ `lisa-wiki` plugin's `add-role`.
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "lisa-openclaw",
3
+ "version": "2.122.0",
4
+ "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
+ "author": {
6
+ "name": "Cody Swann"
7
+ }
8
+ }
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: "Bind a Telegram forum topic to an OpenClaw dispatcher+worker pair that runs a coding CLI against a repo (single-repo or folder-scoped), so you can drive code work from chat. Requires /lisa:setup-openclaw first."
3
+ argument-hint: "<admin|developer> <single-repo|folder-scoped> <topic name> <workspace path>"
4
+ ---
5
+
6
+ Use the lisa-openclaw-connect-repo-topic skill to provision or update a Telegram repo-coding topic
7
+ (dispatcher + worker pair) and wire it in OpenClaw. $ARGUMENTS
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: "Connect staff roles to Slack via OpenClaw using a facilitator/specialist hub-and-spoke model — register the app, create/reuse the facilitator channel, wire routes, validate, and run an end-to-end route test. Requires /lisa:setup-openclaw first."
3
+ argument-hint: "<facilitator role + specialists, e.g. Chief of Staff with Legal, Finance, Sales>"
4
+ ---
5
+
6
+ Use the lisa-openclaw-connect-staff skill with platform `slack`. Connect the named facilitator and
7
+ specialists to a Slack facilitator channel via OpenClaw. $ARGUMENTS
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: "Connect staff roles to Telegram via OpenClaw using a facilitator/specialist hub-and-spoke model — register bots, create/reuse the facilitator topic, wire routes, validate, and run an end-to-end route test. Requires /lisa:setup-openclaw first."
3
+ argument-hint: "<facilitator role + specialists, e.g. Chief of Staff with Legal, Finance, Sales>"
4
+ ---
5
+
6
+ Use the lisa-openclaw-connect-staff skill with platform `telegram`. Connect the named facilitator and
7
+ specialists to a Telegram facilitator topic via OpenClaw. $ARGUMENTS
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: "Set up OpenClaw as the chat-surface runtime for this project's staff. Verifies the openclaw CLI, ~/.openclaw/openclaw.json, a secret provider, and required gateway capabilities, then writes a lean `openclaw` section to .lisa.config.json. Run before connect-staff / connect-repo-topic."
3
+ argument-hint: "[telegram|slack]"
4
+ ---
5
+
6
+ Use the lisa-openclaw-setup skill to verify OpenClaw prerequisites and write the lean `openclaw`
7
+ section to .lisa.config.json. If a platform is given, use it as the defaultPlatform. $ARGUMENTS
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: lisa-openclaw-connect-repo-topic
3
+ description: Bind a Telegram forum topic to an OpenClaw dispatcher+worker agent pair that runs a coding CLI against a repo, so you can drive code work from chat. Supports single-repo topics and folder-scoped topics (multiple repos with repo-confirmation). Creates/validates the agent pair, ensures the bot is a group admin, captures real group/topic ids, wires the route in ~/.openclaw/openclaw.json, validates the gateway, and runs a no-change self-test. Requires lisa-openclaw-setup first.
4
+ ---
5
+
6
+ # lisa-openclaw-connect-repo-topic
7
+
8
+ Turn a Telegram forum topic into a repeatable OpenClaw entrypoint for code work. A **dispatcher**
9
+ agent receives the request and delegates; a **worker** agent runs the local coding CLI in a safe
10
+ target directory and relays the result.
11
+
12
+ This SKILL.md is complete and runnable under both Claude Code and Codex (no command/`$ARGUMENTS`
13
+ layer in Codex). Keep real ids/handles/paths out of committed files — they go only in
14
+ `~/.openclaw/openclaw.json`. For exact config shapes read
15
+ [references/repo-topic-config.md](references/repo-topic-config.md).
16
+
17
+ ## Prerequisites
18
+
19
+ - `lisa-openclaw-setup` has run and its capability probes passed.
20
+ - A Telegram supergroup with forum topics, and a bot that is (or can be promoted to) a **group
21
+ admin** — bot presence alone is not enough for topic routing.
22
+
23
+ ## Boundaries (apply every time)
24
+
25
+ - groups = the human trust boundary
26
+ - topics = the project-routing boundary
27
+ - native-reply roots = the short-term session boundary inside a topic
28
+ - agents = the capability boundary
29
+ - Do not mix admin-only repos with broader-collaboration repos in one group. If two repos need
30
+ different member lists, use separate groups, not topic-only separation.
31
+
32
+ ## Scope modes (pick exactly one per topic)
33
+
34
+ - **`single-repo`** — the topic is pinned to one repo directory; the dispatcher never asks which repo.
35
+ - **`folder-scoped`** — the topic is pinned to a parent folder containing multiple repos; the
36
+ dispatcher must confirm the inferred repo(s) unless the user named them explicitly.
37
+
38
+ Do not mix both behaviors in one topic.
39
+
40
+ ## Required inputs
41
+
42
+ - trust boundary: `admin` or `developer`
43
+ - scope mode: `single-repo` or `folder-scoped`
44
+ - access surface: Telegram group + topic (by name; ids captured during the run)
45
+ - the bot handle to bind
46
+ - workspace root on disk (repo dir for single-repo; parent folder for folder-scoped)
47
+ - allowed Telegram user ids
48
+ - completion policy:
49
+ - `admin` topics may request change + docs + commit + PR + merge
50
+ - `developer` topics default to change + docs + commit + PR only
51
+ - for `folder-scoped`: a repo catalog (label, absolute path, a few matching keyword hints)
52
+
53
+ ## Workflow
54
+
55
+ ### 1. Resolve the contract
56
+
57
+ Confirm the trust boundary, scope mode, workspace root, bot handle, and (for folder-scoped) the repo
58
+ catalog. If a needed agent doesn't exist yet, create it in step 3.
59
+
60
+ ### 2. Provision / reuse the Telegram surface
61
+
62
+ Reuse the trust-matched group and the exact topic if they already exist; otherwise create them (enable
63
+ forum/topics mode first). Ensure the bot is in the group and **promoted to admin**. Telegram Bot API
64
+ cannot list groups by name — discover ids from a logged-in Telegram client, an existing route in
65
+ `~/.openclaw/openclaw.json`, or a received Bot API update. If browser/UI automation blocks on a human
66
+ confirmation step, give the user only the blocked step, wait, then resume.
67
+
68
+ ### 3. Implement the dispatcher + worker pair
69
+
70
+ Create or update two agents (exact tool-deny shapes in
71
+ [references/repo-topic-config.md](references/repo-topic-config.md)):
72
+
73
+ - **`<topic-slug>-dispatch`** — skill-aware entrypoint; tools restricted to delegation/session tools
74
+ (+ optional `read`); denies file writes, shell/exec, browser, gateway, automation; may delegate
75
+ only to `<topic-slug>-codex`.
76
+ - **`<topic-slug>-codex`** — restricted worker; keeps `read` + `exec`; denies session spawning,
77
+ browser, gateway, and direct file-write tools; runs the local coding CLI for the actual work.
78
+
79
+ ### 4. Repo-selection behavior
80
+
81
+ - `single-repo`: treat the repo as decided; pass the fixed repo path to the worker; never ask.
82
+ - `folder-scoped`: infer candidates from the catalog. If the user named repo(s) explicitly, skip
83
+ confirmation; otherwise ask before spawning:
84
+ - one likely repo: `This looks like <repo>. Is that correct?`
85
+ - multiple: `This may belong to <repo-1> or <repo-2>. Is that correct, or which repo(s)?`
86
+ On confirmation of multiple repos, spawn one worker run per repo (or ask the user to split a
87
+ too-coupled change). Never skip confirmation in folder-scoped mode unless selection was explicit.
88
+
89
+ ### 5. Worker safety contract
90
+
91
+ Every worker task receives an explicit repo path and:
92
+
93
+ 1. inspects `git status --short --branch` in the selected repo
94
+ 2. if the primary checkout is dirty or already on a feature branch, creates a temporary worktree from
95
+ `main` under `/tmp`
96
+ 3. trusts local tool config in a fresh worktree if required (e.g. `mise trust <target_dir>`)
97
+ 4. runs the coding CLI in the foreground in the target directory
98
+ 5. cleans up the temporary worktree after success when safe
99
+
100
+ The worker prepares the safe target and launches the CLI; it does not edit files directly.
101
+
102
+ ### 6. Bind the topic
103
+
104
+ Route the topic to the dispatcher: set
105
+ `channels.telegram.groups.<group-id>.topics.<topic-id>.agentId = <topic-slug>-dispatch`, keep
106
+ `requireMention = true` and allowlist policy, and add `allowFrom` only when membership must be
107
+ narrower than the group. The topic `systemPrompt` must state the scope mode, treat each native-reply
108
+ root as an independent request context, confirm repo selection only in folder-scoped mode, spawn the
109
+ worker with an explicit repo path, and return the worker result to the topic. Back up
110
+ `~/.openclaw/openclaw.json` before editing and preserve unrelated routes.
111
+
112
+ ### 7. Validate + self-test
113
+
114
+ ```sh
115
+ openclaw config validate
116
+ openclaw gateway restart
117
+ openclaw gateway status
118
+ openclaw channels status --probe
119
+ ```
120
+
121
+ Then from the target topic: mention the bot and ask for an exact-token reply with **no** file
122
+ changes, commits, PRs, or merges, e.g. `<bot-handle> reply with exactly TELEGRAM-ROUTE-OK`. Confirm
123
+ the visible reply, that the dispatcher spawned the worker, and that the worker ran in the intended
124
+ repo. For folder-scoped topics, also send a request that implies but doesn't name a repo and confirm
125
+ the dispatcher asks for confirmation before proceeding. Do **not** treat `openclaw agent --agent
126
+ <id> ...` as proof a topic route works — use the visible topic reply.
127
+
128
+ ## Output standard
129
+
130
+ Finish with: group id + topic id used; scope mode; workspace root and repo path or catalog;
131
+ dispatcher + worker agent ids; whether the bot is confirmed group admin; validation results; whether
132
+ the self-test passed; and any remaining manual follow-up or trust caveat.
133
+
134
+ ## Related
135
+
136
+ `lisa-openclaw-setup` (run first), `lisa-openclaw-connect-staff` (facilitator/specialist staff on
137
+ Telegram or Slack).
@@ -0,0 +1,109 @@
1
+ # Repo-coding topic config shapes
2
+
3
+ Placeholder-only. Real ids/paths/handles go only into `~/.openclaw/openclaw.json` (machine-local,
4
+ never committed). Back up that file before editing; change only the intended keys.
5
+
6
+ ## Trust model
7
+
8
+ - `admin` group: highly trusted people; machine-config/infra repos allowed; topics may request merge
9
+ after PR.
10
+ - `developer` group: broader collaborators; topics stop at change + docs + commit + PR unless
11
+ explicitly raised.
12
+
13
+ If two repos need different member lists, use different groups even if both are `developer`.
14
+
15
+ ## Folder-scoped repo catalog
16
+
17
+ ```yaml
18
+ repos:
19
+ - name: repo-1
20
+ path: /absolute/path/to/repo-1
21
+ hints: [billing, invoices]
22
+ - name: repo-2
23
+ path: /absolute/path/to/repo-2
24
+ hints: [login, mobile-app]
25
+ ```
26
+
27
+ ## Naming
28
+
29
+ - topic slug: derived from the topic purpose or workspace name
30
+ - dispatcher agent id: `<topic-slug>-dispatch`
31
+ - worker agent id: `<topic-slug>-codex`
32
+
33
+ ## Dispatcher agent
34
+
35
+ ```json5
36
+ {
37
+ "id": "<topic-slug>-dispatch",
38
+ "workspace": "/absolute/path/to/repo-or-parent",
39
+ "skills": ["acp-router"],
40
+ "subagents": { "allowAgents": ["<topic-slug>-codex"] },
41
+ "tools": {
42
+ "profile": "coding",
43
+ "deny": [
44
+ "group:ui", "group:automation", "group:nodes",
45
+ "bash", "exec", "process", "browser", "canvas", "cron",
46
+ "gateway", "write", "edit", "apply_patch"
47
+ ]
48
+ },
49
+ "elevated": { "enabled": false }
50
+ }
51
+ ```
52
+
53
+ ## Worker agent
54
+
55
+ ```json5
56
+ {
57
+ "id": "<topic-slug>-codex",
58
+ "workspace": "/absolute/path/to/repo-or-parent",
59
+ "tools": {
60
+ "profile": "coding",
61
+ "deny": [
62
+ "group:ui", "group:automation", "group:nodes", "group:sessions",
63
+ "subagents", "process", "browser", "canvas", "cron",
64
+ "gateway", "write", "edit", "apply_patch"
65
+ ]
66
+ },
67
+ "elevated": { "enabled": false }
68
+ }
69
+ ```
70
+
71
+ ## Topic route
72
+
73
+ ```json5
74
+ {
75
+ "channels": {
76
+ "telegram": {
77
+ "groups": {
78
+ "<group-id>": {
79
+ "groupPolicy": "allowlist",
80
+ "requireMention": true,
81
+ "allowFrom": ["<telegram-user-id>"],
82
+ "topics": {
83
+ "<topic-id>": {
84
+ "agentId": "<topic-slug>-dispatch",
85
+ "requireMention": true,
86
+ "systemPrompt": "Use the topic's configured scope mode. For single-repo, pass the fixed repo path to <topic-slug>-codex. For folder-scoped, confirm the inferred repo or repo set unless the user already named it explicitly, then pass the explicit repo path(s) to <topic-slug>-codex. Treat each native reply root as an independent request context."
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ ## Worker launcher form
97
+
98
+ ```sh
99
+ PATH="$HOME/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin" \
100
+ "$HOME/bin/<coding-cli>" exec -C <target_dir> "<prompt>"
101
+ ```
102
+
103
+ ## Id rules
104
+
105
+ - Telegram Bot API `chat_id` for a supergroup is the full signed id (usually starts `-100`); the short
106
+ positive number is not a valid substitute.
107
+ - Topic id is the Telegram `message_thread_id`.
108
+ - Discover ids from a logged-in Telegram client, an existing route in `~/.openclaw/openclaw.json`, or a
109
+ received Bot API update — the Bot API cannot list groups by name.
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: lisa-openclaw-connect-staff
3
+ description: Connect staff roles to a human chat surface (Telegram or Slack) via OpenClaw using a facilitator/specialist hub-and-spoke model. Registers bots/apps, creates or reuses the human-facing surface, wires routes in ~/.openclaw/openclaw.json, writes facilitator/specialist agent prompts, validates the gateway, resets stale sessions, and runs an end-to-end route test. Use when you want a "chief of staff" facilitator and its specialists reachable from chat. Requires lisa-openclaw-setup first.
4
+ ---
5
+
6
+ # lisa-openclaw-connect-staff
7
+
8
+ Wire existing staff roles into a working hub-and-spoke chat deployment on **Telegram** or **Slack**
9
+ through OpenClaw. Humans talk only to the **facilitator** (the "chief of staff"); the facilitator
10
+ consults **specialists** internally and synthesizes one answer back to the human.
11
+
12
+ This SKILL.md is the complete, runnable definition for **both Claude Code and Codex**. Codex has no
13
+ command or `$ARGUMENTS` layer, so every behavior — including platform selection — is specified here.
14
+ Keep all real values (org names, ids, handles, tokens, paths) out of any committed file; they belong
15
+ only in `~/.openclaw/openclaw.json` (machine-local, never committed).
16
+
17
+ ## Prerequisites
18
+
19
+ 1. `lisa-openclaw-setup` has run (an `openclaw` section exists in `.lisa.config.json`, and the
20
+ required gateway capabilities — `sessions_spawn`, native-reply session scoping, `NO_REPLY` — are
21
+ confirmed). If a capability is unmet, **fail closed**: do not create routes that would post
22
+ duplicates or bleed cross-thread context.
23
+ 2. The staff roles to connect exist in `config.staff[]` and each has a dual-runtime subagent
24
+ (`.claude/agents/<id>.md` + `.codex/agents/<id>.toml`). If a role or its subagent is missing:
25
+ - Claude Code: run `/lisa:add-role <Role>` first.
26
+ - Codex: invoke `$lisa-wiki:lisa-wiki-add-role` first.
27
+ Only auto-delegate if that skill is available in the active runtime; otherwise print the exact
28
+ next step and stop. **Never infer agent ids from display names** — always use `config.staff[].id`.
29
+
30
+ ## Platform selection (identical in both runtimes)
31
+
32
+ Resolve the platform with this precedence:
33
+
34
+ 1. An explicit platform in the user's request (the Claude commands pre-state `telegram` or `slack`).
35
+ 2. `openclaw.defaultPlatform` from `.lisa.config.json`.
36
+ 3. If still unknown, ask exactly one question: `Connect staff via telegram or slack?`
37
+
38
+ ## Hub-and-spoke contract (both platforms)
39
+
40
+ - Humans speak only to the facilitator; specialists never take direct human work.
41
+ - The facilitator consults specialists via internal OpenClaw `sessions_spawn` with **explicit**
42
+ `agentId`s — never by messaging another bot on the chat platform (bot-to-bot delivery is
43
+ unreliable; treat any visible specialist "workroom" as an audit copy, not proof of delivery).
44
+ - Each visible human request thread is its own short-term session boundary.
45
+ - The facilitator acknowledges after starting consultation, waits/yields for specialist results,
46
+ evaluates them (asking follow-ups when weak/incomplete/conflicting), synthesizes one answer, and
47
+ replies in the original thread / native reply.
48
+ - After any explicit message-tool send, the agent returns exactly `NO_REPLY` as its assistant final
49
+ so the gateway does not post a duplicate loose message.
50
+ - Do not instruct agents to add bracketed self-labels like `[Facilitator]`; the platform shows
51
+ identity.
52
+
53
+ ## Required inputs
54
+
55
+ - platform (resolved above)
56
+ - facilitator: staff id, display name, title, human-facing surface name
57
+ - specialists: list of staff ids + roles to attach to this facilitator
58
+ - surface visibility: Slack channel `private` (default) or `public`; for Telegram, whether any
59
+ specialist audit topics are wanted (default: none)
60
+ - visible bot/app identities (display names, usernames/handles) if separate avatars are needed
61
+ - communication rules (who may talk to whom)
62
+
63
+ For exact route shapes and the facilitator/specialist prompt text, read
64
+ [references/platform-routing.md](references/platform-routing.md) and
65
+ [references/prompts.md](references/prompts.md).
66
+
67
+ ## Workflow
68
+
69
+ ### 1. Inspect existing state
70
+
71
+ Read only what you need; never print token contents:
72
+
73
+ - `~/.openclaw/openclaw.json` (existing agents, channels, groups, topics, routes)
74
+ - `config.staff[]` and the staff subagent files
75
+ - existing chat surfaces, apps, and bot accounts (reuse before creating)
76
+
77
+ ### 2. Plan the platform shape
78
+
79
+ **Telegram:** create or reuse one organization supergroup with forum topics enabled; create one
80
+ human-facing facilitator topic; create one bot per visible identity only when separate names/avatars
81
+ are needed; specialist audit topics only if explicitly requested. The Bot API `chat_id` for a
82
+ supergroup is the **signed** id (usually starting `-100`); the topic id is the
83
+ `message_thread_id`.
84
+
85
+ **Slack:** use Socket Mode for a workstation-hosted gateway unless told otherwise; create or reuse one
86
+ human-facing facilitator channel (default `<organization-slug>-chief-of-staff`, private/invite-only
87
+ unless public is requested); bind routes by stable channel **id**, not channel name; optional
88
+ specialist workrooms are audit-only.
89
+
90
+ Telegram bot-to-bot and bot-originated-topic messages can fail to wake other bots — this is exactly
91
+ why internal `sessions_spawn` is the default route.
92
+
93
+ ### 3. Register apps / bots and store tokens
94
+
95
+ - Telegram: create bots with the agreed names/usernames; add visible bots to the supergroup, promote
96
+ as needed, and disable privacy mode when topic messages must reach them.
97
+ - Slack: create or reuse the org app; grant only required scopes; save `xoxb`/`xapp` tokens.
98
+ - Store every token via the configured secret provider (or `0600` local files outside the repo).
99
+ **Never** print/paste tokens into chat, logs, docs, or any committed file. After saving, verify the
100
+ token via an OpenClaw probe or platform API check without exposing it.
101
+ - If creation is rate-limited (e.g. BotFather) or needs a human confirmation step, wire what
102
+ completed, record what is pending plus the retry time, and ask only for the specific approval/code
103
+ needed.
104
+
105
+ ### 4. Create or update agent files
106
+
107
+ For the facilitator and each specialist, ensure the OpenClaw agent exists and its prompt encodes the
108
+ hub-and-spoke contract. Use the prompt templates in [references/prompts.md](references/prompts.md).
109
+ The facilitator prompt must require: consult ≥1 specialist before substantive answers; treat the
110
+ current thread/native-reply root as the session boundary; route via `sessions_spawn` with explicit
111
+ `agentId`s; acknowledge → yield/wait → evaluate → synthesize → reply in the original thread; return
112
+ `NO_REPLY` after any message-tool send; isolate/clear/archive consulted specialist context after the
113
+ investigation. Specialist prompts must require: accept work only via internal dispatch; return
114
+ concise structured results; never post to human-facing surfaces.
115
+
116
+ ### 5. Wire OpenClaw routing
117
+
118
+ Edit `~/.openclaw/openclaw.json` carefully (see [references/platform-routing.md](references/platform-routing.md)
119
+ for exact shapes). **Back up the file first.** Parse JSON, change only the intended keys, and preserve
120
+ all unrelated agents, channels, routes, and tokens:
121
+
122
+ - add/update each agent in `agents.list`
123
+ - give the facilitator `subagents.allowAgents` = the specialist ids; set
124
+ `subagents.requireAgentId = true` when supported
125
+ - bind the human-facing surface (Telegram topic / Slack channel) to the facilitator
126
+ - bind optional audit surfaces as visibility-only
127
+ - for Slack, set `channels.slack.replyToModeByChatType.channel = "all"` so acknowledgements and final
128
+ answers are real thread replies
129
+ - disable any default-bot fallback that would answer instead of the facilitator
130
+
131
+ Show the exact route keys you will change before writing.
132
+
133
+ ### 6. Validate
134
+
135
+ Run, waiting for the gateway to warm up before declaring success:
136
+
137
+ ```sh
138
+ openclaw config validate
139
+ openclaw gateway restart
140
+ openclaw channels status --probe --timeout 90000
141
+ ```
142
+
143
+ ### 7. Reset stale sessions (when changing an existing route's behavior)
144
+
145
+ Archive (don't delete) affected session files under `~/.openclaw/session-archive/`, remove active
146
+ session pointers for the changed routes, restart the gateway, and re-probe. Old session history can
147
+ preserve stale routing instructions after a prompt/config change.
148
+
149
+ ### 8. End-to-end route test
150
+
151
+ Do not call the work complete until the live loop passes. Acceptance criteria:
152
+
153
+ 1. A human post reaches the facilitator surface.
154
+ 2. The facilitator acknowledges as a thread reply / native reply to the original message.
155
+ 3. A second post in the same channel/topic but a different visible thread gets a **distinct** session
156
+ context (no cross-thread bleed).
157
+ 4. The facilitator starts internal `sessions_spawn` consultation with ≥1 explicit specialist id.
158
+ 5. A specialist returns an internal result.
159
+ 6. The facilitator evaluates and asks a follow-up if needed.
160
+ 7. The facilitator synthesizes and replies in the original thread / native reply.
161
+ 8. No duplicate loose message appears after the message-tool send (the `NO_REPLY` rule held).
162
+
163
+ If the test fails, inspect gateway logs and sessions before changing config; check the bot's admin
164
+ rights (Telegram) / app channel membership and scopes (Slack), and mention-gating, first.
165
+
166
+ ## Output standard
167
+
168
+ Finish with: platform and human-facing surface; surfaces created/reused; apps/bots registered and any
169
+ pending; token storage location (no values); facilitator + specialist agents created/updated;
170
+ validation results; end-to-end test result; and any remaining manual or cooldown follow-up.
171
+
172
+ ## Related
173
+
174
+ `lisa-openclaw-setup` (run first), `lisa-openclaw-connect-repo-topic` (Telegram repo-coding topics).
175
+ Staff "brains" come from the `lisa-wiki` plugin's `add-role`.