@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,188 @@
|
|
|
1
|
+
<!-- Generated by lavra-compound v0.6.0 -->
|
|
2
|
+
<!-- Source: andrew-kane-gem-writer/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: andrew-kane-gem-writer
|
|
7
|
+
description: This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on requests like "create a gem", "write a Ruby library", "design a gem API", or mentions of Andrew Kane's style.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Andrew Kane Gem Writer
|
|
11
|
+
|
|
12
|
+
Write Ruby gems following Andrew Kane's battle-tested patterns from 100+ gems with 374M+ downloads (Searchkick, PgHero, Chartkick, Strong Migrations, Lockbox, Ahoy, Blazer, Groupdate, Neighbor, Blind Index).
|
|
13
|
+
|
|
14
|
+
## Core Philosophy
|
|
15
|
+
|
|
16
|
+
**Simplicity over cleverness.** Zero or minimal dependencies. Explicit code over metaprogramming. Rails integration without Rails coupling. Every pattern serves production use cases.
|
|
17
|
+
|
|
18
|
+
## Entry Point Structure
|
|
19
|
+
|
|
20
|
+
Every gem follows this exact pattern in `lib/gemname.rb`:
|
|
21
|
+
|
|
22
|
+
```ruby
|
|
23
|
+
# 1. Dependencies (stdlib preferred)
|
|
24
|
+
require "forwardable"
|
|
25
|
+
|
|
26
|
+
# 2. Internal modules
|
|
27
|
+
require_relative "gemname/model"
|
|
28
|
+
require_relative "gemname/version"
|
|
29
|
+
|
|
30
|
+
# 3. Conditional Rails (CRITICAL - never require Rails directly)
|
|
31
|
+
require_relative "gemname/railtie" if defined?(Rails)
|
|
32
|
+
|
|
33
|
+
# 4. Module with config and errors
|
|
34
|
+
module GemName
|
|
35
|
+
class Error < StandardError; end
|
|
36
|
+
class InvalidConfigError < Error; end
|
|
37
|
+
|
|
38
|
+
class << self
|
|
39
|
+
attr_accessor :timeout, :logger
|
|
40
|
+
attr_writer :client
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
self.timeout = 10 # Defaults set immediately
|
|
44
|
+
end
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Class Macro DSL Pattern
|
|
48
|
+
|
|
49
|
+
The signature Kane pattern—single method call configures everything:
|
|
50
|
+
|
|
51
|
+
```ruby
|
|
52
|
+
# Usage
|
|
53
|
+
class Product < ApplicationRecord
|
|
54
|
+
searchkick word_start: [:name]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Implementation
|
|
58
|
+
module GemName
|
|
59
|
+
module Model
|
|
60
|
+
def gemname(**options)
|
|
61
|
+
unknown = options.keys - KNOWN_KEYWORDS
|
|
62
|
+
raise ArgumentError, "unknown keywords: #{unknown.join(", ")}" if unknown.any?
|
|
63
|
+
|
|
64
|
+
mod = Module.new
|
|
65
|
+
mod.module_eval do
|
|
66
|
+
define_method :some_method do
|
|
67
|
+
# implementation
|
|
68
|
+
end unless method_defined?(:some_method)
|
|
69
|
+
end
|
|
70
|
+
include mod
|
|
71
|
+
|
|
72
|
+
class_eval do
|
|
73
|
+
cattr_reader :gemname_options, instance_reader: false
|
|
74
|
+
class_variable_set :@@gemname_options, options.dup
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Rails Integration
|
|
82
|
+
|
|
83
|
+
**Always use `ActiveSupport.on_load`—never require Rails gems directly:**
|
|
84
|
+
|
|
85
|
+
```ruby
|
|
86
|
+
# WRONG
|
|
87
|
+
require "active_record"
|
|
88
|
+
ActiveRecord::Base.include(MyGem::Model)
|
|
89
|
+
|
|
90
|
+
# CORRECT
|
|
91
|
+
ActiveSupport.on_load(:active_record) do
|
|
92
|
+
extend GemName::Model
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Use prepend for behavior modification
|
|
96
|
+
ActiveSupport.on_load(:active_record) do
|
|
97
|
+
ActiveRecord::Migration.prepend(GemName::Migration)
|
|
98
|
+
end
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Configuration Pattern
|
|
102
|
+
|
|
103
|
+
Use `class << self` with `attr_accessor`, not Configuration objects:
|
|
104
|
+
|
|
105
|
+
```ruby
|
|
106
|
+
module GemName
|
|
107
|
+
class << self
|
|
108
|
+
attr_accessor :timeout, :logger
|
|
109
|
+
attr_writer :master_key
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def self.master_key
|
|
113
|
+
@master_key ||= ENV["GEMNAME_MASTER_KEY"]
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
self.timeout = 10
|
|
117
|
+
self.logger = nil
|
|
118
|
+
end
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Error Handling
|
|
122
|
+
|
|
123
|
+
Simple hierarchy with informative messages:
|
|
124
|
+
|
|
125
|
+
```ruby
|
|
126
|
+
module GemName
|
|
127
|
+
class Error < StandardError; end
|
|
128
|
+
class ConfigError < Error; end
|
|
129
|
+
class ValidationError < Error; end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# Validate early with ArgumentError
|
|
133
|
+
def initialize(key:)
|
|
134
|
+
raise ArgumentError, "Key must be 32 bytes" unless key&.bytesize == 32
|
|
135
|
+
end
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Testing (Minitest Only)
|
|
139
|
+
|
|
140
|
+
```ruby
|
|
141
|
+
# test/test_helper.rb
|
|
142
|
+
require "bundler/setup"
|
|
143
|
+
Bundler.require(:default)
|
|
144
|
+
require "minitest/autorun"
|
|
145
|
+
require "minitest/pride"
|
|
146
|
+
|
|
147
|
+
# test/model_test.rb
|
|
148
|
+
class ModelTest < Minitest::Test
|
|
149
|
+
def test_basic_functionality
|
|
150
|
+
assert_equal expected, actual
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Gemspec Pattern
|
|
156
|
+
|
|
157
|
+
Zero runtime dependencies when possible:
|
|
158
|
+
|
|
159
|
+
```ruby
|
|
160
|
+
Gem::Specification.new do |spec|
|
|
161
|
+
spec.name = "gemname"
|
|
162
|
+
spec.version = GemName::VERSION
|
|
163
|
+
spec.required_ruby_version = ">= 3.1"
|
|
164
|
+
spec.files = Dir["*.{md,txt}", "{lib}/**/*"]
|
|
165
|
+
spec.require_path = "lib"
|
|
166
|
+
# NO add_dependency lines - dev deps go in Gemfile
|
|
167
|
+
end
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Anti-Patterns to Avoid
|
|
171
|
+
|
|
172
|
+
- `method_missing` (use `define_method` instead)
|
|
173
|
+
- Configuration objects (use class accessors)
|
|
174
|
+
- `@@class_variables` (use `class << self`)
|
|
175
|
+
- Requiring Rails gems directly
|
|
176
|
+
- Many runtime dependencies
|
|
177
|
+
- Committing Gemfile.lock in gems
|
|
178
|
+
- RSpec (use Minitest)
|
|
179
|
+
- Heavy DSLs (prefer explicit Ruby)
|
|
180
|
+
|
|
181
|
+
## Reference Files
|
|
182
|
+
|
|
183
|
+
For deeper patterns, see:
|
|
184
|
+
- **[references/module-organization.md](references/module-organization.md)** - Directory layouts, method decomposition
|
|
185
|
+
- **[references/rails-integration.md](references/rails-integration.md)** - Railtie, Engine, on_load patterns
|
|
186
|
+
- **[references/database-adapters.md](references/database-adapters.md)** - Multi-database support patterns
|
|
187
|
+
- **[references/testing-patterns.md](references/testing-patterns.md)** - Multi-version testing, CI setup
|
|
188
|
+
- **[references/resources.md](references/resources.md)** - Links to Kane's repos and articles
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: brainstorming/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: brainstorming
|
|
7
|
+
description: This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Brainstorming
|
|
11
|
+
|
|
12
|
+
This skill provides detailed process knowledge for effective brainstorming sessions that clarify **WHAT** to build before diving into **HOW** to build it.
|
|
13
|
+
|
|
14
|
+
## When to Use This Skill
|
|
15
|
+
|
|
16
|
+
Brainstorming is valuable when:
|
|
17
|
+
- Requirements are unclear or ambiguous
|
|
18
|
+
- Multiple approaches could solve the problem
|
|
19
|
+
- Trade-offs need to be explored with the user
|
|
20
|
+
- The user hasn't fully articulated what they want
|
|
21
|
+
- The feature scope needs refinement
|
|
22
|
+
|
|
23
|
+
Brainstorming can be skipped when:
|
|
24
|
+
- Requirements are explicit and detailed
|
|
25
|
+
- The user knows exactly what they want
|
|
26
|
+
- The task is a straightforward bug fix or well-defined change
|
|
27
|
+
|
|
28
|
+
## Core Process
|
|
29
|
+
|
|
30
|
+
### Phase 0: Assess Requirement Clarity
|
|
31
|
+
|
|
32
|
+
Before diving into questions, assess whether brainstorming is needed.
|
|
33
|
+
|
|
34
|
+
**Signals that requirements are clear:**
|
|
35
|
+
- User provided specific acceptance criteria
|
|
36
|
+
- User referenced existing patterns to follow
|
|
37
|
+
- User described exact behavior expected
|
|
38
|
+
- Scope is constrained and well-defined
|
|
39
|
+
|
|
40
|
+
**Signals that brainstorming is needed:**
|
|
41
|
+
- User used vague terms ("make it better", "add something like")
|
|
42
|
+
- Multiple reasonable interpretations exist
|
|
43
|
+
- Trade-offs haven't been discussed
|
|
44
|
+
- User seems unsure about the approach
|
|
45
|
+
|
|
46
|
+
If requirements are clear, suggest: "Your requirements seem clear. Consider proceeding directly to planning or implementation."
|
|
47
|
+
|
|
48
|
+
### Phase 1: Understand the Idea
|
|
49
|
+
|
|
50
|
+
Ask questions **one at a time** to understand the user's intent. Avoid overwhelming with multiple questions.
|
|
51
|
+
|
|
52
|
+
**Question Techniques:**
|
|
53
|
+
|
|
54
|
+
1. **Prefer multiple choice when natural options exist**
|
|
55
|
+
- Good: "Should the notification be: (a) email only, (b) in-app only, or (c) both?"
|
|
56
|
+
- Avoid: "How should users be notified?"
|
|
57
|
+
|
|
58
|
+
2. **Start broad, then narrow**
|
|
59
|
+
- First: What is the core purpose?
|
|
60
|
+
- Then: Who are the users?
|
|
61
|
+
- Finally: What constraints exist?
|
|
62
|
+
|
|
63
|
+
3. **Validate assumptions explicitly**
|
|
64
|
+
- "I'm assuming users will be logged in. Is that correct?"
|
|
65
|
+
|
|
66
|
+
4. **Ask about success criteria early**
|
|
67
|
+
- "How will you know this feature is working well?"
|
|
68
|
+
|
|
69
|
+
**Key Topics to Explore:**
|
|
70
|
+
|
|
71
|
+
| Topic | Example Questions |
|
|
72
|
+
|-------|-------------------|
|
|
73
|
+
| Purpose | What problem does this solve? What's the motivation? |
|
|
74
|
+
| Users | Who uses this? What's their context? |
|
|
75
|
+
| Constraints | Any technical limitations? Timeline? Dependencies? |
|
|
76
|
+
| Success | How will you measure success? What's the happy path? |
|
|
77
|
+
| Edge Cases | What shouldn't happen? Any error states to consider? |
|
|
78
|
+
| Existing Patterns | Are there similar features in the codebase to follow? |
|
|
79
|
+
|
|
80
|
+
**Exit Condition:** Continue until the idea is clear OR user says "proceed" or "let's move on"
|
|
81
|
+
|
|
82
|
+
### Phase 2: Explore Approaches
|
|
83
|
+
|
|
84
|
+
After understanding the idea, propose 2-3 concrete approaches.
|
|
85
|
+
|
|
86
|
+
**Structure for Each Approach:**
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
### Approach A: [Name]
|
|
90
|
+
|
|
91
|
+
[2-3 sentence description]
|
|
92
|
+
|
|
93
|
+
**Pros:**
|
|
94
|
+
- [Benefit 1]
|
|
95
|
+
- [Benefit 2]
|
|
96
|
+
|
|
97
|
+
**Cons:**
|
|
98
|
+
- [Drawback 1]
|
|
99
|
+
- [Drawback 2]
|
|
100
|
+
|
|
101
|
+
**Best when:** [Circumstances where this approach shines]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Guidelines:**
|
|
105
|
+
- Lead with a recommendation and explain why
|
|
106
|
+
- Be honest about trade-offs
|
|
107
|
+
- Consider YAGNI--simpler is usually better
|
|
108
|
+
- Reference codebase patterns when relevant
|
|
109
|
+
|
|
110
|
+
### Phase 3: Capture the Design
|
|
111
|
+
|
|
112
|
+
Summarize key decisions as bead comments to persist the brainstorming output.
|
|
113
|
+
|
|
114
|
+
**Capture key decisions and investigation results using bead comments:**
|
|
115
|
+
|
|
116
|
+
For each significant decision or finding, log it to the active bead:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Log the chosen approach
|
|
120
|
+
bd comments add {BEAD_ID} "DECISION: Chose [approach name] because [rationale]. Alternatives considered: [list]"
|
|
121
|
+
|
|
122
|
+
# Log key investigation findings
|
|
123
|
+
bd comments add {BEAD_ID} "INVESTIGATION: Explored [topic]. Found that [key finding]. This means [implication]."
|
|
124
|
+
|
|
125
|
+
# Log important facts discovered during brainstorming
|
|
126
|
+
bd comments add {BEAD_ID} "FACT: [Constraint or requirement discovered during brainstorming]"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**If no active bead exists**, present a summary in this format:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
## What We're Building
|
|
133
|
+
[Concise description--1-2 paragraphs max]
|
|
134
|
+
|
|
135
|
+
## Why This Approach
|
|
136
|
+
[Brief explanation of approaches considered and why this one was chosen]
|
|
137
|
+
|
|
138
|
+
## Key Decisions
|
|
139
|
+
- [Decision 1]: [Rationale]
|
|
140
|
+
- [Decision 2]: [Rationale]
|
|
141
|
+
|
|
142
|
+
## Open Questions
|
|
143
|
+
- [Any unresolved questions for the planning phase]
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Phase 4: Handoff
|
|
147
|
+
|
|
148
|
+
Present clear options for what to do next:
|
|
149
|
+
|
|
150
|
+
1. **Proceed to planning** -> Run `/lavra-plan`
|
|
151
|
+
2. **Refine further** -> Continue exploring the design
|
|
152
|
+
3. **Done for now** -> User will return later
|
|
153
|
+
|
|
154
|
+
## YAGNI Principles
|
|
155
|
+
|
|
156
|
+
During brainstorming, actively resist complexity:
|
|
157
|
+
|
|
158
|
+
- **Don't design for hypothetical future requirements**
|
|
159
|
+
- **Choose the simplest approach that solves the stated problem**
|
|
160
|
+
- **Prefer boring, proven patterns over clever solutions**
|
|
161
|
+
- **Ask "Do we really need this?" when complexity emerges**
|
|
162
|
+
- **Defer decisions that don't need to be made now**
|
|
163
|
+
|
|
164
|
+
## Incremental Validation
|
|
165
|
+
|
|
166
|
+
Keep sections short--200-300 words maximum. After each section of output, pause to validate understanding:
|
|
167
|
+
|
|
168
|
+
- "Does this match what you had in mind?"
|
|
169
|
+
- "Any adjustments before we continue?"
|
|
170
|
+
- "Is this the direction you want to go?"
|
|
171
|
+
|
|
172
|
+
This prevents wasted effort on misaligned designs.
|
|
173
|
+
|
|
174
|
+
## Anti-Patterns to Avoid
|
|
175
|
+
|
|
176
|
+
| Anti-Pattern | Better Approach |
|
|
177
|
+
|--------------|-----------------|
|
|
178
|
+
| Asking 5 questions at once | Ask one at a time |
|
|
179
|
+
| Jumping to implementation details | Stay focused on WHAT, not HOW |
|
|
180
|
+
| Proposing overly complex solutions | Start simple, add complexity only if needed |
|
|
181
|
+
| Ignoring existing codebase patterns | Research what exists first |
|
|
182
|
+
| Making assumptions without validating | State assumptions explicitly and confirm |
|
|
183
|
+
| Creating lengthy design documents | Keep it concise--details go in the plan |
|
|
184
|
+
|
|
185
|
+
## Integration with Planning
|
|
186
|
+
|
|
187
|
+
Brainstorming answers **WHAT** to build:
|
|
188
|
+
- Requirements and acceptance criteria
|
|
189
|
+
- Chosen approach and rationale
|
|
190
|
+
- Key decisions and trade-offs
|
|
191
|
+
|
|
192
|
+
Planning answers **HOW** to build it:
|
|
193
|
+
- Implementation steps and file changes
|
|
194
|
+
- Technical details and code patterns
|
|
195
|
+
- Testing strategy and verification
|
|
196
|
+
|
|
197
|
+
When brainstorm output exists (as bead comments), `/lavra-plan` should detect it and use it as input, skipping its own idea refinement phase.
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: create-agent-skills/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: creating-agent-skills
|
|
7
|
+
description: "Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices."
|
|
8
|
+
disable-model-invocation: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Creating Agent Skills
|
|
12
|
+
|
|
13
|
+
This skill teaches how to create effective Claude Code Skills following Anthropic's official specification.
|
|
14
|
+
|
|
15
|
+
## Core Principles
|
|
16
|
+
|
|
17
|
+
### 1. Skills Are Prompts
|
|
18
|
+
|
|
19
|
+
All prompting best practices apply. Be clear, be direct. Assume Claude is smart - only add context Claude doesn't have.
|
|
20
|
+
|
|
21
|
+
### 2. Standard Markdown Format
|
|
22
|
+
|
|
23
|
+
Use YAML frontmatter + markdown body. **No XML tags** - use standard markdown headings.
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
---
|
|
27
|
+
name: my-skill-name
|
|
28
|
+
description: What it does and when to use it
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# My Skill Name
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
Immediate actionable guidance...
|
|
35
|
+
|
|
36
|
+
## Instructions
|
|
37
|
+
Step-by-step procedures...
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
Concrete usage examples...
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 3. Progressive Disclosure
|
|
44
|
+
|
|
45
|
+
Keep SKILL.md under 500 lines. Split detailed content into reference files. Load only what's needed.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
my-skill/
|
|
49
|
+
├── SKILL.md # Entry point (required)
|
|
50
|
+
├── reference.md # Detailed docs (loaded when needed)
|
|
51
|
+
├── examples.md # Usage examples
|
|
52
|
+
└── scripts/ # Utility scripts (executed, not loaded)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 4. Effective Descriptions
|
|
56
|
+
|
|
57
|
+
The description field enables skill discovery. Include both what the skill does AND when to use it. Write in third person.
|
|
58
|
+
|
|
59
|
+
**Good:**
|
|
60
|
+
```yaml
|
|
61
|
+
description: Extracts text and tables from PDF files, fills forms, merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Bad:**
|
|
65
|
+
```yaml
|
|
66
|
+
description: Helps with documents
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Skill Structure
|
|
70
|
+
|
|
71
|
+
### Required Frontmatter
|
|
72
|
+
|
|
73
|
+
| Field | Required | Max Length | Description |
|
|
74
|
+
|-------|----------|------------|-------------|
|
|
75
|
+
| `name` | Yes | 64 chars | Lowercase letters, numbers, hyphens only |
|
|
76
|
+
| `description` | Yes | 1024 chars | What it does AND when to use it |
|
|
77
|
+
| `allowed-tools` | No | - | Tools Claude can use without asking |
|
|
78
|
+
| `model` | No | - | Specific model to use |
|
|
79
|
+
|
|
80
|
+
### Naming Conventions
|
|
81
|
+
|
|
82
|
+
Use **gerund form** (verb + -ing) for skill names:
|
|
83
|
+
|
|
84
|
+
- `processing-pdfs`
|
|
85
|
+
- `analyzing-spreadsheets`
|
|
86
|
+
- `generating-commit-messages`
|
|
87
|
+
- `reviewing-code`
|
|
88
|
+
|
|
89
|
+
Avoid: `helper`, `utils`, `tools`, `anthropic-*`, `claude-*`
|
|
90
|
+
|
|
91
|
+
### Body Structure
|
|
92
|
+
|
|
93
|
+
Use standard markdown headings:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
# Skill Name
|
|
97
|
+
|
|
98
|
+
## Quick Start
|
|
99
|
+
Fastest path to value...
|
|
100
|
+
|
|
101
|
+
## Instructions
|
|
102
|
+
Core guidance Claude follows...
|
|
103
|
+
|
|
104
|
+
## Examples
|
|
105
|
+
Input/output pairs showing expected behavior...
|
|
106
|
+
|
|
107
|
+
## Advanced Features
|
|
108
|
+
Additional capabilities (link to reference files)...
|
|
109
|
+
|
|
110
|
+
## Guidelines
|
|
111
|
+
Rules and constraints...
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## What Would You Like To Do?
|
|
115
|
+
|
|
116
|
+
1. **Create new skill** - Build from scratch
|
|
117
|
+
2. **Audit existing skill** - Check against best practices
|
|
118
|
+
3. **Add component** - Add workflow/reference/example
|
|
119
|
+
4. **Get guidance** - Understand skill design
|
|
120
|
+
|
|
121
|
+
## Creating a New Skill
|
|
122
|
+
|
|
123
|
+
### Step 1: Choose Type
|
|
124
|
+
|
|
125
|
+
**Simple skill (single file):**
|
|
126
|
+
- Under 500 lines
|
|
127
|
+
- Self-contained guidance
|
|
128
|
+
- No complex workflows
|
|
129
|
+
|
|
130
|
+
**Progressive disclosure skill (multiple files):**
|
|
131
|
+
- SKILL.md as overview
|
|
132
|
+
- Reference files for detailed docs
|
|
133
|
+
- Scripts for utilities
|
|
134
|
+
|
|
135
|
+
### Step 2: Create SKILL.md
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
---
|
|
139
|
+
name: your-skill-name
|
|
140
|
+
description: [What it does]. Use when [trigger conditions].
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
# Your Skill Name
|
|
144
|
+
|
|
145
|
+
## Quick Start
|
|
146
|
+
|
|
147
|
+
[Immediate actionable example]
|
|
148
|
+
|
|
149
|
+
```[language]
|
|
150
|
+
[Code example]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Instructions
|
|
154
|
+
|
|
155
|
+
[Core guidance]
|
|
156
|
+
|
|
157
|
+
## Examples
|
|
158
|
+
|
|
159
|
+
**Example 1:**
|
|
160
|
+
Input: [description]
|
|
161
|
+
Output:
|
|
162
|
+
```
|
|
163
|
+
[result]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Guidelines
|
|
167
|
+
|
|
168
|
+
- [Constraint 1]
|
|
169
|
+
- [Constraint 2]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Step 3: Add Reference Files (If Needed)
|
|
173
|
+
|
|
174
|
+
Link from SKILL.md to detailed content:
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
For API reference, see [REFERENCE.md](REFERENCE.md).
|
|
178
|
+
For form filling guide, see [FORMS.md](FORMS.md).
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Keep references **one level deep** from SKILL.md.
|
|
182
|
+
|
|
183
|
+
### Step 4: Add Scripts (If Needed)
|
|
184
|
+
|
|
185
|
+
Scripts execute without loading into context:
|
|
186
|
+
|
|
187
|
+
```markdown
|
|
188
|
+
## Utility Scripts
|
|
189
|
+
|
|
190
|
+
Extract fields:
|
|
191
|
+
```bash
|
|
192
|
+
python scripts/analyze.py input.pdf > fields.json
|
|
193
|
+
```
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Step 5: Test With Real Usage
|
|
197
|
+
|
|
198
|
+
1. Test with actual tasks, not test scenarios
|
|
199
|
+
2. Observe where Claude struggles
|
|
200
|
+
3. Refine based on real behavior
|
|
201
|
+
4. Test with Haiku, Sonnet, and Opus
|
|
202
|
+
|
|
203
|
+
## Auditing Existing Skills
|
|
204
|
+
|
|
205
|
+
Check against this rubric:
|
|
206
|
+
|
|
207
|
+
- [ ] Valid YAML frontmatter (name + description)
|
|
208
|
+
- [ ] Description includes trigger keywords
|
|
209
|
+
- [ ] Uses standard markdown headings (not XML tags)
|
|
210
|
+
- [ ] SKILL.md under 500 lines
|
|
211
|
+
- [ ] References one level deep
|
|
212
|
+
- [ ] Examples are concrete, not abstract
|
|
213
|
+
- [ ] Consistent terminology
|
|
214
|
+
- [ ] No time-sensitive information
|
|
215
|
+
- [ ] Scripts handle errors explicitly
|
|
216
|
+
|
|
217
|
+
## Common Patterns
|
|
218
|
+
|
|
219
|
+
### Template Pattern
|
|
220
|
+
|
|
221
|
+
Provide output templates for consistent results:
|
|
222
|
+
|
|
223
|
+
```markdown
|
|
224
|
+
## Report Template
|
|
225
|
+
|
|
226
|
+
```markdown
|
|
227
|
+
# [Analysis Title]
|
|
228
|
+
|
|
229
|
+
## Executive Summary
|
|
230
|
+
[One paragraph overview]
|
|
231
|
+
|
|
232
|
+
## Key Findings
|
|
233
|
+
- Finding 1
|
|
234
|
+
- Finding 2
|
|
235
|
+
|
|
236
|
+
## Recommendations
|
|
237
|
+
1. [Action item]
|
|
238
|
+
2. [Action item]
|
|
239
|
+
```
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Workflow Pattern
|
|
243
|
+
|
|
244
|
+
For complex multi-step tasks:
|
|
245
|
+
|
|
246
|
+
```markdown
|
|
247
|
+
## Migration Workflow
|
|
248
|
+
|
|
249
|
+
Copy this checklist:
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
- [ ] Step 1: Backup database
|
|
253
|
+
- [ ] Step 2: Run migration script
|
|
254
|
+
- [ ] Step 3: Validate output
|
|
255
|
+
- [ ] Step 4: Update configuration
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Step 1: Backup database**
|
|
259
|
+
Run: `./scripts/backup.sh`
|
|
260
|
+
...
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Conditional Pattern
|
|
264
|
+
|
|
265
|
+
Guide through decision points:
|
|
266
|
+
|
|
267
|
+
```markdown
|
|
268
|
+
## Choose Your Approach
|
|
269
|
+
|
|
270
|
+
**Creating new content?** Follow "Creation workflow" below.
|
|
271
|
+
**Editing existing?** Follow "Editing workflow" below.
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Anti-Patterns to Avoid
|
|
275
|
+
|
|
276
|
+
- **XML tags in body** - Use markdown headings instead
|
|
277
|
+
- **Vague descriptions** - Be specific with trigger keywords
|
|
278
|
+
- **Deep nesting** - Keep references one level from SKILL.md
|
|
279
|
+
- **Too many options** - Provide a default with escape hatch
|
|
280
|
+
- **Windows paths** - Always use forward slashes
|
|
281
|
+
- **Punting to Claude** - Scripts should handle errors
|
|
282
|
+
- **Time-sensitive info** - Use "old patterns" section instead
|
|
283
|
+
|
|
284
|
+
## Reference Files
|
|
285
|
+
|
|
286
|
+
For detailed guidance, see:
|
|
287
|
+
|
|
288
|
+
- [official-spec.md](references/official-spec.md) - Anthropic's official skill specification
|
|
289
|
+
- [best-practices.md](references/best-practices.md) - Skill authoring best practices
|
|
290
|
+
|
|
291
|
+
## Success Criteria
|
|
292
|
+
|
|
293
|
+
A well-structured skill:
|
|
294
|
+
- Has valid YAML frontmatter with descriptive name and description
|
|
295
|
+
- Uses standard markdown headings (not XML tags)
|
|
296
|
+
- Keeps SKILL.md under 500 lines
|
|
297
|
+
- Links to reference files for detailed content
|
|
298
|
+
- Includes concrete examples with input/output pairs
|
|
299
|
+
- Has been tested with real usage
|
|
300
|
+
|
|
301
|
+
Sources:
|
|
302
|
+
- [Agent Skills - Claude Code Docs](https://code.claude.com/docs/en/skills)
|
|
303
|
+
- [Skill authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)
|
|
304
|
+
- [GitHub - anthropics/skills](https://github.com/anthropics/skills)
|