@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.
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/bin/install.js +302 -0
- package/bin/plan-export.js +300 -0
- package/bin/plan-view.js +695 -0
- package/install.sh +136 -0
- package/package.json +28 -0
- package/plugins/lavra/.claude-plugin/plugin.json +22 -0
- package/plugins/lavra/.mcp.json +8 -0
- package/plugins/lavra/README.md +125 -0
- package/plugins/lavra/agents/design/design-implementation-reviewer.md +123 -0
- package/plugins/lavra/agents/design/design-iterator.md +219 -0
- package/plugins/lavra/agents/design/figma-design-sync.md +212 -0
- package/plugins/lavra/agents/docs/ankane-readme-writer.md +90 -0
- package/plugins/lavra/agents/research/best-practices-researcher.md +131 -0
- package/plugins/lavra/agents/research/framework-docs-researcher.md +111 -0
- package/plugins/lavra/agents/research/git-history-analyzer.md +73 -0
- package/plugins/lavra/agents/research/learnings-researcher.md +255 -0
- package/plugins/lavra/agents/research/repo-research-analyst.md +157 -0
- package/plugins/lavra/agents/review/agent-native-reviewer.md +274 -0
- package/plugins/lavra/agents/review/architecture-strategist.md +82 -0
- package/plugins/lavra/agents/review/code-simplicity-reviewer.md +109 -0
- package/plugins/lavra/agents/review/data-integrity-guardian.md +89 -0
- package/plugins/lavra/agents/review/data-migration-expert.md +118 -0
- package/plugins/lavra/agents/review/deployment-verification-agent.md +178 -0
- package/plugins/lavra/agents/review/dhh-rails-reviewer.md +94 -0
- package/plugins/lavra/agents/review/goal-verifier.md +109 -0
- package/plugins/lavra/agents/review/julik-frontend-races-reviewer.md +239 -0
- package/plugins/lavra/agents/review/kieran-python-reviewer.md +148 -0
- package/plugins/lavra/agents/review/kieran-rails-reviewer.md +130 -0
- package/plugins/lavra/agents/review/kieran-typescript-reviewer.md +139 -0
- package/plugins/lavra/agents/review/migration-drift-detector.md +307 -0
- package/plugins/lavra/agents/review/pattern-recognition-specialist.md +87 -0
- package/plugins/lavra/agents/review/performance-oracle.md +154 -0
- package/plugins/lavra/agents/review/security-sentinel.md +125 -0
- package/plugins/lavra/agents/workflow/bug-reproduction-validator.md +119 -0
- package/plugins/lavra/agents/workflow/every-style-editor.md +97 -0
- package/plugins/lavra/agents/workflow/lint.md +30 -0
- package/plugins/lavra/agents/workflow/pr-comment-resolver.md +95 -0
- package/plugins/lavra/agents/workflow/spec-flow-analyzer.md +156 -0
- package/plugins/lavra/commands/changelog.md +149 -0
- package/plugins/lavra/commands/heal-skill.md +130 -0
- package/plugins/lavra/commands/lavra-brainstorm.md +388 -0
- package/plugins/lavra/commands/lavra-ceo-review.md +388 -0
- package/plugins/lavra/commands/lavra-checkpoint.md +162 -0
- package/plugins/lavra/commands/lavra-design.md +621 -0
- package/plugins/lavra/commands/lavra-eng-review.md +262 -0
- package/plugins/lavra/commands/lavra-import.md +194 -0
- package/plugins/lavra/commands/lavra-learn.md +176 -0
- package/plugins/lavra/commands/lavra-plan.md +515 -0
- package/plugins/lavra/commands/lavra-qa.md +357 -0
- package/plugins/lavra/commands/lavra-quick.md +178 -0
- package/plugins/lavra/commands/lavra-recall.md +279 -0
- package/plugins/lavra/commands/lavra-research.md +267 -0
- package/plugins/lavra/commands/lavra-retro.md +400 -0
- package/plugins/lavra/commands/lavra-review.md +401 -0
- package/plugins/lavra/commands/lavra-ship.md +330 -0
- package/plugins/lavra/commands/lavra-triage.md +159 -0
- package/plugins/lavra/commands/lavra-work-ralph.md +521 -0
- package/plugins/lavra/commands/lavra-work-teams.md +504 -0
- package/plugins/lavra/commands/lavra-work.md +1019 -0
- package/plugins/lavra/commands/optional/agent-native-audit.md +282 -0
- package/plugins/lavra/commands/optional/feature-video.md +262 -0
- package/plugins/lavra/commands/optional/generate-command.md +146 -0
- package/plugins/lavra/commands/optional/reproduce-bug.md +97 -0
- package/plugins/lavra/commands/optional/xcode-test.md +287 -0
- package/plugins/lavra/commands/report-bug.md +155 -0
- package/plugins/lavra/commands/test-browser.md +305 -0
- package/plugins/lavra/cortex/agents/design/design-implementation-reviewer.md +127 -0
- package/plugins/lavra/cortex/agents/design/design-iterator.md +222 -0
- package/plugins/lavra/cortex/agents/design/figma-design-sync.md +215 -0
- package/plugins/lavra/cortex/agents/docs/ankane-readme-writer.md +93 -0
- package/plugins/lavra/cortex/agents/research/best-practices-researcher.md +135 -0
- package/plugins/lavra/cortex/agents/research/framework-docs-researcher.md +115 -0
- package/plugins/lavra/cortex/agents/research/git-history-analyzer.md +77 -0
- package/plugins/lavra/cortex/agents/research/learnings-researcher.md +259 -0
- package/plugins/lavra/cortex/agents/research/repo-research-analyst.md +161 -0
- package/plugins/lavra/cortex/agents/review/agent-native-reviewer.md +278 -0
- package/plugins/lavra/cortex/agents/review/architecture-strategist.md +86 -0
- package/plugins/lavra/cortex/agents/review/code-simplicity-reviewer.md +113 -0
- package/plugins/lavra/cortex/agents/review/data-integrity-guardian.md +93 -0
- package/plugins/lavra/cortex/agents/review/data-migration-expert.md +122 -0
- package/plugins/lavra/cortex/agents/review/deployment-verification-agent.md +182 -0
- package/plugins/lavra/cortex/agents/review/dhh-rails-reviewer.md +98 -0
- package/plugins/lavra/cortex/agents/review/goal-verifier.md +113 -0
- package/plugins/lavra/cortex/agents/review/julik-frontend-races-reviewer.md +243 -0
- package/plugins/lavra/cortex/agents/review/kieran-python-reviewer.md +152 -0
- package/plugins/lavra/cortex/agents/review/kieran-rails-reviewer.md +134 -0
- package/plugins/lavra/cortex/agents/review/kieran-typescript-reviewer.md +143 -0
- package/plugins/lavra/cortex/agents/review/migration-drift-detector.md +311 -0
- package/plugins/lavra/cortex/agents/review/pattern-recognition-specialist.md +91 -0
- package/plugins/lavra/cortex/agents/review/performance-oracle.md +158 -0
- package/plugins/lavra/cortex/agents/review/security-sentinel.md +129 -0
- package/plugins/lavra/cortex/agents/workflow/bug-reproduction-validator.md +123 -0
- package/plugins/lavra/cortex/agents/workflow/every-style-editor.md +101 -0
- package/plugins/lavra/cortex/agents/workflow/lint.md +33 -0
- package/plugins/lavra/cortex/agents/workflow/pr-comment-resolver.md +98 -0
- package/plugins/lavra/cortex/agents/workflow/spec-flow-analyzer.md +160 -0
- package/plugins/lavra/cortex/commands/agent-native-audit.md +286 -0
- package/plugins/lavra/cortex/commands/changelog.md +153 -0
- package/plugins/lavra/cortex/commands/create-agent-skill.md +21 -0
- package/plugins/lavra/cortex/commands/deploy-docs.md +69 -0
- package/plugins/lavra/cortex/commands/feature-video.md +266 -0
- package/plugins/lavra/cortex/commands/generate-command.md +150 -0
- package/plugins/lavra/cortex/commands/heal-skill.md +134 -0
- package/plugins/lavra/cortex/commands/lavra-brainstorm.md +392 -0
- package/plugins/lavra/cortex/commands/lavra-ceo-review.md +392 -0
- package/plugins/lavra/cortex/commands/lavra-checkpoint.md +166 -0
- package/plugins/lavra/cortex/commands/lavra-compound.md +168 -0
- package/plugins/lavra/cortex/commands/lavra-deepen.md +389 -0
- package/plugins/lavra/cortex/commands/lavra-design.md +625 -0
- package/plugins/lavra/cortex/commands/lavra-eng-review.md +266 -0
- package/plugins/lavra/cortex/commands/lavra-import.md +198 -0
- package/plugins/lavra/cortex/commands/lavra-learn.md +180 -0
- package/plugins/lavra/cortex/commands/lavra-parallel.md +910 -0
- package/plugins/lavra/cortex/commands/lavra-plan.md +519 -0
- package/plugins/lavra/cortex/commands/lavra-qa.md +361 -0
- package/plugins/lavra/cortex/commands/lavra-quick.md +182 -0
- package/plugins/lavra/cortex/commands/lavra-recall.md +283 -0
- package/plugins/lavra/cortex/commands/lavra-research.md +271 -0
- package/plugins/lavra/cortex/commands/lavra-retro.md +404 -0
- package/plugins/lavra/cortex/commands/lavra-review.md +405 -0
- package/plugins/lavra/cortex/commands/lavra-ship.md +334 -0
- package/plugins/lavra/cortex/commands/lavra-triage.md +163 -0
- package/plugins/lavra/cortex/commands/lavra-work-ralph.md +525 -0
- package/plugins/lavra/cortex/commands/lavra-work-teams.md +508 -0
- package/plugins/lavra/cortex/commands/lavra-work.md +1023 -0
- package/plugins/lavra/cortex/commands/lfg.md +30 -0
- package/plugins/lavra/cortex/commands/release-docs.md +148 -0
- package/plugins/lavra/cortex/commands/report-bug.md +159 -0
- package/plugins/lavra/cortex/commands/reproduce-bug.md +101 -0
- package/plugins/lavra/cortex/commands/resolve-pr-parallel.md +58 -0
- package/plugins/lavra/cortex/commands/resolve-todo-parallel.md +56 -0
- package/plugins/lavra/cortex/commands/test-browser.md +309 -0
- package/plugins/lavra/cortex/commands/xcode-test.md +291 -0
- package/plugins/lavra/cortex/skills/agent-browser/SKILL.md +227 -0
- package/plugins/lavra/cortex/skills/agent-native-architecture/SKILL.md +439 -0
- package/plugins/lavra/cortex/skills/andrew-kane-gem-writer/SKILL.md +188 -0
- package/plugins/lavra/cortex/skills/brainstorming/SKILL.md +197 -0
- package/plugins/lavra/cortex/skills/create-agent-skills/SKILL.md +304 -0
- package/plugins/lavra/cortex/skills/dhh-rails-style/SKILL.md +189 -0
- package/plugins/lavra/cortex/skills/dspy-ruby/SKILL.md +741 -0
- package/plugins/lavra/cortex/skills/every-style-editor/SKILL.md +138 -0
- package/plugins/lavra/cortex/skills/file-todos/SKILL.md +256 -0
- package/plugins/lavra/cortex/skills/frontend-design/SKILL.md +46 -0
- package/plugins/lavra/cortex/skills/gemini-imagegen/SKILL.md +242 -0
- package/plugins/lavra/cortex/skills/git-worktree/SKILL.md +307 -0
- package/plugins/lavra/cortex/skills/lavra-knowledge/SKILL.md +464 -0
- package/plugins/lavra/cortex/skills/project-setup/SKILL.md +418 -0
- package/plugins/lavra/cortex/skills/rclone/SKILL.md +155 -0
- package/plugins/lavra/docs/quickstart.md +267 -0
- package/plugins/lavra/examples/example-plan.md +197 -0
- package/plugins/lavra/gemini/agents/design/design-implementation-reviewer.md +130 -0
- package/plugins/lavra/gemini/agents/design/design-iterator.md +225 -0
- package/plugins/lavra/gemini/agents/design/figma-design-sync.md +218 -0
- package/plugins/lavra/gemini/agents/docs/ankane-readme-writer.md +96 -0
- package/plugins/lavra/gemini/agents/research/best-practices-researcher.md +138 -0
- package/plugins/lavra/gemini/agents/research/framework-docs-researcher.md +118 -0
- package/plugins/lavra/gemini/agents/research/git-history-analyzer.md +80 -0
- package/plugins/lavra/gemini/agents/research/learnings-researcher.md +262 -0
- package/plugins/lavra/gemini/agents/research/repo-research-analyst.md +164 -0
- package/plugins/lavra/gemini/agents/review/agent-native-reviewer.md +281 -0
- package/plugins/lavra/gemini/agents/review/architecture-strategist.md +89 -0
- package/plugins/lavra/gemini/agents/review/code-simplicity-reviewer.md +116 -0
- package/plugins/lavra/gemini/agents/review/data-integrity-guardian.md +96 -0
- package/plugins/lavra/gemini/agents/review/data-migration-expert.md +125 -0
- package/plugins/lavra/gemini/agents/review/deployment-verification-agent.md +185 -0
- package/plugins/lavra/gemini/agents/review/dhh-rails-reviewer.md +101 -0
- package/plugins/lavra/gemini/agents/review/goal-verifier.md +116 -0
- package/plugins/lavra/gemini/agents/review/julik-frontend-races-reviewer.md +246 -0
- package/plugins/lavra/gemini/agents/review/kieran-python-reviewer.md +155 -0
- package/plugins/lavra/gemini/agents/review/kieran-rails-reviewer.md +137 -0
- package/plugins/lavra/gemini/agents/review/kieran-typescript-reviewer.md +146 -0
- package/plugins/lavra/gemini/agents/review/migration-drift-detector.md +314 -0
- package/plugins/lavra/gemini/agents/review/pattern-recognition-specialist.md +94 -0
- package/plugins/lavra/gemini/agents/review/performance-oracle.md +161 -0
- package/plugins/lavra/gemini/agents/review/security-sentinel.md +132 -0
- package/plugins/lavra/gemini/agents/workflow/bug-reproduction-validator.md +126 -0
- package/plugins/lavra/gemini/agents/workflow/every-style-editor.md +103 -0
- package/plugins/lavra/gemini/agents/workflow/lint.md +36 -0
- package/plugins/lavra/gemini/agents/workflow/pr-comment-resolver.md +101 -0
- package/plugins/lavra/gemini/agents/workflow/spec-flow-analyzer.md +163 -0
- package/plugins/lavra/gemini/commands/agent-native-audit.toml +284 -0
- package/plugins/lavra/gemini/commands/beads-brainstorm.toml +292 -0
- package/plugins/lavra/gemini/commands/beads-checkpoint.toml +145 -0
- package/plugins/lavra/gemini/commands/beads-compound.toml +167 -0
- package/plugins/lavra/gemini/commands/beads-deepen.toml +388 -0
- package/plugins/lavra/gemini/commands/beads-design.toml +295 -0
- package/plugins/lavra/gemini/commands/beads-import.toml +197 -0
- package/plugins/lavra/gemini/commands/beads-parallel.toml +909 -0
- package/plugins/lavra/gemini/commands/beads-plan-review.toml +201 -0
- package/plugins/lavra/gemini/commands/beads-plan.toml +391 -0
- package/plugins/lavra/gemini/commands/beads-quick.toml +134 -0
- package/plugins/lavra/gemini/commands/beads-recall.toml +281 -0
- package/plugins/lavra/gemini/commands/beads-review.toml +338 -0
- package/plugins/lavra/gemini/commands/beads-triage.toml +161 -0
- package/plugins/lavra/gemini/commands/beads-work.toml +347 -0
- package/plugins/lavra/gemini/commands/changelog.toml +151 -0
- package/plugins/lavra/gemini/commands/create-agent-skill.toml +18 -0
- package/plugins/lavra/gemini/commands/deploy-docs.toml +68 -0
- package/plugins/lavra/gemini/commands/feature-video.toml +264 -0
- package/plugins/lavra/gemini/commands/generate-command.toml +148 -0
- package/plugins/lavra/gemini/commands/heal-skill.toml +131 -0
- package/plugins/lavra/gemini/commands/lavra-brainstorm.toml +391 -0
- package/plugins/lavra/gemini/commands/lavra-ceo-review.toml +391 -0
- package/plugins/lavra/gemini/commands/lavra-checkpoint.toml +165 -0
- package/plugins/lavra/gemini/commands/lavra-design.toml +624 -0
- package/plugins/lavra/gemini/commands/lavra-eng-review.toml +265 -0
- package/plugins/lavra/gemini/commands/lavra-import.toml +197 -0
- package/plugins/lavra/gemini/commands/lavra-learn.toml +179 -0
- package/plugins/lavra/gemini/commands/lavra-plan-review.toml +201 -0
- package/plugins/lavra/gemini/commands/lavra-plan.toml +518 -0
- package/plugins/lavra/gemini/commands/lavra-qa.toml +360 -0
- package/plugins/lavra/gemini/commands/lavra-quick.toml +181 -0
- package/plugins/lavra/gemini/commands/lavra-recall.toml +281 -0
- package/plugins/lavra/gemini/commands/lavra-research.toml +270 -0
- package/plugins/lavra/gemini/commands/lavra-retro.toml +403 -0
- package/plugins/lavra/gemini/commands/lavra-review.toml +404 -0
- package/plugins/lavra/gemini/commands/lavra-ship.toml +333 -0
- package/plugins/lavra/gemini/commands/lavra-triage.toml +161 -0
- package/plugins/lavra/gemini/commands/lavra-work-ralph.toml +523 -0
- package/plugins/lavra/gemini/commands/lavra-work-teams.toml +507 -0
- package/plugins/lavra/gemini/commands/lavra-work.toml +1022 -0
- package/plugins/lavra/gemini/commands/lfg.toml +28 -0
- package/plugins/lavra/gemini/commands/release-docs.toml +146 -0
- package/plugins/lavra/gemini/commands/report-bug.toml +157 -0
- package/plugins/lavra/gemini/commands/reproduce-bug.toml +99 -0
- package/plugins/lavra/gemini/commands/resolve-pr-parallel.toml +56 -0
- package/plugins/lavra/gemini/commands/resolve-todo-parallel.toml +54 -0
- package/plugins/lavra/gemini/commands/test-browser.toml +307 -0
- package/plugins/lavra/gemini/commands/xcode-test.toml +289 -0
- package/plugins/lavra/gemini/docs/MCP_SETUP.md +41 -0
- package/plugins/lavra/gemini/skills/agent-browser/SKILL.md +227 -0
- package/plugins/lavra/gemini/skills/agent-native-architecture/SKILL.md +439 -0
- package/plugins/lavra/gemini/skills/andrew-kane-gem-writer/SKILL.md +188 -0
- package/plugins/lavra/gemini/skills/beads-knowledge/SKILL.md +464 -0
- package/plugins/lavra/gemini/skills/brainstorming/SKILL.md +197 -0
- package/plugins/lavra/gemini/skills/create-agent-skills/SKILL.md +304 -0
- package/plugins/lavra/gemini/skills/dhh-rails-style/SKILL.md +189 -0
- package/plugins/lavra/gemini/skills/dspy-ruby/SKILL.md +741 -0
- package/plugins/lavra/gemini/skills/every-style-editor/SKILL.md +138 -0
- package/plugins/lavra/gemini/skills/file-todos/SKILL.md +256 -0
- package/plugins/lavra/gemini/skills/frontend-design/SKILL.md +46 -0
- package/plugins/lavra/gemini/skills/gemini-imagegen/SKILL.md +242 -0
- package/plugins/lavra/gemini/skills/git-worktree/SKILL.md +307 -0
- package/plugins/lavra/gemini/skills/lavra-knowledge/SKILL.md +464 -0
- package/plugins/lavra/gemini/skills/project-setup/SKILL.md +418 -0
- package/plugins/lavra/gemini/skills/rclone/SKILL.md +155 -0
- package/plugins/lavra/gemini-extension.json +50 -0
- package/plugins/lavra/gemini-src/settings.json +37 -0
- package/plugins/lavra/hooks/auto-recall.sh +210 -0
- package/plugins/lavra/hooks/check-memory.sh +169 -0
- package/plugins/lavra/hooks/hooks.json +47 -0
- package/plugins/lavra/hooks/knowledge-db.sh +255 -0
- package/plugins/lavra/hooks/memory-capture.sh +132 -0
- package/plugins/lavra/hooks/provision-memory.sh +144 -0
- package/plugins/lavra/hooks/recall.sh +152 -0
- package/plugins/lavra/hooks/subagent-wrapup.sh +44 -0
- package/plugins/lavra/hooks/teammate-idle-check.sh +29 -0
- package/plugins/lavra/opencode/agents/design/design-implementation-reviewer.md +127 -0
- package/plugins/lavra/opencode/agents/design/design-iterator.md +222 -0
- package/plugins/lavra/opencode/agents/design/figma-design-sync.md +215 -0
- package/plugins/lavra/opencode/agents/docs/ankane-readme-writer.md +93 -0
- package/plugins/lavra/opencode/agents/research/best-practices-researcher.md +135 -0
- package/plugins/lavra/opencode/agents/research/framework-docs-researcher.md +115 -0
- package/plugins/lavra/opencode/agents/research/git-history-analyzer.md +77 -0
- package/plugins/lavra/opencode/agents/research/learnings-researcher.md +259 -0
- package/plugins/lavra/opencode/agents/research/repo-research-analyst.md +161 -0
- package/plugins/lavra/opencode/agents/review/agent-native-reviewer.md +278 -0
- package/plugins/lavra/opencode/agents/review/architecture-strategist.md +86 -0
- package/plugins/lavra/opencode/agents/review/code-simplicity-reviewer.md +113 -0
- package/plugins/lavra/opencode/agents/review/data-integrity-guardian.md +93 -0
- package/plugins/lavra/opencode/agents/review/data-migration-expert.md +122 -0
- package/plugins/lavra/opencode/agents/review/deployment-verification-agent.md +182 -0
- package/plugins/lavra/opencode/agents/review/dhh-rails-reviewer.md +98 -0
- package/plugins/lavra/opencode/agents/review/goal-verifier.md +113 -0
- package/plugins/lavra/opencode/agents/review/julik-frontend-races-reviewer.md +243 -0
- package/plugins/lavra/opencode/agents/review/kieran-python-reviewer.md +152 -0
- package/plugins/lavra/opencode/agents/review/kieran-rails-reviewer.md +134 -0
- package/plugins/lavra/opencode/agents/review/kieran-typescript-reviewer.md +143 -0
- package/plugins/lavra/opencode/agents/review/migration-drift-detector.md +311 -0
- package/plugins/lavra/opencode/agents/review/pattern-recognition-specialist.md +91 -0
- package/plugins/lavra/opencode/agents/review/performance-oracle.md +158 -0
- package/plugins/lavra/opencode/agents/review/security-sentinel.md +129 -0
- package/plugins/lavra/opencode/agents/workflow/bug-reproduction-validator.md +123 -0
- package/plugins/lavra/opencode/agents/workflow/every-style-editor.md +100 -0
- package/plugins/lavra/opencode/agents/workflow/lint.md +33 -0
- package/plugins/lavra/opencode/agents/workflow/pr-comment-resolver.md +98 -0
- package/plugins/lavra/opencode/agents/workflow/spec-flow-analyzer.md +160 -0
- package/plugins/lavra/opencode/commands/agent-native-audit.md +286 -0
- package/plugins/lavra/opencode/commands/changelog.md +153 -0
- package/plugins/lavra/opencode/commands/create-agent-skill.md +21 -0
- package/plugins/lavra/opencode/commands/deploy-docs.md +69 -0
- package/plugins/lavra/opencode/commands/feature-video.md +266 -0
- package/plugins/lavra/opencode/commands/generate-command.md +150 -0
- package/plugins/lavra/opencode/commands/heal-skill.md +134 -0
- package/plugins/lavra/opencode/commands/lavra-brainstorm.md +392 -0
- package/plugins/lavra/opencode/commands/lavra-ceo-review.md +392 -0
- package/plugins/lavra/opencode/commands/lavra-checkpoint.md +166 -0
- package/plugins/lavra/opencode/commands/lavra-compound.md +168 -0
- package/plugins/lavra/opencode/commands/lavra-deepen.md +389 -0
- package/plugins/lavra/opencode/commands/lavra-design.md +625 -0
- package/plugins/lavra/opencode/commands/lavra-eng-review.md +266 -0
- package/plugins/lavra/opencode/commands/lavra-import.md +198 -0
- package/plugins/lavra/opencode/commands/lavra-learn.md +180 -0
- package/plugins/lavra/opencode/commands/lavra-parallel.md +910 -0
- package/plugins/lavra/opencode/commands/lavra-plan.md +519 -0
- package/plugins/lavra/opencode/commands/lavra-qa.md +361 -0
- package/plugins/lavra/opencode/commands/lavra-quick.md +182 -0
- package/plugins/lavra/opencode/commands/lavra-recall.md +283 -0
- package/plugins/lavra/opencode/commands/lavra-research.md +271 -0
- package/plugins/lavra/opencode/commands/lavra-retro.md +404 -0
- package/plugins/lavra/opencode/commands/lavra-review.md +405 -0
- package/plugins/lavra/opencode/commands/lavra-ship.md +334 -0
- package/plugins/lavra/opencode/commands/lavra-triage.md +163 -0
- package/plugins/lavra/opencode/commands/lavra-work-ralph.md +525 -0
- package/plugins/lavra/opencode/commands/lavra-work-teams.md +508 -0
- package/plugins/lavra/opencode/commands/lavra-work.md +1023 -0
- package/plugins/lavra/opencode/commands/lfg.md +30 -0
- package/plugins/lavra/opencode/commands/release-docs.md +148 -0
- package/plugins/lavra/opencode/commands/report-bug.md +159 -0
- package/plugins/lavra/opencode/commands/reproduce-bug.md +101 -0
- package/plugins/lavra/opencode/commands/resolve-pr-parallel.md +58 -0
- package/plugins/lavra/opencode/commands/resolve-todo-parallel.md +56 -0
- package/plugins/lavra/opencode/commands/test-browser.md +309 -0
- package/plugins/lavra/opencode/commands/xcode-test.md +291 -0
- package/plugins/lavra/opencode/docs/MCP_SETUP.md +48 -0
- package/plugins/lavra/opencode/skills/agent-browser/SKILL.md +227 -0
- package/plugins/lavra/opencode/skills/agent-native-architecture/SKILL.md +439 -0
- package/plugins/lavra/opencode/skills/andrew-kane-gem-writer/SKILL.md +188 -0
- package/plugins/lavra/opencode/skills/brainstorming/SKILL.md +197 -0
- package/plugins/lavra/opencode/skills/create-agent-skills/SKILL.md +304 -0
- package/plugins/lavra/opencode/skills/dhh-rails-style/SKILL.md +189 -0
- package/plugins/lavra/opencode/skills/dspy-ruby/SKILL.md +741 -0
- package/plugins/lavra/opencode/skills/every-style-editor/SKILL.md +138 -0
- package/plugins/lavra/opencode/skills/file-todos/SKILL.md +256 -0
- package/plugins/lavra/opencode/skills/frontend-design/SKILL.md +46 -0
- package/plugins/lavra/opencode/skills/gemini-imagegen/SKILL.md +242 -0
- package/plugins/lavra/opencode/skills/git-worktree/SKILL.md +307 -0
- package/plugins/lavra/opencode/skills/lavra-knowledge/SKILL.md +464 -0
- package/plugins/lavra/opencode/skills/project-setup/SKILL.md +418 -0
- package/plugins/lavra/opencode/skills/rclone/SKILL.md +155 -0
- package/plugins/lavra/opencode-src/package.json +13 -0
- package/plugins/lavra/opencode-src/plugin.ts +176 -0
- package/plugins/lavra/scripts/import-plan.sh +141 -0
- package/plugins/lavra/skills/agent-browser/SKILL.md +223 -0
- package/plugins/lavra/skills/agent-native-architecture/SKILL.md +435 -0
- package/plugins/lavra/skills/agent-native-architecture/references/action-parity-discipline.md +353 -0
- package/plugins/lavra/skills/agent-native-architecture/references/agent-execution-patterns.md +362 -0
- package/plugins/lavra/skills/agent-native-architecture/references/agent-native-testing.md +508 -0
- package/plugins/lavra/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
- package/plugins/lavra/skills/agent-native-architecture/references/dynamic-context-injection.md +281 -0
- package/plugins/lavra/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
- package/plugins/lavra/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +227 -0
- package/plugins/lavra/skills/agent-native-architecture/references/mcp-tool-design.md +427 -0
- package/plugins/lavra/skills/agent-native-architecture/references/mobile-patterns.md +410 -0
- package/plugins/lavra/skills/agent-native-architecture/references/product-implications.md +341 -0
- package/plugins/lavra/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
- package/plugins/lavra/skills/agent-native-architecture/references/self-modification.md +269 -0
- package/plugins/lavra/skills/agent-native-architecture/references/shared-workspace-architecture.md +517 -0
- package/plugins/lavra/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
- package/plugins/lavra/skills/brainstorming/SKILL.md +193 -0
- package/plugins/lavra/skills/create-agent-skills/SKILL.md +300 -0
- package/plugins/lavra/skills/create-agent-skills/references/api-security.md +60 -0
- package/plugins/lavra/skills/create-agent-skills/references/be-clear-and-direct.md +84 -0
- package/plugins/lavra/skills/create-agent-skills/references/best-practices.md +404 -0
- package/plugins/lavra/skills/create-agent-skills/references/common-patterns.md +121 -0
- package/plugins/lavra/skills/create-agent-skills/references/core-principles.md +103 -0
- package/plugins/lavra/skills/create-agent-skills/references/executable-code.md +92 -0
- package/plugins/lavra/skills/create-agent-skills/references/iteration-and-testing.md +164 -0
- package/plugins/lavra/skills/create-agent-skills/references/official-spec.md +185 -0
- package/plugins/lavra/skills/create-agent-skills/references/recommended-structure.md +168 -0
- package/plugins/lavra/skills/create-agent-skills/references/skill-structure.md +215 -0
- package/plugins/lavra/skills/create-agent-skills/references/using-scripts.md +113 -0
- package/plugins/lavra/skills/create-agent-skills/references/using-templates.md +112 -0
- package/plugins/lavra/skills/create-agent-skills/references/workflows-and-validation.md +122 -0
- package/plugins/lavra/skills/create-agent-skills/templates/router-skill.md +73 -0
- package/plugins/lavra/skills/create-agent-skills/templates/simple-skill.md +33 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-reference.md +55 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-script.md +59 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-template.md +51 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/add-workflow.md +54 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/audit-skill.md +63 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +68 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/create-new-skill.md +92 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/get-guidance.md +70 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/upgrade-to-router.md +68 -0
- package/plugins/lavra/skills/create-agent-skills/workflows/verify-skill.md +63 -0
- package/plugins/lavra/skills/file-todos/SKILL.md +252 -0
- package/plugins/lavra/skills/file-todos/assets/todo-template.md +155 -0
- package/plugins/lavra/skills/git-worktree/SKILL.md +303 -0
- package/plugins/lavra/skills/git-worktree/scripts/worktree-manager.sh +345 -0
- package/plugins/lavra/skills/lavra-knowledge/SKILL.md +460 -0
- package/plugins/lavra/skills/lavra-knowledge/references/jsonl-schema.md +104 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/SKILL.md +184 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/database-adapters.md +231 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/module-organization.md +121 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/rails-integration.md +183 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/resources.md +119 -0
- package/plugins/lavra/skills/optional/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/SKILL.md +185 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/architecture.md +653 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/controllers.md +303 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/frontend.md +510 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/gems.md +266 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/models.md +359 -0
- package/plugins/lavra/skills/optional/dhh-rails-style/references/testing.md +338 -0
- package/plugins/lavra/skills/optional/dspy-ruby/SKILL.md +737 -0
- package/plugins/lavra/skills/optional/dspy-ruby/assets/config-template.rb +187 -0
- package/plugins/lavra/skills/optional/dspy-ruby/assets/module-template.rb +300 -0
- package/plugins/lavra/skills/optional/dspy-ruby/assets/signature-template.rb +221 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/core-concepts.md +674 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/observability.md +366 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/optimization.md +603 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/providers.md +418 -0
- package/plugins/lavra/skills/optional/dspy-ruby/references/toolsets.md +502 -0
- package/plugins/lavra/skills/optional/every-style-editor/SKILL.md +134 -0
- package/plugins/lavra/skills/optional/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
- package/plugins/lavra/skills/optional/frontend-design/SKILL.md +42 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/SKILL.md +238 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/requirements.txt +2 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/compose_images.py +157 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/edit_image.py +144 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/gemini_images.py +263 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/generate_image.py +133 -0
- package/plugins/lavra/skills/optional/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
- package/plugins/lavra/skills/optional/rclone/SKILL.md +151 -0
- package/plugins/lavra/skills/optional/rclone/scripts/check_setup.sh +60 -0
- package/plugins/lavra/skills/project-setup/SKILL.md +414 -0
- package/plugins/lavra/tests/build-index.sh +116 -0
- package/plugins/lavra/tests/recall-bench.sh +224 -0
- package/plugins/lavra/tests/search-fts5.sh +65 -0
- package/plugins/lavra/tests/search-grep.sh +54 -0
- package/plugins/lavra/tests/test-queries.jsonl +25 -0
- package/scripts/apply-context-optimizations.py +345 -0
- package/scripts/convert-cortex.ts +257 -0
- package/scripts/convert-gemini.ts +369 -0
- package/scripts/convert-opencode.ts +313 -0
- package/scripts/package.json +27 -0
- package/scripts/pre-release-check.sh +176 -0
- package/scripts/select-opencode-models.sh +178 -0
- package/scripts/shared/model-config.json +17 -0
- package/scripts/shared/model-mapping.ts +129 -0
- package/scripts/shared/security.ts +97 -0
- package/scripts/shared/yaml-parser.ts +55 -0
- package/scripts/sqlite-to-jsonl.py +207 -0
- package/scripts/test-compatibility.ts +539 -0
- package/scripts/test-features.sh +342 -0
- package/scripts/test-installation.sh +514 -0
- package/scripts/test-security.ts +275 -0
- package/scripts/trim-agent-descriptions.py +177 -0
- package/uninstall.sh +133 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
<!-- Generated by lavra 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
|
+
```
|