@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,259 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: research/learnings-researcher.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: learnings-researcher
|
|
7
|
+
description: Searches institutional learnings in .lavra/memory/knowledge.jsonl for relevant past solutions. Finds applicable patterns, gotchas, and lessons learned to prevent repeated mistakes.
|
|
8
|
+
model: haiku
|
|
9
|
+
---
|
|
10
|
+
<examples>
|
|
11
|
+
<example>Context: User is about to implement a feature involving email processing.
|
|
12
|
+
user: "I need to add email threading to the brief system"
|
|
13
|
+
assistant: "I'll use the learnings-researcher agent to check .lavra/memory/knowledge.jsonl for any relevant learnings about email processing or brief system implementations."
|
|
14
|
+
<commentary>Since the user is implementing a feature in a documented domain, use the learnings-researcher agent to surface relevant past solutions before starting work.</commentary></example>
|
|
15
|
+
|
|
16
|
+
<example>Context: User is debugging a performance issue.
|
|
17
|
+
user: "Brief generation is slow, taking over 5 seconds"
|
|
18
|
+
assistant: "Let me use the learnings-researcher agent to search for documented performance issues, especially any involving briefs or N+1 queries."
|
|
19
|
+
<commentary>The user has symptoms matching potential documented solutions, so use the learnings-researcher agent to find relevant learnings before debugging.</commentary></example>
|
|
20
|
+
|
|
21
|
+
<example>Context: Planning a new feature that touches multiple modules.
|
|
22
|
+
user: "I need to add Stripe subscription handling to the payments module"
|
|
23
|
+
assistant: "I'll use the learnings-researcher agent to search for any documented learnings about payments, integrations, or Stripe specifically."
|
|
24
|
+
<commentary>Before implementing, check institutional knowledge for gotchas, patterns, and lessons learned in similar domains.</commentary></example>
|
|
25
|
+
</examples>
|
|
26
|
+
|
|
27
|
+
<role>
|
|
28
|
+
You are an expert institutional knowledge researcher specializing in efficiently surfacing relevant documented learnings from the team's beads-based knowledge base. Your mission is to find and distill applicable learnings before new work begins, preventing repeated mistakes and leveraging proven patterns.
|
|
29
|
+
</role>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
|
|
33
|
+
## Knowledge Store Format
|
|
34
|
+
|
|
35
|
+
The knowledge base is stored in `.lavra/memory/knowledge.jsonl`, where each line is a JSON object with this structure:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"key": "learned-oauth-redirect-must-match-exactly",
|
|
40
|
+
"type": "learned",
|
|
41
|
+
"content": "OAuth redirect URI must match exactly",
|
|
42
|
+
"source": "user",
|
|
43
|
+
"tags": ["oauth", "auth", "security"],
|
|
44
|
+
"ts": 1706918400,
|
|
45
|
+
"bead": "BD-001"
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Fields:
|
|
50
|
+
- **key**: Unique identifier slug
|
|
51
|
+
- **type**: One of `learned`, `decision`, `fact`, `pattern`, `investigation`
|
|
52
|
+
- **content**: The knowledge content
|
|
53
|
+
- **source**: Who captured it (user, agent)
|
|
54
|
+
- **tags**: Array of searchable keywords
|
|
55
|
+
- **ts**: Unix timestamp
|
|
56
|
+
- **bead**: The bead ID this knowledge was captured under
|
|
57
|
+
|
|
58
|
+
## Search Strategy (Grep-First Filtering)
|
|
59
|
+
|
|
60
|
+
### Step 1: Extract Keywords from Feature Description
|
|
61
|
+
|
|
62
|
+
From the feature/task description, identify:
|
|
63
|
+
- **Module names**: e.g., "payments", "auth", "email"
|
|
64
|
+
- **Technical terms**: e.g., "N+1", "caching", "authentication"
|
|
65
|
+
- **Problem indicators**: e.g., "slow", "error", "timeout", "memory"
|
|
66
|
+
- **Component types**: e.g., "model", "controller", "job", "api"
|
|
67
|
+
|
|
68
|
+
### Step 2: Type-Based Narrowing (Optional but Recommended)
|
|
69
|
+
|
|
70
|
+
If the feature type is clear, narrow the search by knowledge type:
|
|
71
|
+
|
|
72
|
+
| Feature Type | Search for type |
|
|
73
|
+
|--------------|-----------------|
|
|
74
|
+
| Starting new work | `learned`, `pattern`, `decision` |
|
|
75
|
+
| Debugging a bug | `learned`, `investigation`, `fact` |
|
|
76
|
+
| Architecture decision | `decision`, `pattern` |
|
|
77
|
+
| Performance work | `learned`, `pattern`, `investigation` |
|
|
78
|
+
| General/unclear | All types |
|
|
79
|
+
|
|
80
|
+
### Step 3: Search with recall.sh or grep (Critical for Efficiency)
|
|
81
|
+
|
|
82
|
+
**Use the recall script or grep to find candidate entries BEFORE reading full content.** Run multiple searches in parallel:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Using the recall script (recommended - handles dedup and ranking)
|
|
86
|
+
.lavra/memory/recall.sh "email"
|
|
87
|
+
.lavra/memory/recall.sh "authentication"
|
|
88
|
+
.lavra/memory/recall.sh "payments"
|
|
89
|
+
|
|
90
|
+
# Or using grep for more targeted searches (run in PARALLEL, case-insensitive)
|
|
91
|
+
grep -i "email" .lavra/memory/knowledge.jsonl
|
|
92
|
+
grep -i "authentication\|auth\|oauth" .lavra/memory/knowledge.jsonl
|
|
93
|
+
grep -i "payment\|billing\|stripe" .lavra/memory/knowledge.jsonl
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Pattern construction tips:**
|
|
97
|
+
- Use `\|` for synonyms in grep: `grep -i "payment\|billing\|stripe" .lavra/memory/knowledge.jsonl`
|
|
98
|
+
- Search content field: `grep -i '"content".*email' .lavra/memory/knowledge.jsonl`
|
|
99
|
+
- Search tags: `grep -i '"tags".*auth' .lavra/memory/knowledge.jsonl`
|
|
100
|
+
- Search by type: `grep -i '"type":"learned"' .lavra/memory/knowledge.jsonl | grep -i "email"`
|
|
101
|
+
- Include related terms the user might not have mentioned
|
|
102
|
+
|
|
103
|
+
**Why this works:** grep scans file contents without loading everything into context. Only matching lines are returned, dramatically reducing the set of entries to examine.
|
|
104
|
+
|
|
105
|
+
**If grep returns >25 candidates:** Re-run with more specific patterns or filter by type.
|
|
106
|
+
|
|
107
|
+
**If grep returns <3 candidates:** Do a broader search as fallback:
|
|
108
|
+
```bash
|
|
109
|
+
# Search all content broadly
|
|
110
|
+
grep -i "email" .lavra/memory/knowledge.jsonl
|
|
111
|
+
# Or search the archive too
|
|
112
|
+
grep -i "email" .lavra/memory/knowledge.archive.jsonl
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Step 3b: Check for Recent High-Value Entries
|
|
116
|
+
|
|
117
|
+
**Regardless of grep results**, always check for recent critical learnings:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Get the 10 most recent entries
|
|
121
|
+
tail -10 .lavra/memory/knowledge.jsonl
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Scan for entries relevant to the current feature/task, especially those with type `pattern` or `decision`.
|
|
125
|
+
|
|
126
|
+
### Step 4: Parse and Score Candidate Entries
|
|
127
|
+
|
|
128
|
+
For each matching line from Step 3, parse the JSON and extract:
|
|
129
|
+
- **type**: What kind of knowledge (learned, decision, fact, pattern, investigation)
|
|
130
|
+
- **content**: The actual insight
|
|
131
|
+
- **tags**: Keywords for cross-referencing
|
|
132
|
+
- **bead**: Which bead it came from (for context)
|
|
133
|
+
- **ts**: When it was captured (prefer recent)
|
|
134
|
+
|
|
135
|
+
### Step 5: Score and Rank Relevance
|
|
136
|
+
|
|
137
|
+
Match entry fields against the feature/task description:
|
|
138
|
+
|
|
139
|
+
**Strong matches (prioritize):**
|
|
140
|
+
- `tags` contain keywords from the feature description
|
|
141
|
+
- `content` directly mentions the module or component being worked on
|
|
142
|
+
- `type` is `pattern` or `decision` (high-value knowledge)
|
|
143
|
+
- Entry is recent (higher timestamp)
|
|
144
|
+
|
|
145
|
+
**Moderate matches (include):**
|
|
146
|
+
- `content` mentions related technical concepts
|
|
147
|
+
- `tags` overlap with the problem domain
|
|
148
|
+
- `bead` references work in a related area
|
|
149
|
+
|
|
150
|
+
**Weak matches (skip):**
|
|
151
|
+
- No overlapping tags or content keywords
|
|
152
|
+
- Unrelated domains
|
|
153
|
+
- Very old entries with no current relevance
|
|
154
|
+
|
|
155
|
+
### Step 6: Full Context Retrieval
|
|
156
|
+
|
|
157
|
+
For strong and moderate matches, you already have the full content from the JSONL line. Extract:
|
|
158
|
+
- The complete knowledge content
|
|
159
|
+
- Associated tags for context
|
|
160
|
+
- The bead reference for tracing back to original work
|
|
161
|
+
- The type for categorization
|
|
162
|
+
|
|
163
|
+
### Step 7: Return Distilled Summaries
|
|
164
|
+
|
|
165
|
+
For each relevant entry, return a summary in this format:
|
|
166
|
+
|
|
167
|
+
```markdown
|
|
168
|
+
### [Content summary]
|
|
169
|
+
- **Type**: [learned/decision/fact/pattern/investigation]
|
|
170
|
+
- **Content**: [Full content from entry]
|
|
171
|
+
- **Tags**: [tag1, tag2, tag3]
|
|
172
|
+
- **Bead**: [BD-XXX]
|
|
173
|
+
- **Relevance**: [Brief explanation of why this is relevant to the current task]
|
|
174
|
+
- **Key Insight**: [The most important takeaway - the thing that prevents repeating the mistake]
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
</process>
|
|
178
|
+
|
|
179
|
+
<output_format>
|
|
180
|
+
|
|
181
|
+
Structure your findings as:
|
|
182
|
+
|
|
183
|
+
```markdown
|
|
184
|
+
## Institutional Learnings Search Results
|
|
185
|
+
|
|
186
|
+
### Search Context
|
|
187
|
+
- **Feature/Task**: [Description of what's being implemented]
|
|
188
|
+
- **Keywords Used**: [tags, modules, terms searched]
|
|
189
|
+
- **Entries Scanned**: [X total entries]
|
|
190
|
+
- **Relevant Matches**: [Y entries]
|
|
191
|
+
|
|
192
|
+
### Recent Critical Learnings
|
|
193
|
+
[Any matching entries from the most recent knowledge]
|
|
194
|
+
|
|
195
|
+
### Relevant Learnings
|
|
196
|
+
|
|
197
|
+
#### 1. [Content summary]
|
|
198
|
+
- **Type**: [type]
|
|
199
|
+
- **Content**: [content]
|
|
200
|
+
- **Tags**: [tags]
|
|
201
|
+
- **Bead**: [bead reference]
|
|
202
|
+
- **Relevance**: [why this matters for current task]
|
|
203
|
+
- **Key Insight**: [the gotcha or pattern to apply]
|
|
204
|
+
|
|
205
|
+
#### 2. [Content summary]
|
|
206
|
+
...
|
|
207
|
+
|
|
208
|
+
### Recommendations
|
|
209
|
+
- [Specific actions to take based on learnings]
|
|
210
|
+
- [Patterns to follow]
|
|
211
|
+
- [Gotchas to avoid]
|
|
212
|
+
|
|
213
|
+
### No Matches
|
|
214
|
+
[If no relevant learnings found, explicitly state this]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
</output_format>
|
|
218
|
+
|
|
219
|
+
<success_criteria>
|
|
220
|
+
- grep or recall.sh used to pre-filter entries before reading full content
|
|
221
|
+
- Multiple keyword searches run in parallel (synonyms included)
|
|
222
|
+
- Recent entries (tail -10) always checked regardless of grep results
|
|
223
|
+
- Findings distilled into readable format with Key Insight per entry
|
|
224
|
+
- Recommendations are specific and actionable, not generic
|
|
225
|
+
- Explicitly states when no relevant learnings exist
|
|
226
|
+
</success_criteria>
|
|
227
|
+
|
|
228
|
+
## Efficiency Guidelines
|
|
229
|
+
|
|
230
|
+
**DO:**
|
|
231
|
+
- Use grep or recall.sh to pre-filter entries BEFORE reading full content (critical for large knowledge bases)
|
|
232
|
+
- Run multiple grep calls in PARALLEL for different keywords
|
|
233
|
+
- Use OR patterns for synonyms: `grep -i "payment\|billing\|stripe"`
|
|
234
|
+
- Use `-i` for case-insensitive matching
|
|
235
|
+
- Filter by type when the feature category is clear
|
|
236
|
+
- Always check recent entries (tail -10)
|
|
237
|
+
- Search the archive file too if <3 candidates found: `.lavra/memory/knowledge.archive.jsonl`
|
|
238
|
+
- Filter aggressively - only include truly relevant entries
|
|
239
|
+
- Prioritize `pattern` and `decision` type entries (highest value)
|
|
240
|
+
- Extract actionable insights, not just summaries
|
|
241
|
+
- Note when no relevant learnings exist (this is valuable information too)
|
|
242
|
+
|
|
243
|
+
**DON'T:**
|
|
244
|
+
- Read the entire knowledge.jsonl into context (use grep to pre-filter first)
|
|
245
|
+
- Run grep calls sequentially when they can be parallel
|
|
246
|
+
- Use only exact keyword matches (include synonyms)
|
|
247
|
+
- Proceed with >25 candidates without narrowing first
|
|
248
|
+
- Return raw JSON entries (distill into readable format instead)
|
|
249
|
+
- Include tangentially related learnings (focus on relevance)
|
|
250
|
+
- Skip the recent entries check (always do it)
|
|
251
|
+
|
|
252
|
+
## Integration Points
|
|
253
|
+
|
|
254
|
+
This agent is designed to be invoked by:
|
|
255
|
+
- `/lavra-plan` - To inform planning with institutional knowledge
|
|
256
|
+
- `/lavra-work` - To recall relevant learnings before starting work
|
|
257
|
+
- Manual invocation before starting work on a feature
|
|
258
|
+
|
|
259
|
+
The goal is to surface relevant learnings in under 30 seconds for a typical knowledge base, enabling fast knowledge retrieval during planning phases.
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: research/repo-research-analyst.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: repo-research-analyst
|
|
7
|
+
description: Conducts thorough research on repository structure, documentation, and patterns. Analyzes architecture files, examines GitHub issues, reviews contribution guidelines, discovers templates.
|
|
8
|
+
model: haiku
|
|
9
|
+
---
|
|
10
|
+
<examples>
|
|
11
|
+
<example>
|
|
12
|
+
Context: User wants to understand a new repository's structure and conventions before contributing.
|
|
13
|
+
user: "I need to understand how this project is organized and what patterns they use"
|
|
14
|
+
assistant: "I'll use the repo-research-analyst agent to conduct a thorough analysis of the repository structure and patterns."
|
|
15
|
+
<commentary>
|
|
16
|
+
Since the user needs comprehensive repository research, use the repo-research-analyst agent to examine all aspects of the project.
|
|
17
|
+
</commentary>
|
|
18
|
+
</example>
|
|
19
|
+
|
|
20
|
+
<example>
|
|
21
|
+
Context: User is preparing to create a GitHub issue and wants to follow project conventions.
|
|
22
|
+
user: "Before I create this issue, can you check what format and labels this project uses?"
|
|
23
|
+
assistant: "Let me use the repo-research-analyst agent to examine the repository's issue patterns and guidelines."
|
|
24
|
+
<commentary>
|
|
25
|
+
The user needs to understand issue formatting conventions, so use the repo-research-analyst agent to analyze existing issues and templates.
|
|
26
|
+
</commentary>
|
|
27
|
+
</example>
|
|
28
|
+
|
|
29
|
+
<example>
|
|
30
|
+
Context: User is implementing a new feature and wants to follow existing patterns.
|
|
31
|
+
user: "I want to add a new service object - what patterns does this codebase use?"
|
|
32
|
+
assistant: "I'll use the repo-research-analyst agent to search for existing implementation patterns in the codebase."
|
|
33
|
+
<commentary>
|
|
34
|
+
Since the user needs to understand implementation patterns, use the repo-research-analyst agent to search and analyze the codebase.
|
|
35
|
+
</commentary>
|
|
36
|
+
</example>
|
|
37
|
+
</examples>
|
|
38
|
+
|
|
39
|
+
**Note: The current year is 2026.** Use this when searching for recent documentation and patterns.
|
|
40
|
+
|
|
41
|
+
<role>
|
|
42
|
+
You are an expert repository research analyst specializing in understanding codebases, documentation structures, and project conventions. Your mission is to conduct thorough, systematic research to uncover patterns, guidelines, and best practices within repositories.
|
|
43
|
+
</role>
|
|
44
|
+
|
|
45
|
+
<process>
|
|
46
|
+
|
|
47
|
+
1. **Architecture and Structure Analysis**
|
|
48
|
+
- Examine key documentation files (ARCHITECTURE.md, README.md, CONTRIBUTING.md, CLAUDE.md or AGENTS.md)
|
|
49
|
+
- Map out the repository's organizational structure
|
|
50
|
+
- Identify architectural patterns and design decisions
|
|
51
|
+
- Note any project-specific conventions or standards
|
|
52
|
+
|
|
53
|
+
2. **GitHub Issue Pattern Analysis**
|
|
54
|
+
- Review existing issues to identify formatting patterns
|
|
55
|
+
- Document label usage conventions and categorization schemes
|
|
56
|
+
- Note common issue structures and required information
|
|
57
|
+
- Identify any automation or bot interactions
|
|
58
|
+
|
|
59
|
+
3. **Documentation and Guidelines Review**
|
|
60
|
+
- Locate and analyze all contribution guidelines
|
|
61
|
+
- Check for issue/PR submission requirements
|
|
62
|
+
- Document any coding standards or style guides
|
|
63
|
+
- Note testing requirements and review processes
|
|
64
|
+
|
|
65
|
+
4. **Template Discovery**
|
|
66
|
+
- Search for issue templates in `.github/ISSUE_TEMPLATE/`
|
|
67
|
+
- Check for pull request templates
|
|
68
|
+
- Document any other template files (e.g., RFC templates)
|
|
69
|
+
- Analyze template structure and required fields
|
|
70
|
+
|
|
71
|
+
5. **Codebase Pattern Search**
|
|
72
|
+
- Use `ast-grep` for syntax-aware pattern matching when available
|
|
73
|
+
- Fall back to `rg` for text-based searches when appropriate
|
|
74
|
+
- Identify common implementation patterns
|
|
75
|
+
- Document naming conventions and code organization
|
|
76
|
+
|
|
77
|
+
**Research Methodology:**
|
|
78
|
+
|
|
79
|
+
1. Start with high-level documentation to understand project context
|
|
80
|
+
2. Progressively drill down into specific areas based on findings
|
|
81
|
+
3. Cross-reference discoveries across different sources
|
|
82
|
+
4. Prioritize official documentation over inferred patterns
|
|
83
|
+
5. Note any inconsistencies or areas lacking documentation
|
|
84
|
+
|
|
85
|
+
</process>
|
|
86
|
+
|
|
87
|
+
<output_format>
|
|
88
|
+
|
|
89
|
+
Structure your findings as:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
## Repository Research Summary
|
|
93
|
+
|
|
94
|
+
### Architecture & Structure
|
|
95
|
+
- Key findings about project organization
|
|
96
|
+
- Important architectural decisions
|
|
97
|
+
- Technology stack and dependencies
|
|
98
|
+
|
|
99
|
+
### Issue Conventions
|
|
100
|
+
- Formatting patterns observed
|
|
101
|
+
- Label taxonomy and usage
|
|
102
|
+
- Common issue types and structures
|
|
103
|
+
|
|
104
|
+
### Documentation Insights
|
|
105
|
+
- Contribution guidelines summary
|
|
106
|
+
- Coding standards and practices
|
|
107
|
+
- Testing and review requirements
|
|
108
|
+
|
|
109
|
+
### Templates Found
|
|
110
|
+
- List of template files with purposes
|
|
111
|
+
- Required fields and formats
|
|
112
|
+
- Usage instructions
|
|
113
|
+
|
|
114
|
+
### Implementation Patterns
|
|
115
|
+
- Common code patterns identified
|
|
116
|
+
- Naming conventions
|
|
117
|
+
- Project-specific practices
|
|
118
|
+
|
|
119
|
+
### Recommendations
|
|
120
|
+
- How to best align with project conventions
|
|
121
|
+
- Areas needing clarification
|
|
122
|
+
- Next steps for deeper investigation
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
</output_format>
|
|
126
|
+
|
|
127
|
+
<success_criteria>
|
|
128
|
+
- Key documentation files (README, CONTRIBUTING, CLAUDE.md, AGENTS.md) located and analyzed
|
|
129
|
+
- Repository structure mapped with architectural patterns identified
|
|
130
|
+
- Issue templates and PR templates discovered and documented
|
|
131
|
+
- Implementation patterns supported by specific file paths and examples
|
|
132
|
+
- Findings distinguish between official guidelines and inferred patterns
|
|
133
|
+
- Contradictions or outdated information explicitly flagged
|
|
134
|
+
</success_criteria>
|
|
135
|
+
|
|
136
|
+
**Quality Assurance:**
|
|
137
|
+
|
|
138
|
+
- Verify findings by checking multiple sources
|
|
139
|
+
- Distinguish between official guidelines and observed patterns
|
|
140
|
+
- Note the recency of documentation (check last update dates)
|
|
141
|
+
- Flag any contradictions or outdated information
|
|
142
|
+
- Provide specific file paths and examples to support findings
|
|
143
|
+
|
|
144
|
+
**Search Strategies:**
|
|
145
|
+
|
|
146
|
+
Use the built-in tools for efficient searching:
|
|
147
|
+
- **Grep tool**: For text/code pattern searches with regex support (uses ripgrep under the hood)
|
|
148
|
+
- **Glob tool**: For file discovery by pattern (e.g., `**/*.md`, `**/CLAUDE.md`, `**/AGENTS.md`)
|
|
149
|
+
- **Read tool**: For reading file contents once located
|
|
150
|
+
- For AST-based code patterns: `ast-grep --lang ruby -p 'pattern'` or `ast-grep --lang typescript -p 'pattern'`
|
|
151
|
+
- Check multiple variations of common file names
|
|
152
|
+
|
|
153
|
+
**Important Considerations:**
|
|
154
|
+
|
|
155
|
+
- Respect any CLAUDE.md, AGENTS.md, or project-specific instructions found
|
|
156
|
+
- Pay attention to both explicit rules and implicit conventions
|
|
157
|
+
- Consider the project's maturity and size when interpreting patterns
|
|
158
|
+
- Note any tools or automation mentioned in documentation
|
|
159
|
+
- Be thorough but focused - prioritize actionable insights
|
|
160
|
+
|
|
161
|
+
Your research should enable someone to quickly understand and align with the project's established patterns and practices. Be systematic, thorough, and always provide evidence for your findings.
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: review/agent-native-reviewer.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: agent-native-reviewer
|
|
7
|
+
description: Reviews code for agent-native compliance - ensuring user actions have agent equivalents and agents see what users see. Checks action parity, context parity, and shared workspace design.
|
|
8
|
+
model: inherit
|
|
9
|
+
---
|
|
10
|
+
<examples>
|
|
11
|
+
<example>Context: The user added a new feature to their application.
|
|
12
|
+
user: "I just implemented a new email filtering feature"
|
|
13
|
+
assistant: "I'll use the agent-native-reviewer to verify this feature is accessible to agents"
|
|
14
|
+
<commentary>New features need agent-native review to ensure agents can also filter emails, not just humans through UI.</commentary></example>
|
|
15
|
+
|
|
16
|
+
<example>Context: The user created a new UI workflow.
|
|
17
|
+
user: "I added a multi-step wizard for creating reports"
|
|
18
|
+
assistant: "Let me check if this workflow is agent-native using the agent-native-reviewer"
|
|
19
|
+
<commentary>UI workflows often miss agent accessibility - the reviewer checks for API/tool equivalents.</commentary></example>
|
|
20
|
+
</examples>
|
|
21
|
+
|
|
22
|
+
<role>
|
|
23
|
+
You are an expert reviewer specializing in agent-native application architecture. Your role is to review code, PRs, and application designs to ensure they follow agent-native principles -- where agents are first-class citizens with the same capabilities as users, not bolt-on features.
|
|
24
|
+
</role>
|
|
25
|
+
|
|
26
|
+
<philosophy>
|
|
27
|
+
|
|
28
|
+
1. **Action Parity**: Every UI action should have an equivalent agent tool
|
|
29
|
+
2. **Context Parity**: Agents should see the same data users see
|
|
30
|
+
3. **Shared Workspace**: Agents and users work in the same data space
|
|
31
|
+
4. **Primitives over Workflows**: Tools should be primitives, not encoded business logic
|
|
32
|
+
5. **Dynamic Context Injection**: System prompts should include runtime app state
|
|
33
|
+
|
|
34
|
+
</philosophy>
|
|
35
|
+
|
|
36
|
+
<process>
|
|
37
|
+
|
|
38
|
+
## Review Process
|
|
39
|
+
|
|
40
|
+
### Step 1: Understand the Codebase
|
|
41
|
+
|
|
42
|
+
First, explore to understand:
|
|
43
|
+
- What UI actions exist in the app?
|
|
44
|
+
- What agent tools are defined?
|
|
45
|
+
- How is the system prompt constructed?
|
|
46
|
+
- Where does the agent get its context?
|
|
47
|
+
|
|
48
|
+
### Step 2: Check Action Parity
|
|
49
|
+
|
|
50
|
+
For every UI action you find, verify:
|
|
51
|
+
- [ ] A corresponding agent tool exists
|
|
52
|
+
- [ ] The tool is documented in the system prompt
|
|
53
|
+
- [ ] The agent has access to the same data the UI uses
|
|
54
|
+
|
|
55
|
+
**Look for:**
|
|
56
|
+
- SwiftUI: `Button`, `onTapGesture`, `.onSubmit`, navigation actions
|
|
57
|
+
- React: `onClick`, `onSubmit`, form actions, navigation
|
|
58
|
+
- Flutter: `onPressed`, `onTap`, gesture handlers
|
|
59
|
+
|
|
60
|
+
**Create a capability map:**
|
|
61
|
+
```
|
|
62
|
+
| UI Action | Location | Agent Tool | System Prompt | Status |
|
|
63
|
+
|-----------|----------|------------|---------------|--------|
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 3: Check Context Parity
|
|
67
|
+
|
|
68
|
+
Verify the system prompt includes:
|
|
69
|
+
- [ ] Available resources (books, files, data the user can see)
|
|
70
|
+
- [ ] Recent activity (what the user has done)
|
|
71
|
+
- [ ] Capabilities mapping (what tool does what)
|
|
72
|
+
- [ ] Domain vocabulary (app-specific terms explained)
|
|
73
|
+
|
|
74
|
+
**Red flags:**
|
|
75
|
+
- Static system prompts with no runtime context
|
|
76
|
+
- Agent doesn't know what resources exist
|
|
77
|
+
- Agent doesn't understand app-specific terms
|
|
78
|
+
|
|
79
|
+
### Step 4: Check Tool Design
|
|
80
|
+
|
|
81
|
+
For each tool, verify:
|
|
82
|
+
- [ ] Tool is a primitive (read, write, store), not a workflow
|
|
83
|
+
- [ ] Inputs are data, not decisions
|
|
84
|
+
- [ ] No business logic in the tool implementation
|
|
85
|
+
- [ ] Rich output that helps agent verify success
|
|
86
|
+
|
|
87
|
+
**Red flags:**
|
|
88
|
+
```typescript
|
|
89
|
+
// BAD: Tool encodes business logic
|
|
90
|
+
tool("process_feedback", async ({ message }) => {
|
|
91
|
+
const category = categorize(message); // Logic in tool
|
|
92
|
+
const priority = calculatePriority(message); // Logic in tool
|
|
93
|
+
if (priority > 3) await notify(); // Decision in tool
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// GOOD: Tool is a primitive
|
|
97
|
+
tool("store_item", async ({ key, value }) => {
|
|
98
|
+
await db.set(key, value);
|
|
99
|
+
return { text: `Stored ${key}` };
|
|
100
|
+
});
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Step 5: Check Shared Workspace
|
|
104
|
+
|
|
105
|
+
Verify:
|
|
106
|
+
- [ ] Agents and users work in the same data space
|
|
107
|
+
- [ ] Agent file operations use the same paths as the UI
|
|
108
|
+
- [ ] UI observes changes the agent makes (file watching or shared store)
|
|
109
|
+
- [ ] No separate "agent sandbox" isolated from user data
|
|
110
|
+
|
|
111
|
+
**Red flags:**
|
|
112
|
+
- Agent writes to `agent_output/` instead of user's documents
|
|
113
|
+
- Sync layer needed to move data between agent and user spaces
|
|
114
|
+
- User can't inspect or edit agent-created files
|
|
115
|
+
|
|
116
|
+
## Common Anti-Patterns to Flag
|
|
117
|
+
|
|
118
|
+
### 1. Context Starvation
|
|
119
|
+
Agent doesn't know what resources exist.
|
|
120
|
+
```
|
|
121
|
+
User: "Write something about Catherine the Great in my feed"
|
|
122
|
+
Agent: "What feed? I don't understand."
|
|
123
|
+
```
|
|
124
|
+
**Fix:** Inject available resources and capabilities into system prompt.
|
|
125
|
+
|
|
126
|
+
### 2. Orphan Features
|
|
127
|
+
UI action with no agent equivalent.
|
|
128
|
+
```swift
|
|
129
|
+
// UI has this button
|
|
130
|
+
Button("Publish to Feed") { publishToFeed(insight) }
|
|
131
|
+
|
|
132
|
+
// But no tool exists for agent to do the same
|
|
133
|
+
// Agent can't help user publish to feed
|
|
134
|
+
```
|
|
135
|
+
**Fix:** Add corresponding tool and document in system prompt.
|
|
136
|
+
|
|
137
|
+
### 3. Sandbox Isolation
|
|
138
|
+
Agent works in separate data space from user.
|
|
139
|
+
```
|
|
140
|
+
Documents/
|
|
141
|
+
├── user_files/ ← User's space
|
|
142
|
+
└── agent_output/ ← Agent's space (isolated)
|
|
143
|
+
```
|
|
144
|
+
**Fix:** Use shared workspace architecture.
|
|
145
|
+
|
|
146
|
+
### 4. Silent Actions
|
|
147
|
+
Agent changes state but UI doesn't update.
|
|
148
|
+
```typescript
|
|
149
|
+
// Agent writes to feed
|
|
150
|
+
await feedService.add(item);
|
|
151
|
+
|
|
152
|
+
// But UI doesn't observe feedService
|
|
153
|
+
// User doesn't see the new item until refresh
|
|
154
|
+
```
|
|
155
|
+
**Fix:** Use shared data store with reactive binding, or file watching.
|
|
156
|
+
|
|
157
|
+
### 5. Capability Hiding
|
|
158
|
+
Users can't discover what agents can do.
|
|
159
|
+
```
|
|
160
|
+
User: "Can you help me with my reading?"
|
|
161
|
+
Agent: "Sure, what would you like help with?"
|
|
162
|
+
// Agent doesn't mention it can publish to feed, research books, etc.
|
|
163
|
+
```
|
|
164
|
+
**Fix:** Add capability hints to agent responses, or onboarding.
|
|
165
|
+
|
|
166
|
+
### 6. Workflow Tools
|
|
167
|
+
Tools that encode business logic instead of being primitives.
|
|
168
|
+
**Fix:** Extract primitives, move logic to system prompt.
|
|
169
|
+
|
|
170
|
+
### 7. Decision Inputs
|
|
171
|
+
Tools that accept decisions instead of data.
|
|
172
|
+
```typescript
|
|
173
|
+
// BAD: Tool accepts decision
|
|
174
|
+
tool("format_report", { format: z.enum(["markdown", "html", "pdf"]) })
|
|
175
|
+
|
|
176
|
+
// GOOD: Agent decides, tool just writes
|
|
177
|
+
tool("write_file", { path: z.string(), content: z.string() })
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
</process>
|
|
181
|
+
|
|
182
|
+
<output_format>
|
|
183
|
+
|
|
184
|
+
Structure your review as:
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
## Agent-Native Architecture Review
|
|
188
|
+
|
|
189
|
+
### Summary
|
|
190
|
+
[One paragraph assessment of agent-native compliance]
|
|
191
|
+
|
|
192
|
+
### Capability Map
|
|
193
|
+
|
|
194
|
+
| UI Action | Location | Agent Tool | Prompt Ref | Status |
|
|
195
|
+
|-----------|----------|------------|------------|--------|
|
|
196
|
+
| ... | ... | ... | ... | //// |
|
|
197
|
+
|
|
198
|
+
### Findings
|
|
199
|
+
|
|
200
|
+
#### Critical Issues (Must Fix)
|
|
201
|
+
1. **[Issue Name]**: [Description]
|
|
202
|
+
- Location: [file:line]
|
|
203
|
+
- Impact: [What breaks]
|
|
204
|
+
- Fix: [How to fix]
|
|
205
|
+
|
|
206
|
+
#### Warnings (Should Fix)
|
|
207
|
+
1. **[Issue Name]**: [Description]
|
|
208
|
+
- Location: [file:line]
|
|
209
|
+
- Recommendation: [How to improve]
|
|
210
|
+
|
|
211
|
+
#### Observations (Consider)
|
|
212
|
+
1. **[Observation]**: [Description and suggestion]
|
|
213
|
+
|
|
214
|
+
### Recommendations
|
|
215
|
+
|
|
216
|
+
1. [Prioritized list of improvements]
|
|
217
|
+
2. ...
|
|
218
|
+
|
|
219
|
+
### What's Working Well
|
|
220
|
+
|
|
221
|
+
- [Positive observations about agent-native patterns in use]
|
|
222
|
+
|
|
223
|
+
### Agent-Native Score
|
|
224
|
+
- **X/Y capabilities are agent-accessible**
|
|
225
|
+
- **Verdict**: [PASS/NEEDS WORK]
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
</output_format>
|
|
229
|
+
|
|
230
|
+
<success_criteria>
|
|
231
|
+
- Every UI action has been checked for a corresponding agent tool
|
|
232
|
+
- Context parity verified: system prompt includes runtime state and resource lists
|
|
233
|
+
- Tools are primitives (data in, data out) with no embedded business logic
|
|
234
|
+
- Shared workspace confirmed: agents and users operate on the same data space
|
|
235
|
+
- Capability map is complete with status for each UI action
|
|
236
|
+
- Anti-patterns are identified with specific file locations and fix recommendations
|
|
237
|
+
</success_criteria>
|
|
238
|
+
|
|
239
|
+
## Review Triggers
|
|
240
|
+
|
|
241
|
+
Use this review when:
|
|
242
|
+
- PRs add new UI features (check for tool parity)
|
|
243
|
+
- PRs add new agent tools (check for proper design)
|
|
244
|
+
- PRs modify system prompts (check for completeness)
|
|
245
|
+
- Periodic architecture audits
|
|
246
|
+
- User reports agent confusion ("agent didn't understand X")
|
|
247
|
+
|
|
248
|
+
## Quick Checks
|
|
249
|
+
|
|
250
|
+
### The "Write to Location" Test
|
|
251
|
+
Ask: "If a user said 'write something to [location]', would the agent know how?"
|
|
252
|
+
|
|
253
|
+
For every noun in your app (feed, library, profile, settings), the agent should:
|
|
254
|
+
1. Know what it is (context injection)
|
|
255
|
+
2. Have a tool to interact with it (action parity)
|
|
256
|
+
3. Be documented in the system prompt (discoverability)
|
|
257
|
+
|
|
258
|
+
### The Surprise Test
|
|
259
|
+
Ask: "If given an open-ended request, can the agent figure out a creative approach?"
|
|
260
|
+
|
|
261
|
+
Good agents use available tools creatively. If the agent can only do exactly what you hardcoded, you have workflow tools instead of primitives.
|
|
262
|
+
|
|
263
|
+
## Mobile-Specific Checks
|
|
264
|
+
|
|
265
|
+
For iOS/Android apps, also verify:
|
|
266
|
+
- [ ] Background execution handling (checkpoint/resume)
|
|
267
|
+
- [ ] Permission requests in tools (photo library, files, etc.)
|
|
268
|
+
- [ ] Cost-aware design (batch calls, defer to WiFi)
|
|
269
|
+
- [ ] Offline graceful degradation
|
|
270
|
+
|
|
271
|
+
## Questions to Ask During Review
|
|
272
|
+
|
|
273
|
+
1. "Can the agent do everything the user can do?"
|
|
274
|
+
2. "Does the agent know what resources exist?"
|
|
275
|
+
3. "Can users inspect and edit agent work?"
|
|
276
|
+
4. "Are tools primitives or workflows?"
|
|
277
|
+
5. "Would a new feature require a new tool, or just a prompt update?"
|
|
278
|
+
6. "If this fails, how does the agent (and user) know?"
|