@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,262 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lavra-eng-review
|
|
3
|
+
description: Engineering review -- parallel agents check architecture, simplicity, security, and performance
|
|
4
|
+
argument-hint: "[epic bead ID] [--small]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Review an epic plan using multiple specialized agents in parallel to catch technical issues before implementation begins. Engineering layer review: given we're building this, is the architecture sound? N+1s? Security holes? Run after lavra-ceo-review so engineering effort is spent on a validated direction.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<execution_context>
|
|
12
|
+
<epic_bead_id> #$ARGUMENTS </epic_bead_id>
|
|
13
|
+
|
|
14
|
+
**If the epic bead ID above is empty:**
|
|
15
|
+
1. Check for recent epic beads: `bd list --type epic --status=open --json`
|
|
16
|
+
2. Ask the user: "Which epic plan would you like reviewed? Please provide the bead ID (e.g., `BD-001`)."
|
|
17
|
+
|
|
18
|
+
Do not proceed until you have a valid epic bead ID.
|
|
19
|
+
|
|
20
|
+
**Parse `--small` flag:**
|
|
21
|
+
- If `--small` is present in the arguments, set BIG_SMALL_MODE=small
|
|
22
|
+
- Default: BIG_SMALL_MODE=big
|
|
23
|
+
- In `--small` mode, each agent returns only its **single most important finding**; synthesis produces a compact prioritized list
|
|
24
|
+
</execution_context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
### Step 1: Load the Plan
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Read the epic
|
|
32
|
+
bd show {EPIC_ID}
|
|
33
|
+
|
|
34
|
+
# List and read all child beads
|
|
35
|
+
bd list --parent {EPIC_ID} --json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
For each child bead, read its full description:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
bd show {CHILD_ID}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Assemble the full plan content from epic description + all child bead descriptions.
|
|
45
|
+
|
|
46
|
+
**Retrospective check:**
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
git log --oneline -20
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
If prior commits suggest a previous review cycle on this branch (e.g., "address review feedback", reverted changes, refactor-after-review commits), note which areas were previously problematic. Pass this context to agents so they review those areas more aggressively. Recurring problem areas are architectural smells.
|
|
53
|
+
|
|
54
|
+
### Step 2: Recall Relevant Knowledge + Read Workflow Config
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Search for knowledge related to the plan's topic
|
|
58
|
+
.lavra/memory/recall.sh "{keywords from epic title}"
|
|
59
|
+
.lavra/memory/recall.sh "{tech stack keywords}"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Include any relevant LEARNED/DECISION/FACT/PATTERN entries as context for reviewers.
|
|
63
|
+
|
|
64
|
+
Read workflow config for model profile:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
[ -f .lavra/config/lavra.json ] && cat .lavra/config/lavra.json
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Parse `model_profile` (default: `"balanced"`). When `model_profile` is `"quality"`, dispatch `architecture-strategist`, `security-sentinel`, and `performance-oracle` with `model: opus`.
|
|
71
|
+
|
|
72
|
+
### Step 3: Dispatch Review Agents in Parallel
|
|
73
|
+
|
|
74
|
+
**In `--small` mode:** instruct each agent to return only its single most important finding.
|
|
75
|
+
|
|
76
|
+
**In default (big) mode:** full parallel dispatch with complete analysis.
|
|
77
|
+
|
|
78
|
+
Run these 4 agents simultaneously, passing the full plan content + retrospective context to each. Also request: (a) one realistic production failure scenario per new codepath (timeout, nil, race condition, etc.) and (b) any work that could be deferred without blocking the core objective:
|
|
79
|
+
|
|
80
|
+
1. Task architecture-strategist("Review this plan for architectural soundness, scalability, and maintainability. For each new codepath, identify one realistic production failure. Flag any work deferrable without blocking the core objective. Plan: [full plan content]. Prior review context: [retrospective findings]") -- add `model: opus` if profile=quality
|
|
81
|
+
2. Task code-simplicity-reviewer("Review this plan for unnecessary complexity, over-engineering, and opportunities to simplify. For each new codepath, identify one realistic production failure. Flag any work deferrable without blocking the core objective. Plan: [full plan content]. Prior review context: [retrospective findings]")
|
|
82
|
+
3. Task security-sentinel("Review this plan for security vulnerabilities, missing auth checks, data exposure risks. For each new codepath, identify one realistic production failure. Plan: [full plan content]. Prior review context: [retrospective findings]") -- add `model: opus` if profile=quality
|
|
83
|
+
4. Task performance-oracle("Review this plan for performance bottlenecks, N+1 queries, missing caching, scalability issues. For each new codepath, identify one realistic production failure. Plan: [full plan content]. Prior review context: [retrospective findings]") -- add `model: opus` if profile=quality
|
|
84
|
+
|
|
85
|
+
### Step 4: Synthesize Findings
|
|
86
|
+
|
|
87
|
+
After all agents complete, synthesize their feedback into a categorized report:
|
|
88
|
+
|
|
89
|
+
**In `--small` mode:** produce a compact prioritized list (top finding per agent + single combined recommendation).
|
|
90
|
+
|
|
91
|
+
**In default (big) mode:**
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
## Engineering Review: {EPIC_ID} - {epic title}
|
|
95
|
+
|
|
96
|
+
### Architecture
|
|
97
|
+
[Findings from architecture-strategist]
|
|
98
|
+
- Strengths: [what's well designed]
|
|
99
|
+
- Concerns: [architectural issues]
|
|
100
|
+
- Suggestions: [improvements]
|
|
101
|
+
|
|
102
|
+
### Simplicity
|
|
103
|
+
[Findings from code-simplicity-reviewer]
|
|
104
|
+
- Over-engineering risks: [what could be simpler]
|
|
105
|
+
- Unnecessary abstractions: [what to remove]
|
|
106
|
+
- Suggestions: [simplifications]
|
|
107
|
+
|
|
108
|
+
### Security
|
|
109
|
+
[Findings from security-sentinel]
|
|
110
|
+
- Vulnerabilities: [security risks found]
|
|
111
|
+
- Missing protections: [what needs adding]
|
|
112
|
+
- Suggestions: [security improvements]
|
|
113
|
+
|
|
114
|
+
### Performance
|
|
115
|
+
[Findings from performance-oracle]
|
|
116
|
+
- Bottlenecks: [performance concerns]
|
|
117
|
+
- Missing optimizations: [what to add]
|
|
118
|
+
- Suggestions: [performance improvements]
|
|
119
|
+
|
|
120
|
+
### Failure Modes
|
|
121
|
+
Per-new-codepath analysis from agent findings:
|
|
122
|
+
```
|
|
123
|
+
CODEPATH | FAILURE MODE | RESCUED? | TEST? | USER SEES? | LOGGED?
|
|
124
|
+
---------|----------------|----------|-------|----------------|--------
|
|
125
|
+
[path] | [failure] | Y/N | Y/N | [visible/silent]| Y/N
|
|
126
|
+
```
|
|
127
|
+
Flag any row with RESCUED=N AND TEST=N AND USER SEES=Silent as **CRITICAL GAP**.
|
|
128
|
+
|
|
129
|
+
### NOT in Scope
|
|
130
|
+
Work the agents flagged as deferrable without blocking the core objective:
|
|
131
|
+
- [item] -- [one-line rationale]
|
|
132
|
+
- [item] -- [one-line rationale]
|
|
133
|
+
|
|
134
|
+
### Summary
|
|
135
|
+
- **Critical issues:** [count] - Must fix before implementing
|
|
136
|
+
- **Important suggestions:** [count] - Should consider
|
|
137
|
+
- **Minor improvements:** [count] - Nice to have
|
|
138
|
+
|
|
139
|
+
### Recommended Changes
|
|
140
|
+
1. [Most impactful change]
|
|
141
|
+
2. [Second most impactful]
|
|
142
|
+
3. [Third most impactful]
|
|
143
|
+
|
|
144
|
+
### Completion Summary
|
|
145
|
+
```
|
|
146
|
+
Architecture issues: N | Simplicity: N | Security: N | Performance: N
|
|
147
|
+
Critical gaps: N | TODOs proposed: N
|
|
148
|
+
```
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Step 5: Log Key Findings + TODOS Protocol
|
|
152
|
+
|
|
153
|
+
Log significant findings:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
bd comments add {EPIC_ID} "LEARNED: Engineering review found: {key insight}"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**TODOS section:** For each deferrable item surfaced by agents, present as its own AskUserQuestion — never batch, one per question:
|
|
160
|
+
|
|
161
|
+
- **What**: One-line description of the work.
|
|
162
|
+
- **Why**: The concrete problem it solves or value it unlocks.
|
|
163
|
+
- **Pros**: What you gain by doing this work.
|
|
164
|
+
- **Cons**: Cost, complexity, or risks.
|
|
165
|
+
- **Context**: Enough detail for someone picking this up in 3 months.
|
|
166
|
+
- **Effort estimate**: S/M/L/XL
|
|
167
|
+
|
|
168
|
+
Options: **A)** Create a backlog bead **B)** Skip — not valuable enough **C)** Build it now in this plan instead of deferring.
|
|
169
|
+
|
|
170
|
+
</process>
|
|
171
|
+
|
|
172
|
+
<success_criteria>
|
|
173
|
+
- All 4 review agents dispatched and completed
|
|
174
|
+
- Retrospective check performed (prior review cycles noted if any)
|
|
175
|
+
- Findings synthesized into categorized report with severity levels
|
|
176
|
+
- Failure modes table produced with CRITICAL GAP flagging
|
|
177
|
+
- NOT in scope section included
|
|
178
|
+
- Completion summary table produced
|
|
179
|
+
- TODOs presented one-per-AskUserQuestion
|
|
180
|
+
- Critical issues clearly identified
|
|
181
|
+
- Key findings logged as knowledge comments
|
|
182
|
+
</success_criteria>
|
|
183
|
+
|
|
184
|
+
<handoff>
|
|
185
|
+
After presenting the review, use the **AskUserQuestion tool** to present these options:
|
|
186
|
+
|
|
187
|
+
**Question:** "Engineering review complete for `{EPIC_ID}`. What would you like to do next?"
|
|
188
|
+
|
|
189
|
+
**Options:**
|
|
190
|
+
1. **Apply feedback** - Update child beads with review suggestions
|
|
191
|
+
2. **Run `/lavra-research`** - Gather additional evidence with domain-matched agents
|
|
192
|
+
3. **Start `/lavra-work`** - Begin implementing the first child bead
|
|
193
|
+
4. **Run `/lavra-work {EPIC_ID}`** - Work on multiple child beads in parallel
|
|
194
|
+
5. **Dismiss** - Acknowledge review without changes
|
|
195
|
+
|
|
196
|
+
## Applying Feedback (when option 1 is selected)
|
|
197
|
+
|
|
198
|
+
**Do not proceed informally.** Follow this exact protocol.
|
|
199
|
+
|
|
200
|
+
### Step A: Build the Recommendation Checklist
|
|
201
|
+
|
|
202
|
+
Before touching any bead, extract every actionable recommendation from the review report. Number them sequentially:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
RECOMMENDATIONS TO APPLY:
|
|
206
|
+
[ ] 1. [Exact recommendation from Architecture section]
|
|
207
|
+
[ ] 2. [Exact recommendation from Architecture section]
|
|
208
|
+
[ ] 3. [Exact recommendation from Simplicity section]
|
|
209
|
+
[ ] 4. [Exact recommendation from Security section]
|
|
210
|
+
[ ] 5. [Exact recommendation from Performance section]
|
|
211
|
+
...
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Print this numbered list to the user before starting. If the review had a "Recommended Changes" section, include all items from it. Also include any critical/important issues from each category.
|
|
215
|
+
|
|
216
|
+
**Total count:** State how many recommendations you found (e.g., "Found 12 recommendations. Applying now.")
|
|
217
|
+
|
|
218
|
+
### Step B: Apply Each Recommendation
|
|
219
|
+
|
|
220
|
+
Work through the list one at a time. For each recommendation:
|
|
221
|
+
|
|
222
|
+
1. **Identify the target bead** - Which child bead (or epic) does this apply to?
|
|
223
|
+
2. **Read the current description**: `bd show {BEAD_ID}`
|
|
224
|
+
3. **Update it**: `bd update {BEAD_ID} -d "{updated description with recommendation applied}"`
|
|
225
|
+
4. **Mark complete** in your working list: `[x] 1. ...`
|
|
226
|
+
|
|
227
|
+
If a recommendation applies to multiple beads, update each one.
|
|
228
|
+
|
|
229
|
+
If a recommendation is architectural (affects the whole plan), update the epic description.
|
|
230
|
+
|
|
231
|
+
If a recommendation is contradictory or inapplicable, mark it `[SKIPPED: reason]` -- do NOT silently omit it.
|
|
232
|
+
|
|
233
|
+
### Step C: Completeness Verification
|
|
234
|
+
|
|
235
|
+
After applying all changes, do a completeness pass:
|
|
236
|
+
|
|
237
|
+
1. Re-read the original review report
|
|
238
|
+
2. Compare each recommendation against your working checklist
|
|
239
|
+
3. For any item not marked `[x]` or `[SKIPPED]`, apply it now
|
|
240
|
+
|
|
241
|
+
Then print the final checklist state:
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
APPLIED:
|
|
245
|
+
[x] 1. [recommendation] -> Updated {BEAD_ID}
|
|
246
|
+
[x] 2. [recommendation] -> Updated {BEAD_ID}
|
|
247
|
+
[x] 3. [recommendation] -> Updated {EPIC_ID}
|
|
248
|
+
|
|
249
|
+
SKIPPED:
|
|
250
|
+
[SKIPPED: contradicts architectural decision] 4. [recommendation]
|
|
251
|
+
|
|
252
|
+
TOTAL: {N} applied, {M} skipped out of {N+M} recommendations
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Do not say "done" until every recommendation is either marked applied or explicitly skipped with a reason.**
|
|
256
|
+
|
|
257
|
+
### Step D: Log Changes
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
bd comments add {EPIC_ID} "DECISION: Applied engineering review feedback. {N} recommendations applied across {K} beads. Key changes: {top 3 changes}"
|
|
261
|
+
```
|
|
262
|
+
</handoff>
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lavra-import
|
|
3
|
+
description: Import a markdown plan into beads as an epic with child tasks
|
|
4
|
+
argument-hint: "[path/to/plan.md] [optional epic title]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Import a markdown plan document into beads as an epic with child task beads. Automatically extracts research findings, decisions, and implementation steps from the markdown structure.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<execution_context>
|
|
12
|
+
<input_document> #$ARGUMENTS </input_document>
|
|
13
|
+
</execution_context>
|
|
14
|
+
|
|
15
|
+
<process>
|
|
16
|
+
|
|
17
|
+
### Phase 1: Parse Arguments
|
|
18
|
+
|
|
19
|
+
1. **Extract Arguments**
|
|
20
|
+
|
|
21
|
+
Parse the #$ARGUMENTS to get:
|
|
22
|
+
- File path (required)
|
|
23
|
+
- Epic title (optional)
|
|
24
|
+
|
|
25
|
+
If no arguments provided:
|
|
26
|
+
- Ask: "Please provide the path to the markdown plan file, e.g.: /lavra-import plan.md"
|
|
27
|
+
- Stop execution
|
|
28
|
+
|
|
29
|
+
If only file path provided, the title will be auto-extracted from the first `#` header in the markdown file.
|
|
30
|
+
|
|
31
|
+
2. **Validate File Path**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Check if file exists and is readable
|
|
35
|
+
if [[ ! -f "{file_path}" ]]; then
|
|
36
|
+
echo "Error: File not found: {file_path}"
|
|
37
|
+
exit 1
|
|
38
|
+
fi
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If file doesn't exist:
|
|
42
|
+
- Report: "File not found: {file_path}. Please provide a valid markdown file path."
|
|
43
|
+
- Stop execution
|
|
44
|
+
|
|
45
|
+
3. **Extract Title from Markdown** (if not provided)
|
|
46
|
+
|
|
47
|
+
Read the first line starting with `#` to extract the title:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Extract title from first # header
|
|
51
|
+
title=$(grep -E "^# " "{file_path}" | head -1 | sed 's/^# *//')
|
|
52
|
+
|
|
53
|
+
if [[ -z "$title" ]]; then
|
|
54
|
+
echo "Error: Could not find title in markdown file (no # header found)"
|
|
55
|
+
exit 1
|
|
56
|
+
fi
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
If no `#` header found and no title argument provided:
|
|
60
|
+
- Ask: "No title found in markdown file. Please provide a title: /lavra-import {file_path} \"Your Epic Title\""
|
|
61
|
+
- Stop execution
|
|
62
|
+
|
|
63
|
+
### Phase 2: Run Import Script
|
|
64
|
+
|
|
65
|
+
1. **Call Import Script**
|
|
66
|
+
|
|
67
|
+
Execute the import script with the validated arguments:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Determine PLUGIN_DIR based on whether this is a global or project install
|
|
71
|
+
if [[ -f ".claude/scripts/import-plan.sh" ]]; then
|
|
72
|
+
SCRIPT_PATH=".claude/scripts/import-plan.sh"
|
|
73
|
+
elif [[ -f ".opencode/scripts/import-plan.sh" ]]; then
|
|
74
|
+
SCRIPT_PATH=".opencode/scripts/import-plan.sh"
|
|
75
|
+
else
|
|
76
|
+
echo "Error: import-plan.sh script not found"
|
|
77
|
+
echo "Expected at .claude/scripts/import-plan.sh or .opencode/scripts/import-plan.sh"
|
|
78
|
+
exit 1
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
bash "$SCRIPT_PATH" "{file_path}" "{title}"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
2. **Capture Script Output**
|
|
85
|
+
|
|
86
|
+
The import-plan.sh script will output:
|
|
87
|
+
- Progress messages as it creates beads
|
|
88
|
+
- Epic ID when created
|
|
89
|
+
- Child bead IDs as they're created
|
|
90
|
+
- Summary with next steps
|
|
91
|
+
|
|
92
|
+
Capture the epic ID from the output:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Extract epic ID from output
|
|
96
|
+
epic_id=$(echo "$output" | grep -oE 'Created epic: [A-Z]+-[0-9]+' | grep -oE '[A-Z]+-[0-9]+' | head -1)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Phase 3: Report Results
|
|
100
|
+
|
|
101
|
+
1. **Display Summary**
|
|
102
|
+
|
|
103
|
+
Present the import results to the user:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Successfully imported plan from {file_path}
|
|
107
|
+
|
|
108
|
+
Epic created: {EPIC_ID}
|
|
109
|
+
Title: {title}
|
|
110
|
+
|
|
111
|
+
Child beads created: {count}
|
|
112
|
+
|
|
113
|
+
View the epic:
|
|
114
|
+
bd show {EPIC_ID}
|
|
115
|
+
|
|
116
|
+
List all child beads:
|
|
117
|
+
bd list --parent {EPIC_ID}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
</process>
|
|
121
|
+
|
|
122
|
+
<context>
|
|
123
|
+
|
|
124
|
+
## Expected Markdown Format
|
|
125
|
+
|
|
126
|
+
The import script expects markdown with this structure:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
# Epic Title
|
|
130
|
+
Description of the overall feature or project.
|
|
131
|
+
|
|
132
|
+
## Research / Background
|
|
133
|
+
Research findings and context...
|
|
134
|
+
|
|
135
|
+
## Decisions / Approach
|
|
136
|
+
Architectural decisions and chosen approach...
|
|
137
|
+
|
|
138
|
+
## Implementation Steps / Tasks
|
|
139
|
+
### Step 1: Database Schema
|
|
140
|
+
Details about database changes...
|
|
141
|
+
|
|
142
|
+
### Step 2: API Endpoints
|
|
143
|
+
Details about API implementation...
|
|
144
|
+
|
|
145
|
+
### Step 3: Frontend Components
|
|
146
|
+
Details about UI changes...
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Key sections:**
|
|
150
|
+
- `# Epic Title` - Becomes the epic bead title (if not provided as argument)
|
|
151
|
+
- `## Research / Background / Context` - Captured as INVESTIGATION comments
|
|
152
|
+
- `## Decisions / Choices / Approach` - Captured as DECISION comments
|
|
153
|
+
- `## Implementation Steps / Tasks / Work` - Each `### Step` becomes a child bead
|
|
154
|
+
- Child beads are created sequentially with dependencies (Step 2 depends on Step 1, etc.)
|
|
155
|
+
|
|
156
|
+
## Error Handling
|
|
157
|
+
|
|
158
|
+
**Common errors and solutions:**
|
|
159
|
+
|
|
160
|
+
| Error | Cause | Solution |
|
|
161
|
+
|-------|-------|----------|
|
|
162
|
+
| File not found | Invalid file path | Check path and try again |
|
|
163
|
+
| No title in markdown | Missing `#` header | Provide title as argument |
|
|
164
|
+
| Script not found | Plugin not installed | Run plugin installation |
|
|
165
|
+
| No implementation steps | Missing `###` headers | Add implementation section with steps |
|
|
166
|
+
|
|
167
|
+
## Notes
|
|
168
|
+
|
|
169
|
+
- The import script automatically creates sequential dependencies (each step depends on the previous)
|
|
170
|
+
- Research and decision sections are captured as knowledge comments on the epic
|
|
171
|
+
- Child bead descriptions are extracted from the content between `###` headers
|
|
172
|
+
- The script expects the plan to have an "Implementation Steps" section with `###` subheadings
|
|
173
|
+
</context>
|
|
174
|
+
|
|
175
|
+
<success_criteria>
|
|
176
|
+
- Valid markdown file with clear structure
|
|
177
|
+
- At least one `#` header for the title (or title provided as argument)
|
|
178
|
+
- An "Implementation Steps" section with at least one `### Step`
|
|
179
|
+
- Each step has descriptive content below the `###` header
|
|
180
|
+
- File path validated before calling the script
|
|
181
|
+
- Title extracted from markdown if not provided
|
|
182
|
+
- Clear progress and results displayed
|
|
183
|
+
- Actionable next steps suggested
|
|
184
|
+
- Errors handled gracefully with helpful messages
|
|
185
|
+
</success_criteria>
|
|
186
|
+
|
|
187
|
+
<handoff>
|
|
188
|
+
Plan imported as epic `{EPIC_ID}`. What would you like to do next?
|
|
189
|
+
|
|
190
|
+
1. **Run `/lavra-research {EPIC_ID}`** - Gather evidence for each child bead with domain-matched research agents
|
|
191
|
+
2. **Run `/lavra-eng-review {EPIC_ID}`** - Get feedback from reviewers on the plan
|
|
192
|
+
3. **Start `/lavra-work {EPIC_ID}.1`** - Begin implementing the first child bead
|
|
193
|
+
4. **View epic** - Show the full epic bead details
|
|
194
|
+
</handoff>
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lavra-learn
|
|
3
|
+
description: Curate raw knowledge comments into structured, well-tagged entries for future auto-recall
|
|
4
|
+
argument-hint: "[bead IDs to process, or omit for all closed-today beads]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Turn raw LEARNED/DECISION/FACT/PATTERN/INVESTIGATION comments captured during work sessions into structured, deduplicated, well-tagged knowledge entries in `.lavra/memory/knowledge.jsonl`. This is the step that converts inline observations into searchable, recallable knowledge that makes future work easier.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<context>
|
|
12
|
+
**When to use:**
|
|
13
|
+
- After `/lavra-work` completes (auto-suggested when LEARNED/INVESTIGATION comments exist)
|
|
14
|
+
- Manually after any work session to consolidate what was captured
|
|
15
|
+
- Periodically to clean up and connect knowledge across beads
|
|
16
|
+
|
|
17
|
+
**Knowledge flow:**
|
|
18
|
+
```
|
|
19
|
+
Work session -> inline bd comments (raw) -> /lavra-learn (structured) -> auto-recall (future sessions)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Raw comments logged during work are often terse, context-dependent, and untagged beyond auto-detection. This command reviews them with full context, produces well-titled entries with accurate tags, deduplicates against existing knowledge, and synthesizes higher-level patterns when multiple entries connect.
|
|
23
|
+
|
|
24
|
+
**Usage:**
|
|
25
|
+
```bash
|
|
26
|
+
/lavra-learn # Process all beads closed today
|
|
27
|
+
/lavra-learn BD-042 # Process specific bead
|
|
28
|
+
/lavra-learn BD-042 BD-043 BD-044 # Process multiple beads
|
|
29
|
+
```
|
|
30
|
+
</context>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
|
|
34
|
+
### Step 1: Gather Raw Entries
|
|
35
|
+
|
|
36
|
+
Collect all knowledge comments from the target beads.
|
|
37
|
+
|
|
38
|
+
**If bead IDs were provided:**
|
|
39
|
+
```bash
|
|
40
|
+
bd show {BEAD_ID} --json
|
|
41
|
+
# Extract comments matching LEARNED:|DECISION:|FACT:|PATTERN:|INVESTIGATION: prefixes
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**If no bead IDs provided, find beads closed today:**
|
|
45
|
+
```bash
|
|
46
|
+
bd list --status=closed --json | jq '[.[] | select(.updated_at >= "'$(date +%Y-%m-%d)'")]'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
For each bead, collect:
|
|
50
|
+
- All comments with knowledge prefixes
|
|
51
|
+
- Bead title and description (for context)
|
|
52
|
+
- Related bead IDs from dependencies
|
|
53
|
+
|
|
54
|
+
If no knowledge comments are found in the target beads, report that and exit -- there is nothing to curate.
|
|
55
|
+
|
|
56
|
+
### Step 2: Analyze and Cross-Reference
|
|
57
|
+
|
|
58
|
+
Review all gathered entries together and identify:
|
|
59
|
+
|
|
60
|
+
1. **Recurring themes** -- multiple entries touching the same concept, API, or component
|
|
61
|
+
2. **Related decisions** -- choices that reinforce or depend on each other
|
|
62
|
+
3. **Complementary facts** -- constraints that together define a boundary
|
|
63
|
+
4. **Gaps** -- work that clearly produced insights but no comment was logged (flag these but do not fabricate entries)
|
|
64
|
+
|
|
65
|
+
Load existing knowledge for deduplication:
|
|
66
|
+
```bash
|
|
67
|
+
.lavra/memory/recall.sh "{keywords from gathered entries}" --all
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Step 3: Structure Each Entry
|
|
71
|
+
|
|
72
|
+
For each raw comment, produce a structured knowledge entry:
|
|
73
|
+
|
|
74
|
+
| Field | Guideline |
|
|
75
|
+
|-------|-----------|
|
|
76
|
+
| **key** | Lowercase, hyphenated, searchable title. Include the domain and the insight. Example: `learned-oauth-redirect-uri-must-match-exactly` |
|
|
77
|
+
| **type** | Preserve the original prefix (learned/decision/fact/pattern/investigation) |
|
|
78
|
+
| **content** | Rewrite for clarity and future recall. Remove session-specific references ("the bug we just fixed"). Keep it concise -- one to three sentences. Include code snippets only when they are the insight. |
|
|
79
|
+
| **tags** | 3-6 tags covering: technology, domain area, and concept. Prefer existing tags from knowledge.jsonl for consistency. |
|
|
80
|
+
| **source** | `user` |
|
|
81
|
+
| **bead** | Source bead ID |
|
|
82
|
+
|
|
83
|
+
### Step 4: Deduplicate
|
|
84
|
+
|
|
85
|
+
For each structured entry, check knowledge.jsonl for near-duplicates:
|
|
86
|
+
|
|
87
|
+
- **Exact key match**: Update the existing entry content and tags rather than creating a new one
|
|
88
|
+
- **Similar content, different key**: Merge into the existing entry if the insight is the same, or keep both if they capture genuinely different aspects
|
|
89
|
+
- **Superseded entry**: If the new entry corrects or supersedes an older one, update the old entry rather than creating a conflicting duplicate
|
|
90
|
+
|
|
91
|
+
Report what was deduplicated and why.
|
|
92
|
+
|
|
93
|
+
### Step 5: Synthesize Patterns
|
|
94
|
+
|
|
95
|
+
If three or more entries share a theme, create a higher-level PATTERN entry that connects them:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
bd comments add {BEAD_ID} "PATTERN: {synthesized insight connecting multiple observations}"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Synthesized patterns should:
|
|
102
|
+
- Reference the underlying entries by concept (not by key, since keys may change)
|
|
103
|
+
- Capture the higher-level principle, not just repeat the individual facts
|
|
104
|
+
- Be actionable -- a future developer reading this should know what to do differently
|
|
105
|
+
|
|
106
|
+
Only synthesize when the pattern is genuine. Do not force connections.
|
|
107
|
+
|
|
108
|
+
### Step 6: Store
|
|
109
|
+
|
|
110
|
+
Write all structured entries via `bd comments add` with appropriate prefixes so the memory-capture hook processes them into knowledge.jsonl:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
bd comments add {BEAD_ID} "LEARNED: {structured content}"
|
|
114
|
+
bd comments add {BEAD_ID} "DECISION: {structured content}"
|
|
115
|
+
bd comments add {BEAD_ID} "FACT: {structured content}"
|
|
116
|
+
bd comments add {BEAD_ID} "PATTERN: {structured content}"
|
|
117
|
+
bd comments add {BEAD_ID} "INVESTIGATION: {structured content}"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The memory-capture hook will auto-tag and store each entry. The structured content from Step 3 ensures the auto-tagger has clear keywords to work with.
|
|
121
|
+
|
|
122
|
+
</process>
|
|
123
|
+
|
|
124
|
+
<success_criteria>
|
|
125
|
+
- All knowledge comments from target beads reviewed and structured
|
|
126
|
+
- Each entry has a clear, searchable key and 3-6 accurate tags
|
|
127
|
+
- Near-duplicates identified and handled (updated or merged, not duplicated)
|
|
128
|
+
- Cross-bead patterns synthesized where genuine connections exist
|
|
129
|
+
- All entries stored via `bd comments add` for hook processing
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Knowledge curation complete.
|
|
133
|
+
|
|
134
|
+
Beads processed: {list of bead IDs}
|
|
135
|
+
Entries structured: {N} (from {M} raw comments)
|
|
136
|
+
Duplicates resolved: {N} updated, {N} merged
|
|
137
|
+
Patterns synthesized: {N}
|
|
138
|
+
Tag coverage: {list of top tags used}
|
|
139
|
+
|
|
140
|
+
Entries created:
|
|
141
|
+
- {TYPE}: {key} (bead: {BEAD_ID})
|
|
142
|
+
- ...
|
|
143
|
+
```
|
|
144
|
+
</success_criteria>
|
|
145
|
+
|
|
146
|
+
<guardrails>
|
|
147
|
+
|
|
148
|
+
### This is curation, not research
|
|
149
|
+
|
|
150
|
+
Do not launch subagents to investigate code or analyze architecture. The raw material is the knowledge comments already captured during work. Your job is to structure, deduplicate, and connect -- not to generate new findings.
|
|
151
|
+
|
|
152
|
+
### Preserve the original author's intent
|
|
153
|
+
|
|
154
|
+
When rewriting content for clarity, do not change the technical meaning. If an entry says "Enum comparison fails unless you cast to string first," do not generalize it to "Type coercion is important" -- the specific detail is the value.
|
|
155
|
+
|
|
156
|
+
### Quality over quantity
|
|
157
|
+
|
|
158
|
+
Five well-structured, accurately tagged entries are more valuable than fifteen vague ones. If a raw comment is too terse to understand without the original session context, flag it as needing clarification rather than guessing.
|
|
159
|
+
|
|
160
|
+
### Tags must be useful for recall
|
|
161
|
+
|
|
162
|
+
Tags exist so auto-recall can surface entries when working on related problems. Use concrete terms (oauth, postgres, rate-limiting) not abstract ones (important, tricky, gotcha).
|
|
163
|
+
|
|
164
|
+
</guardrails>
|
|
165
|
+
|
|
166
|
+
<handoff>
|
|
167
|
+
What's next?
|
|
168
|
+
1. View knowledge entries: `.lavra/memory/recall.sh "{keyword}"`
|
|
169
|
+
2. Continue working on another bead
|
|
170
|
+
3. Run `/lavra-checkpoint` to save session progress
|
|
171
|
+
|
|
172
|
+
**Related Commands:**
|
|
173
|
+
- `/lavra-work` - Execute work on a bead (captures raw knowledge inline)
|
|
174
|
+
- `/lavra-checkpoint` - Save progress and sync state
|
|
175
|
+
- `/lavra-recall` - Search knowledge base mid-session
|
|
176
|
+
</handoff>
|