@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,460 @@
1
+ ---
2
+ name: lavra-knowledge
3
+ 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."
4
+ allowed-tools: "- Read # Parse conversation context
5
+ - Write # Append to knowledge.jsonl
6
+ - Bash # Run bd commands, search knowledge
7
+ - Grep # Search existing knowledge"
8
+ preconditions: "- Problem has been solved (not in-progress)
9
+ - Solution has been verified working"
10
+ disable-model-invocation: true
11
+ ---
12
+
13
+ # lavra-knowledge Skill
14
+
15
+ **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.
16
+
17
+ ## Overview
18
+
19
+ This skill captures problem solutions immediately after confirmation, creating structured knowledge entries that:
20
+ - Are stored in `.lavra/memory/knowledge.jsonl` for auto-recall search
21
+ - Are logged as bead comments for traceability back to specific work items
22
+ - Use the five knowledge prefixes: LEARNED, DECISION, FACT, PATTERN, INVESTIGATION
23
+
24
+ **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.
25
+
26
+ ---
27
+
28
+ <critical_sequence name="knowledge-capture" enforce_order="strict">
29
+
30
+ ## 7-Step Process
31
+
32
+ <step number="1" required="true">
33
+ ### Step 1: Detect Confirmation
34
+
35
+ **Auto-invoke after phrases:**
36
+
37
+ - "that worked"
38
+ - "it's fixed"
39
+ - "working now"
40
+ - "problem solved"
41
+ - "that did it"
42
+
43
+ **OR manual invocation.**
44
+
45
+ **Non-trivial problems only:**
46
+
47
+ - Multiple investigation attempts needed
48
+ - Tricky debugging that took time
49
+ - Non-obvious solution
50
+ - Future sessions would benefit
51
+
52
+ **Skip for:**
53
+
54
+ - Simple typos
55
+ - Obvious syntax errors
56
+ - Trivial fixes immediately corrected
57
+ </step>
58
+
59
+ <step number="2" required="true" depends_on="1">
60
+ ### Step 2: Gather Context
61
+
62
+ Extract from conversation history:
63
+
64
+ **Required information:**
65
+
66
+ - **Area/module**: Which part of the codebase had the problem
67
+ - **Symptom**: Observable error/behavior (exact error messages)
68
+ - **Investigation attempts**: What didn't work and why
69
+ - **Root cause**: Technical explanation of actual problem
70
+ - **Solution**: What fixed it (code/config changes)
71
+ - **Prevention**: How to avoid in future
72
+
73
+ **BLOCKING REQUIREMENT:** If critical context is missing (area, exact error, or resolution steps), ask user and WAIT for response before proceeding to Step 3:
74
+
75
+ ```
76
+ I need a few details to document this properly:
77
+
78
+ 1. Which area/module had this issue?
79
+ 2. What was the exact error message or symptom?
80
+ 3. What fixed it?
81
+
82
+ [Continue after user provides details]
83
+ ```
84
+ </step>
85
+
86
+ <step number="3" required="false" depends_on="2">
87
+ ### Step 3: Check Existing Knowledge
88
+
89
+ Search knowledge.jsonl for similar issues:
90
+
91
+ ```bash
92
+ # Search by error message keywords
93
+ grep "exact error phrase" .lavra/memory/knowledge.jsonl
94
+
95
+ # Search using recall script if available
96
+ .lavra/memory/recall.sh "keyword1 keyword2"
97
+ ```
98
+
99
+ **IF similar knowledge found:**
100
+
101
+ Present decision options:
102
+
103
+ ```
104
+ Found similar knowledge entry:
105
+ [key]: [content summary]
106
+
107
+ What's next?
108
+ 1. Create new entries anyway (recommended if different root cause)
109
+ 2. Skip (this is a duplicate)
110
+ 3. Create new entries with cross-reference
111
+
112
+ Choose (1-3): _
113
+ ```
114
+
115
+ WAIT for user response.
116
+
117
+ **ELSE** (no similar knowledge found):
118
+
119
+ Proceed directly to Step 4.
120
+ </step>
121
+
122
+ <step number="4" required="true" depends_on="2">
123
+ ### Step 4: Determine Knowledge Type
124
+
125
+ Classify the solution into one or more knowledge prefixes:
126
+
127
+ | Prefix | Use When | Example |
128
+ |--------|----------|---------|
129
+ | LEARNED | Discovered something non-obvious through debugging | "LEARNED: OAuth redirect URI must match exactly including trailing slash" |
130
+ | DECISION | Made an architectural or implementation choice | "DECISION: Use connection pooling instead of per-request connections because..." |
131
+ | FACT | Confirmed a factual constraint or requirement | "FACT: PostgreSQL JSONB columns require explicit casting for array operations" |
132
+ | PATTERN | Identified a recurring pattern (good or bad) | "PATTERN: Always check for nil before accessing nested hash keys in API responses" |
133
+ | INVESTIGATION | Documented an investigation path for future reference | "INVESTIGATION: Debugged memory leak - profiler showed retained objects from..." |
134
+
135
+ Most solved problems produce 1-3 entries. A complex debugging session might produce:
136
+ - 1 LEARNED (the key insight)
137
+ - 1 PATTERN (the prevention rule)
138
+ - 1 INVESTIGATION (the debugging path for future reference)
139
+ </step>
140
+
141
+ <step number="5" required="true" depends_on="4" blocking="true">
142
+ ### Step 5: Validate JSONL Entry
143
+
144
+ **CRITICAL:** All knowledge entries must conform to the JSONL schema.
145
+
146
+ <validation_gate name="jsonl-schema" blocking="true">
147
+
148
+ **Required fields for each entry:**
149
+
150
+ ```json
151
+ {
152
+ "key": "lowercase-hyphen-separated-unique-key",
153
+ "type": "learned|decision|fact|pattern|investigation",
154
+ "content": "Clear, specific description of the knowledge",
155
+ "source": "user|agent|subagent",
156
+ "tags": ["tag1", "tag2"],
157
+ "ts": 1706918400,
158
+ "bead": "BD-001"
159
+ }
160
+ ```
161
+
162
+ **Validation rules:**
163
+
164
+ 1. **key**: Must be lowercase, hyphen-separated, unique, descriptive (e.g., `learned-oauth-redirect-must-match-exactly`)
165
+ 2. **type**: Must be one of: `learned`, `decision`, `fact`, `pattern`, `investigation`
166
+ 3. **content**: Must be specific and searchable (no vague descriptions)
167
+ 4. **source**: Must be `user`, `agent`, or `subagent`
168
+ 5. **tags**: Array of lowercase keywords for search (auto-detected from content where possible)
169
+ 6. **ts**: Unix timestamp (current time)
170
+ 7. **bead**: Bead ID if working on a specific bead, or empty string if none
171
+
172
+ **Auto-tagging:** Extract keywords from content matching known domains:
173
+ - auth, oauth, jwt, session -> "auth"
174
+ - database, postgres, sql, migration -> "database"
175
+ - react, component, hook, state -> "react"
176
+ - api, endpoint, request, response -> "api"
177
+ - test, spec, fixture, mock -> "testing"
178
+ - performance, memory, cache, query -> "performance"
179
+ - deploy, ci, docker, build -> "devops"
180
+ - config, env, settings -> "config"
181
+
182
+ **BLOCK if validation fails:**
183
+
184
+ ```
185
+ JSONL validation failed:
186
+
187
+ Errors:
188
+ - key: must be lowercase-hyphen-separated, got "MyKey"
189
+ - type: must be one of [learned, decision, fact, pattern, investigation], got "bug"
190
+ - content: too vague - must be specific and searchable
191
+
192
+ Please provide corrected values.
193
+ ```
194
+
195
+ **GATE ENFORCEMENT:** Do NOT proceed to Step 6 until all entries pass validation.
196
+
197
+ </validation_gate>
198
+ </step>
199
+
200
+ <step number="6" required="true" depends_on="5">
201
+ ### Step 6: Write Knowledge Entries
202
+
203
+ **Append entries to knowledge.jsonl:**
204
+
205
+ ```bash
206
+ # Append each validated entry as a single JSON line
207
+ 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
208
+ ```
209
+
210
+ **Log as bead comments (if bead ID available):**
211
+
212
+ For each knowledge entry, also log it as a bead comment using the appropriate prefix:
213
+
214
+ ```bash
215
+ bd comments add BD-001 "LEARNED: OAuth redirect URI must match exactly including trailing slash"
216
+ bd comments add BD-001 "PATTERN: Always verify OAuth redirect URIs match exactly, including protocol and trailing slash"
217
+ ```
218
+
219
+ **Handle rotation:** If knowledge.jsonl exceeds 1000 lines after appending:
220
+ 1. Move first 500 lines to `knowledge.archive.jsonl`
221
+ 2. Keep remaining lines as new `knowledge.jsonl`
222
+
223
+ ```bash
224
+ LINE_COUNT=$(wc -l < .lavra/memory/knowledge.jsonl)
225
+ if [ "$LINE_COUNT" -gt 1000 ]; then
226
+ head -500 .lavra/memory/knowledge.jsonl >> .lavra/memory/knowledge.archive.jsonl
227
+ tail -n +501 .lavra/memory/knowledge.jsonl > .lavra/memory/knowledge.jsonl.tmp
228
+ mv .lavra/memory/knowledge.jsonl.tmp .lavra/memory/knowledge.jsonl
229
+ fi
230
+ ```
231
+ </step>
232
+
233
+ <step number="7" required="false" depends_on="6">
234
+ ### Step 7: Cross-Reference & Pattern Detection
235
+
236
+ If similar knowledge found in Step 3:
237
+
238
+ **Add cross-reference tag:**
239
+ Include the key of the related entry in the tags array (e.g., `"tags": ["auth", "see-also:learned-oauth-token-expiry"]`).
240
+
241
+ **Detect recurring patterns:**
242
+
243
+ If 3+ entries share the same tags or describe similar issues, suggest creating a PATTERN entry that synthesizes the recurring theme:
244
+
245
+ ```
246
+ Detected recurring pattern: 3 entries related to "auth" + "redirect"
247
+
248
+ Suggest creating a PATTERN entry?
249
+ 1. Yes - create synthesized pattern entry
250
+ 2. No - entries are distinct enough
251
+
252
+ Choose (1-2): _
253
+ ```
254
+ </step>
255
+
256
+ </critical_sequence>
257
+
258
+ ---
259
+
260
+ <decision_gate name="post-capture" wait_for_user="true">
261
+
262
+ ## Decision Menu After Capture
263
+
264
+ After successful knowledge capture, present options and WAIT for user response:
265
+
266
+ ```
267
+ Knowledge captured successfully.
268
+
269
+ Entries added:
270
+ - [key1]: [content summary]
271
+ - [key2]: [content summary]
272
+
273
+ Bead comments logged: [Yes/No - BD-XXX]
274
+
275
+ What's next?
276
+ 1. Continue workflow (recommended)
277
+ 2. View captured entries
278
+ 3. Search related knowledge
279
+ 4. Add more entries for this solution
280
+ 5. Other
281
+ ```
282
+
283
+ **Handle responses:**
284
+
285
+ **Option 1: Continue workflow**
286
+ - Return to calling skill/workflow
287
+ - Knowledge capture is complete
288
+
289
+ **Option 2: View captured entries**
290
+ - Display the JSONL entries that were written
291
+ - Present decision menu again
292
+
293
+ **Option 3: Search related knowledge**
294
+ - Run recall search with the tags from the new entries
295
+ - Display related knowledge
296
+ - Present decision menu again
297
+
298
+ **Option 4: Add more entries**
299
+ - Return to Step 4 to classify additional knowledge
300
+ - Useful when the solution reveals multiple insights
301
+
302
+ **Option 5: Other**
303
+ - Ask what they'd like to do
304
+
305
+ </decision_gate>
306
+
307
+ ---
308
+
309
+ <integration_protocol>
310
+
311
+ ## Integration Points
312
+
313
+ **Invoked by:**
314
+ - Manual invocation in conversation after solution confirmed
315
+ - Can be triggered by detecting confirmation phrases like "that worked", "it's fixed", etc.
316
+ - Called from `/lavra-work` and `/lavra-review` workflows
317
+
318
+ **Works with:**
319
+ - `auto-recall.sh` hook reads from knowledge.jsonl at session start
320
+ - `memory-capture.sh` hook captures knowledge from `bd comments add` commands
321
+ - `recall.sh` script provides manual search
322
+
323
+ **Data flow:**
324
+ 1. This skill writes structured entries to `.lavra/memory/knowledge.jsonl`
325
+ 2. This skill also logs comments via `bd comments add` (which triggers `memory-capture.sh`)
326
+ 3. At next session start, `auto-recall.sh` searches knowledge.jsonl and injects relevant entries
327
+
328
+ </integration_protocol>
329
+
330
+ ---
331
+
332
+ <success_criteria>
333
+
334
+ ## Success Criteria
335
+
336
+ Knowledge capture is successful when ALL of the following are true:
337
+
338
+ - All JSONL entries have valid schema (required fields, correct types)
339
+ - Entries appended to `.lavra/memory/knowledge.jsonl`
340
+ - Bead comments logged via `bd comments add` (if bead ID available)
341
+ - Content is specific and searchable (not vague)
342
+ - Tags are appropriate for future recall
343
+ - User presented with decision menu and action confirmed
344
+
345
+ </success_criteria>
346
+
347
+ ---
348
+
349
+ ## Error Handling
350
+
351
+ **Missing context:**
352
+
353
+ - Ask user for missing details
354
+ - Don't proceed until critical info provided
355
+
356
+ **JSONL validation failure:**
357
+
358
+ - Show specific errors
359
+ - Present retry with corrected values
360
+ - BLOCK until valid
361
+
362
+ **Missing bead ID:**
363
+
364
+ - Knowledge can still be captured to knowledge.jsonl
365
+ - Skip `bd comments add` step
366
+ - Warn: "No active bead - knowledge saved to JSONL only, not linked to a bead"
367
+
368
+ **Knowledge.jsonl doesn't exist:**
369
+
370
+ - Create it: `touch .lavra/memory/knowledge.jsonl`
371
+ - Continue normally
372
+
373
+ ---
374
+
375
+ ## Execution Guidelines
376
+
377
+ **MUST do:**
378
+ - Validate JSONL entries (BLOCK if invalid per Step 5 validation gate)
379
+ - Extract exact error messages from conversation
380
+ - Include specific, searchable content
381
+ - Use `bd comments add` with knowledge prefixes when bead ID is available
382
+ - Auto-tag based on content keywords
383
+
384
+ **MUST NOT do:**
385
+ - Skip JSONL validation
386
+ - Use vague descriptions (not searchable for auto-recall)
387
+ - Create markdown files in docs/solutions/ (this is NOT compound-docs)
388
+ - Write entries with missing required fields
389
+
390
+ ---
391
+
392
+ ## Quality Guidelines
393
+
394
+ **Good knowledge entries have:**
395
+
396
+ - Specific, searchable content (exact error messages, specific techniques)
397
+ - Appropriate type classification (LEARNED vs FACT vs PATTERN etc.)
398
+ - Relevant tags for future keyword-based recall
399
+ - Clear cause-and-effect (not just "what" but "why")
400
+ - Prevention guidance where applicable
401
+
402
+ **Avoid:**
403
+
404
+ - Vague content ("something was wrong with auth")
405
+ - Missing technical details ("fixed the code")
406
+ - Overly broad tags ("code", "bug")
407
+ - Duplicate content across entries (each entry should add unique value)
408
+
409
+ ---
410
+
411
+ ## Example Scenario
412
+
413
+ **User:** "That worked! The N+1 query is fixed."
414
+
415
+ **Skill activates:**
416
+
417
+ 1. **Detect confirmation:** "That worked!" triggers auto-invoke
418
+ 2. **Gather context:**
419
+ - Area: Database queries in order processing
420
+ - Symptom: Order listing taking >5 seconds, N+1 query when loading items
421
+ - Failed attempts: Added pagination (didn't help)
422
+ - Solution: Added eager loading with `.includes(:items)` on Order model
423
+ - Root cause: Missing eager loading causing separate query per order item
424
+ 3. **Check existing:** No similar knowledge found
425
+ 4. **Determine type:**
426
+ - LEARNED: The key insight about eager loading
427
+ - PATTERN: Prevention rule for future queries
428
+ 5. **Validate entries:**
429
+ ```json
430
+ {"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"}
431
+ {"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"}
432
+ ```
433
+ Valid.
434
+ 6. **Write entries:**
435
+ - Appended to `.lavra/memory/knowledge.jsonl`
436
+ - Logged bead comments:
437
+ ```bash
438
+ 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."
439
+ 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."
440
+ ```
441
+ 7. **Cross-reference:** None needed (no similar knowledge)
442
+
443
+ **Output:**
444
+
445
+ ```
446
+ Knowledge captured successfully.
447
+
448
+ Entries added:
449
+ - learned-n-plus-one-order-items-eager-load: Order listing N+1 query fixed by adding .includes(:items)...
450
+ - pattern-always-check-eager-loading-on-associations: When listing parent records...
451
+
452
+ Bead comments logged: Yes - BD-042
453
+
454
+ What's next?
455
+ 1. Continue workflow (recommended)
456
+ 2. View captured entries
457
+ 3. Search related knowledge
458
+ 4. Add more entries for this solution
459
+ 5. Other
460
+ ```
@@ -0,0 +1,104 @@
1
+ # Knowledge JSONL Schema
2
+
3
+ **Storage location:** `.lavra/memory/knowledge.jsonl`
4
+
5
+ Each line in the JSONL file is a complete, valid JSON object representing one knowledge entry.
6
+
7
+ ## Required Fields
8
+
9
+ - **key** (string): Unique identifier, lowercase-hyphen-separated. Format: `{type}-{descriptive-slug}` (e.g., `learned-oauth-redirect-must-match-exactly`)
10
+ - **type** (enum): One of `learned`, `decision`, `fact`, `pattern`, `investigation`
11
+ - **content** (string): Clear, specific description of the knowledge. Must be searchable -- include exact error messages, specific techniques, and cause-effect explanations.
12
+ - **source** (enum): One of `user`, `agent`, `subagent`
13
+ - **tags** (array of strings): Lowercase keywords for search. Auto-detected from content where possible. Maximum 8 tags.
14
+ - **ts** (integer): Unix timestamp of when the knowledge was captured
15
+ - **bead** (string): Bead ID (e.g., `BD-001`) if linked to a specific bead, or empty string `""` if not linked
16
+
17
+ ## Knowledge Type Definitions
18
+
19
+ | Type | Description | Use When |
20
+ |------|-------------|----------|
21
+ | `learned` | Non-obvious insight discovered through debugging or investigation | You discovered something that would save future sessions time |
22
+ | `decision` | Architectural or implementation choice with rationale | A deliberate choice was made between alternatives |
23
+ | `fact` | Confirmed factual constraint, requirement, or behavior | A hard truth about the system, API, or framework |
24
+ | `pattern` | Recurring pattern (positive or negative) to follow or avoid | A rule that should be applied consistently |
25
+ | `investigation` | Investigation path and findings for future reference | The debugging journey itself has value for similar future issues |
26
+
27
+ ## Validation Rules
28
+
29
+ 1. **key** must be lowercase, hyphen-separated, and descriptive
30
+ 2. **type** must be one of the five allowed values (case-sensitive)
31
+ 3. **content** must be specific and searchable (no vague descriptions like "fixed a bug")
32
+ 4. **source** must be one of: `user`, `agent`, `subagent`
33
+ 5. **tags** must be an array of lowercase strings, max 8 items
34
+ 6. **ts** must be a valid Unix timestamp (integer)
35
+ 7. **bead** must be a string (bead ID or empty string)
36
+
37
+ ## Auto-Tag Detection
38
+
39
+ When writing entries, detect keywords in content and auto-add relevant tags:
40
+
41
+ | Keywords in Content | Auto-Tag |
42
+ |---------------------|----------|
43
+ | auth, oauth, jwt, session, login, token | `auth` |
44
+ | database, postgres, sql, migration, query, index | `database` |
45
+ | react, component, hook, state, render | `react` |
46
+ | api, endpoint, request, response, rest, graphql | `api` |
47
+ | test, spec, fixture, mock, assert | `testing` |
48
+ | performance, memory, cache, n+1, slow, optimize | `performance` |
49
+ | deploy, ci, docker, build, pipeline | `devops` |
50
+ | config, env, settings, environment | `config` |
51
+ | security, xss, csrf, injection, vulnerability | `security` |
52
+ | css, style, layout, responsive, tailwind | `frontend` |
53
+ | error, exception, crash, timeout, retry | `errors` |
54
+ | git, branch, merge, rebase, worktree | `git` |
55
+
56
+ ## Example Valid Entries
57
+
58
+ ```jsonl
59
+ {"key":"learned-oauth-redirect-must-match-exactly","type":"learned","content":"OAuth redirect URI must match exactly including trailing slash. Mismatched URI causes silent auth failure with no error message in logs.","source":"agent","tags":["auth","oauth","security"],"ts":1706918400,"bead":"BD-001"}
60
+ {"key":"decision-use-connection-pooling","type":"decision","content":"Chose connection pooling over per-request connections for database access. Per-request was causing connection exhaustion under load (>50 concurrent users). PgBouncer in transaction mode solved it.","source":"user","tags":["database","performance","config"],"ts":1706918500,"bead":"BD-002"}
61
+ {"key":"fact-postgres-jsonb-array-cast","type":"fact","content":"PostgreSQL JSONB columns require explicit casting for array operations. Use jsonb_array_elements() for iteration, not direct array syntax. Without cast, query returns empty result instead of error.","source":"agent","tags":["database","postgres"],"ts":1706918600,"bead":"BD-003"}
62
+ {"key":"pattern-check-nil-before-nested-hash","type":"pattern","content":"Always use dig() or safe navigation (&.) when accessing nested hash keys in API responses. Direct access raises NoMethodError on nil, which crashes background jobs silently.","source":"agent","tags":["api","errors","pattern"],"ts":1706918700,"bead":"BD-004"}
63
+ {"key":"investigation-memory-leak-retained-objects","type":"investigation","content":"Debugged memory leak in worker process. Profiler (memory_profiler gem) showed retained String objects from log formatting. Logger was interpolating large request bodies into debug messages even when debug level was disabled. Fix: wrap debug logs in block form logger.debug { expensive_string }.","source":"agent","tags":["performance","memory","investigation"],"ts":1706918800,"bead":"BD-005"}
64
+ ```
65
+
66
+ ## Rotation Policy
67
+
68
+ When `knowledge.jsonl` exceeds 1000 lines:
69
+ 1. First 500 lines are appended to `knowledge.archive.jsonl`
70
+ 2. Remaining 500 lines become the new `knowledge.jsonl`
71
+ 3. Use `recall.sh --all` to search both current and archive
72
+
73
+ ## Bead Comment Mapping
74
+
75
+ Each knowledge entry type maps to a bead comment prefix:
76
+
77
+ | Entry Type | Bead Comment Prefix |
78
+ |------------|---------------------|
79
+ | `learned` | `LEARNED:` |
80
+ | `decision` | `DECISION:` |
81
+ | `fact` | `FACT:` |
82
+ | `pattern` | `PATTERN:` |
83
+ | `investigation` | `INVESTIGATION:` |
84
+
85
+ When logging to both knowledge.jsonl AND bead comments:
86
+
87
+ ```bash
88
+ # JSONL entry
89
+ echo '{"key":"learned-example","type":"learned","content":"...","source":"agent","tags":["tag"],"ts":1706918400,"bead":"BD-001"}' >> .lavra/memory/knowledge.jsonl
90
+
91
+ # Corresponding bead comment
92
+ bd comments add BD-001 "LEARNED: [content from entry]"
93
+ ```
94
+
95
+ ## Search Behavior
96
+
97
+ The `auto-recall.sh` hook searches knowledge.jsonl using these strategies:
98
+
99
+ 1. Extract keywords (4+ chars) from open/in-progress bead titles
100
+ 2. Add keywords from git branch name
101
+ 3. Search knowledge.jsonl for each keyword (case-insensitive grep)
102
+ 4. Deduplicate results
103
+ 5. Return top 10 most relevant entries
104
+ 6. Fall back to 10 most recent entries if no search terms