@lavralabs/lavra 0.7.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 (452) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +159 -0
  3. package/bin/install.js +302 -0
  4. package/bin/plan-export.js +300 -0
  5. package/bin/plan-view.js +695 -0
  6. package/install.sh +136 -0
  7. package/package.json +28 -0
  8. package/plugins/lavra/.claude-plugin/plugin.json +22 -0
  9. package/plugins/lavra/.mcp.json +8 -0
  10. package/plugins/lavra/README.md +125 -0
  11. package/plugins/lavra/agents/design/design-implementation-reviewer.md +123 -0
  12. package/plugins/lavra/agents/design/design-iterator.md +219 -0
  13. package/plugins/lavra/agents/design/figma-design-sync.md +212 -0
  14. package/plugins/lavra/agents/docs/ankane-readme-writer.md +90 -0
  15. package/plugins/lavra/agents/research/best-practices-researcher.md +131 -0
  16. package/plugins/lavra/agents/research/framework-docs-researcher.md +111 -0
  17. package/plugins/lavra/agents/research/git-history-analyzer.md +73 -0
  18. package/plugins/lavra/agents/research/learnings-researcher.md +255 -0
  19. package/plugins/lavra/agents/research/repo-research-analyst.md +157 -0
  20. package/plugins/lavra/agents/review/agent-native-reviewer.md +274 -0
  21. package/plugins/lavra/agents/review/architecture-strategist.md +82 -0
  22. package/plugins/lavra/agents/review/code-simplicity-reviewer.md +109 -0
  23. package/plugins/lavra/agents/review/data-integrity-guardian.md +89 -0
  24. package/plugins/lavra/agents/review/data-migration-expert.md +118 -0
  25. package/plugins/lavra/agents/review/deployment-verification-agent.md +178 -0
  26. package/plugins/lavra/agents/review/dhh-rails-reviewer.md +94 -0
  27. package/plugins/lavra/agents/review/goal-verifier.md +109 -0
  28. package/plugins/lavra/agents/review/julik-frontend-races-reviewer.md +239 -0
  29. package/plugins/lavra/agents/review/kieran-python-reviewer.md +148 -0
  30. package/plugins/lavra/agents/review/kieran-rails-reviewer.md +130 -0
  31. package/plugins/lavra/agents/review/kieran-typescript-reviewer.md +139 -0
  32. package/plugins/lavra/agents/review/migration-drift-detector.md +307 -0
  33. package/plugins/lavra/agents/review/pattern-recognition-specialist.md +87 -0
  34. package/plugins/lavra/agents/review/performance-oracle.md +154 -0
  35. package/plugins/lavra/agents/review/security-sentinel.md +125 -0
  36. package/plugins/lavra/agents/workflow/bug-reproduction-validator.md +119 -0
  37. package/plugins/lavra/agents/workflow/every-style-editor.md +97 -0
  38. package/plugins/lavra/agents/workflow/lint.md +30 -0
  39. package/plugins/lavra/agents/workflow/pr-comment-resolver.md +95 -0
  40. package/plugins/lavra/agents/workflow/spec-flow-analyzer.md +156 -0
  41. package/plugins/lavra/commands/changelog.md +149 -0
  42. package/plugins/lavra/commands/heal-skill.md +130 -0
  43. package/plugins/lavra/commands/lavra-brainstorm.md +388 -0
  44. package/plugins/lavra/commands/lavra-ceo-review.md +388 -0
  45. package/plugins/lavra/commands/lavra-checkpoint.md +162 -0
  46. package/plugins/lavra/commands/lavra-design.md +621 -0
  47. package/plugins/lavra/commands/lavra-eng-review.md +262 -0
  48. package/plugins/lavra/commands/lavra-import.md +194 -0
  49. package/plugins/lavra/commands/lavra-learn.md +176 -0
  50. package/plugins/lavra/commands/lavra-plan.md +515 -0
  51. package/plugins/lavra/commands/lavra-qa.md +357 -0
  52. package/plugins/lavra/commands/lavra-quick.md +178 -0
  53. package/plugins/lavra/commands/lavra-recall.md +279 -0
  54. package/plugins/lavra/commands/lavra-research.md +267 -0
  55. package/plugins/lavra/commands/lavra-retro.md +400 -0
  56. package/plugins/lavra/commands/lavra-review.md +401 -0
  57. package/plugins/lavra/commands/lavra-ship.md +330 -0
  58. package/plugins/lavra/commands/lavra-triage.md +159 -0
  59. package/plugins/lavra/commands/lavra-work-ralph.md +521 -0
  60. package/plugins/lavra/commands/lavra-work-teams.md +504 -0
  61. package/plugins/lavra/commands/lavra-work.md +1019 -0
  62. package/plugins/lavra/commands/optional/agent-native-audit.md +282 -0
  63. package/plugins/lavra/commands/optional/feature-video.md +262 -0
  64. package/plugins/lavra/commands/optional/generate-command.md +146 -0
  65. package/plugins/lavra/commands/optional/reproduce-bug.md +97 -0
  66. package/plugins/lavra/commands/optional/xcode-test.md +287 -0
  67. package/plugins/lavra/commands/report-bug.md +155 -0
  68. package/plugins/lavra/commands/test-browser.md +305 -0
  69. package/plugins/lavra/cortex/agents/design/design-implementation-reviewer.md +127 -0
  70. package/plugins/lavra/cortex/agents/design/design-iterator.md +222 -0
  71. package/plugins/lavra/cortex/agents/design/figma-design-sync.md +215 -0
  72. package/plugins/lavra/cortex/agents/docs/ankane-readme-writer.md +93 -0
  73. package/plugins/lavra/cortex/agents/research/best-practices-researcher.md +135 -0
  74. package/plugins/lavra/cortex/agents/research/framework-docs-researcher.md +115 -0
  75. package/plugins/lavra/cortex/agents/research/git-history-analyzer.md +77 -0
  76. package/plugins/lavra/cortex/agents/research/learnings-researcher.md +259 -0
  77. package/plugins/lavra/cortex/agents/research/repo-research-analyst.md +161 -0
  78. package/plugins/lavra/cortex/agents/review/agent-native-reviewer.md +278 -0
  79. package/plugins/lavra/cortex/agents/review/architecture-strategist.md +86 -0
  80. package/plugins/lavra/cortex/agents/review/code-simplicity-reviewer.md +113 -0
  81. package/plugins/lavra/cortex/agents/review/data-integrity-guardian.md +93 -0
  82. package/plugins/lavra/cortex/agents/review/data-migration-expert.md +122 -0
  83. package/plugins/lavra/cortex/agents/review/deployment-verification-agent.md +182 -0
  84. package/plugins/lavra/cortex/agents/review/dhh-rails-reviewer.md +98 -0
  85. package/plugins/lavra/cortex/agents/review/goal-verifier.md +113 -0
  86. package/plugins/lavra/cortex/agents/review/julik-frontend-races-reviewer.md +243 -0
  87. package/plugins/lavra/cortex/agents/review/kieran-python-reviewer.md +152 -0
  88. package/plugins/lavra/cortex/agents/review/kieran-rails-reviewer.md +134 -0
  89. package/plugins/lavra/cortex/agents/review/kieran-typescript-reviewer.md +143 -0
  90. package/plugins/lavra/cortex/agents/review/migration-drift-detector.md +311 -0
  91. package/plugins/lavra/cortex/agents/review/pattern-recognition-specialist.md +91 -0
  92. package/plugins/lavra/cortex/agents/review/performance-oracle.md +158 -0
  93. package/plugins/lavra/cortex/agents/review/security-sentinel.md +129 -0
  94. package/plugins/lavra/cortex/agents/workflow/bug-reproduction-validator.md +123 -0
  95. package/plugins/lavra/cortex/agents/workflow/every-style-editor.md +101 -0
  96. package/plugins/lavra/cortex/agents/workflow/lint.md +33 -0
  97. package/plugins/lavra/cortex/agents/workflow/pr-comment-resolver.md +98 -0
  98. package/plugins/lavra/cortex/agents/workflow/spec-flow-analyzer.md +160 -0
  99. package/plugins/lavra/cortex/commands/agent-native-audit.md +286 -0
  100. package/plugins/lavra/cortex/commands/changelog.md +153 -0
  101. package/plugins/lavra/cortex/commands/create-agent-skill.md +21 -0
  102. package/plugins/lavra/cortex/commands/deploy-docs.md +69 -0
  103. package/plugins/lavra/cortex/commands/feature-video.md +266 -0
  104. package/plugins/lavra/cortex/commands/generate-command.md +150 -0
  105. package/plugins/lavra/cortex/commands/heal-skill.md +134 -0
  106. package/plugins/lavra/cortex/commands/lavra-brainstorm.md +392 -0
  107. package/plugins/lavra/cortex/commands/lavra-ceo-review.md +392 -0
  108. package/plugins/lavra/cortex/commands/lavra-checkpoint.md +166 -0
  109. package/plugins/lavra/cortex/commands/lavra-compound.md +168 -0
  110. package/plugins/lavra/cortex/commands/lavra-deepen.md +389 -0
  111. package/plugins/lavra/cortex/commands/lavra-design.md +625 -0
  112. package/plugins/lavra/cortex/commands/lavra-eng-review.md +266 -0
  113. package/plugins/lavra/cortex/commands/lavra-import.md +198 -0
  114. package/plugins/lavra/cortex/commands/lavra-learn.md +180 -0
  115. package/plugins/lavra/cortex/commands/lavra-parallel.md +910 -0
  116. package/plugins/lavra/cortex/commands/lavra-plan.md +519 -0
  117. package/plugins/lavra/cortex/commands/lavra-qa.md +361 -0
  118. package/plugins/lavra/cortex/commands/lavra-quick.md +182 -0
  119. package/plugins/lavra/cortex/commands/lavra-recall.md +283 -0
  120. package/plugins/lavra/cortex/commands/lavra-research.md +271 -0
  121. package/plugins/lavra/cortex/commands/lavra-retro.md +404 -0
  122. package/plugins/lavra/cortex/commands/lavra-review.md +405 -0
  123. package/plugins/lavra/cortex/commands/lavra-ship.md +334 -0
  124. package/plugins/lavra/cortex/commands/lavra-triage.md +163 -0
  125. package/plugins/lavra/cortex/commands/lavra-work-ralph.md +525 -0
  126. package/plugins/lavra/cortex/commands/lavra-work-teams.md +508 -0
  127. package/plugins/lavra/cortex/commands/lavra-work.md +1023 -0
  128. package/plugins/lavra/cortex/commands/lfg.md +30 -0
  129. package/plugins/lavra/cortex/commands/release-docs.md +148 -0
  130. package/plugins/lavra/cortex/commands/report-bug.md +159 -0
  131. package/plugins/lavra/cortex/commands/reproduce-bug.md +101 -0
  132. package/plugins/lavra/cortex/commands/resolve-pr-parallel.md +58 -0
  133. package/plugins/lavra/cortex/commands/resolve-todo-parallel.md +56 -0
  134. package/plugins/lavra/cortex/commands/test-browser.md +309 -0
  135. package/plugins/lavra/cortex/commands/xcode-test.md +291 -0
  136. package/plugins/lavra/cortex/skills/agent-browser/SKILL.md +227 -0
  137. package/plugins/lavra/cortex/skills/agent-native-architecture/SKILL.md +439 -0
  138. package/plugins/lavra/cortex/skills/andrew-kane-gem-writer/SKILL.md +188 -0
  139. package/plugins/lavra/cortex/skills/brainstorming/SKILL.md +197 -0
  140. package/plugins/lavra/cortex/skills/create-agent-skills/SKILL.md +304 -0
  141. package/plugins/lavra/cortex/skills/dhh-rails-style/SKILL.md +189 -0
  142. package/plugins/lavra/cortex/skills/dspy-ruby/SKILL.md +741 -0
  143. package/plugins/lavra/cortex/skills/every-style-editor/SKILL.md +138 -0
  144. package/plugins/lavra/cortex/skills/file-todos/SKILL.md +256 -0
  145. package/plugins/lavra/cortex/skills/frontend-design/SKILL.md +46 -0
  146. package/plugins/lavra/cortex/skills/gemini-imagegen/SKILL.md +242 -0
  147. package/plugins/lavra/cortex/skills/git-worktree/SKILL.md +307 -0
  148. package/plugins/lavra/cortex/skills/lavra-knowledge/SKILL.md +464 -0
  149. package/plugins/lavra/cortex/skills/project-setup/SKILL.md +418 -0
  150. package/plugins/lavra/cortex/skills/rclone/SKILL.md +155 -0
  151. package/plugins/lavra/docs/quickstart.md +267 -0
  152. package/plugins/lavra/examples/example-plan.md +197 -0
  153. package/plugins/lavra/gemini/agents/design/design-implementation-reviewer.md +130 -0
  154. package/plugins/lavra/gemini/agents/design/design-iterator.md +225 -0
  155. package/plugins/lavra/gemini/agents/design/figma-design-sync.md +218 -0
  156. package/plugins/lavra/gemini/agents/docs/ankane-readme-writer.md +96 -0
  157. package/plugins/lavra/gemini/agents/research/best-practices-researcher.md +138 -0
  158. package/plugins/lavra/gemini/agents/research/framework-docs-researcher.md +118 -0
  159. package/plugins/lavra/gemini/agents/research/git-history-analyzer.md +80 -0
  160. package/plugins/lavra/gemini/agents/research/learnings-researcher.md +262 -0
  161. package/plugins/lavra/gemini/agents/research/repo-research-analyst.md +164 -0
  162. package/plugins/lavra/gemini/agents/review/agent-native-reviewer.md +281 -0
  163. package/plugins/lavra/gemini/agents/review/architecture-strategist.md +89 -0
  164. package/plugins/lavra/gemini/agents/review/code-simplicity-reviewer.md +116 -0
  165. package/plugins/lavra/gemini/agents/review/data-integrity-guardian.md +96 -0
  166. package/plugins/lavra/gemini/agents/review/data-migration-expert.md +125 -0
  167. package/plugins/lavra/gemini/agents/review/deployment-verification-agent.md +185 -0
  168. package/plugins/lavra/gemini/agents/review/dhh-rails-reviewer.md +101 -0
  169. package/plugins/lavra/gemini/agents/review/goal-verifier.md +116 -0
  170. package/plugins/lavra/gemini/agents/review/julik-frontend-races-reviewer.md +246 -0
  171. package/plugins/lavra/gemini/agents/review/kieran-python-reviewer.md +155 -0
  172. package/plugins/lavra/gemini/agents/review/kieran-rails-reviewer.md +137 -0
  173. package/plugins/lavra/gemini/agents/review/kieran-typescript-reviewer.md +146 -0
  174. package/plugins/lavra/gemini/agents/review/migration-drift-detector.md +314 -0
  175. package/plugins/lavra/gemini/agents/review/pattern-recognition-specialist.md +94 -0
  176. package/plugins/lavra/gemini/agents/review/performance-oracle.md +161 -0
  177. package/plugins/lavra/gemini/agents/review/security-sentinel.md +132 -0
  178. package/plugins/lavra/gemini/agents/workflow/bug-reproduction-validator.md +126 -0
  179. package/plugins/lavra/gemini/agents/workflow/every-style-editor.md +103 -0
  180. package/plugins/lavra/gemini/agents/workflow/lint.md +36 -0
  181. package/plugins/lavra/gemini/agents/workflow/pr-comment-resolver.md +101 -0
  182. package/plugins/lavra/gemini/agents/workflow/spec-flow-analyzer.md +163 -0
  183. package/plugins/lavra/gemini/commands/agent-native-audit.toml +284 -0
  184. package/plugins/lavra/gemini/commands/beads-brainstorm.toml +292 -0
  185. package/plugins/lavra/gemini/commands/beads-checkpoint.toml +145 -0
  186. package/plugins/lavra/gemini/commands/beads-compound.toml +167 -0
  187. package/plugins/lavra/gemini/commands/beads-deepen.toml +388 -0
  188. package/plugins/lavra/gemini/commands/beads-design.toml +295 -0
  189. package/plugins/lavra/gemini/commands/beads-import.toml +197 -0
  190. package/plugins/lavra/gemini/commands/beads-parallel.toml +909 -0
  191. package/plugins/lavra/gemini/commands/beads-plan-review.toml +201 -0
  192. package/plugins/lavra/gemini/commands/beads-plan.toml +391 -0
  193. package/plugins/lavra/gemini/commands/beads-quick.toml +134 -0
  194. package/plugins/lavra/gemini/commands/beads-recall.toml +281 -0
  195. package/plugins/lavra/gemini/commands/beads-review.toml +338 -0
  196. package/plugins/lavra/gemini/commands/beads-triage.toml +161 -0
  197. package/plugins/lavra/gemini/commands/beads-work.toml +347 -0
  198. package/plugins/lavra/gemini/commands/changelog.toml +151 -0
  199. package/plugins/lavra/gemini/commands/create-agent-skill.toml +18 -0
  200. package/plugins/lavra/gemini/commands/deploy-docs.toml +68 -0
  201. package/plugins/lavra/gemini/commands/feature-video.toml +264 -0
  202. package/plugins/lavra/gemini/commands/generate-command.toml +148 -0
  203. package/plugins/lavra/gemini/commands/heal-skill.toml +131 -0
  204. package/plugins/lavra/gemini/commands/lavra-brainstorm.toml +391 -0
  205. package/plugins/lavra/gemini/commands/lavra-ceo-review.toml +391 -0
  206. package/plugins/lavra/gemini/commands/lavra-checkpoint.toml +165 -0
  207. package/plugins/lavra/gemini/commands/lavra-design.toml +624 -0
  208. package/plugins/lavra/gemini/commands/lavra-eng-review.toml +265 -0
  209. package/plugins/lavra/gemini/commands/lavra-import.toml +197 -0
  210. package/plugins/lavra/gemini/commands/lavra-learn.toml +179 -0
  211. package/plugins/lavra/gemini/commands/lavra-plan-review.toml +201 -0
  212. package/plugins/lavra/gemini/commands/lavra-plan.toml +518 -0
  213. package/plugins/lavra/gemini/commands/lavra-qa.toml +360 -0
  214. package/plugins/lavra/gemini/commands/lavra-quick.toml +181 -0
  215. package/plugins/lavra/gemini/commands/lavra-recall.toml +281 -0
  216. package/plugins/lavra/gemini/commands/lavra-research.toml +270 -0
  217. package/plugins/lavra/gemini/commands/lavra-retro.toml +403 -0
  218. package/plugins/lavra/gemini/commands/lavra-review.toml +404 -0
  219. package/plugins/lavra/gemini/commands/lavra-ship.toml +333 -0
  220. package/plugins/lavra/gemini/commands/lavra-triage.toml +161 -0
  221. package/plugins/lavra/gemini/commands/lavra-work-ralph.toml +523 -0
  222. package/plugins/lavra/gemini/commands/lavra-work-teams.toml +507 -0
  223. package/plugins/lavra/gemini/commands/lavra-work.toml +1022 -0
  224. package/plugins/lavra/gemini/commands/lfg.toml +28 -0
  225. package/plugins/lavra/gemini/commands/release-docs.toml +146 -0
  226. package/plugins/lavra/gemini/commands/report-bug.toml +157 -0
  227. package/plugins/lavra/gemini/commands/reproduce-bug.toml +99 -0
  228. package/plugins/lavra/gemini/commands/resolve-pr-parallel.toml +56 -0
  229. package/plugins/lavra/gemini/commands/resolve-todo-parallel.toml +54 -0
  230. package/plugins/lavra/gemini/commands/test-browser.toml +307 -0
  231. package/plugins/lavra/gemini/commands/xcode-test.toml +289 -0
  232. package/plugins/lavra/gemini/docs/MCP_SETUP.md +41 -0
  233. package/plugins/lavra/gemini/skills/agent-browser/SKILL.md +227 -0
  234. package/plugins/lavra/gemini/skills/agent-native-architecture/SKILL.md +439 -0
  235. package/plugins/lavra/gemini/skills/andrew-kane-gem-writer/SKILL.md +188 -0
  236. package/plugins/lavra/gemini/skills/beads-knowledge/SKILL.md +464 -0
  237. package/plugins/lavra/gemini/skills/brainstorming/SKILL.md +197 -0
  238. package/plugins/lavra/gemini/skills/create-agent-skills/SKILL.md +304 -0
  239. package/plugins/lavra/gemini/skills/dhh-rails-style/SKILL.md +189 -0
  240. package/plugins/lavra/gemini/skills/dspy-ruby/SKILL.md +741 -0
  241. package/plugins/lavra/gemini/skills/every-style-editor/SKILL.md +138 -0
  242. package/plugins/lavra/gemini/skills/file-todos/SKILL.md +256 -0
  243. package/plugins/lavra/gemini/skills/frontend-design/SKILL.md +46 -0
  244. package/plugins/lavra/gemini/skills/gemini-imagegen/SKILL.md +242 -0
  245. package/plugins/lavra/gemini/skills/git-worktree/SKILL.md +307 -0
  246. package/plugins/lavra/gemini/skills/lavra-knowledge/SKILL.md +464 -0
  247. package/plugins/lavra/gemini/skills/project-setup/SKILL.md +418 -0
  248. package/plugins/lavra/gemini/skills/rclone/SKILL.md +155 -0
  249. package/plugins/lavra/gemini-extension.json +50 -0
  250. package/plugins/lavra/gemini-src/settings.json +37 -0
  251. package/plugins/lavra/hooks/auto-recall.sh +210 -0
  252. package/plugins/lavra/hooks/check-memory.sh +169 -0
  253. package/plugins/lavra/hooks/hooks.json +47 -0
  254. package/plugins/lavra/hooks/knowledge-db.sh +255 -0
  255. package/plugins/lavra/hooks/memory-capture.sh +132 -0
  256. package/plugins/lavra/hooks/provision-memory.sh +144 -0
  257. package/plugins/lavra/hooks/recall.sh +152 -0
  258. package/plugins/lavra/hooks/subagent-wrapup.sh +44 -0
  259. package/plugins/lavra/hooks/teammate-idle-check.sh +29 -0
  260. package/plugins/lavra/opencode/agents/design/design-implementation-reviewer.md +127 -0
  261. package/plugins/lavra/opencode/agents/design/design-iterator.md +222 -0
  262. package/plugins/lavra/opencode/agents/design/figma-design-sync.md +215 -0
  263. package/plugins/lavra/opencode/agents/docs/ankane-readme-writer.md +93 -0
  264. package/plugins/lavra/opencode/agents/research/best-practices-researcher.md +135 -0
  265. package/plugins/lavra/opencode/agents/research/framework-docs-researcher.md +115 -0
  266. package/plugins/lavra/opencode/agents/research/git-history-analyzer.md +77 -0
  267. package/plugins/lavra/opencode/agents/research/learnings-researcher.md +259 -0
  268. package/plugins/lavra/opencode/agents/research/repo-research-analyst.md +161 -0
  269. package/plugins/lavra/opencode/agents/review/agent-native-reviewer.md +278 -0
  270. package/plugins/lavra/opencode/agents/review/architecture-strategist.md +86 -0
  271. package/plugins/lavra/opencode/agents/review/code-simplicity-reviewer.md +113 -0
  272. package/plugins/lavra/opencode/agents/review/data-integrity-guardian.md +93 -0
  273. package/plugins/lavra/opencode/agents/review/data-migration-expert.md +122 -0
  274. package/plugins/lavra/opencode/agents/review/deployment-verification-agent.md +182 -0
  275. package/plugins/lavra/opencode/agents/review/dhh-rails-reviewer.md +98 -0
  276. package/plugins/lavra/opencode/agents/review/goal-verifier.md +113 -0
  277. package/plugins/lavra/opencode/agents/review/julik-frontend-races-reviewer.md +243 -0
  278. package/plugins/lavra/opencode/agents/review/kieran-python-reviewer.md +152 -0
  279. package/plugins/lavra/opencode/agents/review/kieran-rails-reviewer.md +134 -0
  280. package/plugins/lavra/opencode/agents/review/kieran-typescript-reviewer.md +143 -0
  281. package/plugins/lavra/opencode/agents/review/migration-drift-detector.md +311 -0
  282. package/plugins/lavra/opencode/agents/review/pattern-recognition-specialist.md +91 -0
  283. package/plugins/lavra/opencode/agents/review/performance-oracle.md +158 -0
  284. package/plugins/lavra/opencode/agents/review/security-sentinel.md +129 -0
  285. package/plugins/lavra/opencode/agents/workflow/bug-reproduction-validator.md +123 -0
  286. package/plugins/lavra/opencode/agents/workflow/every-style-editor.md +100 -0
  287. package/plugins/lavra/opencode/agents/workflow/lint.md +33 -0
  288. package/plugins/lavra/opencode/agents/workflow/pr-comment-resolver.md +98 -0
  289. package/plugins/lavra/opencode/agents/workflow/spec-flow-analyzer.md +160 -0
  290. package/plugins/lavra/opencode/commands/agent-native-audit.md +286 -0
  291. package/plugins/lavra/opencode/commands/changelog.md +153 -0
  292. package/plugins/lavra/opencode/commands/create-agent-skill.md +21 -0
  293. package/plugins/lavra/opencode/commands/deploy-docs.md +69 -0
  294. package/plugins/lavra/opencode/commands/feature-video.md +266 -0
  295. package/plugins/lavra/opencode/commands/generate-command.md +150 -0
  296. package/plugins/lavra/opencode/commands/heal-skill.md +134 -0
  297. package/plugins/lavra/opencode/commands/lavra-brainstorm.md +392 -0
  298. package/plugins/lavra/opencode/commands/lavra-ceo-review.md +392 -0
  299. package/plugins/lavra/opencode/commands/lavra-checkpoint.md +166 -0
  300. package/plugins/lavra/opencode/commands/lavra-compound.md +168 -0
  301. package/plugins/lavra/opencode/commands/lavra-deepen.md +389 -0
  302. package/plugins/lavra/opencode/commands/lavra-design.md +625 -0
  303. package/plugins/lavra/opencode/commands/lavra-eng-review.md +266 -0
  304. package/plugins/lavra/opencode/commands/lavra-import.md +198 -0
  305. package/plugins/lavra/opencode/commands/lavra-learn.md +180 -0
  306. package/plugins/lavra/opencode/commands/lavra-parallel.md +910 -0
  307. package/plugins/lavra/opencode/commands/lavra-plan.md +519 -0
  308. package/plugins/lavra/opencode/commands/lavra-qa.md +361 -0
  309. package/plugins/lavra/opencode/commands/lavra-quick.md +182 -0
  310. package/plugins/lavra/opencode/commands/lavra-recall.md +283 -0
  311. package/plugins/lavra/opencode/commands/lavra-research.md +271 -0
  312. package/plugins/lavra/opencode/commands/lavra-retro.md +404 -0
  313. package/plugins/lavra/opencode/commands/lavra-review.md +405 -0
  314. package/plugins/lavra/opencode/commands/lavra-ship.md +334 -0
  315. package/plugins/lavra/opencode/commands/lavra-triage.md +163 -0
  316. package/plugins/lavra/opencode/commands/lavra-work-ralph.md +525 -0
  317. package/plugins/lavra/opencode/commands/lavra-work-teams.md +508 -0
  318. package/plugins/lavra/opencode/commands/lavra-work.md +1023 -0
  319. package/plugins/lavra/opencode/commands/lfg.md +30 -0
  320. package/plugins/lavra/opencode/commands/release-docs.md +148 -0
  321. package/plugins/lavra/opencode/commands/report-bug.md +159 -0
  322. package/plugins/lavra/opencode/commands/reproduce-bug.md +101 -0
  323. package/plugins/lavra/opencode/commands/resolve-pr-parallel.md +58 -0
  324. package/plugins/lavra/opencode/commands/resolve-todo-parallel.md +56 -0
  325. package/plugins/lavra/opencode/commands/test-browser.md +309 -0
  326. package/plugins/lavra/opencode/commands/xcode-test.md +291 -0
  327. package/plugins/lavra/opencode/docs/MCP_SETUP.md +48 -0
  328. package/plugins/lavra/opencode/skills/agent-browser/SKILL.md +227 -0
  329. package/plugins/lavra/opencode/skills/agent-native-architecture/SKILL.md +439 -0
  330. package/plugins/lavra/opencode/skills/andrew-kane-gem-writer/SKILL.md +188 -0
  331. package/plugins/lavra/opencode/skills/brainstorming/SKILL.md +197 -0
  332. package/plugins/lavra/opencode/skills/create-agent-skills/SKILL.md +304 -0
  333. package/plugins/lavra/opencode/skills/dhh-rails-style/SKILL.md +189 -0
  334. package/plugins/lavra/opencode/skills/dspy-ruby/SKILL.md +741 -0
  335. package/plugins/lavra/opencode/skills/every-style-editor/SKILL.md +138 -0
  336. package/plugins/lavra/opencode/skills/file-todos/SKILL.md +256 -0
  337. package/plugins/lavra/opencode/skills/frontend-design/SKILL.md +46 -0
  338. package/plugins/lavra/opencode/skills/gemini-imagegen/SKILL.md +242 -0
  339. package/plugins/lavra/opencode/skills/git-worktree/SKILL.md +307 -0
  340. package/plugins/lavra/opencode/skills/lavra-knowledge/SKILL.md +464 -0
  341. package/plugins/lavra/opencode/skills/project-setup/SKILL.md +418 -0
  342. package/plugins/lavra/opencode/skills/rclone/SKILL.md +155 -0
  343. package/plugins/lavra/opencode-src/package.json +13 -0
  344. package/plugins/lavra/opencode-src/plugin.ts +176 -0
  345. package/plugins/lavra/scripts/import-plan.sh +141 -0
  346. package/plugins/lavra/skills/agent-browser/SKILL.md +223 -0
  347. package/plugins/lavra/skills/agent-native-architecture/SKILL.md +435 -0
  348. package/plugins/lavra/skills/agent-native-architecture/references/action-parity-discipline.md +353 -0
  349. package/plugins/lavra/skills/agent-native-architecture/references/agent-execution-patterns.md +362 -0
  350. package/plugins/lavra/skills/agent-native-architecture/references/agent-native-testing.md +508 -0
  351. package/plugins/lavra/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
  352. package/plugins/lavra/skills/agent-native-architecture/references/dynamic-context-injection.md +281 -0
  353. package/plugins/lavra/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
  354. package/plugins/lavra/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +227 -0
  355. package/plugins/lavra/skills/agent-native-architecture/references/mcp-tool-design.md +427 -0
  356. package/plugins/lavra/skills/agent-native-architecture/references/mobile-patterns.md +410 -0
  357. package/plugins/lavra/skills/agent-native-architecture/references/product-implications.md +341 -0
  358. package/plugins/lavra/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
  359. package/plugins/lavra/skills/agent-native-architecture/references/self-modification.md +269 -0
  360. package/plugins/lavra/skills/agent-native-architecture/references/shared-workspace-architecture.md +517 -0
  361. package/plugins/lavra/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
  362. package/plugins/lavra/skills/brainstorming/SKILL.md +193 -0
  363. package/plugins/lavra/skills/create-agent-skills/SKILL.md +300 -0
  364. package/plugins/lavra/skills/create-agent-skills/references/api-security.md +60 -0
  365. package/plugins/lavra/skills/create-agent-skills/references/be-clear-and-direct.md +84 -0
  366. package/plugins/lavra/skills/create-agent-skills/references/best-practices.md +404 -0
  367. package/plugins/lavra/skills/create-agent-skills/references/common-patterns.md +121 -0
  368. package/plugins/lavra/skills/create-agent-skills/references/core-principles.md +103 -0
  369. package/plugins/lavra/skills/create-agent-skills/references/executable-code.md +92 -0
  370. package/plugins/lavra/skills/create-agent-skills/references/iteration-and-testing.md +164 -0
  371. package/plugins/lavra/skills/create-agent-skills/references/official-spec.md +185 -0
  372. package/plugins/lavra/skills/create-agent-skills/references/recommended-structure.md +168 -0
  373. package/plugins/lavra/skills/create-agent-skills/references/skill-structure.md +215 -0
  374. package/plugins/lavra/skills/create-agent-skills/references/using-scripts.md +113 -0
  375. package/plugins/lavra/skills/create-agent-skills/references/using-templates.md +112 -0
  376. package/plugins/lavra/skills/create-agent-skills/references/workflows-and-validation.md +122 -0
  377. package/plugins/lavra/skills/create-agent-skills/templates/router-skill.md +73 -0
  378. package/plugins/lavra/skills/create-agent-skills/templates/simple-skill.md +33 -0
  379. package/plugins/lavra/skills/create-agent-skills/workflows/add-reference.md +55 -0
  380. package/plugins/lavra/skills/create-agent-skills/workflows/add-script.md +59 -0
  381. package/plugins/lavra/skills/create-agent-skills/workflows/add-template.md +51 -0
  382. package/plugins/lavra/skills/create-agent-skills/workflows/add-workflow.md +54 -0
  383. package/plugins/lavra/skills/create-agent-skills/workflows/audit-skill.md +63 -0
  384. package/plugins/lavra/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +68 -0
  385. package/plugins/lavra/skills/create-agent-skills/workflows/create-new-skill.md +92 -0
  386. package/plugins/lavra/skills/create-agent-skills/workflows/get-guidance.md +70 -0
  387. package/plugins/lavra/skills/create-agent-skills/workflows/upgrade-to-router.md +68 -0
  388. package/plugins/lavra/skills/create-agent-skills/workflows/verify-skill.md +63 -0
  389. package/plugins/lavra/skills/file-todos/SKILL.md +252 -0
  390. package/plugins/lavra/skills/file-todos/assets/todo-template.md +155 -0
  391. package/plugins/lavra/skills/git-worktree/SKILL.md +303 -0
  392. package/plugins/lavra/skills/git-worktree/scripts/worktree-manager.sh +345 -0
  393. package/plugins/lavra/skills/lavra-knowledge/SKILL.md +460 -0
  394. package/plugins/lavra/skills/lavra-knowledge/references/jsonl-schema.md +104 -0
  395. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/SKILL.md +184 -0
  396. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/database-adapters.md +231 -0
  397. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/module-organization.md +121 -0
  398. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/rails-integration.md +183 -0
  399. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/resources.md +119 -0
  400. package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
  401. package/plugins/lavra/skills/optional/dhh-rails-style/SKILL.md +185 -0
  402. package/plugins/lavra/skills/optional/dhh-rails-style/references/architecture.md +653 -0
  403. package/plugins/lavra/skills/optional/dhh-rails-style/references/controllers.md +303 -0
  404. package/plugins/lavra/skills/optional/dhh-rails-style/references/frontend.md +510 -0
  405. package/plugins/lavra/skills/optional/dhh-rails-style/references/gems.md +266 -0
  406. package/plugins/lavra/skills/optional/dhh-rails-style/references/models.md +359 -0
  407. package/plugins/lavra/skills/optional/dhh-rails-style/references/testing.md +338 -0
  408. package/plugins/lavra/skills/optional/dspy-ruby/SKILL.md +737 -0
  409. package/plugins/lavra/skills/optional/dspy-ruby/assets/config-template.rb +187 -0
  410. package/plugins/lavra/skills/optional/dspy-ruby/assets/module-template.rb +300 -0
  411. package/plugins/lavra/skills/optional/dspy-ruby/assets/signature-template.rb +221 -0
  412. package/plugins/lavra/skills/optional/dspy-ruby/references/core-concepts.md +674 -0
  413. package/plugins/lavra/skills/optional/dspy-ruby/references/observability.md +366 -0
  414. package/plugins/lavra/skills/optional/dspy-ruby/references/optimization.md +603 -0
  415. package/plugins/lavra/skills/optional/dspy-ruby/references/providers.md +418 -0
  416. package/plugins/lavra/skills/optional/dspy-ruby/references/toolsets.md +502 -0
  417. package/plugins/lavra/skills/optional/every-style-editor/SKILL.md +134 -0
  418. package/plugins/lavra/skills/optional/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
  419. package/plugins/lavra/skills/optional/frontend-design/SKILL.md +42 -0
  420. package/plugins/lavra/skills/optional/gemini-imagegen/SKILL.md +238 -0
  421. package/plugins/lavra/skills/optional/gemini-imagegen/requirements.txt +2 -0
  422. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/compose_images.py +157 -0
  423. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/edit_image.py +144 -0
  424. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/gemini_images.py +263 -0
  425. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/generate_image.py +133 -0
  426. package/plugins/lavra/skills/optional/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
  427. package/plugins/lavra/skills/optional/rclone/SKILL.md +151 -0
  428. package/plugins/lavra/skills/optional/rclone/scripts/check_setup.sh +60 -0
  429. package/plugins/lavra/skills/project-setup/SKILL.md +414 -0
  430. package/plugins/lavra/tests/build-index.sh +116 -0
  431. package/plugins/lavra/tests/recall-bench.sh +224 -0
  432. package/plugins/lavra/tests/search-fts5.sh +65 -0
  433. package/plugins/lavra/tests/search-grep.sh +54 -0
  434. package/plugins/lavra/tests/test-queries.jsonl +25 -0
  435. package/scripts/apply-context-optimizations.py +345 -0
  436. package/scripts/convert-cortex.ts +257 -0
  437. package/scripts/convert-gemini.ts +369 -0
  438. package/scripts/convert-opencode.ts +313 -0
  439. package/scripts/package.json +27 -0
  440. package/scripts/pre-release-check.sh +176 -0
  441. package/scripts/select-opencode-models.sh +178 -0
  442. package/scripts/shared/model-config.json +17 -0
  443. package/scripts/shared/model-mapping.ts +129 -0
  444. package/scripts/shared/security.ts +97 -0
  445. package/scripts/shared/yaml-parser.ts +55 -0
  446. package/scripts/sqlite-to-jsonl.py +207 -0
  447. package/scripts/test-compatibility.ts +539 -0
  448. package/scripts/test-features.sh +342 -0
  449. package/scripts/test-installation.sh +514 -0
  450. package/scripts/test-security.ts +275 -0
  451. package/scripts/trim-agent-descriptions.py +177 -0
  452. package/uninstall.sh +133 -0
