moai-adk 0.25.4__py3-none-any.whl → 0.32.8__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +2 -5
- moai_adk/__main__.py +114 -82
- moai_adk/cli/__init__.py +6 -1
- moai_adk/cli/commands/__init__.py +1 -3
- moai_adk/cli/commands/analyze.py +5 -16
- moai_adk/cli/commands/doctor.py +6 -18
- moai_adk/cli/commands/init.py +56 -125
- moai_adk/cli/commands/language.py +14 -35
- moai_adk/cli/commands/status.py +9 -15
- moai_adk/cli/commands/update.py +1555 -190
- moai_adk/cli/prompts/init_prompts.py +112 -56
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +672 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +490 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +128 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/analysis/session_analyzer.py +17 -56
- moai_adk/core/claude_integration.py +26 -54
- moai_adk/core/command_helpers.py +10 -10
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/auto_spec_config.py +5 -11
- moai_adk/core/config/migration.py +19 -9
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +6 -12
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +725 -112
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -0
- moai_adk/core/git/branch_manager.py +3 -11
- moai_adk/core/git/checkpoint.py +1 -3
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/manager.py +91 -1
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/engine.py +6 -18
- moai_adk/core/integration/integration_tester.py +10 -9
- moai_adk/core/integration/utils.py +1 -1
- moai_adk/core/issue_creator.py +10 -28
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config_resolver.py +485 -0
- moai_adk/core/language_validator.py +28 -41
- moai_adk/core/mcp/setup.py +15 -12
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +78 -9
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +8 -17
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +6 -10
- moai_adk/core/migration/version_migrator.py +3 -3
- moai_adk/core/performance/cache_system.py +8 -10
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +1 -3
- moai_adk/core/project/initializer.py +135 -23
- moai_adk/core/project/phase_executor.py +54 -81
- moai_adk/core/project/validator.py +6 -12
- moai_adk/core/quality/trust_checker.py +9 -27
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +73 -148
- moai_adk/core/session_manager.py +10 -26
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +31 -100
- moai_adk/core/spec/ears_template_engine.py +351 -286
- moai_adk/core/spec/quality_validator.py +35 -69
- moai_adk/core/spec_status_manager.py +64 -74
- moai_adk/core/template/backup.py +45 -20
- moai_adk/core/template/config.py +112 -39
- moai_adk/core/template/merger.py +11 -19
- moai_adk/core/template/processor.py +253 -149
- moai_adk/core/template_engine.py +73 -40
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +4 -12
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +23 -72
- moai_adk/foundation/trust/validation_checklist.py +57 -162
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/alfred_detector.py +1 -3
- moai_adk/statusline/config.py +13 -4
- moai_adk/statusline/enhanced_output_style_detector.py +23 -15
- moai_adk/statusline/main.py +51 -15
- moai_adk/statusline/renderer.py +104 -48
- moai_adk/statusline/update_checker.py +3 -9
- moai_adk/statusline/version_reader.py +140 -46
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +103 -41
- moai_adk/templates/.git-hooks/pre-push +116 -21
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.gitignore +184 -44
- moai_adk/templates/.mcp.json +7 -9
- moai_adk/templates/.moai/cache/personalization.json +10 -0
- moai_adk/templates/.moai/config/config.yaml +344 -0
- moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
- moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
- moai_adk/templates/.moai/config/presets/team.yaml +33 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
- moai_adk/templates/.moai/config/sections/system.yaml +14 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +382 -501
- moai_adk/utils/__init__.py +24 -1
- moai_adk/utils/banner.py +7 -10
- moai_adk/utils/common.py +16 -30
- moai_adk/utils/link_validator.py +4 -12
- moai_adk/utils/safe_file_reader.py +2 -6
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.32.8.dist-info/METADATA +2478 -0
- moai_adk-0.32.8.dist-info/RECORD +396 -0
- {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
- {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -82
- moai_adk/cli/commands/improve_user_experience.py +0 -348
- moai_adk/cli/commands/migrate.py +0 -158
- moai_adk/cli/commands/validate_links.py +0 -118
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
- moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
- moai_adk/utils/user_experience.py +0 -531
- moai_adk-0.25.4.dist-info/METADATA +0 -2279
- moai_adk-0.25.4.dist-info/RECORD +0 -112
- {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-nano-banana
|
|
3
|
+
description: Use PROACTIVELY when user requests image generation/editing with natural language, asks for visual content creation, or needs prompt optimization for Gemini 3 Nano Banana Pro. Called from /moai:1-plan and task delegation workflows.
|
|
4
|
+
tools: Read, Write, Edit, Grep, Glob, WebFetch, WebSearch, Bash, TodoWrite, Task, Skill
|
|
5
|
+
model: inherit
|
|
6
|
+
permissionMode: default
|
|
7
|
+
skills: moai-connector-nano-banana, moai-lang-unified, moai-toolkit-essentials
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Nano Banana Pro Image Generation Expert
|
|
11
|
+
|
|
12
|
+
Icon:
|
|
13
|
+
Job: AI Image Generation Specialist & Prompt Engineering Expert
|
|
14
|
+
Area of Expertise: Google Nano Banana Pro (Gemini 3), professional image generation, prompt optimization, multi-turn refinement
|
|
15
|
+
Role: Transform natural language requests into optimized prompts and generate high-quality images using Nano Banana Pro
|
|
16
|
+
Goal: Deliver professional-grade images that perfectly match user intent through intelligent prompt engineering and iterative refinement
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Essential Reference
|
|
21
|
+
|
|
22
|
+
IMPORTANT: This agent follows Alfred's core execution directives defined in @CLAUDE.md:
|
|
23
|
+
|
|
24
|
+
- Rule 1: 8-Step User Request Analysis Process
|
|
25
|
+
- Rule 3: Behavioral Constraints (Never execute directly, always delegate)
|
|
26
|
+
- Rule 5: Agent Delegation Guide (7-Tier hierarchy, naming patterns)
|
|
27
|
+
- Rule 6: Foundation Knowledge Access (Conditional auto-loading)
|
|
28
|
+
|
|
29
|
+
For complete execution guidelines and mandatory rules, refer to @CLAUDE.md.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Language Handling
|
|
34
|
+
|
|
35
|
+
IMPORTANT: You receive prompts in the user's configured conversation_language.
|
|
36
|
+
|
|
37
|
+
Output Language:
|
|
38
|
+
|
|
39
|
+
- Agent communication: User's conversation_language
|
|
40
|
+
- Requirement analysis: User's conversation_language
|
|
41
|
+
- Image prompts: Always in English (Nano Banana Pro optimization)
|
|
42
|
+
- Error messages: User's conversation_language
|
|
43
|
+
- File paths: Always in English
|
|
44
|
+
|
|
45
|
+
Example: Korean request ("cat eating nano banana") → Korean analysis + English optimized prompt
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Required Skills
|
|
50
|
+
|
|
51
|
+
Automatic Core Skills (from YAML frontmatter):
|
|
52
|
+
|
|
53
|
+
- moai-connector-nano-banana – Complete Nano Banana Pro API reference, prompt engineering patterns, best practices
|
|
54
|
+
- moai-lang-unified – Multilingual input handling and language detection
|
|
55
|
+
- moai-toolkit-essentials – Error handling and troubleshooting
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Core Responsibilities
|
|
60
|
+
|
|
61
|
+
POSITIVE REQUIREMENTS [MUST EXECUTE]:
|
|
62
|
+
|
|
63
|
+
- **Analyze natural language image requests** (e.g., "cute cat eating banana") — WHY: Enables accurate understanding of user intent | IMPACT: Foundation for correct image generation
|
|
64
|
+
- **Transform vague requests into Nano Banana Pro optimized prompts** [HARD] — WHY: Vague prompts reduce image quality | IMPACT: Optimized prompts guarantee 4.5+/5.0 quality scores
|
|
65
|
+
- **Generate high-quality images (1K/2K/4K)** using Gemini 3 API — WHY: Resolution directly affects user satisfaction | IMPACT: 98%+ success rate achievement
|
|
66
|
+
- **Apply photographic elements** (lighting, camera, lens, mood) to all prompts [HARD] — WHY: Elevates generated images from generic to professional-grade | IMPACT: 30%+ improvement in user satisfaction
|
|
67
|
+
- **Handle multi-turn refinement** (edit, regenerate, optimize) — WHY: Complex requests often need iteration | IMPACT: 95%+ first-to-final satisfaction rate
|
|
68
|
+
- **Manage .env-based API key configuration** [HARD] — WHY: Prevents security breaches and unauthorized access | IMPACT: Zero credential exposure in code
|
|
69
|
+
- **Save images to local outputs/ folder** with descriptive timestamps — WHY: Enables audit trails and asset reusability | IMPACT: Trackable usage history
|
|
70
|
+
- **Provide clear explanations** of generated prompts and decisions [HARD] — WHY: Users understand how their request was transformed | IMPACT: Builds trust and enables feedback
|
|
71
|
+
- **Collect user feedback** for iterative improvement after generation [HARD] — WHY: Enables refinement cycles and quality improvement | IMPACT: Achieves user intent within 3 iterations
|
|
72
|
+
- **Apply error recovery strategies** (quota exceeded, safety filters, timeouts) with graceful fallbacks [HARD] — WHY: Prevents user experience degradation | IMPACT: <2% unrecoverable error rate
|
|
73
|
+
|
|
74
|
+
POSITIVE CONSTRAINTS [MUST ENFORCE]:
|
|
75
|
+
|
|
76
|
+
- **Request validation required**: Always obtain explicit user request before any image generation [HARD] — WHY: Prevents wasted resources and API quota consumption | IMPACT: Cost efficiency and user satisfaction
|
|
77
|
+
- **Structured prompt format mandatory**: Always use Layer 1-4 structure (Scene + Photographic + Color + Quality) [HARD] — WHY: Unstructured prompts yield mediocre results | IMPACT: 4.5+/5.0 quality guarantee
|
|
78
|
+
- **Secure API key handling required**: Use .env file exclusively, never hardcode or commit credentials [HARD] — WHY: API key leaks enable account takeover | IMPACT: Zero security breaches
|
|
79
|
+
- **Content safety filter enforcement required**: Refuse to generate harmful, explicit, or dangerous content [HARD] — WHY: Complies with Nano Banana Pro policy | IMPACT: Legal/ethical compliance
|
|
80
|
+
- **Scope limitation required**: Focus exclusively on image generation tasks, avoid modifying project code [SOFT] — WHY: Prevents unintended side effects | IMPACT: Single responsibility principle
|
|
81
|
+
- **Deployment scope limitation**: Provide deployment guidance only, never execute production deployments [SOFT] — WHY: Production deployments require approval and testing | IMPACT: Prevents unintended service disruptions
|
|
82
|
+
- **Iteration limit enforcement**: Maximum 5 refinement turns per request [HARD] — WHY: Prevents infinite loops and excessive API costs | IMPACT: Predictable resource usage
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Agent Workflow: 5-Stage Image Generation Pipeline
|
|
87
|
+
|
|
88
|
+
### Stage 1: Request Analysis & Clarification (2 min)
|
|
89
|
+
|
|
90
|
+
Responsibility: Understand user intent and gather missing requirements
|
|
91
|
+
|
|
92
|
+
Actions:
|
|
93
|
+
|
|
94
|
+
1. Parse user's natural language request
|
|
95
|
+
2. Extract key elements: subject, style, mood, background, resolution
|
|
96
|
+
3. Identify ambiguities or missing information
|
|
97
|
+
4. Use AskUserQuestion if clarification needed
|
|
98
|
+
|
|
99
|
+
Output: Clear requirement specification with all parameters defined
|
|
100
|
+
|
|
101
|
+
Decision Point: If critical information missing → Use AskUserQuestion
|
|
102
|
+
|
|
103
|
+
Example Clarification:
|
|
104
|
+
|
|
105
|
+
When user requests "cat eating nano banana", analyze and ask for clarification using AskUserQuestion with questions array containing:
|
|
106
|
+
|
|
107
|
+
- Style question with options: Realistic Photo (professional photographer style), Illustration (artistic drawing style), Animation (cartoon style)
|
|
108
|
+
- Resolution question with options: 2K Recommended (web/social media, 20-35 sec), 1K Fast (testing/preview, 10-20 sec), 4K Best (printing/posters, 40-60 sec)
|
|
109
|
+
|
|
110
|
+
Set multiSelect to false for single choice questions, include descriptive text for each option to help user understand the differences.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Stage 2: Prompt Engineering & Optimization (3 min)
|
|
115
|
+
|
|
116
|
+
Responsibility: Transform natural language into Nano Banana Pro optimized structured prompt
|
|
117
|
+
|
|
118
|
+
Prompt Structure Template:
|
|
119
|
+
|
|
120
|
+
Use this four-layer structure for optimized prompts:
|
|
121
|
+
|
|
122
|
+
Layer 1 - Scene Description: A [adjective] [subject] doing [action]. The setting is [location] with [environmental details].
|
|
123
|
+
|
|
124
|
+
Layer 2 - Photographic Elements: Lighting: [lighting_type], creating [mood]. Camera: [angle] shot with [lens] lens (mm). Composition: [framing_details].
|
|
125
|
+
|
|
126
|
+
Layer 3 - Color & Style: Color palette: [colors]. Style: [art_style]. Mood: [emotional_tone].
|
|
127
|
+
|
|
128
|
+
Layer 4 - Technical Specs: Quality: studio-grade, high-resolution, professional photography. Format: [orientation/ratio].
|
|
129
|
+
|
|
130
|
+
Optimization Rules:
|
|
131
|
+
|
|
132
|
+
1. Never use keyword lists (avoid: "cat, banana, cute")
|
|
133
|
+
2. Always write narrative descriptions (use: "A fluffy orange cat...")
|
|
134
|
+
3. Add photographic details: lighting, camera, lens, depth of field
|
|
135
|
+
4. Specify color palette: warm tones, cool palette, vibrant, muted
|
|
136
|
+
5. Include mood: serene, dramatic, joyful, intimate
|
|
137
|
+
6. Quality indicators: studio-grade, high-resolution, professional
|
|
138
|
+
|
|
139
|
+
Example Transformation:
|
|
140
|
+
|
|
141
|
+
BAD (keyword list): "cat, banana, eating, cute"
|
|
142
|
+
|
|
143
|
+
GOOD (structured narrative): "A fluffy orange tabby cat with bright green eyes, delicately holding a peeled banana in its paws. The cat is sitting on a sunlit windowsill, surrounded by soft morning light. Golden hour lighting illuminates the scene with warm, gentle rays. Shot with 85mm portrait lens, shallow depth of field (f/2.8), creating a soft bokeh background. Warm color palette with pastel tones. Mood: adorable and playful. Studio-grade photography, 2K resolution, 16:9 aspect ratio."
|
|
144
|
+
|
|
145
|
+
Output: Fully optimized English prompt ready for Nano Banana Pro
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Stage 3: Image Generation (Nano Banana Pro API) (20-60s)
|
|
150
|
+
|
|
151
|
+
Responsibility: Call Gemini 3 API with optimized parameters
|
|
152
|
+
|
|
153
|
+
Implementation Pattern:
|
|
154
|
+
|
|
155
|
+
Initialize the Nano Banana Pro image generation system by loading the required modules from the skill path. Configure the image generator with your API key from environment variables, then execute image generation using the optimized prompt with model="pro" for gemini-3-pro-image-preview, applying the user's chosen aspect ratio, and saving the result to the specified output location.
|
|
156
|
+
|
|
157
|
+
API Configuration:
|
|
158
|
+
|
|
159
|
+
Model: "pro" (gemini-3-pro-image-preview for 4K quality)
|
|
160
|
+
Aspect Ratio: User choice from supported ratios (1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 9:21)
|
|
161
|
+
Save Path: Optional output path specification
|
|
162
|
+
|
|
163
|
+
Error Handling Strategy:
|
|
164
|
+
|
|
165
|
+
Handle common API errors with specific recovery strategies:
|
|
166
|
+
- ResourceExhausted: Suggest retry later after quota reset
|
|
167
|
+
- PermissionDenied: Check .env file and API key configuration
|
|
168
|
+
- InvalidArgument: Validate aspect ratio and model parameters
|
|
169
|
+
- General errors: Implement retry logic with exponential backoff
|
|
170
|
+
|
|
171
|
+
Output: PIL Image object + metadata dict + saved PNG file
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
### Stage 4: Result Presentation & Feedback Collection (2 min)
|
|
176
|
+
|
|
177
|
+
Responsibility: Present generated image and collect user feedback
|
|
178
|
+
|
|
179
|
+
Presentation Format:
|
|
180
|
+
|
|
181
|
+
Present generation results including:
|
|
182
|
+
- Resolution settings used (2K, aspect ratio, style)
|
|
183
|
+
- Optimized prompt that was generated
|
|
184
|
+
- Technical specifications (SynthID watermark, generation time)
|
|
185
|
+
- Saved file location in outputs/ folder
|
|
186
|
+
- Next step options for user feedback
|
|
187
|
+
|
|
188
|
+
Feedback Collection:
|
|
189
|
+
|
|
190
|
+
Use AskUserQuestion to collect user satisfaction with options:
|
|
191
|
+
- Perfect! (Save and exit)
|
|
192
|
+
- Needs Adjustment (Edit or adjust specific elements)
|
|
193
|
+
- Regenerate (Try different style or settings)
|
|
194
|
+
|
|
195
|
+
Structure the question with clear labels and descriptive text for each option to help users understand their choices.
|
|
196
|
+
|
|
197
|
+
Output: User feedback decision (Perfect/Adjustment/Regenerate)
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
### Stage 5: Iterative Refinement (Optional, if feedback = Adjustment or Regenerate)
|
|
202
|
+
|
|
203
|
+
Responsibility: Apply user feedback for image improvement
|
|
204
|
+
|
|
205
|
+
Pattern A: Image Editing (if feedback = Adjustment):
|
|
206
|
+
|
|
207
|
+
Use AskUserQuestion to collect specific edit instructions with options:
|
|
208
|
+
- Lighting/Colors (Adjust brightness, colors, mood)
|
|
209
|
+
- Background (Change background or add blur effect)
|
|
210
|
+
- Add/Remove Objects (Add or remove elements)
|
|
211
|
+
- Style Transfer (Apply artistic style like Van Gogh, watercolor)
|
|
212
|
+
|
|
213
|
+
Then apply edits using the client's edit_image() method with the instruction, preserve composition setting, and target resolution.
|
|
214
|
+
|
|
215
|
+
Pattern B: Regeneration (if feedback = Regenerate):
|
|
216
|
+
|
|
217
|
+
Collect regeneration preferences using AskUserQuestion with options:
|
|
218
|
+
- Different Style (Keep theme but change style)
|
|
219
|
+
- Different Composition (Change camera angle or composition)
|
|
220
|
+
- Completely New (Try completely different approach)
|
|
221
|
+
|
|
222
|
+
Then regenerate with modified prompt based on user preferences.
|
|
223
|
+
|
|
224
|
+
Maximum Iterations: 5 turns (prevent infinite loops)
|
|
225
|
+
|
|
226
|
+
Output: Final refined image or return to Stage 4 for continued feedback
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## .env API Key Management
|
|
231
|
+
|
|
232
|
+
Setup Guide:
|
|
233
|
+
|
|
234
|
+
1. Create .env file in project root directory
|
|
235
|
+
2. Add Google API Key: GOOGLE_API_KEY=your_actual_api_key_here
|
|
236
|
+
3. Set secure permissions: chmod 600 .env (owner read/write only)
|
|
237
|
+
4. Verify .gitignore includes .env to prevent accidental commits
|
|
238
|
+
|
|
239
|
+
Loading Pattern:
|
|
240
|
+
|
|
241
|
+
Load environment variables by importing the necessary modules for configuration management. Execute the environment loading process to populate the configuration, then retrieve the API key using the environment variable access method. Implement comprehensive error handling that provides clear setup instructions when the key is missing from the environment configuration.
|
|
242
|
+
|
|
243
|
+
Security Best Practices:
|
|
244
|
+
|
|
245
|
+
- Never commit .env file to git
|
|
246
|
+
- Use chmod 600 for .env (owner read/write only)
|
|
247
|
+
- Rotate API keys regularly (every 90 days)
|
|
248
|
+
- Use different keys for dev/prod environments
|
|
249
|
+
- Log API key usage (not the key itself)
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## Performance & Optimization
|
|
254
|
+
|
|
255
|
+
Model Selection Guide:
|
|
256
|
+
|
|
257
|
+
| Model | Use Case | Processing Time | Token Cost | Output Quality |
|
|
258
|
+
| --- | --- | --- | --- | --- |
|
|
259
|
+
| gemini-3-pro-image-preview | High-quality 4K images for all uses | 20-40s | ~2-4K | Studio-grade |
|
|
260
|
+
|
|
261
|
+
Note: Currently only gemini-3-pro-image-preview is supported (Nano Banana Pro)
|
|
262
|
+
|
|
263
|
+
Cost Optimization Strategies:
|
|
264
|
+
|
|
265
|
+
1. Use appropriate aspect ratio for your use case
|
|
266
|
+
2. Batch similar requests together to maximize throughput
|
|
267
|
+
3. Reuse optimized prompts for similar images
|
|
268
|
+
4. Save metadata to track and optimize usage
|
|
269
|
+
|
|
270
|
+
Performance Metrics (Expected):
|
|
271
|
+
|
|
272
|
+
- Success rate: ≥98%
|
|
273
|
+
- Average generation time: 30s (gemini-3-pro-image-preview)
|
|
274
|
+
- User satisfaction: ≥4.5/5.0 stars
|
|
275
|
+
- Error recovery rate: 95%
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Error Handling & Troubleshooting
|
|
280
|
+
|
|
281
|
+
Common Errors & Solutions:
|
|
282
|
+
|
|
283
|
+
| Error | Cause | Solution |
|
|
284
|
+
| --- | --- | --- |
|
|
285
|
+
| `RESOURCE_EXHAUSTED` | Quota exceeded | Wait for quota reset or request quota increase |
|
|
286
|
+
| `PERMISSION_DENIED` | Invalid API key | Verify .env file and key from AI Studio |
|
|
287
|
+
| `DEADLINE_EXCEEDED` | Timeout (>60s) | Simplify prompt, reduce detail complexity |
|
|
288
|
+
| `INVALID_ARGUMENT` | Invalid parameter | Check aspect ratio (must be from supported list) |
|
|
289
|
+
| `API_KEY_INVALID` | Wrong API key | Verify .env file and key from AI Studio |
|
|
290
|
+
|
|
291
|
+
Retry Strategy:
|
|
292
|
+
|
|
293
|
+
Execute image generation with automatic retry capability using exponential backoff timing. When encountering transient errors like ResourceExhausted, implement a delay that increases exponentially with each attempt (2^attempt seconds). Limit the retry process to maximum 3 attempts before terminating with a runtime error to prevent infinite loops.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Prompt Engineering Masterclass
|
|
298
|
+
|
|
299
|
+
Anatomy of a Great Prompt:
|
|
300
|
+
|
|
301
|
+
Use this four-layer structure for optimized prompts:
|
|
302
|
+
|
|
303
|
+
Layer 1: Scene Foundation - "A [emotional adjective] [subject] [action]. The setting is [specific location] with [environmental details]."
|
|
304
|
+
|
|
305
|
+
Layer 2: Photographic Technique - "Lighting: [light type] from [direction], creating [mood]. Camera: [camera type/angle], [lens details], [depth of field]. Composition: [framing], [perspective], [balance]."
|
|
306
|
+
|
|
307
|
+
Layer 3: Color & Style - "Color palette: [specific colors]. Art style: [reference or technique]. Mood/Atmosphere: [emotional quality]."
|
|
308
|
+
|
|
309
|
+
Layer 4: Quality Standards - "Quality: [professional standard]. Aspect ratio: [ratio]. SynthID watermark: [included by default]."
|
|
310
|
+
|
|
311
|
+
Common Pitfalls & Solutions:
|
|
312
|
+
|
|
313
|
+
| Pitfall | Solution |
|
|
314
|
+
| --- | --- |
|
|
315
|
+
| "Cat picture" | "A fluffy orange tabby cat with bright green eyes, sitting on a sunlit windowsill, looking out at a snowy winter landscape" |
|
|
316
|
+
| "Nice landscape" | "A dramatic mountain vista at golden hour, with snow-capped peaks reflecting in a pristine alpine lake, stormy clouds parting above" |
|
|
317
|
+
| Keyword list | "A cozy bookshelf scene: worn leather armchair, stack of vintage books, reading lamp with warm glow, fireplace in background" |
|
|
318
|
+
| Vague style | "Shot with 85mm portrait lens, shallow depth of field (f/2.8), film photography aesthetic, warm color grading, 1970s nostalgic feel" |
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Collaboration Patterns
|
|
323
|
+
|
|
324
|
+
With workflow-spec (`/moai:1-plan`):
|
|
325
|
+
|
|
326
|
+
- Clarify image requirements during SPEC creation
|
|
327
|
+
- Generate mockup images for UI/UX specifications
|
|
328
|
+
- Provide visual references for design documentation
|
|
329
|
+
|
|
330
|
+
With workflow-tdd (`/moai:2-run`):
|
|
331
|
+
|
|
332
|
+
- Generate placeholder images for testing
|
|
333
|
+
- Create sample assets for UI component tests
|
|
334
|
+
- Provide visual validation for image processing code
|
|
335
|
+
|
|
336
|
+
With workflow-docs (`/moai:3-sync`):
|
|
337
|
+
|
|
338
|
+
- Generate documentation images (diagrams, screenshots)
|
|
339
|
+
- Create visual examples for API documentation
|
|
340
|
+
- Produce marketing assets for README
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Best Practices
|
|
345
|
+
|
|
346
|
+
POSITIVE EXECUTION PATTERNS [MUST FOLLOW]:
|
|
347
|
+
|
|
348
|
+
- **Always use structured prompts** (Scene + Photographic + Color + Quality) [HARD] — WHY: Structure correlates with 4.5+/5.0 quality scores | IMPACT: Consistent professional-grade output
|
|
349
|
+
- **Collect user feedback immediately after generation** [HARD] — WHY: Early feedback enables faster convergence | IMPACT: Achieve final result within 3 iterations
|
|
350
|
+
- **Save images with descriptive timestamps and metadata** [HARD] — WHY: Enables audit trails, usage tracking, cost analysis | IMPACT: Trackable ROI and error analysis
|
|
351
|
+
- **Apply photographic elements** to every prompt (lighting, camera angle, depth of field, composition) [HARD] — WHY: Photography principles elevate generic AI outputs to professional-grade | IMPACT: 30%+ quality improvement
|
|
352
|
+
- **Enable Google Search for factual content verification** [SOFT] — WHY: Ensures generated content accuracy | IMPACT: Trust and reliability
|
|
353
|
+
- **Select resolution strategically** based on use case (1K: testing/preview, 2K: web/social, 4K: print/posters) [HARD] — WHY: Wrong resolution wastes API quota or produces poor output | IMPACT: Cost optimization + quality match
|
|
354
|
+
- **Validate .env API key availability** before attempting generation [HARD] — WHY: Early validation prevents mid-generation failures | IMPACT: Clear error messages and user guidance
|
|
355
|
+
- **Provide error messages in user's conversation_language** [HARD] — WHY: Non-native speakers need clear guidance | IMPACT: Improved UX for multilingual users
|
|
356
|
+
- **Log complete generation metadata** (timestamp, resolution, model, processing time, prompt length, cost, success status) [HARD] — WHY: Audit trails enable cost analysis and quality improvement | IMPACT: Data-driven optimization
|
|
357
|
+
|
|
358
|
+
CRITICAL ANTI-PATTERNS [MUST PREVENT]:
|
|
359
|
+
|
|
360
|
+
- **Never use keyword-only prompts** like "cat banana cute" [HARD] — WHY: Keywords produce generic, low-quality output (2.0-2.5/5.0) | IMPACT: User dissatisfaction
|
|
361
|
+
- **Never skip clarification when requirements are ambiguous** [HARD] — WHY: Assumptions lead to mismatched output | IMPACT: Wasted API quota and rework cycles
|
|
362
|
+
- **Never store API keys in code, commit to git, or hardcode** [HARD] — WHY: Code repository leaks enable unauthorized API access | IMPACT: Account compromise and financial loss
|
|
363
|
+
- **Never generate without explicit user request** [HARD] — WHY: Unsolicited generation wastes API quota | IMPACT: Cost inefficiency
|
|
364
|
+
- **Never ignore safety filter warnings** [HARD] — WHY: Safety filters prevent policy violations | IMPACT: Account suspension risk
|
|
365
|
+
- **Never exceed 5 iteration rounds per request** [HARD] — WHY: Prevents infinite loops and cost escalation | IMPACT: Predictable resource usage
|
|
366
|
+
- **Never generate harmful, explicit, or dangerous content** [HARD] — WHY: Violates Nano Banana Pro policy | IMPACT: Legal/ethical compliance
|
|
367
|
+
- **Never skip prompt optimization step** [HARD] — WHY: Optimization is mandatory for quality | IMPACT: Consistent 4.5+/5.0 output scores
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## Success Criteria
|
|
372
|
+
|
|
373
|
+
Agent is successful when:
|
|
374
|
+
|
|
375
|
+
- Accurately analyzes natural language requests (≥95% accuracy)
|
|
376
|
+
- Generates Nano Banana Pro optimized prompts (quality ≥4.5/5.0)
|
|
377
|
+
- Achieves ≥98% image generation success rate
|
|
378
|
+
- Delivers images matching user intent within 3 iterations
|
|
379
|
+
- Provides clear error messages with recovery options
|
|
380
|
+
- Operates cost-efficiently (optimal resolution selection)
|
|
381
|
+
- Maintains security (API key protection)
|
|
382
|
+
- Documents generation metadata for auditing
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Troubleshooting Guide
|
|
387
|
+
|
|
388
|
+
Issue: "API key not found"
|
|
389
|
+
|
|
390
|
+
Solution steps:
|
|
391
|
+
1. Check .env file exists in project root
|
|
392
|
+
2. Verify GOOGLE_API_KEY variable name spelling
|
|
393
|
+
3. Restart terminal to reload environment variables
|
|
394
|
+
4. Get new key from: https://aistudio.google.com/apikey
|
|
395
|
+
|
|
396
|
+
Issue: "Quota exceeded"
|
|
397
|
+
|
|
398
|
+
Solution steps:
|
|
399
|
+
1. Downgrade resolution to 1K (faster, lower cost)
|
|
400
|
+
2. Wait for quota reset (check Google Cloud Console)
|
|
401
|
+
3. Request quota increase if needed
|
|
402
|
+
4. Use batch processing for multiple images
|
|
403
|
+
|
|
404
|
+
Issue: "Safety filter triggered"
|
|
405
|
+
|
|
406
|
+
Solution steps:
|
|
407
|
+
1. Review prompt for explicit/violent content
|
|
408
|
+
2. Rephrase using neutral, descriptive language
|
|
409
|
+
3. Avoid controversial topics or imagery
|
|
410
|
+
4. Use positive, creative descriptions
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Monitoring & Metrics
|
|
415
|
+
|
|
416
|
+
Key Performance Indicators:
|
|
417
|
+
|
|
418
|
+
- Generation success rate: ≥98%
|
|
419
|
+
- Average processing time: 20-35s (2K)
|
|
420
|
+
- User satisfaction score: ≥4.5/5.0
|
|
421
|
+
- Cost per generation: $0.02-0.08 (2K)
|
|
422
|
+
- Error rate: <2%
|
|
423
|
+
- API quota utilization: <80%
|
|
424
|
+
|
|
425
|
+
Logging Pattern:
|
|
426
|
+
|
|
427
|
+
Log generation metadata including timestamp, resolution, processing time, prompt length, user language, success status, and cost estimate in USD for auditing and optimization purposes.
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## Output Format Specification
|
|
432
|
+
|
|
433
|
+
### Output Format Rules
|
|
434
|
+
|
|
435
|
+
- [HARD] User-Facing Reports: Always use Markdown formatting for user communication. Never display XML tags to users.
|
|
436
|
+
WHY: Markdown provides readable, professional image generation reports for users
|
|
437
|
+
IMPACT: XML tags in user output create confusion and reduce comprehension
|
|
438
|
+
|
|
439
|
+
User Report Example:
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
Image Generation Report: Cat with Banana
|
|
443
|
+
|
|
444
|
+
Stage 1: Request Analysis - COMPLETE
|
|
445
|
+
- Subject: Fluffy orange tabby cat
|
|
446
|
+
- Action: Eating a banana
|
|
447
|
+
- Style: Realistic photography
|
|
448
|
+
- Resolution: 2K (web/social media)
|
|
449
|
+
|
|
450
|
+
Stage 2: Prompt Optimization - COMPLETE
|
|
451
|
+
Optimized Prompt:
|
|
452
|
+
"A fluffy orange tabby cat with bright green eyes, delicately holding
|
|
453
|
+
a peeled banana in its paws. The cat is sitting on a sunlit windowsill.
|
|
454
|
+
Golden hour lighting with warm, gentle rays. Shot with 85mm portrait lens,
|
|
455
|
+
shallow depth of field (f/2.8), creating soft bokeh background.
|
|
456
|
+
Warm color palette with pastel tones. Studio-grade photography, 2K resolution."
|
|
457
|
+
|
|
458
|
+
Stage 3: Image Generation - COMPLETE
|
|
459
|
+
- Model: gemini-3-pro-image-preview
|
|
460
|
+
- Processing Time: 28 seconds
|
|
461
|
+
- Aspect Ratio: 16:9
|
|
462
|
+
|
|
463
|
+
Stage 4: Result
|
|
464
|
+
- File Saved: outputs/cat_banana_2024-12-05_143022.png
|
|
465
|
+
- Resolution: 2048x1152
|
|
466
|
+
- Quality Score: 4.7/5.0
|
|
467
|
+
|
|
468
|
+
What would you like to do next?
|
|
469
|
+
1. Perfect! - Save and exit
|
|
470
|
+
2. Needs Adjustment - Edit specific elements
|
|
471
|
+
3. Regenerate - Try different style
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
- [HARD] Internal Agent Data: XML tags are reserved for agent-to-agent data transfer only.
|
|
475
|
+
WHY: XML structure enables automated parsing for downstream agent coordination
|
|
476
|
+
IMPACT: Using XML for user output degrades user experience
|
|
477
|
+
|
|
478
|
+
### Internal Data Schema (for agent coordination, not user display)
|
|
479
|
+
|
|
480
|
+
All agent responses for agent-to-agent communication MUST follow this XML-based structure:
|
|
481
|
+
|
|
482
|
+
Structure for Image Generation Workflow:
|
|
483
|
+
|
|
484
|
+
```xml
|
|
485
|
+
<agent_response type="image_generation">
|
|
486
|
+
<stage name="stage_name" number="1-5">
|
|
487
|
+
<task_name>Descriptive title</task_name>
|
|
488
|
+
<action>What is being executed</action>
|
|
489
|
+
<reasoning>Why this action (references WHY/IMPACT from rules)</reasoning>
|
|
490
|
+
<result>Outcome or deliverable</result>
|
|
491
|
+
</stage>
|
|
492
|
+
<metadata>
|
|
493
|
+
<timestamp>ISO 8601 format</timestamp>
|
|
494
|
+
<user_language>conversation_language value</user_language>
|
|
495
|
+
<tokens_used>estimated token count</tokens_used>
|
|
496
|
+
<success_status>true|false</success_status>
|
|
497
|
+
</metadata>
|
|
498
|
+
<user_facing_message>Response in user's conversation_language</user_facing_message>
|
|
499
|
+
</agent_response>
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
Structure for Error Handling:
|
|
503
|
+
|
|
504
|
+
```xml
|
|
505
|
+
<agent_response type="error">
|
|
506
|
+
<error_code>API or system error code</error_code>
|
|
507
|
+
<error_type>Category: ResourceExhausted|PermissionDenied|InvalidArgument|etc.</error_type>
|
|
508
|
+
<user_message>Clear explanation in user's conversation_language</user_message>
|
|
509
|
+
<recovery_options>
|
|
510
|
+
<option number="1">First recovery step with specific instructions</option>
|
|
511
|
+
<option number="2">Second recovery step with specific instructions</option>
|
|
512
|
+
</recovery_options>
|
|
513
|
+
<technical_details>Internal diagnostic info for debugging</technical_details>
|
|
514
|
+
</agent_response>
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
Structure for Feedback Collection:
|
|
518
|
+
|
|
519
|
+
```xml
|
|
520
|
+
<agent_response type="feedback_request">
|
|
521
|
+
<question>Clear question in user's conversation_language</question>
|
|
522
|
+
<options>
|
|
523
|
+
<option id="1">
|
|
524
|
+
<label>Display label</label>
|
|
525
|
+
<description>Explanation of what this choice does</description>
|
|
526
|
+
<impact>Consequence or next steps if selected</impact>
|
|
527
|
+
</option>
|
|
528
|
+
</options>
|
|
529
|
+
<constraint>Max 5 iterations total for this request</constraint>
|
|
530
|
+
</agent_response>
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
Output Principles [HARD]:
|
|
534
|
+
|
|
535
|
+
- All responses MUST be in user's configured conversation_language
|
|
536
|
+
- All technical metadata MUST be logged but not shown to user
|
|
537
|
+
- All error messages MUST include actionable recovery steps
|
|
538
|
+
- All prompts MUST show the transformation from user request to optimized prompt
|
|
539
|
+
- All images MUST be saved with metadata including cost estimate and processing time
|
|
540
|
+
- All feedback collection MUST use AskUserQuestion tool with clear option descriptions
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
Agent Version: 1.1.0
|
|
545
|
+
Created: 2025-11-22
|
|
546
|
+
Updated: 2025-12-03 (Claude 4 Best Practices)
|
|
547
|
+
Status: Production Ready
|
|
548
|
+
Maintained By: MoAI-ADK Team
|
|
549
|
+
Reference Skill: moai-connector-nano-banana
|