moai-adk 0.25.4__py3-none-any.whl → 0.32.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.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.