@@ -0,0 +1,188 @@
1
+ <!-- Generated by lavra-compound v0.6.0 -->
2
+ <!-- Source: andrew-kane-gem-writer/SKILL.md -->
3
+ <!-- DO NOT EDIT - changes will be overwritten on next install -->
4
+
5
+ ---
6
+ name: andrew-kane-gem-writer
7
+ description: This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on requests like "create a gem", "write a Ruby library", "design a gem API", or mentions of Andrew Kane's style.
8
+ ---
9
+
10
+ # Andrew Kane Gem Writer
11
+
12
+ Write Ruby gems following Andrew Kane's battle-tested patterns from 100+ gems with 374M+ downloads (Searchkick, PgHero, Chartkick, Strong Migrations, Lockbox, Ahoy, Blazer, Groupdate, Neighbor, Blind Index).
13
+
14
+ ## Core Philosophy
15
+
16
+ **Simplicity over cleverness.** Zero or minimal dependencies. Explicit code over metaprogramming. Rails integration without Rails coupling. Every pattern serves production use cases.
17
+
18
+ ## Entry Point Structure
19
+
20
+ Every gem follows this exact pattern in `lib/gemname.rb`:
21
+
22
+ ```ruby
23
+ # 1. Dependencies (stdlib preferred)
24
+ require "forwardable"
25
+
26
+ # 2. Internal modules
27
+ require_relative "gemname/model"
28
+ require_relative "gemname/version"
29
+
30
+ # 3. Conditional Rails (CRITICAL - never require Rails directly)
31
+ require_relative "gemname/railtie" if defined?(Rails)
32
+
33
+ # 4. Module with config and errors
34
+ module GemName
35
+ class Error < StandardError; end
36
+ class InvalidConfigError < Error; end
37
+
38
+ class << self
39
+ attr_accessor :timeout, :logger
40
+ attr_writer :client
41
+ end
42
+
43
+ self.timeout = 10 # Defaults set immediately
44
+ end
45
+ ```
46
+
47
+ ## Class Macro DSL Pattern
48
+
49
+ The signature Kane pattern—single method call configures everything:
50
+
51
+ ```ruby
52
+ # Usage
53
+ class Product < ApplicationRecord
54
+ searchkick word_start: [:name]
55
+ end
56
+
57
+ # Implementation
58
+ module GemName
59
+ module Model
60
+ def gemname(**options)
61
+ unknown = options.keys - KNOWN_KEYWORDS
62
+ raise ArgumentError, "unknown keywords: #{unknown.join(", ")}" if unknown.any?
63
+
64
+ mod = Module.new
65
+ mod.module_eval do
66
+ define_method :some_method do
67
+ # implementation
68
+ end unless method_defined?(:some_method)
69
+ end
70
+ include mod
71
+
72
+ class_eval do
73
+ cattr_reader :gemname_options, instance_reader: false
74
+ class_variable_set :@@gemname_options, options.dup
75
+ end
76
+ end
77
+ end
78
+ end
79
+ ```
80
+
81
+ ## Rails Integration
82
+
83
+ **Always use `ActiveSupport.on_load`—never require Rails gems directly:**
84
+
85
+ ```ruby
86
+ # WRONG
87
+ require "active_record"
88
+ ActiveRecord::Base.include(MyGem::Model)
89
+
90
+ # CORRECT
91
+ ActiveSupport.on_load(:active_record) do
92
+ extend GemName::Model
93
+ end
94
+
95
+ # Use prepend for behavior modification
96
+ ActiveSupport.on_load(:active_record) do
97
+ ActiveRecord::Migration.prepend(GemName::Migration)
98
+ end
99
+ ```
100
+
101
+ ## Configuration Pattern
102
+
103
+ Use `class << self` with `attr_accessor`, not Configuration objects:
104
+
105
+ ```ruby
106
+ module GemName
107
+ class << self
108
+ attr_accessor :timeout, :logger
109
+ attr_writer :master_key
110
+ end
111
+
112
+ def self.master_key
113
+ @master_key ||= ENV["GEMNAME_MASTER_KEY"]
114
+ end
115
+
116
+ self.timeout = 10
117
+ self.logger = nil
118
+ end
119
+ ```
120
+
121
+ ## Error Handling
122
+
123
+ Simple hierarchy with informative messages:
124
+
125
+ ```ruby
126
+ module GemName
127
+ class Error < StandardError; end
128
+ class ConfigError < Error; end
129
+ class ValidationError < Error; end
130
+ end
131
+
132
+ # Validate early with ArgumentError
133
+ def initialize(key:)
134
+ raise ArgumentError, "Key must be 32 bytes" unless key&.bytesize == 32
135
+ end
136
+ ```
137
+
138
+ ## Testing (Minitest Only)
139
+
140
+ ```ruby
141
+ # test/test_helper.rb
142
+ require "bundler/setup"
143
+ Bundler.require(:default)
144
+ require "minitest/autorun"
145
+ require "minitest/pride"
146
+
147
+ # test/model_test.rb
148
+ class ModelTest < Minitest::Test
149
+ def test_basic_functionality
150
+ assert_equal expected, actual
151
+ end
152
+ end
153
+ ```
154
+
155
+ ## Gemspec Pattern
156
+
157
+ Zero runtime dependencies when possible:
158
+
159
+ ```ruby
160
+ Gem::Specification.new do |spec|
161
+ spec.name = "gemname"
162
+ spec.version = GemName::VERSION
163
+ spec.required_ruby_version = ">= 3.1"
164
+ spec.files = Dir["*.{md,txt}", "{lib}/**/*"]
165
+ spec.require_path = "lib"
166
+ # NO add_dependency lines - dev deps go in Gemfile
167
+ end
168
+ ```
169
+
170
+ ## Anti-Patterns to Avoid
171
+
172
+ - `method_missing` (use `define_method` instead)
173
+ - Configuration objects (use class accessors)
174
+ - `@@class_variables` (use `class << self`)
175
+ - Requiring Rails gems directly
176
+ - Many runtime dependencies
177
+ - Committing Gemfile.lock in gems
178
+ - RSpec (use Minitest)
179
+ - Heavy DSLs (prefer explicit Ruby)
180
+
181
+ ## Reference Files
182
+
183
+ For deeper patterns, see:
184
+ - **[references/module-organization.md](references/module-organization.md)** - Directory layouts, method decomposition
185
+ - **[references/rails-integration.md](references/rails-integration.md)** - Railtie, Engine, on_load patterns
186
+ - **[references/database-adapters.md](references/database-adapters.md)** - Multi-database support patterns
187
+ - **[references/testing-patterns.md](references/testing-patterns.md)** - Multi-version testing, CI setup
188
+ - **[references/resources.md](references/resources.md)** - Links to Kane's repos and articles
@@ -0,0 +1,464 @@
1
+ <!-- Generated by lavra-compound v0.6.0 -->
2
+ <!-- Source: lavra-knowledge/SKILL.md -->
3
+ <!-- DO NOT EDIT - changes will be overwritten on next install -->
4
+
5
+ ---
6
+ name: lavra-knowledge
7
+ description: "Capture solved problems as knowledge entries in JSONL format for fast recall. Use when a problem has been solved and the solution should be preserved for future sessions."
8
+ allowed-tools: "- Read # Parse conversation context
9
+ - Write # Append to knowledge.jsonl
10
+ - Bash # Run bd commands, search knowledge
11
+ - Grep # Search existing knowledge"
12
+ preconditions: "- Problem has been solved (not in-progress)
13
+ - Solution has been verified working"
14
+ disable-model-invocation: true
15
+ ---
16
+
17
+ # lavra-knowledge Skill
18
+
19
+ **Purpose:** Capture solved problems as structured JSONL entries in `.lavra/memory/knowledge.jsonl` and as bead comments, building a searchable knowledge base that auto-recall injects into future sessions.
20
+
21
+ ## Overview
22
+
23
+ This skill captures problem solutions immediately after confirmation, creating structured knowledge entries that:
24
+ - Are stored in `.lavra/memory/knowledge.jsonl` for auto-recall search
25
+ - Are logged as bead comments for traceability back to specific work items
26
+ - Use the five knowledge prefixes: LEARNED, DECISION, FACT, PATTERN, INVESTIGATION
27
+
28
+ **Organization:** Append-only JSONL file. Each solved problem produces one or more knowledge entries. The auto-recall hook (`auto-recall.sh`) searches these entries by keyword and injects relevant ones at session start.
29
+
30
+ ---
31
+
32
+ <critical_sequence name="knowledge-capture" enforce_order="strict">
33
+
34
+ ## 7-Step Process
35
+
36
+ <step number="1" required="true">
37
+ ### Step 1: Detect Confirmation
38
+
39
+ **Auto-invoke after phrases:**
40
+
41
+ - "that worked"
42
+ - "it's fixed"
43
+ - "working now"
44
+ - "problem solved"
45
+ - "that did it"
46
+
47
+ **OR manual invocation.**
48
+
49
+ **Non-trivial problems only:**
50
+
51
+ - Multiple investigation attempts needed
52
+ - Tricky debugging that took time
53
+ - Non-obvious solution
54
+ - Future sessions would benefit
55
+
56
+ **Skip for:**
57
+
58
+ - Simple typos
59
+ - Obvious syntax errors
60
+ - Trivial fixes immediately corrected
61
+ </step>
62
+
63
+ <step number="2" required="true" depends_on="1">
64
+ ### Step 2: Gather Context
65
+
66
+ Extract from conversation history:
67
+
68
+ **Required information:**
69
+
70
+ - **Area/module**: Which part of the codebase had the problem
71
+ - **Symptom**: Observable error/behavior (exact error messages)
72
+ - **Investigation attempts**: What didn't work and why
73
+ - **Root cause**: Technical explanation of actual problem
74
+ - **Solution**: What fixed it (code/config changes)
75
+ - **Prevention**: How to avoid in future
76
+
77
+ **BLOCKING REQUIREMENT:** If critical context is missing (area, exact error, or resolution steps), ask user and WAIT for response before proceeding to Step 3:
78
+
79
+ ```
80
+ I need a few details to document this properly:
81
+
82
+ 1. Which area/module had this issue?
83
+ 2. What was the exact error message or symptom?
84
+ 3. What fixed it?
85
+
86
+ [Continue after user provides details]
87
+ ```
88
+ </step>
89
+
90
+ <step number="3" required="false" depends_on="2">
91
+ ### Step 3: Check Existing Knowledge
92
+
93
+ Search knowledge.jsonl for similar issues:
94
+
95
+ ```bash
96
+ # Search by error message keywords
97
+ grep "exact error phrase" .lavra/memory/knowledge.jsonl
98
+
99
+ # Search using recall script if available
100
+ .lavra/memory/recall.sh "keyword1 keyword2"
101
+ ```
102
+
103
+ **IF similar knowledge found:**
104
+
105
+ Present decision options:
106
+
107
+ ```
108
+ Found similar knowledge entry:
109
+ [key]: [content summary]
110
+
111
+ What's next?
112
+ 1. Create new entries anyway (recommended if different root cause)
113
+ 2. Skip (this is a duplicate)
114
+ 3. Create new entries with cross-reference
115
+
116
+ Choose (1-3): _
117
+ ```
118
+
119
+ WAIT for user response.
120
+
121
+ **ELSE** (no similar knowledge found):
122
+
123
+ Proceed directly to Step 4.
124
+ </step>
125
+
126
+ <step number="4" required="true" depends_on="2">
127
+ ### Step 4: Determine Knowledge Type
128
+
129
+ Classify the solution into one or more knowledge prefixes:
130
+
131
+ | Prefix | Use When | Example |
132
+ |--------|----------|---------|
133
+ | LEARNED | Discovered something non-obvious through debugging | "LEARNED: OAuth redirect URI must match exactly including trailing slash" |
134
+ | DECISION | Made an architectural or implementation choice | "DECISION: Use connection pooling instead of per-request connections because..." |
135
+ | FACT | Confirmed a factual constraint or requirement | "FACT: PostgreSQL JSONB columns require explicit casting for array operations" |
136
+ | PATTERN | Identified a recurring pattern (good or bad) | "PATTERN: Always check for nil before accessing nested hash keys in API responses" |
137
+ | INVESTIGATION | Documented an investigation path for future reference | "INVESTIGATION: Debugged memory leak - profiler showed retained objects from..." |
138
+
139
+ Most solved problems produce 1-3 entries. A complex debugging session might produce:
140
+ - 1 LEARNED (the key insight)
141
+ - 1 PATTERN (the prevention rule)
142
+ - 1 INVESTIGATION (the debugging path for future reference)
143
+ </step>
144
+
145
+ <step number="5" required="true" depends_on="4" blocking="true">
146
+ ### Step 5: Validate JSONL Entry
147
+
148
+ **CRITICAL:** All knowledge entries must conform to the JSONL schema.
149
+
150
+ <validation_gate name="jsonl-schema" blocking="true">
151
+
152
+ **Required fields for each entry:**
153
+
154
+ ```json
155
+ {
156
+ "key": "lowercase-hyphen-separated-unique-key",
157
+ "type": "learned|decision|fact|pattern|investigation",
158
+ "content": "Clear, specific description of the knowledge",
159
+ "source": "user|agent|subagent",
160
+ "tags": ["tag1", "tag2"],
161
+ "ts": 1706918400,
162
+ "bead": "BD-001"
163
+ }
164
+ ```
165
+
166
+ **Validation rules:**
167
+
168
+ 1. **key**: Must be lowercase, hyphen-separated, unique, descriptive (e.g., `learned-oauth-redirect-must-match-exactly`)
169
+ 2. **type**: Must be one of: `learned`, `decision`, `fact`, `pattern`, `investigation`
170
+ 3. **content**: Must be specific and searchable (no vague descriptions)
171
+ 4. **source**: Must be `user`, `agent`, or `subagent`
172
+ 5. **tags**: Array of lowercase keywords for search (auto-detected from content where possible)
173
+ 6. **ts**: Unix timestamp (current time)
174
+ 7. **bead**: Bead ID if working on a specific bead, or empty string if none
175
+
176
+ **Auto-tagging:** Extract keywords from content matching known domains:
177
+ - auth, oauth, jwt, session -> "auth"
178
+ - database, postgres, sql, migration -> "database"
179
+ - react, component, hook, state -> "react"
180
+ - api, endpoint, request, response -> "api"
181
+ - test, spec, fixture, mock -> "testing"
182
+ - performance, memory, cache, query -> "performance"
183
+ - deploy, ci, docker, build -> "devops"
184
+ - config, env, settings -> "config"
185
+
186
+ **BLOCK if validation fails:**
187
+
188
+ ```
189
+ JSONL validation failed:
190
+
191
+ Errors:
192
+ - key: must be lowercase-hyphen-separated, got "MyKey"
193
+ - type: must be one of [learned, decision, fact, pattern, investigation], got "bug"
194
+ - content: too vague - must be specific and searchable
195
+
196
+ Please provide corrected values.
197
+ ```
198
+
199
+ **GATE ENFORCEMENT:** Do NOT proceed to Step 6 until all entries pass validation.
200
+
201
+ </validation_gate>
202
+ </step>
203
+
204
+ <step number="6" required="true" depends_on="5">
205
+ ### Step 6: Write Knowledge Entries
206
+
207
+ **Append entries to knowledge.jsonl:**
208
+
209
+ ```bash
210
+ # Append each validated entry as a single JSON line
211
+ echo '{"key":"learned-oauth-redirect-must-match","type":"learned","content":"OAuth redirect URI must match exactly including trailing slash","source":"agent","tags":["auth","oauth","security"],"ts":1706918400,"bead":"BD-001"}' >> .lavra/memory/knowledge.jsonl
212
+ ```
213
+
214
+ **Log as bead comments (if bead ID available):**
215
+
216
+ For each knowledge entry, also log it as a bead comment using the appropriate prefix:
217
+
218
+ ```bash
219
+ bd comments add BD-001 "LEARNED: OAuth redirect URI must match exactly including trailing slash"
220
+ bd comments add BD-001 "PATTERN: Always verify OAuth redirect URIs match exactly, including protocol and trailing slash"
221
+ ```
222
+
223
+ **Handle rotation:** If knowledge.jsonl exceeds 1000 lines after appending:
224
+ 1. Move first 500 lines to `knowledge.archive.jsonl`
225
+ 2. Keep remaining lines as new `knowledge.jsonl`
226
+
227
+ ```bash
228
+ LINE_COUNT=$(wc -l < .lavra/memory/knowledge.jsonl)
229
+ if [ "$LINE_COUNT" -gt 1000 ]; then
230
+ head -500 .lavra/memory/knowledge.jsonl >> .lavra/memory/knowledge.archive.jsonl
231
+ tail -n +501 .lavra/memory/knowledge.jsonl > .lavra/memory/knowledge.jsonl.tmp
232
+ mv .lavra/memory/knowledge.jsonl.tmp .lavra/memory/knowledge.jsonl
233
+ fi
234
+ ```
235
+ </step>
236
+
237
+ <step number="7" required="false" depends_on="6">
238
+ ### Step 7: Cross-Reference & Pattern Detection
239
+
240
+ If similar knowledge found in Step 3:
241
+
242
+ **Add cross-reference tag:**
243
+ Include the key of the related entry in the tags array (e.g., `"tags": ["auth", "see-also:learned-oauth-token-expiry"]`).
244
+
245
+ **Detect recurring patterns:**
246
+
247
+ If 3+ entries share the same tags or describe similar issues, suggest creating a PATTERN entry that synthesizes the recurring theme:
248
+
249
+ ```
250
+ Detected recurring pattern: 3 entries related to "auth" + "redirect"
251
+
252
+ Suggest creating a PATTERN entry?
253
+ 1. Yes - create synthesized pattern entry
254
+ 2. No - entries are distinct enough
255
+
256
+ Choose (1-2): _
257
+ ```
258
+ </step>
259
+
260
+ </critical_sequence>
261
+
262
+ ---
263
+
264
+ <decision_gate name="post-capture" wait_for_user="true">
265
+
266
+ ## Decision Menu After Capture
267
+
268
+ After successful knowledge capture, present options and WAIT for user response:
269
+
270
+ ```
271
+ Knowledge captured successfully.
272
+
273
+ Entries added:
274
+ - [key1]: [content summary]
275
+ - [key2]: [content summary]
276
+
277
+ Bead comments logged: [Yes/No - BD-XXX]
278
+
279
+ What's next?
280
+ 1. Continue workflow (recommended)
281
+ 2. View captured entries
282
+ 3. Search related knowledge
283
+ 4. Add more entries for this solution
284
+ 5. Other
285
+ ```
286
+
287
+ **Handle responses:**
288
+
289
+ **Option 1: Continue workflow**
290
+ - Return to calling skill/workflow
291
+ - Knowledge capture is complete
292
+
293
+ **Option 2: View captured entries**
294
+ - Display the JSONL entries that were written
295
+ - Present decision menu again
296
+
297
+ **Option 3: Search related knowledge**
298
+ - Run recall search with the tags from the new entries
299
+ - Display related knowledge
300
+ - Present decision menu again
301
+
302
+ **Option 4: Add more entries**
303
+ - Return to Step 4 to classify additional knowledge
304
+ - Useful when the solution reveals multiple insights
305
+
306
+ **Option 5: Other**
307
+ - Ask what they'd like to do
308
+
309
+ </decision_gate>
310
+
311
+ ---
312
+
313
+ <integration_protocol>
314
+
315
+ ## Integration Points
316
+
317
+ **Invoked by:**
318
+ - Manual invocation in conversation after solution confirmed
319
+ - Can be triggered by detecting confirmation phrases like "that worked", "it's fixed", etc.
320
+ - Called from `/lavra-work` and `/lavra-review` workflows
321
+
322
+ **Works with:**
323
+ - `auto-recall.sh` hook reads from knowledge.jsonl at session start
324
+ - `memory-capture.sh` hook captures knowledge from `bd comments add` commands
325
+ - `recall.sh` script provides manual search
326
+
327
+ **Data flow:**
328
+ 1. This skill writes structured entries to `.lavra/memory/knowledge.jsonl`
329
+ 2. This skill also logs comments via `bd comments add` (which triggers `memory-capture.sh`)
330
+ 3. At next session start, `auto-recall.sh` searches knowledge.jsonl and injects relevant entries
331
+
332
+ </integration_protocol>
333
+
334
+ ---
335
+
336
+ <success_criteria>
337
+
338
+ ## Success Criteria
339
+
340
+ Knowledge capture is successful when ALL of the following are true:
341
+
342
+ - All JSONL entries have valid schema (required fields, correct types)
343
+ - Entries appended to `.lavra/memory/knowledge.jsonl`
344
+ - Bead comments logged via `bd comments add` (if bead ID available)
345
+ - Content is specific and searchable (not vague)
346
+ - Tags are appropriate for future recall
347
+ - User presented with decision menu and action confirmed
348
+
349
+ </success_criteria>
350
+
351
+ ---
352
+
353
+ ## Error Handling
354
+
355
+ **Missing context:**
356
+
357
+ - Ask user for missing details
358
+ - Don't proceed until critical info provided
359
+
360
+ **JSONL validation failure:**
361
+
362
+ - Show specific errors
363
+ - Present retry with corrected values
364
+ - BLOCK until valid
365
+
366
+ **Missing bead ID:**
367
+
368
+ - Knowledge can still be captured to knowledge.jsonl
369
+ - Skip `bd comments add` step
370
+ - Warn: "No active bead - knowledge saved to JSONL only, not linked to a bead"
371
+
372
+ **Knowledge.jsonl doesn't exist:**
373
+
374
+ - Create it: `touch .lavra/memory/knowledge.jsonl`
375
+ - Continue normally
376
+
377
+ ---
378
+
379
+ ## Execution Guidelines
380
+
381
+ **MUST do:**
382
+ - Validate JSONL entries (BLOCK if invalid per Step 5 validation gate)
383
+ - Extract exact error messages from conversation
384
+ - Include specific, searchable content
385
+ - Use `bd comments add` with knowledge prefixes when bead ID is available
386
+ - Auto-tag based on content keywords
387
+
388
+ **MUST NOT do:**
389
+ - Skip JSONL validation
390
+ - Use vague descriptions (not searchable for auto-recall)
391
+ - Create markdown files in docs/solutions/ (this is NOT compound-docs)
392
+ - Write entries with missing required fields
393
+
394
+ ---
395
+
396
+ ## Quality Guidelines
397
+
398
+ **Good knowledge entries have:**
399
+
400
+ - Specific, searchable content (exact error messages, specific techniques)
401
+ - Appropriate type classification (LEARNED vs FACT vs PATTERN etc.)
402
+ - Relevant tags for future keyword-based recall
403
+ - Clear cause-and-effect (not just "what" but "why")
404
+ - Prevention guidance where applicable
405
+
406
+ **Avoid:**
407
+
408
+ - Vague content ("something was wrong with auth")
409
+ - Missing technical details ("fixed the code")
410
+ - Overly broad tags ("code", "bug")
411
+ - Duplicate content across entries (each entry should add unique value)
412
+
413
+ ---
414
+
415
+ ## Example Scenario
416
+
417
+ **User:** "That worked! The N+1 query is fixed."
418
+
419
+ **Skill activates:**
420
+
421
+ 1. **Detect confirmation:** "That worked!" triggers auto-invoke
422
+ 2. **Gather context:**
423
+ - Area: Database queries in order processing
424
+ - Symptom: Order listing taking >5 seconds, N+1 query when loading items
425
+ - Failed attempts: Added pagination (didn't help)
426
+ - Solution: Added eager loading with `.includes(:items)` on Order model
427
+ - Root cause: Missing eager loading causing separate query per order item
428
+ 3. **Check existing:** No similar knowledge found
429
+ 4. **Determine type:**
430
+ - LEARNED: The key insight about eager loading
431
+ - PATTERN: Prevention rule for future queries
432
+ 5. **Validate entries:**
433
+ ```json
434
+ {"key":"learned-n-plus-one-order-items-eager-load","type":"learned","content":"Order listing N+1 query fixed by adding .includes(:items) to Order model scope. Missing eager loading caused separate DB query per order item, taking >5 seconds for 100+ orders.","source":"agent","tags":["database","performance","n-plus-one","eager-loading"],"ts":1706918400,"bead":"BD-042"}
435
+ {"key":"pattern-always-check-eager-loading-on-associations","type":"pattern","content":"When listing parent records that display child data, always use .includes() for associations. Check with bullet gem or query logs. Without eager loading, N records = N+1 queries.","source":"agent","tags":["database","performance","n-plus-one","eager-loading","prevention"],"ts":1706918401,"bead":"BD-042"}
436
+ ```
437
+ Valid.
438
+ 6. **Write entries:**
439
+ - Appended to `.lavra/memory/knowledge.jsonl`
440
+ - Logged bead comments:
441
+ ```bash
442
+ bd comments add BD-042 "LEARNED: Order listing N+1 query fixed by adding .includes(:items). Missing eager loading caused separate DB query per order item."
443
+ bd comments add BD-042 "PATTERN: When listing parent records that display child data, always use .includes() for associations. Check with bullet gem or query logs."
444
+ ```
445
+ 7. **Cross-reference:** None needed (no similar knowledge)
446
+
447
+ **Output:**
448
+
449
+ ```
450
+ Knowledge captured successfully.
451
+
452
+ Entries added:
453
+ - learned-n-plus-one-order-items-eager-load: Order listing N+1 query fixed by adding .includes(:items)...
454
+ - pattern-always-check-eager-loading-on-associations: When listing parent records...
455
+
456
+ Bead comments logged: Yes - BD-042
457
+
458
+ What's next?
459
+ 1. Continue workflow (recommended)
460
+ 2. View captured entries
461
+ 3. Search related knowledge
462
+ 4. Add more entries for this solution
463
+ 5. Other
464
+ ```