@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,138 @@
|
|
|
1
|
+
<!-- Generated by lavra-compound v0.6.0 -->
|
|
2
|
+
<!-- Source: every-style-editor/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: every-style-editor
|
|
7
|
+
description: This skill should be used when reviewing or editing copy to ensure adherence to Every's style guide. It provides a systematic line-by-line review process for grammar, punctuation, mechanics, and style guide compliance.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Every Style Editor
|
|
11
|
+
|
|
12
|
+
This skill provides a systematic approach to reviewing copy against Every's comprehensive style guide. It transforms Claude into a meticulous line editor and proofreader specializing in grammar, mechanics, and style guide compliance.
|
|
13
|
+
|
|
14
|
+
## When to Use This Skill
|
|
15
|
+
|
|
16
|
+
Use this skill when:
|
|
17
|
+
- Reviewing articles, blog posts, newsletters, or any written content
|
|
18
|
+
- Ensuring copy follows Every's specific style conventions
|
|
19
|
+
- Providing feedback on grammar, punctuation, and mechanics
|
|
20
|
+
- Flagging deviations from the Every style guide
|
|
21
|
+
- Preparing clean copy for human editorial review
|
|
22
|
+
|
|
23
|
+
## Skill Overview
|
|
24
|
+
|
|
25
|
+
This skill enables performing a comprehensive review of written content in four phases:
|
|
26
|
+
|
|
27
|
+
1. **Initial Assessment** - Understanding context and document type
|
|
28
|
+
2. **Detailed Line Edit** - Checking every sentence for compliance
|
|
29
|
+
3. **Mechanical Review** - Verifying formatting and consistency
|
|
30
|
+
4. **Recommendations** - Providing actionable improvement suggestions
|
|
31
|
+
|
|
32
|
+
## How to Use This Skill
|
|
33
|
+
|
|
34
|
+
### Step 1: Initial Assessment
|
|
35
|
+
|
|
36
|
+
Begin by reading the entire piece to understand:
|
|
37
|
+
- Document type (article, knowledge base entry, social post, etc.)
|
|
38
|
+
- Target audience
|
|
39
|
+
- Overall tone and voice
|
|
40
|
+
- Content context
|
|
41
|
+
|
|
42
|
+
### Step 2: Detailed Line Edit
|
|
43
|
+
|
|
44
|
+
Review each paragraph systematically, checking for:
|
|
45
|
+
- Sentence structure and grammar correctness
|
|
46
|
+
- Punctuation usage (commas, semicolons, em dashes, etc.)
|
|
47
|
+
- Capitalization rules (especially job titles, headlines)
|
|
48
|
+
- Word choice and usage (overused words, passive voice)
|
|
49
|
+
- Adherence to Every style guide rules
|
|
50
|
+
|
|
51
|
+
Reference the complete [EVERY_WRITE_STYLE.md](./references/EVERY_WRITE_STYLE.md) for specific rules when in doubt.
|
|
52
|
+
|
|
53
|
+
### Step 3: Mechanical Review
|
|
54
|
+
|
|
55
|
+
Verify:
|
|
56
|
+
- Spacing and formatting consistency
|
|
57
|
+
- Style choices applied uniformly throughout
|
|
58
|
+
- Special elements (lists, quotes, citations)
|
|
59
|
+
- Proper use of italics and formatting
|
|
60
|
+
- Number formatting (numerals vs. spelled out)
|
|
61
|
+
- Link formatting and descriptions
|
|
62
|
+
|
|
63
|
+
### Step 4: Output Results
|
|
64
|
+
|
|
65
|
+
Present findings using this structure:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
DOCUMENT REVIEW SUMMARY
|
|
69
|
+
=====================
|
|
70
|
+
Document Type: [type]
|
|
71
|
+
Word Count: [approximate]
|
|
72
|
+
Overall Assessment: [brief overview]
|
|
73
|
+
|
|
74
|
+
ERRORS FOUND: [total number]
|
|
75
|
+
|
|
76
|
+
DETAILED CORRECTIONS
|
|
77
|
+
===================
|
|
78
|
+
|
|
79
|
+
[For each error found:]
|
|
80
|
+
|
|
81
|
+
**Location**: [Paragraph #, Sentence #]
|
|
82
|
+
**Issue Type**: [Grammar/Punctuation/Mechanics/Style Guide]
|
|
83
|
+
**Original**: "[exact text with error]"
|
|
84
|
+
**Correction**: "[corrected text]"
|
|
85
|
+
**Rule Reference**: [Specific style guide rule violated]
|
|
86
|
+
**Explanation**: [Brief explanation of why this is an error]
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
RECURRING ISSUES
|
|
91
|
+
===============
|
|
92
|
+
[List patterns of errors that appear multiple times]
|
|
93
|
+
|
|
94
|
+
STYLE GUIDE COMPLIANCE CHECKLIST
|
|
95
|
+
==============================
|
|
96
|
+
✓ [Rule followed correctly]
|
|
97
|
+
✗ [Rule violated - with count of violations]
|
|
98
|
+
|
|
99
|
+
FINAL RECOMMENDATIONS
|
|
100
|
+
===================
|
|
101
|
+
[2-3 actionable suggestions for improving the draft]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Style Guide Reference
|
|
105
|
+
|
|
106
|
+
The complete Every style guide is included in [EVERY_WRITE_STYLE.md](./references/EVERY_WRITE_STYLE.md). Key areas to focus on:
|
|
107
|
+
|
|
108
|
+
- **Quick Rules**: Title case for headlines, sentence case elsewhere
|
|
109
|
+
- **Tone**: Active voice, avoid overused words (actually, very, just), be specific
|
|
110
|
+
- **Numbers**: Spell out one through nine; use numerals for 10+
|
|
111
|
+
- **Punctuation**: Oxford commas, em dashes without spaces, proper quotation mark usage
|
|
112
|
+
- **Capitalization**: Lowercase job titles, company as singular (it), teams as plural (they)
|
|
113
|
+
- **Emphasis**: Italics only (no bold for emphasis)
|
|
114
|
+
- **Links**: 2-4 words, don't say "click here"
|
|
115
|
+
|
|
116
|
+
## Key Principles
|
|
117
|
+
|
|
118
|
+
- **Be specific**: Always quote the exact text with the error
|
|
119
|
+
- **Reference rules**: Cite the specific style guide rule for each correction
|
|
120
|
+
- **Maintain voice**: Preserve the author's voice while correcting errors
|
|
121
|
+
- **Prioritize clarity**: Focus on changes that improve readability
|
|
122
|
+
- **Be constructive**: Frame feedback to help writers improve
|
|
123
|
+
- **Flag ambiguous cases**: When style guide doesn't address an issue, explain options and recommend the clearest choice
|
|
124
|
+
|
|
125
|
+
## Common Areas to Focus On
|
|
126
|
+
|
|
127
|
+
Based on Every's style guide, pay special attention to:
|
|
128
|
+
|
|
129
|
+
- Punctuation (comma usage, semicolons, apostrophes, quotation marks)
|
|
130
|
+
- Capitalization (proper nouns, titles, sentence starts)
|
|
131
|
+
- Numbers (when to spell out vs. use numerals)
|
|
132
|
+
- Passive voice (replace with active whenever possible)
|
|
133
|
+
- Overused words (actually, very, just)
|
|
134
|
+
- Lists (parallel structure, punctuation, capitalization)
|
|
135
|
+
- Hyphenation (compound adjectives, except adverbs)
|
|
136
|
+
- Word usage (fewer vs. less, they vs. them)
|
|
137
|
+
- Company references (singular "it", teams as plural "they")
|
|
138
|
+
- Job title capitalization
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
<!-- Generated by lavra v0.6.0 -->
|
|
2
|
+
<!-- Source: file-todos/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: file-todos
|
|
7
|
+
description: "This skill should be used when managing the file-based todo tracking system in the todos/ directory. It provides workflows for creating todos, managing status and dependencies, conducting triage, and integrating with slash commands and code review processes."
|
|
8
|
+
disable-model-invocation: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# File-Based Todo Tracking Skill
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
The `todos/` directory contains a file-based tracking system for managing code review feedback, technical debt, feature requests, and work items. Each todo is a markdown file with YAML frontmatter and structured sections.
|
|
16
|
+
|
|
17
|
+
This skill should be used when:
|
|
18
|
+
- Creating new todos from findings or feedback
|
|
19
|
+
- Managing todo lifecycle (pending → ready → complete)
|
|
20
|
+
- Triaging pending items for approval
|
|
21
|
+
- Checking or managing dependencies
|
|
22
|
+
- Converting PR comments or code findings into tracked work
|
|
23
|
+
- Updating work logs during todo execution
|
|
24
|
+
|
|
25
|
+
## File Naming Convention
|
|
26
|
+
|
|
27
|
+
Todo files follow this naming pattern:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
{issue_id}-{status}-{priority}-{description}.md
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Components:**
|
|
34
|
+
- **issue_id**: Sequential number (001, 002, 003...) - never reused
|
|
35
|
+
- **status**: `pending` (needs triage), `ready` (approved), `complete` (done)
|
|
36
|
+
- **priority**: `p1` (critical), `p2` (important), `p3` (nice-to-have)
|
|
37
|
+
- **description**: kebab-case, brief description
|
|
38
|
+
|
|
39
|
+
**Examples:**
|
|
40
|
+
```
|
|
41
|
+
001-pending-p1-mailer-test.md
|
|
42
|
+
002-ready-p1-fix-n-plus-1.md
|
|
43
|
+
005-complete-p2-refactor-csv.md
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## File Structure
|
|
47
|
+
|
|
48
|
+
Each todo is a markdown file with YAML frontmatter and structured sections. Use the template at [todo-template.md](./assets/todo-template.md) as a starting point when creating new todos.
|
|
49
|
+
|
|
50
|
+
**Required sections:**
|
|
51
|
+
- **Problem Statement** - What is broken, missing, or needs improvement?
|
|
52
|
+
- **Findings** - Investigation results, root cause, key discoveries
|
|
53
|
+
- **Proposed Solutions** - Multiple options with pros/cons, effort, risk
|
|
54
|
+
- **Recommended Action** - Clear plan (filled during triage)
|
|
55
|
+
- **Acceptance Criteria** - Testable checklist items
|
|
56
|
+
- **Work Log** - Chronological record with date, actions, learnings
|
|
57
|
+
|
|
58
|
+
**Optional sections:**
|
|
59
|
+
- **Technical Details** - Affected files, related components, DB changes
|
|
60
|
+
- **Resources** - Links to errors, tests, PRs, documentation
|
|
61
|
+
- **Notes** - Additional context or decisions
|
|
62
|
+
|
|
63
|
+
**YAML frontmatter fields:**
|
|
64
|
+
```yaml
|
|
65
|
+
---
|
|
66
|
+
status: ready # pending | ready | complete
|
|
67
|
+
priority: p1 # p1 | p2 | p3
|
|
68
|
+
issue_id: "002"
|
|
69
|
+
tags: [rails, performance, database]
|
|
70
|
+
dependencies: ["001"] # Issue IDs this is blocked by
|
|
71
|
+
---
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Common Workflows
|
|
75
|
+
|
|
76
|
+
### Creating a New Todo
|
|
77
|
+
|
|
78
|
+
**To create a new todo from findings or feedback:**
|
|
79
|
+
|
|
80
|
+
1. Determine next issue ID: `ls todos/ | grep -o '^[0-9]\+' | sort -n | tail -1`
|
|
81
|
+
2. Copy template: `cp assets/todo-template.md todos/{NEXT_ID}-pending-{priority}-{description}.md`
|
|
82
|
+
3. Edit and fill required sections:
|
|
83
|
+
- Problem Statement
|
|
84
|
+
- Findings (if from investigation)
|
|
85
|
+
- Proposed Solutions (multiple options)
|
|
86
|
+
- Acceptance Criteria
|
|
87
|
+
- Add initial Work Log entry
|
|
88
|
+
4. Determine status: `pending` (needs triage) or `ready` (pre-approved)
|
|
89
|
+
5. Add relevant tags for filtering
|
|
90
|
+
|
|
91
|
+
**When to create a todo:**
|
|
92
|
+
- Requires more than 15-20 minutes of work
|
|
93
|
+
- Needs research, planning, or multiple approaches considered
|
|
94
|
+
- Has dependencies on other work
|
|
95
|
+
- Requires manager approval or prioritization
|
|
96
|
+
- Part of larger feature or refactor
|
|
97
|
+
- Technical debt needing documentation
|
|
98
|
+
|
|
99
|
+
**When to act immediately instead:**
|
|
100
|
+
- Issue is trivial (< 15 minutes)
|
|
101
|
+
- Complete context available now
|
|
102
|
+
- No planning needed
|
|
103
|
+
- User explicitly requests immediate action
|
|
104
|
+
- Simple bug fix with obvious solution
|
|
105
|
+
|
|
106
|
+
### Triaging Pending Items
|
|
107
|
+
|
|
108
|
+
**To triage pending todos:**
|
|
109
|
+
|
|
110
|
+
1. List pending items: `ls todos/*-pending-*.md`
|
|
111
|
+
2. For each todo:
|
|
112
|
+
- Read Problem Statement and Findings
|
|
113
|
+
- Review Proposed Solutions
|
|
114
|
+
- Make decision: approve, defer, or modify priority
|
|
115
|
+
3. Update approved todos:
|
|
116
|
+
- Rename file: `mv {file}-pending-{pri}-{desc}.md {file}-ready-{pri}-{desc}.md`
|
|
117
|
+
- Update frontmatter: `status: pending` → `status: ready`
|
|
118
|
+
- Fill "Recommended Action" section with clear plan
|
|
119
|
+
- Adjust priority if different from initial assessment
|
|
120
|
+
4. Deferred todos stay in `pending` status
|
|
121
|
+
|
|
122
|
+
**Use slash command:** `/triage` for interactive approval workflow
|
|
123
|
+
|
|
124
|
+
### Managing Dependencies
|
|
125
|
+
|
|
126
|
+
**To track dependencies:**
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
dependencies: ["002", "005"] # This todo blocked by issues 002 and 005
|
|
130
|
+
dependencies: [] # No blockers - can work immediately
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**To check what blocks a todo:**
|
|
134
|
+
```bash
|
|
135
|
+
grep "^dependencies:" todos/003-*.md
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**To find what a todo blocks:**
|
|
139
|
+
```bash
|
|
140
|
+
grep -l 'dependencies:.*"002"' todos/*.md
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**To verify blockers are complete before starting:**
|
|
144
|
+
```bash
|
|
145
|
+
for dep in 001 002 003; do
|
|
146
|
+
[ -f "todos/${dep}-complete-*.md" ] || echo "Issue $dep not complete"
|
|
147
|
+
done
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Updating Work Logs
|
|
151
|
+
|
|
152
|
+
**When working on a todo, always add a work log entry:**
|
|
153
|
+
|
|
154
|
+
```markdown
|
|
155
|
+
### YYYY-MM-DD - Session Title
|
|
156
|
+
|
|
157
|
+
**By:** Claude Code / Developer Name
|
|
158
|
+
|
|
159
|
+
**Actions:**
|
|
160
|
+
- Specific changes made (include file:line references)
|
|
161
|
+
- Commands executed
|
|
162
|
+
- Tests run
|
|
163
|
+
- Results of investigation
|
|
164
|
+
|
|
165
|
+
**Learnings:**
|
|
166
|
+
- What worked / what didn't
|
|
167
|
+
- Patterns discovered
|
|
168
|
+
- Key insights for future work
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Work logs serve as:
|
|
172
|
+
- Historical record of investigation
|
|
173
|
+
- Documentation of approaches attempted
|
|
174
|
+
- Knowledge sharing for team
|
|
175
|
+
- Context for future similar work
|
|
176
|
+
|
|
177
|
+
### Completing a Todo
|
|
178
|
+
|
|
179
|
+
**To mark a todo as complete:**
|
|
180
|
+
|
|
181
|
+
1. Verify all acceptance criteria checked off
|
|
182
|
+
2. Update Work Log with final session and results
|
|
183
|
+
3. Rename file: `mv {file}-ready-{pri}-{desc}.md {file}-complete-{pri}-{desc}.md`
|
|
184
|
+
4. Update frontmatter: `status: ready` → `status: complete`
|
|
185
|
+
5. Check for unblocked work: `grep -l 'dependencies:.*"002"' todos/*-ready-*.md`
|
|
186
|
+
6. Commit with issue reference: `feat: resolve issue 002`
|
|
187
|
+
|
|
188
|
+
## Integration with Development Workflows
|
|
189
|
+
|
|
190
|
+
| Trigger | Flow | Tool |
|
|
191
|
+
|---------|------|------|
|
|
192
|
+
| Code review | `/workflows:review` → Findings → `/triage` → Todos | Review agent + skill |
|
|
193
|
+
| PR comments | `/resolve_pr_parallel` → Individual fixes → Todos | gh CLI + skill |
|
|
194
|
+
| Code TODOs | `/resolve_todo_parallel` → Fixes + Complex todos | Agent + skill |
|
|
195
|
+
| Planning | Brainstorm → Create todo → Work → Complete | Skill |
|
|
196
|
+
| Feedback | Discussion → Create todo → Triage → Work | Skill + slash |
|
|
197
|
+
|
|
198
|
+
## Quick Reference Commands
|
|
199
|
+
|
|
200
|
+
**Finding work:**
|
|
201
|
+
```bash
|
|
202
|
+
# List highest priority unblocked work
|
|
203
|
+
grep -l 'dependencies: \[\]' todos/*-ready-p1-*.md
|
|
204
|
+
|
|
205
|
+
# List all pending items needing triage
|
|
206
|
+
ls todos/*-pending-*.md
|
|
207
|
+
|
|
208
|
+
# Find next issue ID
|
|
209
|
+
ls todos/ | grep -o '^[0-9]\+' | sort -n | tail -1 | awk '{printf "%03d", $1+1}'
|
|
210
|
+
|
|
211
|
+
# Count by status
|
|
212
|
+
for status in pending ready complete; do
|
|
213
|
+
echo "$status: $(ls -1 todos/*-$status-*.md 2>/dev/null | wc -l)"
|
|
214
|
+
done
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Dependency management:**
|
|
218
|
+
```bash
|
|
219
|
+
# What blocks this todo?
|
|
220
|
+
grep "^dependencies:" todos/003-*.md
|
|
221
|
+
|
|
222
|
+
# What does this todo block?
|
|
223
|
+
grep -l 'dependencies:.*"002"' todos/*.md
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Searching:**
|
|
227
|
+
```bash
|
|
228
|
+
# Search by tag
|
|
229
|
+
grep -l "tags:.*rails" todos/*.md
|
|
230
|
+
|
|
231
|
+
# Search by priority
|
|
232
|
+
ls todos/*-p1-*.md
|
|
233
|
+
|
|
234
|
+
# Full-text search
|
|
235
|
+
grep -r "payment" todos/
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Key Distinctions
|
|
239
|
+
|
|
240
|
+
**File-todos system (this skill):**
|
|
241
|
+
- Markdown files in `todos/` directory
|
|
242
|
+
- Development/project tracking
|
|
243
|
+
- Standalone markdown files with YAML frontmatter
|
|
244
|
+
- Used by humans and agents
|
|
245
|
+
|
|
246
|
+
**Rails Todo model:**
|
|
247
|
+
- Database model in `app/models/todo.rb`
|
|
248
|
+
- User-facing feature in the application
|
|
249
|
+
- Active Record CRUD operations
|
|
250
|
+
- Different from this file-based system
|
|
251
|
+
|
|
252
|
+
**TaskCreate/TaskUpdate/TaskList tools:**
|
|
253
|
+
- In-memory task tracking during agent sessions
|
|
254
|
+
- Temporary tracking for single conversation
|
|
255
|
+
- Not persisted to disk
|
|
256
|
+
- Different from both systems above
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- Generated by lavra-compound v0.6.0 -->
|
|
2
|
+
<!-- Source: frontend-design/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: frontend-design
|
|
7
|
+
description: This skill should be used when creating distinctive, production-grade frontend interfaces with high design quality. It applies when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
|
|
8
|
+
license: Complete terms in LICENSE.txt
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
12
|
+
|
|
13
|
+
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
|
|
14
|
+
|
|
15
|
+
## Design Thinking
|
|
16
|
+
|
|
17
|
+
Before coding, understand the context and commit to a BOLD aesthetic direction:
|
|
18
|
+
- **Purpose**: What problem does this interface solve? Who uses it?
|
|
19
|
+
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
|
|
20
|
+
- **Constraints**: Technical requirements (framework, performance, accessibility).
|
|
21
|
+
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
22
|
+
|
|
23
|
+
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
|
|
24
|
+
|
|
25
|
+
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
|
|
26
|
+
- Production-grade and functional
|
|
27
|
+
- Visually striking and memorable
|
|
28
|
+
- Cohesive with a clear aesthetic point-of-view
|
|
29
|
+
- Meticulously refined in every detail
|
|
30
|
+
|
|
31
|
+
## Frontend Aesthetics Guidelines
|
|
32
|
+
|
|
33
|
+
Focus on:
|
|
34
|
+
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
|
|
35
|
+
- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
|
|
36
|
+
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
|
|
37
|
+
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
|
|
38
|
+
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
|
|
39
|
+
|
|
40
|
+
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
|
|
41
|
+
|
|
42
|
+
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
|
|
43
|
+
|
|
44
|
+
**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
|
|
45
|
+
|
|
46
|
+
Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
<!-- Generated by lavra-compound v0.6.0 -->
|
|
2
|
+
<!-- Source: gemini-imagegen/SKILL.md -->
|
|
3
|
+
<!-- DO NOT EDIT - changes will be overwritten on next install -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
name: gemini-imagegen
|
|
7
|
+
description: This skill should be used when generating and editing images using the Gemini API (Nano Banana Pro). It applies when creating images from text prompts, editing existing images, applying style transfers, generating logos with text, creating stickers, product mockups, or any image generation/manipulation task. Supports text-to-image, image editing, multi-turn refinement, and composition from multiple reference images.
|
|
8
|
+
disable-model-invocation: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Gemini Image Generation (Nano Banana Pro)
|
|
12
|
+
|
|
13
|
+
Generate and edit images using Google's Gemini API. The environment variable `GEMINI_API_KEY` must be set.
|
|
14
|
+
|
|
15
|
+
## Default Model
|
|
16
|
+
|
|
17
|
+
| Model | Resolution | Best For |
|
|
18
|
+
|-------|------------|----------|
|
|
19
|
+
| `gemini-3-pro-image-preview` | 1K-4K | All image generation (default) |
|
|
20
|
+
|
|
21
|
+
**Note:** Always use this Pro model. Only use a different model if explicitly requested.
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
### Default Settings
|
|
26
|
+
- **Model:** `gemini-3-pro-image-preview`
|
|
27
|
+
- **Resolution:** 1K (default, options: 1K, 2K, 4K)
|
|
28
|
+
- **Aspect Ratio:** 1:1 (default)
|
|
29
|
+
|
|
30
|
+
### Available Aspect Ratios
|
|
31
|
+
`1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`
|
|
32
|
+
|
|
33
|
+
### Available Resolutions
|
|
34
|
+
`1K` (default), `2K`, `4K`
|
|
35
|
+
|
|
36
|
+
## Core API Pattern
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import os
|
|
40
|
+
from google import genai
|
|
41
|
+
from google.genai import types
|
|
42
|
+
|
|
43
|
+
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
|
|
44
|
+
|
|
45
|
+
# Basic generation (1K, 1:1 - defaults)
|
|
46
|
+
response = client.models.generate_content(
|
|
47
|
+
model="gemini-3-pro-image-preview",
|
|
48
|
+
contents=["Your prompt here"],
|
|
49
|
+
config=types.GenerateContentConfig(
|
|
50
|
+
response_modalities=['TEXT', 'IMAGE'],
|
|
51
|
+
),
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
for part in response.parts:
|
|
55
|
+
if part.text:
|
|
56
|
+
print(part.text)
|
|
57
|
+
elif part.inline_data:
|
|
58
|
+
image = part.as_image()
|
|
59
|
+
image.save("output.png")
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Custom Resolution & Aspect Ratio
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
from google.genai import types
|
|
66
|
+
|
|
67
|
+
response = client.models.generate_content(
|
|
68
|
+
model="gemini-3-pro-image-preview",
|
|
69
|
+
contents=[prompt],
|
|
70
|
+
config=types.GenerateContentConfig(
|
|
71
|
+
response_modalities=['TEXT', 'IMAGE'],
|
|
72
|
+
image_config=types.ImageConfig(
|
|
73
|
+
aspect_ratio="16:9", # Wide format
|
|
74
|
+
image_size="2K" # Higher resolution
|
|
75
|
+
),
|
|
76
|
+
)
|
|
77
|
+
)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Resolution Examples
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
# 1K (default) - Fast, good for previews
|
|
84
|
+
image_config=types.ImageConfig(image_size="1K")
|
|
85
|
+
|
|
86
|
+
# 2K - Balanced quality/speed
|
|
87
|
+
image_config=types.ImageConfig(image_size="2K")
|
|
88
|
+
|
|
89
|
+
# 4K - Maximum quality, slower
|
|
90
|
+
image_config=types.ImageConfig(image_size="4K")
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Aspect Ratio Examples
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
# Square (default)
|
|
97
|
+
image_config=types.ImageConfig(aspect_ratio="1:1")
|
|
98
|
+
|
|
99
|
+
# Landscape wide
|
|
100
|
+
image_config=types.ImageConfig(aspect_ratio="16:9")
|
|
101
|
+
|
|
102
|
+
# Ultra-wide panoramic
|
|
103
|
+
image_config=types.ImageConfig(aspect_ratio="21:9")
|
|
104
|
+
|
|
105
|
+
# Portrait
|
|
106
|
+
image_config=types.ImageConfig(aspect_ratio="9:16")
|
|
107
|
+
|
|
108
|
+
# Photo standard
|
|
109
|
+
image_config=types.ImageConfig(aspect_ratio="4:3")
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Editing Images
|
|
113
|
+
|
|
114
|
+
Pass existing images with text prompts:
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
from PIL import Image
|
|
118
|
+
|
|
119
|
+
img = Image.open("input.png")
|
|
120
|
+
response = client.models.generate_content(
|
|
121
|
+
model="gemini-3-pro-image-preview",
|
|
122
|
+
contents=["Add a sunset to this scene", img],
|
|
123
|
+
config=types.GenerateContentConfig(
|
|
124
|
+
response_modalities=['TEXT', 'IMAGE'],
|
|
125
|
+
),
|
|
126
|
+
)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Multi-Turn Refinement
|
|
130
|
+
|
|
131
|
+
Use chat for iterative editing:
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
from google.genai import types
|
|
135
|
+
|
|
136
|
+
chat = client.chats.create(
|
|
137
|
+
model="gemini-3-pro-image-preview",
|
|
138
|
+
config=types.GenerateContentConfig(response_modalities=['TEXT', 'IMAGE'])
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
response = chat.send_message("Create a logo for 'Acme Corp'")
|
|
142
|
+
# Save first image...
|
|
143
|
+
|
|
144
|
+
response = chat.send_message("Make the text bolder and add a blue gradient")
|
|
145
|
+
# Save refined image...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Prompting Best Practices
|
|
149
|
+
|
|
150
|
+
### Photorealistic Scenes
|
|
151
|
+
Include camera details: lens type, lighting, angle, mood.
|
|
152
|
+
> "A photorealistic close-up portrait, 85mm lens, soft golden hour light, shallow depth of field"
|
|
153
|
+
|
|
154
|
+
### Stylized Art
|
|
155
|
+
Specify style explicitly:
|
|
156
|
+
> "A kawaii-style sticker of a happy red panda, bold outlines, cel-shading, white background"
|
|
157
|
+
|
|
158
|
+
### Text in Images
|
|
159
|
+
Be explicit about font style and placement:
|
|
160
|
+
> "Create a logo with text 'Daily Grind' in clean sans-serif, black and white, coffee bean motif"
|
|
161
|
+
|
|
162
|
+
### Product Mockups
|
|
163
|
+
Describe lighting setup and surface:
|
|
164
|
+
> "Studio-lit product photo on polished concrete, three-point softbox setup, 45-degree angle"
|
|
165
|
+
|
|
166
|
+
## Advanced Features
|
|
167
|
+
|
|
168
|
+
### Google Search Grounding
|
|
169
|
+
Generate images based on real-time data:
|
|
170
|
+
|
|
171
|
+
```python
|
|
172
|
+
response = client.models.generate_content(
|
|
173
|
+
model="gemini-3-pro-image-preview",
|
|
174
|
+
contents=["Visualize today's weather in Tokyo as an infographic"],
|
|
175
|
+
config=types.GenerateContentConfig(
|
|
176
|
+
response_modalities=['TEXT', 'IMAGE'],
|
|
177
|
+
tools=[{"google_search": {}}]
|
|
178
|
+
)
|
|
179
|
+
)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Multiple Reference Images (Up to 14)
|
|
183
|
+
Combine elements from multiple sources:
|
|
184
|
+
|
|
185
|
+
```python
|
|
186
|
+
response = client.models.generate_content(
|
|
187
|
+
model="gemini-3-pro-image-preview",
|
|
188
|
+
contents=[
|
|
189
|
+
"Create a group photo of these people in an office",
|
|
190
|
+
Image.open("person1.png"),
|
|
191
|
+
Image.open("person2.png"),
|
|
192
|
+
Image.open("person3.png"),
|
|
193
|
+
],
|
|
194
|
+
config=types.GenerateContentConfig(
|
|
195
|
+
response_modalities=['TEXT', 'IMAGE'],
|
|
196
|
+
),
|
|
197
|
+
)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Important: File Format & Media Type
|
|
201
|
+
|
|
202
|
+
**CRITICAL:** The Gemini API returns images in JPEG format by default. When saving, always use `.jpg` extension to avoid media type mismatches.
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
# CORRECT - Use .jpg extension (Gemini returns JPEG)
|
|
206
|
+
image.save("output.jpg")
|
|
207
|
+
|
|
208
|
+
# WRONG - Will cause "Image does not match media type" errors
|
|
209
|
+
image.save("output.png") # Creates JPEG with PNG extension!
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Converting to PNG (if needed)
|
|
213
|
+
|
|
214
|
+
If you specifically need PNG format:
|
|
215
|
+
|
|
216
|
+
```python
|
|
217
|
+
from PIL import Image
|
|
218
|
+
|
|
219
|
+
# Generate with Gemini
|
|
220
|
+
for part in response.parts:
|
|
221
|
+
if part.inline_data:
|
|
222
|
+
img = part.as_image()
|
|
223
|
+
# Convert to PNG by saving with explicit format
|
|
224
|
+
img.save("output.png", format="PNG")
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Verifying Image Format
|
|
228
|
+
|
|
229
|
+
Check actual format vs extension with the `file` command:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
file image.png
|
|
233
|
+
# If output shows "JPEG image data" - rename to .jpg!
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## Notes
|
|
237
|
+
|
|
238
|
+
- All generated images include SynthID watermarks
|
|
239
|
+
- Gemini returns **JPEG format by default** - always use `.jpg` extension
|
|
240
|
+
- Image-only mode (`responseModalities: ["IMAGE"]`) won't work with Google Search grounding
|
|
241
|
+
- For editing, describe changes conversationally—the model understands semantic masking
|
|
242
|
+
- Default to 1K resolution for speed; use 2K/4K when quality is critical
|