@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,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)
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
<!-- Generated by lavra-compound v0.6.0 -->
|
|
2
|
+
<!-- Source: dhh-rails-style/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: dhh-rails-style
|
|
7
|
+
description: This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style. It applies when writing Ruby code, Rails applications, creating models, controllers, or any Ruby file. Triggers on Ruby/Rails code generation, refactoring requests, code review, or when the user mentions DHH, 37signals, Basecamp, HEY, or Campfire style. Embodies REST purity, fat models, thin controllers, Current attributes, Hotwire patterns, and the "clarity over cleverness" philosophy.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<objective>
|
|
11
|
+
Apply 37signals/DHH Rails conventions to Ruby and Rails code. This skill provides comprehensive domain expertise extracted from analyzing production 37signals codebases (Fizzy/Campfire) and DHH's code review patterns.
|
|
12
|
+
</objective>
|
|
13
|
+
|
|
14
|
+
<essential_principles>
|
|
15
|
+
## Core Philosophy
|
|
16
|
+
|
|
17
|
+
"The best code is the code you don't write. The second best is the code that's obviously correct."
|
|
18
|
+
|
|
19
|
+
**Vanilla Rails is plenty:**
|
|
20
|
+
- Rich domain models over service objects
|
|
21
|
+
- CRUD controllers over custom actions
|
|
22
|
+
- Concerns for horizontal code sharing
|
|
23
|
+
- Records as state instead of boolean columns
|
|
24
|
+
- Database-backed everything (no Redis)
|
|
25
|
+
- Build solutions before reaching for gems
|
|
26
|
+
|
|
27
|
+
**What they deliberately avoid:**
|
|
28
|
+
- devise (custom ~150-line auth instead)
|
|
29
|
+
- pundit/cancancan (simple role checks in models)
|
|
30
|
+
- sidekiq (Solid Queue uses database)
|
|
31
|
+
- redis (database for everything)
|
|
32
|
+
- view_component (partials work fine)
|
|
33
|
+
- GraphQL (REST with Turbo sufficient)
|
|
34
|
+
- factory_bot (fixtures are simpler)
|
|
35
|
+
- rspec (Minitest ships with Rails)
|
|
36
|
+
- Tailwind (native CSS with layers)
|
|
37
|
+
|
|
38
|
+
**Development Philosophy:**
|
|
39
|
+
- Ship, Validate, Refine - prototype-quality code to production to learn
|
|
40
|
+
- Fix root causes, not symptoms
|
|
41
|
+
- Write-time operations over read-time computations
|
|
42
|
+
- Database constraints over ActiveRecord validations
|
|
43
|
+
</essential_principles>
|
|
44
|
+
|
|
45
|
+
<intake>
|
|
46
|
+
What are you working on?
|
|
47
|
+
|
|
48
|
+
1. **Controllers** - REST mapping, concerns, Turbo responses, API patterns
|
|
49
|
+
2. **Models** - Concerns, state records, callbacks, scopes, POROs
|
|
50
|
+
3. **Views & Frontend** - Turbo, Stimulus, CSS, partials
|
|
51
|
+
4. **Architecture** - Routing, multi-tenancy, authentication, jobs, caching
|
|
52
|
+
5. **Testing** - Minitest, fixtures, integration tests
|
|
53
|
+
6. **Gems & Dependencies** - What to use vs avoid
|
|
54
|
+
7. **Code Review** - Review code against DHH style
|
|
55
|
+
8. **General Guidance** - Philosophy and conventions
|
|
56
|
+
|
|
57
|
+
**Specify a number or describe your task.**
|
|
58
|
+
</intake>
|
|
59
|
+
|
|
60
|
+
<routing>
|
|
61
|
+
|
|
62
|
+
| Response | Reference to Read |
|
|
63
|
+
|----------|-------------------|
|
|
64
|
+
| 1, controller | [controllers.md](./references/controllers.md) |
|
|
65
|
+
| 2, model | [models.md](./references/models.md) |
|
|
66
|
+
| 3, view, frontend, turbo, stimulus, css | [frontend.md](./references/frontend.md) |
|
|
67
|
+
| 4, architecture, routing, auth, job, cache | [architecture.md](./references/architecture.md) |
|
|
68
|
+
| 5, test, testing, minitest, fixture | [testing.md](./references/testing.md) |
|
|
69
|
+
| 6, gem, dependency, library | [gems.md](./references/gems.md) |
|
|
70
|
+
| 7, review | Read all references, then review code |
|
|
71
|
+
| 8, general task | Read relevant references based on context |
|
|
72
|
+
|
|
73
|
+
**After reading relevant references, apply patterns to the user's code.**
|
|
74
|
+
</routing>
|
|
75
|
+
|
|
76
|
+
<quick_reference>
|
|
77
|
+
## Naming Conventions
|
|
78
|
+
|
|
79
|
+
**Verbs:** `card.close`, `card.gild`, `board.publish` (not `set_style` methods)
|
|
80
|
+
|
|
81
|
+
**Predicates:** `card.closed?`, `card.golden?` (derived from presence of related record)
|
|
82
|
+
|
|
83
|
+
**Concerns:** Adjectives describing capability (`Closeable`, `Publishable`, `Watchable`)
|
|
84
|
+
|
|
85
|
+
**Controllers:** Nouns matching resources (`Cards::ClosuresController`)
|
|
86
|
+
|
|
87
|
+
**Scopes:**
|
|
88
|
+
- `chronologically`, `reverse_chronologically`, `alphabetically`, `latest`
|
|
89
|
+
- `preloaded` (standard eager loading name)
|
|
90
|
+
- `indexed_by`, `sorted_by` (parameterized)
|
|
91
|
+
- `active`, `unassigned` (business terms, not SQL-ish)
|
|
92
|
+
|
|
93
|
+
## REST Mapping
|
|
94
|
+
|
|
95
|
+
Instead of custom actions, create new resources:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
POST /cards/:id/close → POST /cards/:id/closure
|
|
99
|
+
DELETE /cards/:id/close → DELETE /cards/:id/closure
|
|
100
|
+
POST /cards/:id/archive → POST /cards/:id/archival
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Ruby Syntax Preferences
|
|
104
|
+
|
|
105
|
+
```ruby
|
|
106
|
+
# Symbol arrays with spaces inside brackets
|
|
107
|
+
before_action :set_message, only: %i[ show edit update destroy ]
|
|
108
|
+
|
|
109
|
+
# Private method indentation
|
|
110
|
+
private
|
|
111
|
+
def set_message
|
|
112
|
+
@message = Message.find(params[:id])
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Expression-less case for conditionals
|
|
116
|
+
case
|
|
117
|
+
when params[:before].present?
|
|
118
|
+
messages.page_before(params[:before])
|
|
119
|
+
else
|
|
120
|
+
messages.last_page
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# Bang methods for fail-fast
|
|
124
|
+
@message = Message.create!(params)
|
|
125
|
+
|
|
126
|
+
# Ternaries for simple conditionals
|
|
127
|
+
@room.direct? ? @room.users : @message.mentionees
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Key Patterns
|
|
131
|
+
|
|
132
|
+
**State as Records:**
|
|
133
|
+
```ruby
|
|
134
|
+
Card.joins(:closure) # closed cards
|
|
135
|
+
Card.where.missing(:closure) # open cards
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Current Attributes:**
|
|
139
|
+
```ruby
|
|
140
|
+
belongs_to :creator, default: -> { Current.user }
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Authorization on Models:**
|
|
144
|
+
```ruby
|
|
145
|
+
class User < ApplicationRecord
|
|
146
|
+
def can_administer?(message)
|
|
147
|
+
message.creator == self || admin?
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
```
|
|
151
|
+
</quick_reference>
|
|
152
|
+
|
|
153
|
+
<reference_index>
|
|
154
|
+
## Domain Knowledge
|
|
155
|
+
|
|
156
|
+
All detailed patterns in `references/`:
|
|
157
|
+
|
|
158
|
+
| File | Topics |
|
|
159
|
+
|------|--------|
|
|
160
|
+
| [controllers.md](./references/controllers.md) | REST mapping, concerns, Turbo responses, API patterns, HTTP caching |
|
|
161
|
+
| [models.md](./references/models.md) | Concerns, state records, callbacks, scopes, POROs, authorization, broadcasting |
|
|
162
|
+
| [frontend.md](./references/frontend.md) | Turbo Streams, Stimulus controllers, CSS layers, OKLCH colors, partials |
|
|
163
|
+
| [architecture.md](./references/architecture.md) | Routing, authentication, jobs, Current attributes, caching, database patterns |
|
|
164
|
+
| [testing.md](./references/testing.md) | Minitest, fixtures, unit/integration/system tests, testing patterns |
|
|
165
|
+
| [gems.md](./references/gems.md) | What they use vs avoid, decision framework, Gemfile examples |
|
|
166
|
+
</reference_index>
|
|
167
|
+
|
|
168
|
+
<success_criteria>
|
|
169
|
+
Code follows DHH style when:
|
|
170
|
+
- Controllers map to CRUD verbs on resources
|
|
171
|
+
- Models use concerns for horizontal behavior
|
|
172
|
+
- State is tracked via records, not booleans
|
|
173
|
+
- No unnecessary service objects or abstractions
|
|
174
|
+
- Database-backed solutions preferred over external services
|
|
175
|
+
- Tests use Minitest with fixtures
|
|
176
|
+
- Turbo/Stimulus for interactivity (no heavy JS frameworks)
|
|
177
|
+
- Native CSS with modern features (layers, OKLCH, nesting)
|
|
178
|
+
- Authorization logic lives on User model
|
|
179
|
+
- Jobs are shallow wrappers calling model methods
|
|
180
|
+
</success_criteria>
|
|
181
|
+
|
|
182
|
+
<credits>
|
|
183
|
+
Based on [The Unofficial 37signals/DHH Rails Style Guide](https://github.com/marckohlbrugge/unofficial-37signals-coding-style-guide) by [Marc Köhlbrugge](https://x.com/marckohlbrugge), generated through deep analysis of 265 pull requests from the Fizzy codebase.
|
|
184
|
+
|
|
185
|
+
**Important Disclaimers:**
|
|
186
|
+
- LLM-generated guide - may contain inaccuracies
|
|
187
|
+
- Code examples from Fizzy are licensed under the O'Saasy License
|
|
188
|
+
- Not affiliated with or endorsed by 37signals
|
|
189
|
+
</credits>
|