@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,341 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
Agent-native architecture has consequences for how products feel, not just how they're built. This document covers progressive disclosure of complexity, discovering latent demand through agent usage, and designing approval flows that match stakes and reversibility.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<progressive_disclosure>
|
|
6
|
+
## Progressive Disclosure of Complexity
|
|
7
|
+
|
|
8
|
+
The best agent-native applications are simple to start but endlessly powerful.
|
|
9
|
+
|
|
10
|
+
### The Excel Analogy
|
|
11
|
+
|
|
12
|
+
Excel is the canonical example: you can use it for a grocery list, or you can build complex financial models. The same tool, radically different depths of use.
|
|
13
|
+
|
|
14
|
+
Claude Code has this quality: fix a typo, or refactor an entire codebase. The interface is the same—natural language—but the capability scales with the ask.
|
|
15
|
+
|
|
16
|
+
### The Pattern
|
|
17
|
+
|
|
18
|
+
Agent-native applications should aspire to this:
|
|
19
|
+
|
|
20
|
+
**Simple entry:** Basic requests work immediately with no learning curve
|
|
21
|
+
```
|
|
22
|
+
User: "Organize my downloads"
|
|
23
|
+
Agent: [Does it immediately, no configuration needed]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Discoverable depth:** Users find they can do more as they explore
|
|
27
|
+
```
|
|
28
|
+
User: "Organize my downloads by project"
|
|
29
|
+
Agent: [Adapts to preference]
|
|
30
|
+
|
|
31
|
+
User: "Every Monday, review last week's downloads"
|
|
32
|
+
Agent: [Sets up recurring workflow]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**No ceiling:** Power users can push the system in ways you didn't anticipate
|
|
36
|
+
```
|
|
37
|
+
User: "Cross-reference my downloads with my calendar and flag
|
|
38
|
+
anything I downloaded during a meeting that I haven't
|
|
39
|
+
followed up on"
|
|
40
|
+
Agent: [Composes capabilities to accomplish this]
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### How This Emerges
|
|
44
|
+
|
|
45
|
+
This isn't something you design directly. It **emerges naturally from the architecture:**
|
|
46
|
+
|
|
47
|
+
1. When features are prompts and tools are composable...
|
|
48
|
+
2. Users can start simple ("organize my downloads")...
|
|
49
|
+
3. And gradually discover complexity ("every Monday, review last week's...")...
|
|
50
|
+
4. Without you having to build each level explicitly
|
|
51
|
+
|
|
52
|
+
The agent meets users where they are.
|
|
53
|
+
|
|
54
|
+
### Design Implications
|
|
55
|
+
|
|
56
|
+
- **Don't force configuration upfront** - Let users start immediately
|
|
57
|
+
- **Don't hide capabilities** - Make them discoverable through use
|
|
58
|
+
- **Don't cap complexity** - If the agent can do it, let users ask for it
|
|
59
|
+
- **Do provide hints** - Help users discover what's possible
|
|
60
|
+
</progressive_disclosure>
|
|
61
|
+
|
|
62
|
+
<latent_demand_discovery>
|
|
63
|
+
## Latent Demand Discovery
|
|
64
|
+
|
|
65
|
+
Traditional product development: imagine what users want, build it, see if you're right.
|
|
66
|
+
|
|
67
|
+
Agent-native product development: build a capable foundation, observe what users ask the agent to do, formalize the patterns that emerge.
|
|
68
|
+
|
|
69
|
+
### The Shift
|
|
70
|
+
|
|
71
|
+
**Traditional approach:**
|
|
72
|
+
```
|
|
73
|
+
1. Imagine features users might want
|
|
74
|
+
2. Build them
|
|
75
|
+
3. Ship
|
|
76
|
+
4. Hope you guessed right
|
|
77
|
+
5. If wrong, rebuild
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Agent-native approach:**
|
|
81
|
+
```
|
|
82
|
+
1. Build capable foundation (atomic tools, parity)
|
|
83
|
+
2. Ship
|
|
84
|
+
3. Users ask agent for things
|
|
85
|
+
4. Observe what they're asking for
|
|
86
|
+
5. Patterns emerge
|
|
87
|
+
6. Formalize patterns into domain tools or prompts
|
|
88
|
+
7. Repeat
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### The Flywheel
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Build with atomic tools and parity
|
|
95
|
+
↓
|
|
96
|
+
Users ask for things you didn't anticipate
|
|
97
|
+
↓
|
|
98
|
+
Agent composes tools to accomplish them
|
|
99
|
+
(or fails, revealing a capability gap)
|
|
100
|
+
↓
|
|
101
|
+
You observe patterns in what's being requested
|
|
102
|
+
↓
|
|
103
|
+
Add domain tools or prompts to optimize common patterns
|
|
104
|
+
↓
|
|
105
|
+
(Repeat)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### What You Learn
|
|
109
|
+
|
|
110
|
+
**When users ask and the agent succeeds:**
|
|
111
|
+
- This is a real need
|
|
112
|
+
- Your architecture supports it
|
|
113
|
+
- Consider optimizing with a domain tool if it's common
|
|
114
|
+
|
|
115
|
+
**When users ask and the agent fails:**
|
|
116
|
+
- This is a real need
|
|
117
|
+
- You have a capability gap
|
|
118
|
+
- Fix the gap: add tool, fix parity, improve context
|
|
119
|
+
|
|
120
|
+
**When users don't ask for something:**
|
|
121
|
+
- Maybe they don't need it
|
|
122
|
+
- Or maybe they don't know it's possible (capability hiding)
|
|
123
|
+
|
|
124
|
+
### Implementation
|
|
125
|
+
|
|
126
|
+
**Log agent requests:**
|
|
127
|
+
```typescript
|
|
128
|
+
async function handleAgentRequest(request: string) {
|
|
129
|
+
// Log what users are asking for
|
|
130
|
+
await analytics.log({
|
|
131
|
+
type: 'agent_request',
|
|
132
|
+
request: request,
|
|
133
|
+
timestamp: Date.now(),
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// Process request...
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Track success/failure:**
|
|
141
|
+
```typescript
|
|
142
|
+
async function completeAgentSession(session: AgentSession) {
|
|
143
|
+
await analytics.log({
|
|
144
|
+
type: 'agent_session',
|
|
145
|
+
request: session.initialRequest,
|
|
146
|
+
succeeded: session.status === 'completed',
|
|
147
|
+
toolsUsed: session.toolCalls.map(t => t.name),
|
|
148
|
+
iterations: session.iterationCount,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Review patterns:**
|
|
154
|
+
- What are users asking for most?
|
|
155
|
+
- What's failing? Why?
|
|
156
|
+
- What would benefit from a domain tool?
|
|
157
|
+
- What needs better context injection?
|
|
158
|
+
</latent_demand_discovery>
|
|
159
|
+
|
|
160
|
+
<approval_and_agency>
|
|
161
|
+
## Approval and User Agency
|
|
162
|
+
|
|
163
|
+
When agents take unsolicited actions—doing things on their own rather than responding to explicit requests—you need to decide how much autonomy to grant.
|
|
164
|
+
|
|
165
|
+
> **Note:** This framework applies to unsolicited agent actions. If the user explicitly asks the agent to do something ("send that email"), that's already approval—the agent just does it.
|
|
166
|
+
|
|
167
|
+
### The Stakes/Reversibility Matrix
|
|
168
|
+
|
|
169
|
+
Consider two dimensions:
|
|
170
|
+
- **Stakes:** How much does it matter if this goes wrong?
|
|
171
|
+
- **Reversibility:** How easy is it to undo?
|
|
172
|
+
|
|
173
|
+
| Stakes | Reversibility | Pattern | Example |
|
|
174
|
+
|--------|---------------|---------|---------|
|
|
175
|
+
| Low | Easy | **Auto-apply** | Organizing files |
|
|
176
|
+
| Low | Hard | **Quick confirm** | Publishing to a private feed |
|
|
177
|
+
| High | Easy | **Suggest + apply** | Code changes with undo |
|
|
178
|
+
| High | Hard | **Explicit approval** | Sending emails, payments |
|
|
179
|
+
|
|
180
|
+
### Patterns in Detail
|
|
181
|
+
|
|
182
|
+
**Auto-apply (low stakes, easy reversal):**
|
|
183
|
+
```
|
|
184
|
+
Agent: [Organizes files into folders]
|
|
185
|
+
Agent: "I organized your downloads into folders by type.
|
|
186
|
+
You can undo with Cmd+Z or move them back."
|
|
187
|
+
```
|
|
188
|
+
User doesn't need to approve—it's easy to undo and doesn't matter much.
|
|
189
|
+
|
|
190
|
+
**Quick confirm (low stakes, hard reversal):**
|
|
191
|
+
```
|
|
192
|
+
Agent: "I've drafted a post about your reading insights.
|
|
193
|
+
Publish to your feed?"
|
|
194
|
+
[Publish] [Edit first] [Cancel]
|
|
195
|
+
```
|
|
196
|
+
One-tap confirm because stakes are low, but it's hard to un-publish.
|
|
197
|
+
|
|
198
|
+
**Suggest + apply (high stakes, easy reversal):**
|
|
199
|
+
```
|
|
200
|
+
Agent: "I recommend these code changes to fix the bug:
|
|
201
|
+
[Shows diff]
|
|
202
|
+
Apply? Changes can be reverted with git."
|
|
203
|
+
[Apply] [Modify] [Cancel]
|
|
204
|
+
```
|
|
205
|
+
Shows what will happen, makes reversal clear.
|
|
206
|
+
|
|
207
|
+
**Explicit approval (high stakes, hard reversal):**
|
|
208
|
+
```
|
|
209
|
+
Agent: "I've drafted this email to your team about the deadline change:
|
|
210
|
+
[Shows full email]
|
|
211
|
+
This will send immediately and cannot be unsent.
|
|
212
|
+
Type 'send' to confirm."
|
|
213
|
+
```
|
|
214
|
+
Requires explicit action, makes consequences clear.
|
|
215
|
+
|
|
216
|
+
### Self-Modification Considerations
|
|
217
|
+
|
|
218
|
+
When agents can modify their own behavior—changing prompts, updating preferences, adjusting workflows—the goals are:
|
|
219
|
+
|
|
220
|
+
1. **Visibility:** User can see what changed
|
|
221
|
+
2. **Understanding:** User understands the effects
|
|
222
|
+
3. **Rollback:** User can undo changes
|
|
223
|
+
|
|
224
|
+
Approval flows are one way to achieve this. Audit logs with easy rollback could be another. **The principle is: make it legible.**
|
|
225
|
+
</approval_and_agency>
|
|
226
|
+
|
|
227
|
+
<capability_visibility>
|
|
228
|
+
## Capability Visibility
|
|
229
|
+
|
|
230
|
+
Users need to discover what the agent can do. Hidden capabilities lead to underutilization.
|
|
231
|
+
|
|
232
|
+
### The Problem
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
User: "Help me with my reading"
|
|
236
|
+
Agent: "What would you like help with?"
|
|
237
|
+
// Agent doesn't mention it can publish to feed, research books,
|
|
238
|
+
// generate introductions, analyze themes...
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
The agent can do these things, but the user doesn't know.
|
|
242
|
+
|
|
243
|
+
### Solutions
|
|
244
|
+
|
|
245
|
+
**Onboarding hints:**
|
|
246
|
+
```
|
|
247
|
+
Agent: "I can help you with your reading in several ways:
|
|
248
|
+
- Research any book (web search + save findings)
|
|
249
|
+
- Generate personalized introductions
|
|
250
|
+
- Publish insights to your reading feed
|
|
251
|
+
- Analyze themes across your library
|
|
252
|
+
What interests you?"
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Contextual suggestions:**
|
|
256
|
+
```
|
|
257
|
+
User: "I just finished reading 1984"
|
|
258
|
+
Agent: "Great choice! Would you like me to:
|
|
259
|
+
- Research historical context?
|
|
260
|
+
- Compare it to other books in your library?
|
|
261
|
+
- Publish an insight about it to your feed?"
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Progressive revelation:**
|
|
265
|
+
```
|
|
266
|
+
// After user uses basic features
|
|
267
|
+
Agent: "By the way, you can also ask me to set up
|
|
268
|
+
recurring tasks, like 'every Monday, review my
|
|
269
|
+
reading progress.' Just let me know!"
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Balance
|
|
273
|
+
|
|
274
|
+
- **Don't overwhelm** with all capabilities upfront
|
|
275
|
+
- **Do reveal** capabilities naturally through use
|
|
276
|
+
- **Don't assume** users will discover things on their own
|
|
277
|
+
- **Do make** capabilities visible when relevant
|
|
278
|
+
</capability_visibility>
|
|
279
|
+
|
|
280
|
+
<designing_for_trust>
|
|
281
|
+
## Designing for Trust
|
|
282
|
+
|
|
283
|
+
Agent-native apps require trust. Users are giving an AI significant capability. Build trust through:
|
|
284
|
+
|
|
285
|
+
### Transparency
|
|
286
|
+
|
|
287
|
+
- Show what the agent is doing (tool calls, progress)
|
|
288
|
+
- Explain reasoning when it matters
|
|
289
|
+
- Make all agent work inspectable (files, logs)
|
|
290
|
+
|
|
291
|
+
### Predictability
|
|
292
|
+
|
|
293
|
+
- Consistent behavior for similar requests
|
|
294
|
+
- Clear patterns for when approval is needed
|
|
295
|
+
- No surprises in what the agent can access
|
|
296
|
+
|
|
297
|
+
### Reversibility
|
|
298
|
+
|
|
299
|
+
- Easy undo for agent actions
|
|
300
|
+
- Checkpoints before significant changes
|
|
301
|
+
- Clear rollback paths
|
|
302
|
+
|
|
303
|
+
### Control
|
|
304
|
+
|
|
305
|
+
- User can stop agent at any time
|
|
306
|
+
- User can adjust agent behavior (prompts, preferences)
|
|
307
|
+
- User can restrict capabilities if desired
|
|
308
|
+
</designing_for_trust>
|
|
309
|
+
|
|
310
|
+
<checklist>
|
|
311
|
+
## Product Design Checklist
|
|
312
|
+
|
|
313
|
+
### Progressive Disclosure
|
|
314
|
+
- [ ] Basic requests work immediately (no config)
|
|
315
|
+
- [ ] Depth is discoverable through use
|
|
316
|
+
- [ ] No artificial ceiling on complexity
|
|
317
|
+
- [ ] Capability hints provided
|
|
318
|
+
|
|
319
|
+
### Latent Demand Discovery
|
|
320
|
+
- [ ] Agent requests are logged
|
|
321
|
+
- [ ] Success/failure is tracked
|
|
322
|
+
- [ ] Patterns are reviewed regularly
|
|
323
|
+
- [ ] Common patterns formalized into tools/prompts
|
|
324
|
+
|
|
325
|
+
### Approval & Agency
|
|
326
|
+
- [ ] Stakes assessed for each action type
|
|
327
|
+
- [ ] Reversibility assessed for each action type
|
|
328
|
+
- [ ] Approval pattern matches stakes/reversibility
|
|
329
|
+
- [ ] Self-modification is legible (visible, understandable, reversible)
|
|
330
|
+
|
|
331
|
+
### Capability Visibility
|
|
332
|
+
- [ ] Onboarding reveals key capabilities
|
|
333
|
+
- [ ] Contextual suggestions provided
|
|
334
|
+
- [ ] Users aren't expected to guess what's possible
|
|
335
|
+
|
|
336
|
+
### Trust
|
|
337
|
+
- [ ] Agent actions are transparent
|
|
338
|
+
- [ ] Behavior is predictable
|
|
339
|
+
- [ ] Actions are reversible
|
|
340
|
+
- [ ] User has control
|
|
341
|
+
</checklist>
|
package/plugins/lavra/skills/agent-native-architecture/references/refactoring-to-prompt-native.md
ADDED
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
How to refactor existing agent code to follow prompt-native principles. The goal: move behavior from code into prompts, and simplify tools into primitives.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<diagnosis>
|
|
6
|
+
## Diagnosing Non-Prompt-Native Code
|
|
7
|
+
|
|
8
|
+
Signs your agent isn't prompt-native:
|
|
9
|
+
|
|
10
|
+
**Tools that encode workflows:**
|
|
11
|
+
```typescript
|
|
12
|
+
// RED FLAG: Tool contains business logic
|
|
13
|
+
tool("process_feedback", async ({ message }) => {
|
|
14
|
+
const category = categorize(message); // Logic in code
|
|
15
|
+
const priority = calculatePriority(message); // Logic in code
|
|
16
|
+
await store(message, category, priority); // Orchestration in code
|
|
17
|
+
if (priority > 3) await notify(); // Decision in code
|
|
18
|
+
});
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Agent calls functions instead of figuring things out:**
|
|
22
|
+
```typescript
|
|
23
|
+
// RED FLAG: Agent is just a function caller
|
|
24
|
+
"Use process_feedback to handle incoming messages"
|
|
25
|
+
// vs.
|
|
26
|
+
"When feedback comes in, decide importance, store it, notify if high"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Artificial limits on agent capability:**
|
|
30
|
+
```typescript
|
|
31
|
+
// RED FLAG: Tool prevents agent from doing what users can do
|
|
32
|
+
tool("read_file", async ({ path }) => {
|
|
33
|
+
if (!ALLOWED_PATHS.includes(path)) {
|
|
34
|
+
throw new Error("Not allowed to read this file");
|
|
35
|
+
}
|
|
36
|
+
return readFile(path);
|
|
37
|
+
});
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Prompts that specify HOW instead of WHAT:**
|
|
41
|
+
```markdown
|
|
42
|
+
// RED FLAG: Micromanaging the agent
|
|
43
|
+
When creating a summary:
|
|
44
|
+
1. Use exactly 3 bullet points
|
|
45
|
+
2. Each bullet must be under 20 words
|
|
46
|
+
3. Format with em-dashes for sub-points
|
|
47
|
+
4. Bold the first word of each bullet
|
|
48
|
+
```
|
|
49
|
+
</diagnosis>
|
|
50
|
+
|
|
51
|
+
<refactoring_workflow>
|
|
52
|
+
## Step-by-Step Refactoring
|
|
53
|
+
|
|
54
|
+
**Step 1: Identify workflow tools**
|
|
55
|
+
|
|
56
|
+
List all your tools. Mark any that:
|
|
57
|
+
- Have business logic (categorize, calculate, decide)
|
|
58
|
+
- Orchestrate multiple operations
|
|
59
|
+
- Make decisions on behalf of the agent
|
|
60
|
+
- Contain conditional logic (if/else based on content)
|
|
61
|
+
|
|
62
|
+
**Step 2: Extract the primitives**
|
|
63
|
+
|
|
64
|
+
For each workflow tool, identify the underlying primitives:
|
|
65
|
+
|
|
66
|
+
| Workflow Tool | Hidden Primitives |
|
|
67
|
+
|---------------|-------------------|
|
|
68
|
+
| `process_feedback` | `store_item`, `send_message` |
|
|
69
|
+
| `generate_report` | `read_file`, `write_file` |
|
|
70
|
+
| `deploy_and_notify` | `git_push`, `send_message` |
|
|
71
|
+
|
|
72
|
+
**Step 3: Move behavior to the prompt**
|
|
73
|
+
|
|
74
|
+
Take the logic from your workflow tools and express it in natural language:
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
// Before (in code):
|
|
78
|
+
async function processFeedback(message) {
|
|
79
|
+
const priority = message.includes("crash") ? 5 :
|
|
80
|
+
message.includes("bug") ? 4 : 3;
|
|
81
|
+
await store(message, priority);
|
|
82
|
+
if (priority >= 4) await notify();
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
// After (in prompt):
|
|
88
|
+
## Feedback Processing
|
|
89
|
+
|
|
90
|
+
When someone shares feedback:
|
|
91
|
+
1. Rate importance 1-5:
|
|
92
|
+
- 5: Crashes, data loss, security issues
|
|
93
|
+
- 4: Bug reports with clear reproduction steps
|
|
94
|
+
- 3: General suggestions, minor issues
|
|
95
|
+
2. Store using store_item
|
|
96
|
+
3. If importance >= 4, notify the team
|
|
97
|
+
|
|
98
|
+
Use your judgment. Context matters more than keywords.
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Step 4: Simplify tools to primitives**
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
// Before: 1 workflow tool
|
|
105
|
+
tool("process_feedback", { message, category, priority }, ...complex logic...)
|
|
106
|
+
|
|
107
|
+
// After: 2 primitive tools
|
|
108
|
+
tool("store_item", { key: z.string(), value: z.any() }, ...simple storage...)
|
|
109
|
+
tool("send_message", { channel: z.string(), content: z.string() }, ...simple send...)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Step 5: Remove artificial limits**
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
// Before: Limited capability
|
|
116
|
+
tool("read_file", async ({ path }) => {
|
|
117
|
+
if (!isAllowed(path)) throw new Error("Forbidden");
|
|
118
|
+
return readFile(path);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
// After: Full capability
|
|
122
|
+
tool("read_file", async ({ path }) => {
|
|
123
|
+
return readFile(path); // Agent can read anything
|
|
124
|
+
});
|
|
125
|
+
// Use approval gates for WRITES, not artificial limits on READS
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Step 6: Test with outcomes, not procedures**
|
|
129
|
+
|
|
130
|
+
Instead of testing "does it call the right function?", test "does it achieve the outcome?"
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
// Before: Testing procedure
|
|
134
|
+
expect(mockProcessFeedback).toHaveBeenCalledWith(...)
|
|
135
|
+
|
|
136
|
+
// After: Testing outcome
|
|
137
|
+
// Send feedback → Check it was stored with reasonable importance
|
|
138
|
+
// Send high-priority feedback → Check notification was sent
|
|
139
|
+
```
|
|
140
|
+
</refactoring_workflow>
|
|
141
|
+
|
|
142
|
+
<before_after>
|
|
143
|
+
## Before/After Examples
|
|
144
|
+
|
|
145
|
+
**Example 1: Feedback Processing**
|
|
146
|
+
|
|
147
|
+
Before:
|
|
148
|
+
```typescript
|
|
149
|
+
tool("handle_feedback", async ({ message, author }) => {
|
|
150
|
+
const category = detectCategory(message);
|
|
151
|
+
const priority = calculatePriority(message, category);
|
|
152
|
+
const feedbackId = await db.feedback.insert({
|
|
153
|
+
id: generateId(),
|
|
154
|
+
author,
|
|
155
|
+
message,
|
|
156
|
+
category,
|
|
157
|
+
priority,
|
|
158
|
+
timestamp: new Date().toISOString(),
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
if (priority >= 4) {
|
|
162
|
+
await discord.send(ALERT_CHANNEL, `High priority feedback from ${author}`);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return { feedbackId, category, priority };
|
|
166
|
+
});
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
After:
|
|
170
|
+
```typescript
|
|
171
|
+
// Simple storage primitive
|
|
172
|
+
tool("store_feedback", async ({ item }) => {
|
|
173
|
+
await db.feedback.insert(item);
|
|
174
|
+
return { text: `Stored feedback ${item.id}` };
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
// Simple message primitive
|
|
178
|
+
tool("send_message", async ({ channel, content }) => {
|
|
179
|
+
await discord.send(channel, content);
|
|
180
|
+
return { text: "Sent" };
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
System prompt:
|
|
185
|
+
```markdown
|
|
186
|
+
## Feedback Processing
|
|
187
|
+
|
|
188
|
+
When someone shares feedback:
|
|
189
|
+
1. Generate a unique ID
|
|
190
|
+
2. Rate importance 1-5 based on impact and urgency
|
|
191
|
+
3. Store using store_feedback with the full item
|
|
192
|
+
4. If importance >= 4, send a notification to the team channel
|
|
193
|
+
|
|
194
|
+
Importance guidelines:
|
|
195
|
+
- 5: Critical (crashes, data loss, security)
|
|
196
|
+
- 4: High (detailed bug reports, blocking issues)
|
|
197
|
+
- 3: Medium (suggestions, minor bugs)
|
|
198
|
+
- 2: Low (cosmetic, edge cases)
|
|
199
|
+
- 1: Minimal (off-topic, duplicates)
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Example 2: Report Generation**
|
|
203
|
+
|
|
204
|
+
Before:
|
|
205
|
+
```typescript
|
|
206
|
+
tool("generate_weekly_report", async ({ startDate, endDate, format }) => {
|
|
207
|
+
const data = await fetchMetrics(startDate, endDate);
|
|
208
|
+
const summary = summarizeMetrics(data);
|
|
209
|
+
const charts = generateCharts(data);
|
|
210
|
+
|
|
211
|
+
if (format === "html") {
|
|
212
|
+
return renderHtmlReport(summary, charts);
|
|
213
|
+
} else if (format === "markdown") {
|
|
214
|
+
return renderMarkdownReport(summary, charts);
|
|
215
|
+
} else {
|
|
216
|
+
return renderPdfReport(summary, charts);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
After:
|
|
222
|
+
```typescript
|
|
223
|
+
tool("query_metrics", async ({ start, end }) => {
|
|
224
|
+
const data = await db.metrics.query({ start, end });
|
|
225
|
+
return { text: JSON.stringify(data, null, 2) };
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
tool("write_file", async ({ path, content }) => {
|
|
229
|
+
writeFileSync(path, content);
|
|
230
|
+
return { text: `Wrote ${path}` };
|
|
231
|
+
});
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
System prompt:
|
|
235
|
+
```markdown
|
|
236
|
+
## Report Generation
|
|
237
|
+
|
|
238
|
+
When asked to generate a report:
|
|
239
|
+
1. Query the relevant metrics using query_metrics
|
|
240
|
+
2. Analyze the data and identify key trends
|
|
241
|
+
3. Create a clear, well-formatted report
|
|
242
|
+
4. Write it using write_file in the appropriate format
|
|
243
|
+
|
|
244
|
+
Use your judgment about format and structure. Make it useful.
|
|
245
|
+
```
|
|
246
|
+
</before_after>
|
|
247
|
+
|
|
248
|
+
<common_challenges>
|
|
249
|
+
## Common Refactoring Challenges
|
|
250
|
+
|
|
251
|
+
**"But the agent might make mistakes!"**
|
|
252
|
+
|
|
253
|
+
Yes, and you can iterate. Change the prompt to add guidance:
|
|
254
|
+
```markdown
|
|
255
|
+
// Before
|
|
256
|
+
Rate importance 1-5.
|
|
257
|
+
|
|
258
|
+
// After (if agent keeps rating too high)
|
|
259
|
+
Rate importance 1-5. Be conservative—most feedback is 2-3.
|
|
260
|
+
Only use 4-5 for truly blocking or critical issues.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**"The workflow is complex!"**
|
|
264
|
+
|
|
265
|
+
Complex workflows can still be expressed in prompts. The agent is smart.
|
|
266
|
+
```markdown
|
|
267
|
+
When processing video feedback:
|
|
268
|
+
1. Check if it's a Loom, YouTube, or direct link
|
|
269
|
+
2. For YouTube, pass URL directly to video analysis
|
|
270
|
+
3. For others, download first, then analyze
|
|
271
|
+
4. Extract timestamped issues
|
|
272
|
+
5. Rate based on issue density and severity
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**"We need deterministic behavior!"**
|
|
276
|
+
|
|
277
|
+
Some operations should stay in code. That's fine. Prompt-native isn't all-or-nothing.
|
|
278
|
+
|
|
279
|
+
Keep in code:
|
|
280
|
+
- Security validation
|
|
281
|
+
- Rate limiting
|
|
282
|
+
- Audit logging
|
|
283
|
+
- Exact format requirements
|
|
284
|
+
|
|
285
|
+
Move to prompts:
|
|
286
|
+
- Categorization decisions
|
|
287
|
+
- Priority judgments
|
|
288
|
+
- Content generation
|
|
289
|
+
- Workflow orchestration
|
|
290
|
+
|
|
291
|
+
**"What about testing?"**
|
|
292
|
+
|
|
293
|
+
Test outcomes, not procedures:
|
|
294
|
+
- "Given this input, does the agent achieve the right result?"
|
|
295
|
+
- "Does stored feedback have reasonable importance ratings?"
|
|
296
|
+
- "Are notifications sent for truly high-priority items?"
|
|
297
|
+
</common_challenges>
|
|
298
|
+
|
|
299
|
+
<checklist>
|
|
300
|
+
## Refactoring Checklist
|
|
301
|
+
|
|
302
|
+
Diagnosis:
|
|
303
|
+
- [ ] Listed all tools with business logic
|
|
304
|
+
- [ ] Identified artificial limits on agent capability
|
|
305
|
+
- [ ] Found prompts that micromanage HOW
|
|
306
|
+
|
|
307
|
+
Refactoring:
|
|
308
|
+
- [ ] Extracted primitives from workflow tools
|
|
309
|
+
- [ ] Moved business logic to system prompt
|
|
310
|
+
- [ ] Removed artificial limits
|
|
311
|
+
- [ ] Simplified tool inputs to data, not decisions
|
|
312
|
+
|
|
313
|
+
Validation:
|
|
314
|
+
- [ ] Agent achieves same outcomes with primitives
|
|
315
|
+
- [ ] Behavior can be changed by editing prompts
|
|
316
|
+
- [ ] New features could be added without new tools
|
|
317
|
+
</checklist>
|