moai-adk 0.15.1__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 -6
- moai_adk/__main__.py +136 -21
- moai_adk/cli/__init__.py +6 -2
- moai_adk/cli/commands/__init__.py +1 -4
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +17 -5
- moai_adk/cli/commands/init.py +105 -47
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +8 -13
- moai_adk/cli/commands/update.py +1734 -65
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +144 -91
- 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/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +147 -16
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +2 -10
- moai_adk/core/git/checkpoint.py +1 -7
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +91 -2
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +20 -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.py +202 -0
- moai_adk/core/language_config_resolver.py +485 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- 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 +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +17 -39
- moai_adk/core/project/initializer.py +170 -33
- moai_adk/core/project/phase_executor.py +398 -68
- moai_adk/core/project/validator.py +7 -32
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +37 -101
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +82 -17
- moai_adk/core/template/config.py +112 -40
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +75 -26
- moai_adk/core/template/processor.py +750 -72
- moai_adk/core/template_engine.py +90 -48
- 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 +557 -0
- 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 +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- 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/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +373 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +264 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +383 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- 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/{alfred/shared/core → moai/lib}/checkpoint.py +9 -36
- 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/{alfred/shared/core → moai/lib}/project.py +63 -44
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/timeout.py +40 -16
- 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 +78 -50
- 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 +312 -283
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +291 -94
- 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 +469 -101
- 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 +128 -0
- moai_adk/templates/.git-hooks/pre-push +220 -13
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +197 -13
- moai_adk/templates/.mcp.json +20 -0
- 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 +310 -1050
- moai_adk/utils/__init__.py +24 -2
- moai_adk/utils/banner.py +7 -11
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/{templates/.claude/hooks/alfred/utils → utils}/timeout.py +8 -9
- 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.15.1.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -80
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -419
- moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.1.dist-info/METADATA +0 -3094
- moai_adk-0.15.1.dist-info/RECORD +0 -365
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,1100 @@
|
|
|
1
|
+
# Claude Code Sub-agents Integration Patterns
|
|
2
|
+
|
|
3
|
+
Comprehensive guide for sub-agent integration, coordination patterns, and workflow orchestration in Claude Code development environments.
|
|
4
|
+
|
|
5
|
+
Purpose: Integration patterns and best practices for sub-agent coordination
|
|
6
|
+
Target: Sub-agent developers and workflow orchestrators
|
|
7
|
+
Last Updated: 2025-11-25
|
|
8
|
+
Version: 2.0.0
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Quick Reference (30 seconds)
|
|
13
|
+
|
|
14
|
+
Core Patterns: Sequential, Parallel, Conditional delegation. Coordination: Task() API, context passing, error handling. Best Practices: Single responsibility, clear boundaries, structured workflows. Quality Gates: Validation checkpoints, error recovery, result integration.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Integration Patterns Overview
|
|
19
|
+
|
|
20
|
+
### 1. Sequential Delegation Pattern
|
|
21
|
+
|
|
22
|
+
Description: Chain multiple sub-agents where each depends on the output of the previous agent.
|
|
23
|
+
|
|
24
|
+
Use Cases:
|
|
25
|
+
- Multi-phase development workflows
|
|
26
|
+
- Quality assurance pipelines
|
|
27
|
+
- Documentation generation cycles
|
|
28
|
+
- Testing and deployment workflows
|
|
29
|
+
|
|
30
|
+
Implementation:
|
|
31
|
+
```python
|
|
32
|
+
# Sequential delegation example
|
|
33
|
+
def sequential_workflow(user_request):
|
|
34
|
+
"""Execute sequential sub-agent workflow."""
|
|
35
|
+
|
|
36
|
+
# Phase 1: Specification
|
|
37
|
+
spec_result = Task(
|
|
38
|
+
subagent_type="workflow-spec",
|
|
39
|
+
prompt=f"Create specification for: {user_request}"
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
# Phase 2: Implementation (passes spec as context)
|
|
43
|
+
implementation_result = Task(
|
|
44
|
+
subagent_type="workflow-tdd",
|
|
45
|
+
prompt="Implement from specification",
|
|
46
|
+
context={
|
|
47
|
+
"specification": spec_result,
|
|
48
|
+
"requirements": user_request
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
# Phase 3: Quality Validation
|
|
53
|
+
quality_result = Task(
|
|
54
|
+
subagent_type="core-quality",
|
|
55
|
+
prompt="Validate implementation quality",
|
|
56
|
+
context={
|
|
57
|
+
"implementation": implementation_result,
|
|
58
|
+
"specification": spec_result
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
# Phase 4: Documentation
|
|
63
|
+
docs_result = Task(
|
|
64
|
+
subagent_type="workflow-docs",
|
|
65
|
+
prompt="Generate documentation",
|
|
66
|
+
context={
|
|
67
|
+
"implementation": implementation_result,
|
|
68
|
+
"specification": spec_result,
|
|
69
|
+
"quality_report": quality_result
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
"specification": spec_result,
|
|
75
|
+
"implementation": implementation_result,
|
|
76
|
+
"quality_report": quality_result,
|
|
77
|
+
"documentation": docs_result
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
# Usage example
|
|
81
|
+
result = sequential_workflow("Create user authentication system")
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Advantages:
|
|
85
|
+
- Clear dependency management
|
|
86
|
+
- Structured workflow progression
|
|
87
|
+
- Easy error tracking and debugging
|
|
88
|
+
- Predictable execution order
|
|
89
|
+
|
|
90
|
+
Considerations:
|
|
91
|
+
- Sequential execution time (may be slower)
|
|
92
|
+
- Single point of failure
|
|
93
|
+
- Limited parallelization opportunities
|
|
94
|
+
- Context passing overhead
|
|
95
|
+
|
|
96
|
+
### 2. Parallel Delegation Pattern
|
|
97
|
+
|
|
98
|
+
Description: Execute multiple sub-agents simultaneously when tasks are independent.
|
|
99
|
+
|
|
100
|
+
Use Cases:
|
|
101
|
+
- Multi-component development
|
|
102
|
+
- Parallel analysis tasks
|
|
103
|
+
- Comprehensive testing scenarios
|
|
104
|
+
- Independent quality checks
|
|
105
|
+
|
|
106
|
+
Implementation:
|
|
107
|
+
```python
|
|
108
|
+
# Parallel delegation example
|
|
109
|
+
def parallel_workflow(project_requirements):
|
|
110
|
+
"""Execute parallel sub-agent workflow.
|
|
111
|
+
|
|
112
|
+
Note: In Claude Code, calling multiple Task() in a single response
|
|
113
|
+
will automatically execute them in parallel (up to 10 concurrent).
|
|
114
|
+
No need for asyncio.gather or Promise.all.
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
# Call multiple Task() for automatic parallel execution
|
|
118
|
+
# Claude Code executes up to 10 Tasks concurrently
|
|
119
|
+
frontend_design = Task(
|
|
120
|
+
subagent_type="code-frontend",
|
|
121
|
+
prompt="Design frontend architecture",
|
|
122
|
+
context={"requirements": project_requirements}
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
backend_design = Task(
|
|
126
|
+
subagent_type="code-backend",
|
|
127
|
+
prompt="Design backend architecture",
|
|
128
|
+
context={"requirements": project_requirements}
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
database_design = Task(
|
|
132
|
+
subagent_type="data-database",
|
|
133
|
+
prompt="Design database schema",
|
|
134
|
+
context={"requirements": project_requirements}
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
security_analysis = Task(
|
|
138
|
+
subagent_type="security-expert",
|
|
139
|
+
prompt="Security threat modeling",
|
|
140
|
+
context={"requirements": project_requirements}
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
# All 4 Tasks above execute in parallel automatically
|
|
144
|
+
# Results are available when all complete
|
|
145
|
+
|
|
146
|
+
# Integration phase (runs after parallel tasks complete)
|
|
147
|
+
integration_result = Task(
|
|
148
|
+
subagent_type="integration-specialist",
|
|
149
|
+
prompt="Integrate component designs",
|
|
150
|
+
context={
|
|
151
|
+
"frontend_design": frontend_design,
|
|
152
|
+
"backend_design": backend_design,
|
|
153
|
+
"database_design": database_design,
|
|
154
|
+
"security_analysis": security_analysis,
|
|
155
|
+
"requirements": project_requirements
|
|
156
|
+
}
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
return {
|
|
160
|
+
"frontend": frontend_design,
|
|
161
|
+
"backend": backend_design,
|
|
162
|
+
"database": database_design,
|
|
163
|
+
"security": security_analysis,
|
|
164
|
+
"integration": integration_result
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
# Usage example
|
|
168
|
+
result = await parallel_workflow("E-commerce platform requirements")
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Advantages:
|
|
172
|
+
- Faster execution for independent tasks
|
|
173
|
+
- Efficient resource utilization
|
|
174
|
+
- Natural parallelism in development workflows
|
|
175
|
+
- Better scalability for complex projects
|
|
176
|
+
|
|
177
|
+
Considerations:
|
|
178
|
+
- Complex integration requirements
|
|
179
|
+
- Synchronization challenges
|
|
180
|
+
- Error handling across multiple agents
|
|
181
|
+
- Resource contention issues
|
|
182
|
+
|
|
183
|
+
### 3. Conditional Delegation Pattern
|
|
184
|
+
|
|
185
|
+
Description: Route to different sub-agents based on analysis and classification.
|
|
186
|
+
|
|
187
|
+
Use Cases:
|
|
188
|
+
- Error classification and resolution
|
|
189
|
+
- Problem type identification
|
|
190
|
+
- Specialized task routing
|
|
191
|
+
- Dynamic workflow adaptation
|
|
192
|
+
|
|
193
|
+
Implementation:
|
|
194
|
+
```python
|
|
195
|
+
# Conditional delegation example
|
|
196
|
+
class ConditionalWorkflow:
|
|
197
|
+
def __init__(self):
|
|
198
|
+
self.analysis_agents = {
|
|
199
|
+
"code_analysis": "code-analyst",
|
|
200
|
+
"security_analysis": "security-expert",
|
|
201
|
+
"performance_analysis": "performance-engineer"
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
self.resolution_agents = {
|
|
205
|
+
"syntax_error": "format-expert",
|
|
206
|
+
"logic_error": "support-debug",
|
|
207
|
+
"security_vulnerability": "security-expert",
|
|
208
|
+
"performance_issue": "performance-engineer",
|
|
209
|
+
"integration_error": "integration-specialist"
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
def analyze_and_resolve(self, error_context):
|
|
213
|
+
"""Analyze error and route to appropriate resolution agent."""
|
|
214
|
+
|
|
215
|
+
# Phase 1: Analysis
|
|
216
|
+
analysis_result = Task(
|
|
217
|
+
subagent_type="error-analyst",
|
|
218
|
+
prompt="Analyze error and classify problem type",
|
|
219
|
+
context={"error": error_context}
|
|
220
|
+
)
|
|
221
|
+
|
|
222
|
+
# Phase 2: Conditional routing
|
|
223
|
+
problem_type = analysis_result.classification
|
|
224
|
+
resolution_agent = self.get_resolution_agent(problem_type)
|
|
225
|
+
|
|
226
|
+
# Phase 3: Resolution
|
|
227
|
+
resolution_result = Task(
|
|
228
|
+
subagent_type=resolution_agent,
|
|
229
|
+
prompt=f"Resolve {problem_type} issue",
|
|
230
|
+
context={
|
|
231
|
+
"error": error_context,
|
|
232
|
+
"analysis": analysis_result
|
|
233
|
+
}
|
|
234
|
+
)
|
|
235
|
+
|
|
236
|
+
return {
|
|
237
|
+
"analysis": analysis_result,
|
|
238
|
+
"resolution": resolution_result,
|
|
239
|
+
"routing": {
|
|
240
|
+
"problem_type": problem_type,
|
|
241
|
+
"selected_agent": resolution_agent
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
def get_resolution_agent(self, problem_type):
|
|
246
|
+
"""Select appropriate resolution agent based on problem type."""
|
|
247
|
+
return self.resolution_agents.get(
|
|
248
|
+
problem_type,
|
|
249
|
+
"support-debug" # Default fallback
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
# Usage example
|
|
253
|
+
workflow = ConditionalWorkflow()
|
|
254
|
+
result = workflow.analyze_and_resolve({"error": "Null pointer exception in user service"})
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Advantages:
|
|
258
|
+
- Intelligent task routing
|
|
259
|
+
- Specialized problem solving
|
|
260
|
+
- Efficient resource allocation
|
|
261
|
+
- Adaptive workflow behavior
|
|
262
|
+
|
|
263
|
+
Considerations:
|
|
264
|
+
- Complex classification logic
|
|
265
|
+
- Error handling in routing
|
|
266
|
+
- Agent selection criteria
|
|
267
|
+
- Fallback mechanisms
|
|
268
|
+
|
|
269
|
+
### 4. Orchestrator Pattern
|
|
270
|
+
|
|
271
|
+
Description: Master agent coordinates multiple sub-agents in complex workflows.
|
|
272
|
+
|
|
273
|
+
Use Cases:
|
|
274
|
+
- Complex project initialization
|
|
275
|
+
- Multi-phase development processes
|
|
276
|
+
- Comprehensive quality assurance
|
|
277
|
+
- End-to-end system deployment
|
|
278
|
+
|
|
279
|
+
Implementation:
|
|
280
|
+
```yaml
|
|
281
|
+
---
|
|
282
|
+
name: development-orchestrator
|
|
283
|
+
description: Orchestrate complete software development workflow from specification to deployment. Use PROACTIVELY for complex multi-component projects requiring coordination across multiple phases and teams.
|
|
284
|
+
tools: Read, Write, Edit, Task
|
|
285
|
+
model: sonnet
|
|
286
|
+
skills: moai-core-workflow, moai-project-manager, moai-foundation-quality
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
# Development Orchestrator
|
|
290
|
+
|
|
291
|
+
You are a development workflow orchestrator responsible for coordinating multiple sub-agents throughout the complete software development lifecycle.
|
|
292
|
+
|
|
293
|
+
## Core Responsibilities
|
|
294
|
+
|
|
295
|
+
Primary Domain: Workflow orchestration and coordination
|
|
296
|
+
Key Capabilities: Multi-agent coordination, workflow management, quality assurance, deployment automation
|
|
297
|
+
Focus Areas: End-to-end process automation, team coordination, quality assurance
|
|
298
|
+
|
|
299
|
+
## Orchestration Workflow
|
|
300
|
+
|
|
301
|
+
### Phase 1: Project Setup
|
|
302
|
+
1. Initialize project structure and configuration
|
|
303
|
+
2. Set up development environment and tools
|
|
304
|
+
3. Establish team workflows and processes
|
|
305
|
+
4. Configure quality gates and validation
|
|
306
|
+
|
|
307
|
+
### Phase 2: Development Coordination
|
|
308
|
+
1. Coordinate specification creation with workflow-spec
|
|
309
|
+
2. Manage implementation with workflow-tdd
|
|
310
|
+
3. Oversee quality validation with core-quality
|
|
311
|
+
4. Handle documentation generation with workflow-docs
|
|
312
|
+
|
|
313
|
+
### Phase 3: Integration and Deployment
|
|
314
|
+
1. Coordinate component integration
|
|
315
|
+
2. Manage deployment processes with devops-expert
|
|
316
|
+
3. Handle testing and validation
|
|
317
|
+
4. Monitor production deployment
|
|
318
|
+
|
|
319
|
+
## Agent Coordination Patterns
|
|
320
|
+
|
|
321
|
+
### Sequential Dependencies
|
|
322
|
+
- Wait for phase completion before proceeding
|
|
323
|
+
- Pass results between phases as context
|
|
324
|
+
- Handle phase-specific error recovery
|
|
325
|
+
|
|
326
|
+
### Parallel Execution
|
|
327
|
+
- Identify independent tasks for parallel processing
|
|
328
|
+
- Coordinate multiple agents simultaneously
|
|
329
|
+
- Integrate parallel results for final output
|
|
330
|
+
|
|
331
|
+
### Quality Assurance
|
|
332
|
+
- Validate outputs at each phase
|
|
333
|
+
- Implement rollback mechanisms for failures
|
|
334
|
+
- Ensure compliance with quality standards
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Orchestration Implementation:
|
|
338
|
+
```python
|
|
339
|
+
# Advanced orchestrator implementation
|
|
340
|
+
class DevelopmentOrchestrator:
|
|
341
|
+
def __init__(self):
|
|
342
|
+
self.workflow_phases = {
|
|
343
|
+
'specification': {
|
|
344
|
+
'agent': 'workflow-spec',
|
|
345
|
+
'inputs': ['requirements', 'stakeholders'],
|
|
346
|
+
'outputs': ['specification', 'acceptance_criteria'],
|
|
347
|
+
'dependencies': []
|
|
348
|
+
},
|
|
349
|
+
'implementation': {
|
|
350
|
+
'agent': 'workflow-tdd',
|
|
351
|
+
'inputs': ['specification'],
|
|
352
|
+
'outputs': ['code', 'tests'],
|
|
353
|
+
'dependencies': ['specification']
|
|
354
|
+
},
|
|
355
|
+
'validation': {
|
|
356
|
+
'agent': 'core-quality',
|
|
357
|
+
'inputs': ['code', 'tests', 'specification'],
|
|
358
|
+
'outputs': ['quality_report'],
|
|
359
|
+
'dependencies': ['implementation']
|
|
360
|
+
},
|
|
361
|
+
'documentation': {
|
|
362
|
+
'agent': 'workflow-docs',
|
|
363
|
+
'inputs': ['code', 'specification', 'quality_report'],
|
|
364
|
+
'outputs': ['documentation'],
|
|
365
|
+
'dependencies': ['validation']
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
self.current_phase = None
|
|
370
|
+
self.phase_results = {}
|
|
371
|
+
self.error_handlers = {}
|
|
372
|
+
|
|
373
|
+
def execute_workflow(self, project_request):
|
|
374
|
+
"""Execute complete development workflow."""
|
|
375
|
+
try:
|
|
376
|
+
for phase_name, phase_config in self.workflow_phases.items():
|
|
377
|
+
self.current_phase = phase_name
|
|
378
|
+
|
|
379
|
+
# Check dependencies
|
|
380
|
+
if not self.validate_dependencies(phase_config['dependencies']):
|
|
381
|
+
raise DependencyError(f"Missing dependencies for {phase_name}")
|
|
382
|
+
|
|
383
|
+
# Execute phase
|
|
384
|
+
phase_result = self.execute_phase(phase_name, phase_config, project_request)
|
|
385
|
+
self.phase_results[phase_name] = phase_result
|
|
386
|
+
|
|
387
|
+
print(f" Phase {phase_name} completed")
|
|
388
|
+
|
|
389
|
+
return self.generate_final_report()
|
|
390
|
+
|
|
391
|
+
except Exception as error:
|
|
392
|
+
return self.handle_workflow_error(error)
|
|
393
|
+
|
|
394
|
+
def execute_phase(self, phase_name, phase_config, context):
|
|
395
|
+
"""Execute a single workflow phase."""
|
|
396
|
+
agent = phase_config['agent']
|
|
397
|
+
|
|
398
|
+
# Prepare phase context
|
|
399
|
+
phase_context = {
|
|
400
|
+
'phase_name': phase_name,
|
|
401
|
+
'phase_inputs': self.get_phase_inputs(phase_config['inputs']),
|
|
402
|
+
'workflow_results': self.phase_results,
|
|
403
|
+
'project_context': context
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
# Execute agent
|
|
407
|
+
result = Task(
|
|
408
|
+
subagent_type=agent,
|
|
409
|
+
prompt=f"Execute {phase_name} phase",
|
|
410
|
+
context=phase_context
|
|
411
|
+
)
|
|
412
|
+
|
|
413
|
+
return result
|
|
414
|
+
|
|
415
|
+
def validate_dependencies(self, required_dependencies):
|
|
416
|
+
"""Validate that all required dependencies are satisfied."""
|
|
417
|
+
for dependency in required_dependencies:
|
|
418
|
+
if dependency not in self.phase_results:
|
|
419
|
+
return False
|
|
420
|
+
return True
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Error Handling and Recovery
|
|
424
|
+
|
|
425
|
+
### Error Classification
|
|
426
|
+
|
|
427
|
+
Error Types and Handling Strategies:
|
|
428
|
+
```python
|
|
429
|
+
# Error handling strategies
|
|
430
|
+
class ErrorHandler:
|
|
431
|
+
def __init__(self):
|
|
432
|
+
self.error_strategies = {
|
|
433
|
+
'agent_failure': {
|
|
434
|
+
'strategy': 'retry_with_alternative',
|
|
435
|
+
'max_retries': 3,
|
|
436
|
+
'fallback_agents': {
|
|
437
|
+
'workflow-spec': 'requirements-analyst',
|
|
438
|
+
'workflow-tdd': 'code-developer',
|
|
439
|
+
'core-quality': 'manual-review'
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
'dependency_failure': {
|
|
443
|
+
'strategy': 'resolve_dependency',
|
|
444
|
+
'resolution_methods': ['skip_phase', 'manual_intervention', 'alternative_workflow']
|
|
445
|
+
},
|
|
446
|
+
'quality_failure': {
|
|
447
|
+
'strategy': 'fix_and_retry',
|
|
448
|
+
'auto_fix': True,
|
|
449
|
+
'manual_review_required': True
|
|
450
|
+
},
|
|
451
|
+
'timeout_failure': {
|
|
452
|
+
'strategy': 'increase_timeout_or_simplify',
|
|
453
|
+
'timeout_multiplier': 2.0,
|
|
454
|
+
'simplification_level': 'medium'
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
def handle_error(self, error, phase_name, context):
|
|
459
|
+
"""Handle workflow error with appropriate strategy."""
|
|
460
|
+
error_type = self.classify_error(error)
|
|
461
|
+
strategy = self.error_strategies.get(error_type, {
|
|
462
|
+
'strategy': 'escalate_to_human',
|
|
463
|
+
'escalation_level': 'high'
|
|
464
|
+
})
|
|
465
|
+
|
|
466
|
+
if strategy['strategy'] == 'retry_with_alternative':
|
|
467
|
+
return self.retry_with_alternative(error, phase_name, strategy)
|
|
468
|
+
elif strategy['strategy'] == 'resolve_dependency':
|
|
469
|
+
return self.resolve_dependency(error, phase_name, strategy)
|
|
470
|
+
elif strategy['strategy'] == 'fix_and_retry':
|
|
471
|
+
return self.fix_and_retry(error, phase_name, strategy)
|
|
472
|
+
else:
|
|
473
|
+
return self.escalate_to_human(error, phase_name, context)
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### Recovery Mechanisms
|
|
477
|
+
|
|
478
|
+
Recovery Patterns:
|
|
479
|
+
```python
|
|
480
|
+
# Workflow recovery mechanisms
|
|
481
|
+
class RecoveryManager:
|
|
482
|
+
def __init__(self):
|
|
483
|
+
self.checkpoints = {}
|
|
484
|
+
self.rollback_state = None
|
|
485
|
+
self.recovery_strategies = {}
|
|
486
|
+
|
|
487
|
+
def create_checkpoint(self, phase_name, state):
|
|
488
|
+
"""Create workflow checkpoint for recovery."""
|
|
489
|
+
self.checkpoints[phase_name] = {
|
|
490
|
+
'state': state.copy(),
|
|
491
|
+
'timestamp': datetime.now(),
|
|
492
|
+
'dependencies_met': self.validate_current_dependencies()
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
def rollback_to_checkpoint(self, target_phase):
|
|
496
|
+
"""Rollback workflow to specified checkpoint."""
|
|
497
|
+
if target_phase not in self.checkpoints:
|
|
498
|
+
raise ValueError(f"No checkpoint found for phase: {target_phase}")
|
|
499
|
+
|
|
500
|
+
checkpoint = self.checkpoints[target_phase]
|
|
501
|
+
self.rollback_state = checkpoint['state']
|
|
502
|
+
|
|
503
|
+
# Reset current phase to checkpoint state
|
|
504
|
+
self.restore_from_checkpoint(checkpoint)
|
|
505
|
+
|
|
506
|
+
return {
|
|
507
|
+
'rollback_successful': True,
|
|
508
|
+
'target_phase': target_phase,
|
|
509
|
+
'restored_state': checkpoint['state']
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
def restore_from_checkpoint(self, checkpoint):
|
|
513
|
+
"""Restore workflow state from checkpoint."""
|
|
514
|
+
# Clear results from phases after checkpoint
|
|
515
|
+
phases_to_clear = [
|
|
516
|
+
phase for phase in self.workflow_phases.keys()
|
|
517
|
+
if self.get_phase_order(phase) > self.get_phase_order(checkpoint['phase'])
|
|
518
|
+
]
|
|
519
|
+
|
|
520
|
+
for phase in phases_to_clear:
|
|
521
|
+
self.phase_results.pop(phase, None)
|
|
522
|
+
|
|
523
|
+
# Restore checkpoint state
|
|
524
|
+
self.phase_results.update(checkpoint['state'])
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
## Context Management
|
|
528
|
+
|
|
529
|
+
### Context Passing Strategies
|
|
530
|
+
|
|
531
|
+
Optimal Context Patterns:
|
|
532
|
+
```python
|
|
533
|
+
# Context optimization for agent delegation
|
|
534
|
+
class ContextManager:
|
|
535
|
+
def __init__(self):
|
|
536
|
+
self.context_cache = {}
|
|
537
|
+
self.compression_enabled = True
|
|
538
|
+
self.max_context_size = 10000 # characters
|
|
539
|
+
|
|
540
|
+
def optimize_context(self, context_data):
|
|
541
|
+
"""Optimize context for efficient agent communication."""
|
|
542
|
+
if not context_data:
|
|
543
|
+
return {}
|
|
544
|
+
|
|
545
|
+
# Apply context compression for large data
|
|
546
|
+
if self.compression_enabled and len(str(context_data)) > self.max_context_size:
|
|
547
|
+
return self.compress_context(context_data)
|
|
548
|
+
|
|
549
|
+
# Filter relevant information
|
|
550
|
+
return self.filter_relevant_context(context_data)
|
|
551
|
+
|
|
552
|
+
def filter_relevant_context(self, context):
|
|
553
|
+
"""Filter context to include only relevant information."""
|
|
554
|
+
filtered_context = {}
|
|
555
|
+
|
|
556
|
+
# Keep essential workflow information
|
|
557
|
+
if 'workflow_results' in context:
|
|
558
|
+
filtered_context['workflow_results'] = {
|
|
559
|
+
phase: self.summarize_results(results)
|
|
560
|
+
for phase, results in context['workflow_results'].items()
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
# Keep current phase information
|
|
564
|
+
if 'current_phase' in context:
|
|
565
|
+
filtered_context['current_phase'] = context['current_phase']
|
|
566
|
+
|
|
567
|
+
# Keep critical project data
|
|
568
|
+
critical_keys = ['project_id', 'requirements', 'constraints']
|
|
569
|
+
for key in critical_keys:
|
|
570
|
+
if key in context:
|
|
571
|
+
filtered_context[key] = context[key]
|
|
572
|
+
|
|
573
|
+
return filtered_context
|
|
574
|
+
|
|
575
|
+
def compress_context(self, context_data):
|
|
576
|
+
"""Compress large context data."""
|
|
577
|
+
# Implement context compression logic
|
|
578
|
+
return {
|
|
579
|
+
'compressed': True,
|
|
580
|
+
'summary': self.create_context_summary(context_data),
|
|
581
|
+
'key_data': self.extract_key_data(context_data)
|
|
582
|
+
}
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
### Context Validation
|
|
586
|
+
|
|
587
|
+
Context Quality Assurance:
|
|
588
|
+
```python
|
|
589
|
+
# Context validation and sanitization
|
|
590
|
+
class ContextValidator:
|
|
591
|
+
def __init__(self):
|
|
592
|
+
self.validation_rules = {
|
|
593
|
+
'required_fields': ['project_id', 'phase_name'],
|
|
594
|
+
'max_size': 50000, # characters
|
|
595
|
+
'allowed_types': [str, int, float, bool, dict, list],
|
|
596
|
+
'sanitization_rules': [
|
|
597
|
+
'remove_sensitive_data',
|
|
598
|
+
'validate_structure',
|
|
599
|
+
'check_for_malicious_content'
|
|
600
|
+
]
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
def validate_context(self, context):
|
|
604
|
+
"""Validate context data for agent delegation."""
|
|
605
|
+
validation_result = {
|
|
606
|
+
'valid': True,
|
|
607
|
+
'errors': [],
|
|
608
|
+
'warnings': []
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
# Check required fields
|
|
612
|
+
for field in self.validation_rules['required_fields']:
|
|
613
|
+
if field not in context:
|
|
614
|
+
validation_result['valid'] = False
|
|
615
|
+
validation_result['errors'].append(f"Missing required field: {field}")
|
|
616
|
+
|
|
617
|
+
# Check size limits
|
|
618
|
+
context_size = len(str(context))
|
|
619
|
+
if context_size > self.validation_rules['max_size']:
|
|
620
|
+
validation_result['warnings'].append(
|
|
621
|
+
f"Context size ({context_size}) exceeds recommended limit"
|
|
622
|
+
)
|
|
623
|
+
|
|
624
|
+
# Validate data types
|
|
625
|
+
for key, value in context.items():
|
|
626
|
+
if type(value) not in self.validation_rules['allowed_types']:
|
|
627
|
+
validation_result['warnings'].append(
|
|
628
|
+
f"Unexpected type for {key}: {type(value).__name__}"
|
|
629
|
+
)
|
|
630
|
+
|
|
631
|
+
# Apply sanitization
|
|
632
|
+
sanitized_context = self.sanitize_context(context)
|
|
633
|
+
|
|
634
|
+
return {
|
|
635
|
+
'validation': validation_result,
|
|
636
|
+
'context': sanitized_context
|
|
637
|
+
}
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
## Performance Optimization
|
|
641
|
+
|
|
642
|
+
### Parallelization Strategies
|
|
643
|
+
|
|
644
|
+
Agent Parallelization:
|
|
645
|
+
```python
|
|
646
|
+
# Parallel agent execution optimization
|
|
647
|
+
class ParallelExecutor:
|
|
648
|
+
def __init__(self):
|
|
649
|
+
self.max_concurrent_agents = 5
|
|
650
|
+
self.resource_pool = []
|
|
651
|
+
self.execution_queue = []
|
|
652
|
+
|
|
653
|
+
async def execute_parallel_agents(self, agent_tasks):
|
|
654
|
+
"""Execute multiple agents in parallel with resource management."""
|
|
655
|
+
# Group tasks by resource requirements
|
|
656
|
+
task_groups = self.group_tasks_by_resources(agent_tasks)
|
|
657
|
+
|
|
658
|
+
# Execute groups concurrently
|
|
659
|
+
group_results = []
|
|
660
|
+
for group in task_groups:
|
|
661
|
+
if len(group) <= self.max_concurrent_agents:
|
|
662
|
+
# Execute small group directly
|
|
663
|
+
group_result = await self.execute_concurrent_agents(group)
|
|
664
|
+
group_results.extend(group_result)
|
|
665
|
+
else:
|
|
666
|
+
# Split large group into batches
|
|
667
|
+
batches = self.create_batches(group, self.max_concurrent_agents)
|
|
668
|
+
for batch in batches:
|
|
669
|
+
batch_result = await self.execute_concurrent_agents(batch)
|
|
670
|
+
group_results.extend(batch_result)
|
|
671
|
+
|
|
672
|
+
return group_results
|
|
673
|
+
|
|
674
|
+
def group_tasks_by_resources(self, tasks):
|
|
675
|
+
"""Group tasks by resource requirements."""
|
|
676
|
+
groups = {
|
|
677
|
+
'lightweight': [], # Low resource requirements
|
|
678
|
+
'standard': [], # Standard resource needs
|
|
679
|
+
'heavy': [] # High resource requirements
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
for task in tasks:
|
|
683
|
+
resource_level = self.assess_resource_requirements(task)
|
|
684
|
+
groups[resource_level].append(task)
|
|
685
|
+
|
|
686
|
+
return groups
|
|
687
|
+
|
|
688
|
+
def assess_resource_requirements(self, task):
|
|
689
|
+
"""Assess resource requirements for agent task."""
|
|
690
|
+
# Simple assessment based on task complexity
|
|
691
|
+
if task.get('complexity') == 'low':
|
|
692
|
+
return 'lightweight'
|
|
693
|
+
elif task.get('complexity') == 'high':
|
|
694
|
+
return 'heavy'
|
|
695
|
+
else:
|
|
696
|
+
return 'standard'
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
### Caching and Optimization
|
|
700
|
+
|
|
701
|
+
Agent Result Caching:
|
|
702
|
+
```python
|
|
703
|
+
# Agent result caching for performance
|
|
704
|
+
class AgentCache:
|
|
705
|
+
def __init__(self):
|
|
706
|
+
self.cache = {}
|
|
707
|
+
self.cache_ttl = 300 # 5 minutes
|
|
708
|
+
self.max_cache_size = 1000
|
|
709
|
+
|
|
710
|
+
def get_cached_result(self, agent_name, task_hash):
|
|
711
|
+
"""Get cached result for agent task."""
|
|
712
|
+
cache_key = f"{agent_name}:{task_hash}"
|
|
713
|
+
|
|
714
|
+
if cache_key not in self.cache:
|
|
715
|
+
return None
|
|
716
|
+
|
|
717
|
+
cached_item = self.cache[cache_key]
|
|
718
|
+
|
|
719
|
+
# Check if cache is still valid
|
|
720
|
+
if time.time() - cached_item['timestamp'] > self.cache_ttl:
|
|
721
|
+
del self.cache[cache_key]
|
|
722
|
+
return None
|
|
723
|
+
|
|
724
|
+
return cached_item['result']
|
|
725
|
+
|
|
726
|
+
def cache_result(self, agent_name, task_hash, result):
|
|
727
|
+
"""Cache agent result for future use."""
|
|
728
|
+
cache_key = f"{agent_name}:{task_hash}"
|
|
729
|
+
|
|
730
|
+
# Implement cache size limit
|
|
731
|
+
if len(self.cache) >= self.max_cache_size:
|
|
732
|
+
# Remove oldest entry
|
|
733
|
+
oldest_key = min(self.cache.keys(),
|
|
734
|
+
key=lambda k: self.cache[k]['timestamp'])
|
|
735
|
+
del self.cache[oldest_key]
|
|
736
|
+
|
|
737
|
+
self.cache[cache_key] = {
|
|
738
|
+
'result': result,
|
|
739
|
+
'timestamp': time.time(),
|
|
740
|
+
'agent': agent_name,
|
|
741
|
+
'task_hash': task_hash
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
def generate_task_hash(self, prompt, context):
|
|
745
|
+
"""Generate hash for task identification."""
|
|
746
|
+
import hashlib
|
|
747
|
+
|
|
748
|
+
# Create consistent hash from prompt and context
|
|
749
|
+
task_data = {
|
|
750
|
+
'prompt': prompt,
|
|
751
|
+
'context_keys': list(context.keys()),
|
|
752
|
+
'context_size': len(str(context))
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
task_string = json.dumps(task_data, sort_keys=True)
|
|
756
|
+
return hashlib.md5(task_string.encode()).hexdigest()
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
## Advanced Integration Patterns
|
|
760
|
+
|
|
761
|
+
### 1. Agent Composition
|
|
762
|
+
|
|
763
|
+
Composite Agent Pattern:
|
|
764
|
+
```yaml
|
|
765
|
+
---
|
|
766
|
+
name: full-stack-specialist
|
|
767
|
+
description: Combine frontend, backend, database, and DevOps expertise for end-to-end application development. Use PROACTIVELY for complete application development requiring multiple domain expertise.
|
|
768
|
+
tools: Read, Write, Edit, Bash, Grep, Glob, Task, MultiEdit, WebFetch
|
|
769
|
+
model: sonnet
|
|
770
|
+
skills: moai-domain-backend, moai-domain-frontend, moai-domain-database, moai-devops-expert
|
|
771
|
+
---
|
|
772
|
+
|
|
773
|
+
# Full-Stack Development Specialist
|
|
774
|
+
|
|
775
|
+
You are a comprehensive full-stack development specialist with expertise across all application layers.
|
|
776
|
+
|
|
777
|
+
## Core Responsibilities
|
|
778
|
+
|
|
779
|
+
Primary Domain: End-to-end application development
|
|
780
|
+
Sub-Domains: Frontend, backend, database, DevOps
|
|
781
|
+
Integration Strategy: Coordinate specialized agents for domain-specific tasks
|
|
782
|
+
|
|
783
|
+
## Agent Delegation Patterns
|
|
784
|
+
|
|
785
|
+
### When to Delegate
|
|
786
|
+
- Frontend Complexity: Delegate to code-frontend
|
|
787
|
+
- Backend Architecture: Delegate to code-backend
|
|
788
|
+
- Database Design: Delegate to data-database
|
|
789
|
+
- Security Analysis: Delegate to security-expert
|
|
790
|
+
- Performance Optimization: Delegate to performance-engineer
|
|
791
|
+
|
|
792
|
+
### Delegation Examples
|
|
793
|
+
```python
|
|
794
|
+
# Full-stack agent delegation examples
|
|
795
|
+
def handle_full_stack_request(request):
|
|
796
|
+
"""Handle full-stack development request with intelligent delegation."""
|
|
797
|
+
|
|
798
|
+
# Analyze request complexity and domains
|
|
799
|
+
domain_analysis = analyze_request_domains(request)
|
|
800
|
+
|
|
801
|
+
# Delegate specialized tasks
|
|
802
|
+
results = {}
|
|
803
|
+
|
|
804
|
+
if domain_analysis['frontend_required']:
|
|
805
|
+
results['frontend'] = Task(
|
|
806
|
+
subagent_type="code-frontend",
|
|
807
|
+
prompt="Design and implement frontend components",
|
|
808
|
+
context={"request": request, "analysis": domain_analysis}
|
|
809
|
+
)
|
|
810
|
+
|
|
811
|
+
if domain_analysis['backend_required']:
|
|
812
|
+
results['backend'] = Task(
|
|
813
|
+
subagent_type="code-backend",
|
|
814
|
+
prompt="Design and implement backend API",
|
|
815
|
+
context={"request": request, "analysis": domain_analysis, "frontend": results.get('frontend')}
|
|
816
|
+
)
|
|
817
|
+
|
|
818
|
+
if domain_analysis['database_required']:
|
|
819
|
+
results['database'] = Task(
|
|
820
|
+
subagent_type="data-database",
|
|
821
|
+
prompt="Design database schema and optimization",
|
|
822
|
+
context={"request": request, "analysis": domain_analysis, "frontend": results.get('frontend'), "backend": results.get('backend')}
|
|
823
|
+
)
|
|
824
|
+
|
|
825
|
+
# Integrate results
|
|
826
|
+
integration_result = Task(
|
|
827
|
+
subagent_type="integration-specialist",
|
|
828
|
+
prompt="Integrate all components into cohesive application",
|
|
829
|
+
context={"results": results, "request": request}
|
|
830
|
+
)
|
|
831
|
+
|
|
832
|
+
return {
|
|
833
|
+
"domain_analysis": domain_analysis,
|
|
834
|
+
"specialized_results": results,
|
|
835
|
+
"integration": integration_result
|
|
836
|
+
}
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
### 2. Adaptive Workflow Agents
|
|
840
|
+
|
|
841
|
+
Dynamic Agent Selection:
|
|
842
|
+
```python
|
|
843
|
+
# Adaptive workflow agent that adjusts based on project needs
|
|
844
|
+
class AdaptiveWorkflowAgent:
|
|
845
|
+
def __init__(self):
|
|
846
|
+
self.agent_capabilities = {
|
|
847
|
+
'workflow-spec': {
|
|
848
|
+
'complexity_threshold': 7,
|
|
849
|
+
'task_types': ['specification', 'requirements', 'planning']
|
|
850
|
+
},
|
|
851
|
+
'workflow-tdd': {
|
|
852
|
+
'complexity_threshold': 5,
|
|
853
|
+
'task_types': ['implementation', 'development', 'coding']
|
|
854
|
+
},
|
|
855
|
+
'core-quality': {
|
|
856
|
+
'complexity_threshold': 3,
|
|
857
|
+
'task_types': ['validation', 'testing', 'quality']
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
self.performance_metrics = {}
|
|
862
|
+
|
|
863
|
+
def select_optimal_agent(self, task_request):
|
|
864
|
+
"""Select optimal agent based on task characteristics."""
|
|
865
|
+
task_complexity = self.assess_task_complexity(task_request)
|
|
866
|
+
task_type = self.classify_task_type(task_request)
|
|
867
|
+
|
|
868
|
+
suitable_agents = []
|
|
869
|
+
|
|
870
|
+
for agent_name, capabilities in self.agent_capabilities.items():
|
|
871
|
+
if (task_type in capabilities['task_types'] and
|
|
872
|
+
task_complexity <= capabilities['complexity_threshold']):
|
|
873
|
+
suitable_agents.append({
|
|
874
|
+
'agent': agent_name,
|
|
875
|
+
'match_score': self.calculate_match_score(task_request, capabilities),
|
|
876
|
+
'estimated_performance': self.get_agent_performance(agent_name)
|
|
877
|
+
})
|
|
878
|
+
|
|
879
|
+
# Select best agent based on match score and performance
|
|
880
|
+
if suitable_agents:
|
|
881
|
+
return max(suitable_agents, key=lambda x: x['match_score'] * x['estimated_performance'])
|
|
882
|
+
|
|
883
|
+
# Fallback to generalist agent
|
|
884
|
+
return {
|
|
885
|
+
'agent': 'general-developer',
|
|
886
|
+
'match_score': 0.5,
|
|
887
|
+
'estimated_performance': 0.7
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
def assess_task_complexity(self, task_request):
|
|
891
|
+
"""Assess task complexity on scale 1-10."""
|
|
892
|
+
complexity_factors = {
|
|
893
|
+
'stakeholders': len(task_request.get('stakeholders', [])),
|
|
894
|
+
'integrations': len(task_request.get('integrations', [])),
|
|
895
|
+
'requirements': len(task_request.get('requirements', [])),
|
|
896
|
+
'constraints': len(task_request.get('constraints', []))
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
# Calculate complexity score
|
|
900
|
+
complexity_score = 0
|
|
901
|
+
for factor, value in complexity_factors.items():
|
|
902
|
+
complexity_score += min(value * 2, 10) # Cap at 10 per factor
|
|
903
|
+
|
|
904
|
+
return min(complexity_score, 10)
|
|
905
|
+
|
|
906
|
+
def calculate_match_score(self, task_request, agent_capabilities):
|
|
907
|
+
"""Calculate how well agent matches task requirements."""
|
|
908
|
+
match_score = 0.0
|
|
909
|
+
|
|
910
|
+
# Task type matching
|
|
911
|
+
task_type = self.classify_task_type(task_request)
|
|
912
|
+
if task_type in agent_capabilities['task_types']:
|
|
913
|
+
match_score += 0.4
|
|
914
|
+
|
|
915
|
+
# Experience level matching
|
|
916
|
+
required_experience = task_request.get('experience_level', 'intermediate')
|
|
917
|
+
agent_experience = agent_capabilities.get('experience_level', 'intermediate')
|
|
918
|
+
if required_experience == agent_experience:
|
|
919
|
+
match_score += 0.3
|
|
920
|
+
|
|
921
|
+
# Tool requirement matching
|
|
922
|
+
required_tools = set(task_request.get('required_tools', []))
|
|
923
|
+
agent_tools = set(agent_capabilities.get('available_tools', []))
|
|
924
|
+
tool_overlap = required_tools.intersection(agent_tools)
|
|
925
|
+
if required_tools:
|
|
926
|
+
match_score += 0.3 * (len(tool_overlap) / len(required_tools))
|
|
927
|
+
|
|
928
|
+
return match_score
|
|
929
|
+
```
|
|
930
|
+
|
|
931
|
+
### 3. Learning Agents
|
|
932
|
+
|
|
933
|
+
Knowledge Accumulation:
|
|
934
|
+
```python
|
|
935
|
+
# Learning agent that improves from experience
|
|
936
|
+
class LearningAgent:
|
|
937
|
+
def __init__(self):
|
|
938
|
+
self.experience_database = {}
|
|
939
|
+
self.success_patterns = {}
|
|
940
|
+
self.failure_patterns = {}
|
|
941
|
+
self.performance_history = []
|
|
942
|
+
|
|
943
|
+
def learn_from_execution(self, agent_task, result, performance_metrics):
|
|
944
|
+
"""Learn from agent execution outcomes."""
|
|
945
|
+
task_signature = self.create_task_signature(agent_task)
|
|
946
|
+
|
|
947
|
+
learning_data = {
|
|
948
|
+
'task': agent_task,
|
|
949
|
+
'result': result,
|
|
950
|
+
'performance': performance_metrics,
|
|
951
|
+
'timestamp': datetime.now()
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
# Store experience
|
|
955
|
+
self.experience_database[task_signature] = learning_data
|
|
956
|
+
|
|
957
|
+
# Update performance history
|
|
958
|
+
self.performance_history.append({
|
|
959
|
+
'signature': task_signature,
|
|
960
|
+
'performance': performance_metrics,
|
|
961
|
+
'timestamp': datetime.now()
|
|
962
|
+
})
|
|
963
|
+
|
|
964
|
+
# Extract patterns
|
|
965
|
+
if performance_metrics['success_rate'] > 0.8:
|
|
966
|
+
self.extract_success_pattern(task_signature, learning_data)
|
|
967
|
+
else:
|
|
968
|
+
self.extract_failure_pattern(task_signature, learning_data)
|
|
969
|
+
|
|
970
|
+
def recommend_strategy(self, current_task):
|
|
971
|
+
"""Recommend strategy based on learned patterns."""
|
|
972
|
+
task_signature = self.create_task_signature(current_task)
|
|
973
|
+
|
|
974
|
+
# Look for similar successful patterns
|
|
975
|
+
similar_successes = self.find_similar_successful_patterns(task_signature)
|
|
976
|
+
|
|
977
|
+
if similar_successes:
|
|
978
|
+
best_pattern = max(similar_successes, key=lambda x: x['success_rate'])
|
|
979
|
+
return best_pattern['strategy']
|
|
980
|
+
|
|
981
|
+
# Look for failure patterns to avoid
|
|
982
|
+
similar_failures = self.find_similar_failure_patterns(task_signature)
|
|
983
|
+
if similar_failures:
|
|
984
|
+
worst_pattern = max(similar_failures, key=lambda x: x['failure_rate'])
|
|
985
|
+
return self.invert_pattern(worst_pattern['strategy'])
|
|
986
|
+
|
|
987
|
+
# Default strategy
|
|
988
|
+
return self.get_default_strategy(current_task)
|
|
989
|
+
|
|
990
|
+
def create_task_signature(self, task):
|
|
991
|
+
"""Create unique signature for task."""
|
|
992
|
+
signature_data = {
|
|
993
|
+
'agent_type': task.get('agent_type'),
|
|
994
|
+
'task_type': task.get('task_type'),
|
|
995
|
+
'complexity': task.get('complexity'),
|
|
996
|
+
'domain': task.get('domain'),
|
|
997
|
+
'tools_required': sorted(task.get('tools_required', []))
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
return json.dumps(signature_data, sort_keys=True)
|
|
1001
|
+
```
|
|
1002
|
+
|
|
1003
|
+
## Quality Assurance Integration
|
|
1004
|
+
|
|
1005
|
+
### Multi-Agent Quality Gates
|
|
1006
|
+
|
|
1007
|
+
Comprehensive Quality Framework:
|
|
1008
|
+
```markdown
|
|
1009
|
+
## Multi-Agent Quality Validation
|
|
1010
|
+
|
|
1011
|
+
### 1. Individual Agent Quality Checks
|
|
1012
|
+
- Each sub-agent validates its own outputs
|
|
1013
|
+
- Agent-specific quality metrics and standards
|
|
1014
|
+
- Error handling and recovery validation
|
|
1015
|
+
- Performance and efficiency assessment
|
|
1016
|
+
|
|
1017
|
+
### 2. Integration Quality Validation
|
|
1018
|
+
- Validate agent communication and data transfer
|
|
1019
|
+
- Check context passing and transformation accuracy
|
|
1020
|
+
- Verify workflow integrity and completeness
|
|
1021
|
+
- Assess overall system performance
|
|
1022
|
+
|
|
1023
|
+
### 3. End-to-End Quality Assurance
|
|
1024
|
+
- Complete workflow testing and validation
|
|
1025
|
+
- User acceptance criteria verification
|
|
1026
|
+
- System integration testing
|
|
1027
|
+
- Performance and scalability validation
|
|
1028
|
+
|
|
1029
|
+
### 4. Continuous Quality Improvement
|
|
1030
|
+
- Monitor agent performance over time
|
|
1031
|
+
- Identify improvement opportunities
|
|
1032
|
+
- Update agent configurations and strategies
|
|
1033
|
+
- Optimize agent selection and delegation patterns
|
|
1034
|
+
```
|
|
1035
|
+
|
|
1036
|
+
Quality Metrics Dashboard:
|
|
1037
|
+
```python
|
|
1038
|
+
# Quality metrics tracking for multi-agent systems
|
|
1039
|
+
class QualityMetricsTracker:
|
|
1040
|
+
def __init__(self):
|
|
1041
|
+
self.agent_metrics = {}
|
|
1042
|
+
self.workflow_metrics = {}
|
|
1043
|
+
self.quality_trends = {}
|
|
1044
|
+
|
|
1045
|
+
def track_agent_performance(self, agent_name, execution_data):
|
|
1046
|
+
"""Track individual agent performance metrics."""
|
|
1047
|
+
if agent_name not in self.agent_metrics:
|
|
1048
|
+
self.agent_metrics[agent_name] = {
|
|
1049
|
+
'executions': 0,
|
|
1050
|
+
'successes': 0,
|
|
1051
|
+
'failures': 0,
|
|
1052
|
+
'average_time': 0,
|
|
1053
|
+
'error_types': {}
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
metrics = self.agent_metrics[agent_name]
|
|
1057
|
+
metrics['executions'] += 1
|
|
1058
|
+
|
|
1059
|
+
if execution_data['success']:
|
|
1060
|
+
metrics['successes'] += 1
|
|
1061
|
+
else:
|
|
1062
|
+
metrics['failures'] += 1
|
|
1063
|
+
error_type = execution_data.get('error_type', 'unknown')
|
|
1064
|
+
metrics['error_types'][error_type] = metrics['error_types'].get(error_type, 0) + 1
|
|
1065
|
+
|
|
1066
|
+
metrics['average_time'] = self.update_average_time(
|
|
1067
|
+
metrics['average_time'],
|
|
1068
|
+
execution_data['execution_time'],
|
|
1069
|
+
metrics['executions']
|
|
1070
|
+
)
|
|
1071
|
+
|
|
1072
|
+
def calculate_quality_score(self, agent_name):
|
|
1073
|
+
"""Calculate comprehensive quality score for agent."""
|
|
1074
|
+
metrics = self.agent_metrics[agent_name]
|
|
1075
|
+
|
|
1076
|
+
if metrics['executions'] == 0:
|
|
1077
|
+
return 0.0
|
|
1078
|
+
|
|
1079
|
+
success_rate = metrics['successes'] / metrics['executions']
|
|
1080
|
+
|
|
1081
|
+
# Quality factors
|
|
1082
|
+
quality_factors = {
|
|
1083
|
+
'success_rate': success_rate * 0.4,
|
|
1084
|
+
'performance': max(0, 1 - (metrics['average_time'] / 300)) * 0.3, # 5 minute baseline
|
|
1085
|
+
'reliability': min(1.0, 1 - (metrics['failures'] / metrics['executions'])) * 0.3
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
quality_score = sum(quality_factors.values())
|
|
1089
|
+
return quality_score
|
|
1090
|
+
```
|
|
1091
|
+
|
|
1092
|
+
---
|
|
1093
|
+
|
|
1094
|
+
Version: 2.0.0
|
|
1095
|
+
Compliance: Claude Code Official Standards
|
|
1096
|
+
Last Updated: 2025-11-25
|
|
1097
|
+
Integration Patterns: Sequential, Parallel, Conditional, Orchestrator
|
|
1098
|
+
Advanced Features: Agent Composition, Adaptive Workflows, Learning Agents
|
|
1099
|
+
|
|
1100
|
+
Generated with Claude Code using official documentation and best practices.
|