claude-mpm 4.20.3__py3-none-any.whl → 4.25.10__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 claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_PM.md +23 -6
- claude_mpm/agents/OUTPUT_STYLE.md +3 -48
- claude_mpm/agents/PM_INSTRUCTIONS.md +1783 -34
- claude_mpm/agents/WORKFLOW.md +75 -2
- claude_mpm/agents/base_agent.json +6 -3
- claude_mpm/agents/frontmatter_validator.py +1 -1
- claude_mpm/agents/templates/api_qa.json +5 -2
- claude_mpm/agents/templates/circuit_breakers.md +108 -2
- claude_mpm/agents/templates/documentation.json +33 -6
- claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
- claude_mpm/agents/templates/php-engineer.json +10 -4
- claude_mpm/agents/templates/pm_red_flags.md +89 -19
- claude_mpm/agents/templates/project_organizer.json +7 -3
- claude_mpm/agents/templates/qa.json +2 -1
- claude_mpm/agents/templates/react_engineer.json +1 -0
- claude_mpm/agents/templates/research.json +82 -12
- claude_mpm/agents/templates/security.json +4 -4
- claude_mpm/agents/templates/tauri_engineer.json +274 -0
- claude_mpm/agents/templates/ticketing.json +10 -6
- claude_mpm/agents/templates/version_control.json +4 -2
- claude_mpm/agents/templates/web_qa.json +2 -1
- claude_mpm/cli/README.md +253 -0
- claude_mpm/cli/__init__.py +11 -1
- claude_mpm/cli/commands/aggregate.py +1 -1
- claude_mpm/cli/commands/analyze.py +3 -3
- claude_mpm/cli/commands/cleanup.py +1 -1
- claude_mpm/cli/commands/configure_agent_display.py +4 -4
- claude_mpm/cli/commands/debug.py +12 -12
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/mcp_install_commands.py +1 -1
- claude_mpm/cli/commands/mcp_install_commands.py.backup +284 -0
- claude_mpm/cli/commands/mpm_init/README.md +365 -0
- claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
- claude_mpm/cli/commands/mpm_init/core.py +573 -0
- claude_mpm/cli/commands/mpm_init/display.py +341 -0
- claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
- claude_mpm/cli/commands/mpm_init/modes.py +397 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
- claude_mpm/cli/commands/mpm_init_cli.py +396 -0
- claude_mpm/cli/commands/mpm_init_handler.py +67 -1
- claude_mpm/cli/commands/run.py +124 -128
- claude_mpm/cli/commands/skills.py +522 -34
- claude_mpm/cli/executor.py +56 -0
- claude_mpm/cli/interactive/agent_wizard.py +5 -5
- claude_mpm/cli/parsers/base_parser.py +28 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
- claude_mpm/cli/parsers/skills_parser.py +138 -0
- claude_mpm/cli/startup.py +111 -8
- claude_mpm/cli/startup_display.py +480 -0
- claude_mpm/cli/utils.py +1 -1
- claude_mpm/cli_module/commands.py +1 -1
- claude_mpm/cli_module/refactoring_guide.md +253 -0
- claude_mpm/commands/mpm-help.md +3 -0
- claude_mpm/commands/mpm-init.md +19 -3
- claude_mpm/commands/mpm-resume.md +372 -0
- claude_mpm/commands/mpm-tickets.md +56 -7
- claude_mpm/commands/mpm.md +1 -0
- claude_mpm/config/agent_capabilities.yaml +658 -0
- claude_mpm/config/async_logging_config.yaml +145 -0
- claude_mpm/constants.py +12 -0
- claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +34 -0
- claude_mpm/core/api_validator.py +1 -1
- claude_mpm/core/claude_runner.py +14 -1
- claude_mpm/core/config.py +8 -0
- claude_mpm/core/constants.py +1 -1
- claude_mpm/core/framework/processors/metadata_processor.py +1 -1
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +41 -2
- claude_mpm/core/interactive_session.py +48 -3
- claude_mpm/core/interfaces.py +56 -1
- claude_mpm/core/logger.py +3 -1
- claude_mpm/core/oneshot_session.py +39 -0
- claude_mpm/d2/.gitignore +22 -0
- claude_mpm/d2/ARCHITECTURE_COMPARISON.md +273 -0
- claude_mpm/d2/FLASK_INTEGRATION.md +156 -0
- claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +452 -0
- claude_mpm/d2/QUICKSTART.md +186 -0
- claude_mpm/d2/README.md +232 -0
- claude_mpm/d2/STORE_FIX_SUMMARY.md +167 -0
- claude_mpm/d2/SVELTE5_STORES_GUIDE.md +180 -0
- claude_mpm/d2/TESTING.md +288 -0
- claude_mpm/d2/index.html +118 -0
- claude_mpm/d2/package.json +19 -0
- claude_mpm/d2/src/App.svelte +110 -0
- claude_mpm/d2/src/components/Header.svelte +153 -0
- claude_mpm/d2/src/components/MainContent.svelte +74 -0
- claude_mpm/d2/src/components/Sidebar.svelte +85 -0
- claude_mpm/d2/src/components/tabs/EventsTab.svelte +326 -0
- claude_mpm/d2/src/lib/socketio.js +144 -0
- claude_mpm/d2/src/main.js +7 -0
- claude_mpm/d2/src/stores/events.js +114 -0
- claude_mpm/d2/src/stores/socket.js +108 -0
- claude_mpm/d2/src/stores/theme.js +65 -0
- claude_mpm/d2/svelte.config.js +12 -0
- claude_mpm/d2/vite.config.js +15 -0
- claude_mpm/dashboard/.claude-mpm/memories/README.md +36 -0
- claude_mpm/dashboard/BUILD_NUMBER +1 -0
- claude_mpm/dashboard/README.md +121 -0
- claude_mpm/dashboard/VERSION +1 -0
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +273 -0
- claude_mpm/dashboard/react/components/ErrorBoundary.tsx +75 -0
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +141 -0
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +36 -0
- claude_mpm/dashboard/react/components/shared/FilterBar.tsx +89 -0
- claude_mpm/dashboard/react/contexts/DashboardContext.tsx +215 -0
- claude_mpm/dashboard/react/entries/events.tsx +165 -0
- claude_mpm/dashboard/react/hooks/useEvents.ts +191 -0
- claude_mpm/dashboard/react/hooks/useSocket.ts +225 -0
- claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +170 -0
- claude_mpm/dashboard/static/built/components/activity-tree.js.map +1 -0
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/built/components/agent-inference.js.map +1 -0
- claude_mpm/dashboard/static/built/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/built/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +29 -29
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +24 -24
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +27 -27
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +25 -25
- claude_mpm/dashboard/static/built/components/code-tree.js.map +1 -0
- claude_mpm/dashboard/static/built/components/code-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/built/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/built/components/event-processor.js.map +1 -0
- claude_mpm/dashboard/static/built/components/event-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/export-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +1 -0
- claude_mpm/dashboard/static/built/components/file-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/module-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/session-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/socket-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/working-directory.js.map +1 -0
- claude_mpm/dashboard/static/built/connection-manager.js +76 -76
- claude_mpm/dashboard/static/built/dashboard.js.map +1 -0
- claude_mpm/dashboard/static/built/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/built/react/events.js.map +1 -0
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +9 -9
- claude_mpm/dashboard/static/built/shared/event-bus.js +5 -5
- claude_mpm/dashboard/static/built/shared/logger.js +16 -16
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +6 -6
- claude_mpm/dashboard/static/built/socket-client.js.map +1 -0
- claude_mpm/dashboard/static/css/activity.css +69 -69
- claude_mpm/dashboard/static/css/connection-status.css +10 -10
- claude_mpm/dashboard/static/css/dashboard.css +15 -15
- claude_mpm/dashboard/static/index.html +22 -22
- claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +170 -0
- claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
- claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
- claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
- claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
- claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
- claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
- claude_mpm/dashboard/static/js/connection-manager.js +76 -76
- claude_mpm/dashboard/static/js/dashboard.js +76 -58
- claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +9 -9
- claude_mpm/dashboard/static/js/shared/event-bus.js +5 -5
- claude_mpm/dashboard/static/js/shared/logger.js +16 -16
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +6 -6
- claude_mpm/dashboard/static/js/socket-client.js +138 -121
- claude_mpm/dashboard/static/navigation-test-results.md +118 -0
- claude_mpm/dashboard/static/production/main.html +21 -21
- claude_mpm/dashboard/static/test-archive/dashboard.html +22 -22
- claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +36 -0
- claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +39 -0
- claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +38 -0
- claude_mpm/dashboard/templates/code_simple.html +23 -23
- claude_mpm/dashboard/templates/index.html +18 -18
- claude_mpm/hooks/README.md +143 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
- claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
- claude_mpm/hooks/claude_hooks/installer.py +45 -0
- claude_mpm/hooks/templates/README.md +180 -0
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/hooks/templates/settings.json.example +147 -0
- claude_mpm/schemas/agent_schema.json +596 -0
- claude_mpm/schemas/frontmatter_schema.json +165 -0
- claude_mpm/scripts/claude-hook-handler.sh +3 -3
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
- claude_mpm/services/agents/loading/framework_agent_loader.py +8 -8
- claude_mpm/services/agents/local_template_manager.py +3 -1
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +36 -16
- claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
- claude_mpm/services/core/base.py +26 -11
- claude_mpm/services/core/interfaces.py +56 -1
- claude_mpm/services/core/models/agent_config.py +3 -0
- claude_mpm/services/core/models/process.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
- claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
- claude_mpm/services/diagnostics/doctor_reporter.py +6 -4
- claude_mpm/services/diagnostics/models.py +21 -0
- claude_mpm/services/event_bus/README.md +244 -0
- claude_mpm/services/event_bus/direct_relay.py +3 -3
- claude_mpm/services/event_bus/event_bus.py +36 -3
- claude_mpm/services/event_bus/relay.py +23 -7
- claude_mpm/services/events/README.md +303 -0
- claude_mpm/services/events/consumers/logging.py +1 -2
- claude_mpm/services/framework_claude_md_generator/README.md +119 -0
- claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
- claude_mpm/services/local_ops/__init__.py +2 -0
- claude_mpm/services/local_ops/process_manager.py +1 -1
- claude_mpm/services/local_ops/resource_monitor.py +2 -2
- claude_mpm/services/mcp_gateway/README.md +185 -0
- claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
- claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
- claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
- claude_mpm/services/memory/failure_tracker.py +19 -4
- claude_mpm/services/memory/optimizer.py +1 -1
- claude_mpm/services/model/model_router.py +8 -9
- claude_mpm/services/monitor/daemon.py +1 -1
- claude_mpm/services/monitor/server.py +2 -2
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/port_manager.py +1 -1
- claude_mpm/services/project/documentation_manager.py +2 -1
- claude_mpm/services/project/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +1 -0
- claude_mpm/services/self_upgrade_service.py +165 -7
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +955 -0
- claude_mpm/services/socketio/handlers/connection.py +1 -1
- claude_mpm/services/socketio/handlers/connection.py.backup +217 -0
- claude_mpm/services/socketio/handlers/git.py +2 -2
- claude_mpm/services/socketio/handlers/hook.py.backup +154 -0
- claude_mpm/services/static/.gitkeep +2 -0
- claude_mpm/services/system_instructions_service.py +1 -3
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
- claude_mpm/services/version_control/VERSION +1 -0
- claude_mpm/services/version_control/conflict_resolution.py +6 -4
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/__init__.py +3 -3
- claude_mpm/skills/agent_skills_injector.py +42 -49
- claude_mpm/skills/bundled/.gitkeep +2 -0
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +4 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +108 -114
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +46 -41
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +36 -73
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +100 -125
- claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +63 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +28 -72
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +11 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +272 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +13 -1
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +322 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +11 -0
- claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +109 -277
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +17 -10
- claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +92 -39
- claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +22 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +2 -0
- claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +135 -155
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +13 -12
- claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +5 -3
- claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +19 -12
- claude_mpm/skills/bundled/performance-profiling.md +6 -0
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
- claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
- claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
- claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +21 -25
- claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +158 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +86 -250
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
- claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +145 -57
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +6 -6
- claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +13 -9
- claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +8 -8
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +37 -15
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
- claude_mpm/skills/skills_registry.py +44 -48
- claude_mpm/skills/skills_service.py +117 -108
- claude_mpm/templates/questions/EXAMPLES.md +501 -0
- claude_mpm/templates/questions/__init__.py +43 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +314 -0
- claude_mpm/templates/questions/project_init.py +388 -0
- claude_mpm/templates/questions/ticket_mgmt.py +397 -0
- claude_mpm/tools/README_SOCKETIO_DEBUG.md +224 -0
- claude_mpm/tools/__main__.py +8 -8
- claude_mpm/tools/code_tree_analyzer/README.md +64 -0
- claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/utils/agent_dependency_loader.py +3 -3
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +241 -0
- claude_mpm/utils/log_cleanup.py +3 -3
- claude_mpm/utils/robust_installer.py +3 -5
- claude_mpm/utils/structured_questions.py +619 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/METADATA +218 -31
- {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/RECORD +409 -246
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
- claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
- claude_mpm/cli/commands/mpm_init.py +0 -2093
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
- claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
- claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
- claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
- claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
- claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
- claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
- claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
- claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
- claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
- claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
- claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
- claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
- claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
- claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/dist/dashboard.js +0 -2
- claude_mpm/dashboard/static/dist/react/events.js +0 -30
- claude_mpm/dashboard/static/dist/socket-client.js +0 -2
- claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/common-failures.md +0 -213
- claude_mpm/tools/code_tree_analyzer.py +0 -1825
- /claude_mpm/skills/bundled/collaboration/requesting-code-review/{code-reviewer.md → references/code-reviewer-template.md} +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/WHEEL +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/top_level.txt +0 -0
|
@@ -87,13 +87,13 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
87
87
|
>>> assert 'required' in template['skills']
|
|
88
88
|
"""
|
|
89
89
|
try:
|
|
90
|
-
with open(template_path, encoding=
|
|
90
|
+
with open(template_path, encoding="utf-8") as f:
|
|
91
91
|
template = json.load(f)
|
|
92
92
|
except (OSError, json.JSONDecodeError) as e:
|
|
93
93
|
self.logger.error(f"Failed to load template {template_path}: {e}")
|
|
94
94
|
raise ValueError(f"Cannot load template {template_path}") from e
|
|
95
95
|
|
|
96
|
-
agent_id = template.get(
|
|
96
|
+
agent_id = template.get("agent_id")
|
|
97
97
|
if not agent_id:
|
|
98
98
|
self.logger.error(f"Template missing agent_id: {template_path}")
|
|
99
99
|
return template
|
|
@@ -106,10 +106,10 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
106
106
|
required = skills[:2] if len(skills) > 2 else skills
|
|
107
107
|
optional = skills[2:] if len(skills) > 2 else []
|
|
108
108
|
|
|
109
|
-
template[
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
template["skills"] = {
|
|
110
|
+
"required": required,
|
|
111
|
+
"optional": optional,
|
|
112
|
+
"auto_load": True,
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
self.logger.info(f"Enhanced {agent_id} with {len(skills)} skills")
|
|
@@ -151,37 +151,30 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
151
151
|
"""
|
|
152
152
|
# Build frontmatter dict
|
|
153
153
|
frontmatter = {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
"name": agent_config.get("agent_id"),
|
|
155
|
+
"description": agent_config.get("metadata", {}).get("description"),
|
|
156
|
+
"version": agent_config.get("version"),
|
|
157
|
+
"tools": agent_config.get("capabilities", {}).get("tools", []),
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
# Add skills if present
|
|
161
|
-
if
|
|
162
|
-
skills_config = agent_config[
|
|
163
|
-
required = skills_config.get(
|
|
164
|
-
optional = skills_config.get(
|
|
161
|
+
if "skills" in agent_config:
|
|
162
|
+
skills_config = agent_config["skills"]
|
|
163
|
+
required = skills_config.get("required", [])
|
|
164
|
+
optional = skills_config.get("optional", [])
|
|
165
165
|
all_skills = required + optional
|
|
166
166
|
|
|
167
167
|
if all_skills:
|
|
168
|
-
frontmatter[
|
|
168
|
+
frontmatter["skills"] = all_skills
|
|
169
169
|
|
|
170
170
|
# Convert to YAML with clean formatting
|
|
171
171
|
yaml_str = yaml.dump(
|
|
172
|
-
frontmatter,
|
|
173
|
-
default_flow_style=False,
|
|
174
|
-
sort_keys=False,
|
|
175
|
-
allow_unicode=True
|
|
172
|
+
frontmatter, default_flow_style=False, sort_keys=False, allow_unicode=True
|
|
176
173
|
)
|
|
177
174
|
|
|
178
175
|
return f"---\n{yaml_str}---\n"
|
|
179
176
|
|
|
180
|
-
def inject_skills_documentation(
|
|
181
|
-
self,
|
|
182
|
-
agent_content: str,
|
|
183
|
-
skills: List[str]
|
|
184
|
-
) -> str:
|
|
177
|
+
def inject_skills_documentation(self, agent_content: str, skills: List[str]) -> str:
|
|
185
178
|
"""Inject skills documentation reference into agent instructions.
|
|
186
179
|
|
|
187
180
|
Adds a "## Available Skills" section after the YAML frontmatter that
|
|
@@ -222,8 +215,8 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
222
215
|
skills_section += "\nClaude will automatically read these skills when your task matches their descriptions.\n"
|
|
223
216
|
|
|
224
217
|
# Insert after frontmatter
|
|
225
|
-
if
|
|
226
|
-
parts = agent_content.split(
|
|
218
|
+
if "---" in agent_content:
|
|
219
|
+
parts = agent_content.split("---", 2)
|
|
227
220
|
if len(parts) >= 3:
|
|
228
221
|
# Reconstruct: frontmatter + skills section + rest
|
|
229
222
|
return f"{parts[0]}---{parts[1]}---{skills_section}{parts[2]}"
|
|
@@ -232,9 +225,7 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
232
225
|
return agent_content + skills_section
|
|
233
226
|
|
|
234
227
|
def enhance_agent_with_skills(
|
|
235
|
-
self,
|
|
236
|
-
agent_id: str,
|
|
237
|
-
template_content: str
|
|
228
|
+
self, agent_id: str, template_content: str
|
|
238
229
|
) -> Dict[str, Any]:
|
|
239
230
|
"""Convenience method to fully enhance an agent with skills.
|
|
240
231
|
|
|
@@ -267,19 +258,19 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
267
258
|
|
|
268
259
|
if not skills:
|
|
269
260
|
return {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
261
|
+
"agent_id": agent_id,
|
|
262
|
+
"skills": [],
|
|
263
|
+
"frontmatter": "",
|
|
264
|
+
"content": template_content,
|
|
274
265
|
}
|
|
275
266
|
|
|
276
267
|
# Create config dict for frontmatter generation
|
|
277
268
|
agent_config = {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
269
|
+
"agent_id": agent_id,
|
|
270
|
+
"skills": {
|
|
271
|
+
"required": skills[:2] if len(skills) > 2 else skills,
|
|
272
|
+
"optional": skills[2:] if len(skills) > 2 else [],
|
|
273
|
+
},
|
|
283
274
|
}
|
|
284
275
|
|
|
285
276
|
# Generate frontmatter
|
|
@@ -289,10 +280,10 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
289
280
|
enhanced_content = self.inject_skills_documentation(template_content, skills)
|
|
290
281
|
|
|
291
282
|
return {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
283
|
+
"agent_id": agent_id,
|
|
284
|
+
"skills": skills,
|
|
285
|
+
"frontmatter": frontmatter,
|
|
286
|
+
"content": enhanced_content,
|
|
296
287
|
}
|
|
297
288
|
|
|
298
289
|
def get_skills_references_for_agent(self, agent_id: str) -> List[Dict[str, str]]:
|
|
@@ -320,12 +311,14 @@ class AgentSkillsInjector(LoggerMixin):
|
|
|
320
311
|
|
|
321
312
|
skill_refs = []
|
|
322
313
|
for skill_name in skills:
|
|
323
|
-
metadata = registry.get(
|
|
324
|
-
|
|
325
|
-
skill_refs.append(
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
314
|
+
metadata = registry.get("skills_metadata", {}).get(skill_name, {})
|
|
315
|
+
|
|
316
|
+
skill_refs.append(
|
|
317
|
+
{
|
|
318
|
+
"name": skill_name,
|
|
319
|
+
"category": metadata.get("category", "unknown"),
|
|
320
|
+
"description": metadata.get("description", ""),
|
|
321
|
+
}
|
|
322
|
+
)
|
|
330
323
|
|
|
331
324
|
return skill_refs
|
|
@@ -3,6 +3,10 @@ name: Brainstorming Ideas Into Designs
|
|
|
3
3
|
description: Interactive idea refinement using Socratic method to develop fully-formed designs
|
|
4
4
|
when_to_use: when partner describes any feature or project idea, before writing code or implementation plans
|
|
5
5
|
version: 2.2.0
|
|
6
|
+
progressive_disclosure:
|
|
7
|
+
level: 1
|
|
8
|
+
references: []
|
|
9
|
+
note: Already optimal at 75 lines - intentionally compact, no references needed
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# Brainstorming Ideas Into Designs
|
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
name: Dispatching Parallel Agents
|
|
3
3
|
description: Use multiple Claude agents to investigate and fix independent problems concurrently
|
|
4
4
|
when_to_use: when facing 3+ independent failures that can be investigated without shared state or dependencies
|
|
5
|
-
version:
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
version: 2.0.0
|
|
6
|
+
progressive_disclosure:
|
|
7
|
+
entry_point:
|
|
8
|
+
summary: "Dispatch one agent per independent problem domain to solve multiple unrelated failures concurrently"
|
|
9
|
+
when_to_use: "When you have 3+ independent failures in different test files/subsystems with no shared state or dependencies"
|
|
10
|
+
quick_start: "1. Identify independent domains 2. Create focused agent tasks 3. Dispatch in parallel 4. Review summaries 5. Verify no conflicts and integrate"
|
|
11
|
+
references:
|
|
12
|
+
- coordination-patterns.md
|
|
13
|
+
- agent-prompts.md
|
|
14
|
+
- examples.md
|
|
15
|
+
- troubleshooting.md
|
|
8
16
|
---
|
|
9
17
|
|
|
10
18
|
# Dispatching Parallel Agents
|
|
@@ -15,45 +23,52 @@ When you have multiple unrelated failures (different test files, different subsy
|
|
|
15
23
|
|
|
16
24
|
**Core principle:** Dispatch one agent per independent problem domain. Let them work concurrently.
|
|
17
25
|
|
|
18
|
-
## When to Use
|
|
19
|
-
|
|
20
|
-
```dot
|
|
21
|
-
digraph when_to_use {
|
|
22
|
-
"Multiple failures?" [shape=diamond];
|
|
23
|
-
"Are they independent?" [shape=diamond];
|
|
24
|
-
"Single agent investigates all" [shape=box];
|
|
25
|
-
"One agent per problem domain" [shape=box];
|
|
26
|
-
"Can they work in parallel?" [shape=diamond];
|
|
27
|
-
"Sequential agents" [shape=box];
|
|
28
|
-
"Parallel dispatch" [shape=box];
|
|
29
|
-
|
|
30
|
-
"Multiple failures?" -> "Are they independent?" [label="yes"];
|
|
31
|
-
"Are they independent?" -> "Single agent investigates all" [label="no - related"];
|
|
32
|
-
"Are they independent?" -> "Can they work in parallel?" [label="yes"];
|
|
33
|
-
"Can they work in parallel?" -> "Parallel dispatch" [label="yes"];
|
|
34
|
-
"Can they work in parallel?" -> "Sequential agents" [label="no - shared state"];
|
|
35
|
-
}
|
|
36
|
-
```
|
|
26
|
+
## When to Use This Skill
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
- 3+ test files failing with different root causes
|
|
40
|
-
- Multiple subsystems broken independently
|
|
41
|
-
- Each problem can be understood without context from others
|
|
42
|
-
- No shared state between investigations
|
|
28
|
+
Activate this skill when you're facing:
|
|
29
|
+
- **3+ test files failing** with different root causes
|
|
30
|
+
- **Multiple subsystems broken** independently
|
|
31
|
+
- **Each problem is self-contained** - can be understood without context from others
|
|
32
|
+
- **No shared state** between investigations
|
|
33
|
+
- **Clear domain boundaries** - fixing one won't affect others
|
|
43
34
|
|
|
44
35
|
**Don't use when:**
|
|
45
36
|
- Failures are related (fix one might fix others)
|
|
46
|
-
- Need to understand full system state
|
|
47
|
-
- Agents would interfere with each other
|
|
37
|
+
- Need to understand full system state first
|
|
38
|
+
- Agents would interfere with each other (editing same files)
|
|
39
|
+
- Exploratory debugging (don't know what's broken yet)
|
|
40
|
+
|
|
41
|
+
## The Iron Law
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
One agent, one problem domain, one clear outcome.
|
|
45
|
+
Never overlap scopes. Never share state. Always integrate consciously.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Core Principles
|
|
49
|
+
|
|
50
|
+
### Independence is Key
|
|
51
|
+
Problems must be truly independent - no shared files, no related root causes, no dependencies between fixes.
|
|
52
|
+
|
|
53
|
+
### Focus Over Breadth
|
|
54
|
+
Each agent gets narrow scope: one test file, one subsystem, one clear goal. Broad tasks lead to confusion.
|
|
55
|
+
|
|
56
|
+
### Clear Output Required
|
|
57
|
+
Every agent must return a summary: what was found, what was fixed, what changed. No silent fixes.
|
|
48
58
|
|
|
49
|
-
|
|
59
|
+
### Conscious Integration
|
|
60
|
+
Don't blindly merge agent work. Review summaries, check conflicts, run full suite, verify compatibility.
|
|
61
|
+
|
|
62
|
+
## Quick Start
|
|
50
63
|
|
|
51
64
|
### 1. Identify Independent Domains
|
|
52
65
|
|
|
53
66
|
Group failures by what's broken:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
```
|
|
68
|
+
File A tests: Tool approval flow
|
|
69
|
+
File B tests: Batch completion behavior
|
|
70
|
+
File C tests: Abort functionality
|
|
71
|
+
```
|
|
57
72
|
|
|
58
73
|
Each domain is independent - fixing tool approval doesn't affect abort tests.
|
|
59
74
|
|
|
@@ -65,6 +80,8 @@ Each agent gets:
|
|
|
65
80
|
- **Constraints:** Don't change other code
|
|
66
81
|
- **Expected output:** Summary of what you found and fixed
|
|
67
82
|
|
|
83
|
+
**→** [agent-prompts.md](references/agent-prompts.md) for prompt templates and examples
|
|
84
|
+
|
|
68
85
|
### 3. Dispatch in Parallel
|
|
69
86
|
|
|
70
87
|
```typescript
|
|
@@ -75,110 +92,87 @@ Task("Fix tool-approval-race-conditions.test.ts failures")
|
|
|
75
92
|
// All three run concurrently
|
|
76
93
|
```
|
|
77
94
|
|
|
95
|
+
**→** [coordination-patterns.md](references/coordination-patterns.md) for dispatch strategies
|
|
96
|
+
|
|
78
97
|
### 4. Review and Integrate
|
|
79
98
|
|
|
80
99
|
When agents return:
|
|
81
|
-
- Read each summary
|
|
82
|
-
- Verify fixes don't conflict
|
|
83
|
-
- Run full test suite
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
## Agent Prompt Structure
|
|
87
|
-
|
|
88
|
-
Good agent prompts are:
|
|
89
|
-
1. **Focused** - One clear problem domain
|
|
90
|
-
2. **Self-contained** - All context needed to understand the problem
|
|
91
|
-
3. **Specific about output** - What should the agent return?
|
|
92
|
-
|
|
93
|
-
```markdown
|
|
94
|
-
Fix the 3 failing tests in src/agents/agent-tool-abort.test.ts:
|
|
95
|
-
|
|
96
|
-
1. "should abort tool with partial output capture" - expects 'interrupted at' in message
|
|
97
|
-
2. "should handle mixed completed and aborted tools" - fast tool aborted instead of completed
|
|
98
|
-
3. "should properly track pendingToolCount" - expects 3 results but gets 0
|
|
100
|
+
- Read each summary - understand what changed
|
|
101
|
+
- Verify fixes don't conflict - check for same file edits
|
|
102
|
+
- Run full test suite - ensure compatibility
|
|
103
|
+
- Spot check changes - agents can make systematic errors
|
|
99
104
|
|
|
100
|
-
|
|
105
|
+
**→** [troubleshooting.md](references/troubleshooting.md) for conflict resolution
|
|
101
106
|
|
|
102
|
-
|
|
103
|
-
2. Identify root cause - timing issues or actual bugs?
|
|
104
|
-
3. Fix by:
|
|
105
|
-
- Replacing arbitrary timeouts with event-based waiting
|
|
106
|
-
- Fixing bugs in abort implementation if found
|
|
107
|
-
- Adjusting test expectations if testing changed behavior
|
|
107
|
+
## Decision Tree
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
```
|
|
110
|
+
Multiple failures?
|
|
111
|
+
└→ Are they independent?
|
|
112
|
+
├→ NO (related) → Single agent investigates all
|
|
113
|
+
└→ YES → Can they work in parallel?
|
|
114
|
+
├→ NO (shared state) → Sequential agents
|
|
115
|
+
└→ YES → Parallel dispatch ✓
|
|
112
116
|
```
|
|
113
117
|
|
|
114
|
-
##
|
|
115
|
-
|
|
116
|
-
**❌ Too broad:** "Fix all the tests" - agent gets lost
|
|
117
|
-
**✅ Specific:** "Fix agent-tool-abort.test.ts" - focused scope
|
|
118
|
-
|
|
119
|
-
**❌ No context:** "Fix the race condition" - agent doesn't know where
|
|
120
|
-
**✅ Context:** Paste the error messages and test names
|
|
121
|
-
|
|
122
|
-
**❌ No constraints:** Agent might refactor everything
|
|
123
|
-
**✅ Constraints:** "Do NOT change production code" or "Fix tests only"
|
|
124
|
-
|
|
125
|
-
**❌ Vague output:** "Fix it" - you don't know what changed
|
|
126
|
-
**✅ Specific:** "Return summary of root cause and changes"
|
|
118
|
+
## Key Benefits
|
|
127
119
|
|
|
128
|
-
|
|
120
|
+
1. **Parallelization** - Multiple investigations happen simultaneously
|
|
121
|
+
2. **Focus** - Each agent has narrow scope, less context to track
|
|
122
|
+
3. **Independence** - Agents don't interfere with each other
|
|
123
|
+
4. **Speed** - N problems solved in time of 1
|
|
129
124
|
|
|
130
|
-
|
|
131
|
-
**Need full context:** Understanding requires seeing entire system
|
|
132
|
-
**Exploratory debugging:** You don't know what's broken yet
|
|
133
|
-
**Shared state:** Agents would interfere (editing same files, using same resources)
|
|
125
|
+
## Navigation
|
|
134
126
|
|
|
135
|
-
|
|
127
|
+
### Pattern Reference
|
|
128
|
+
- **[Coordination Patterns](references/coordination-patterns.md)** - Dispatch strategies, domain identification, integration workflows
|
|
136
129
|
|
|
137
|
-
|
|
130
|
+
### Agent Management
|
|
131
|
+
- **[Agent Prompts](references/agent-prompts.md)** - Prompt structure, templates, common mistakes, constraints
|
|
138
132
|
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
- batch-completion-behavior.test.ts: 2 failures (tools not executing)
|
|
142
|
-
- tool-approval-race-conditions.test.ts: 1 failure (execution count = 0)
|
|
133
|
+
### Learning Resources
|
|
134
|
+
- **[Examples](references/examples.md)** - Real-world scenarios, case studies, time savings analysis
|
|
143
135
|
|
|
144
|
-
|
|
136
|
+
### Problem Solving
|
|
137
|
+
- **[Troubleshooting](references/troubleshooting.md)** - Conflict resolution, verification strategies, common pitfalls
|
|
145
138
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
Agent 3 → Fix tool-approval-race-conditions.test.ts
|
|
151
|
-
```
|
|
139
|
+
### Related Skills
|
|
140
|
+
- **[pm-workflow](../pm-workflow/)** - PM coordination and task management
|
|
141
|
+
- **[test-driven-development](../../testing/test-driven-development/)** - TDD patterns that benefit from parallel fixing
|
|
142
|
+
- **[verification-before-completion](../../productivity/verification-before-completion/)** - Integration verification
|
|
152
143
|
|
|
153
|
-
|
|
154
|
-
- Agent 1: Replaced timeouts with event-based waiting
|
|
155
|
-
- Agent 2: Fixed event structure bug (threadId in wrong place)
|
|
156
|
-
- Agent 3: Added wait for async tool execution to complete
|
|
144
|
+
## Key Reminders
|
|
157
145
|
|
|
158
|
-
**
|
|
146
|
+
1. **Independence is mandatory** - Related failures need single-agent investigation
|
|
147
|
+
2. **Focus beats breadth** - Narrow scope per agent prevents confusion
|
|
148
|
+
3. **Always verify integration** - Don't blindly merge agent work
|
|
149
|
+
4. **Clear outputs required** - Every agent returns summary of changes
|
|
150
|
+
5. **Parallelization has overhead** - Only worth it for 3+ independent problems
|
|
159
151
|
|
|
160
|
-
|
|
152
|
+
## Red Flags - STOP
|
|
161
153
|
|
|
162
|
-
|
|
154
|
+
**STOP immediately if:**
|
|
155
|
+
- Agents are editing the same files (scope overlap)
|
|
156
|
+
- Fixes from one agent break another's work (hidden dependencies)
|
|
157
|
+
- You can't clearly separate problem domains (not independent)
|
|
158
|
+
- Agents return no summary (can't verify changes)
|
|
159
|
+
- Integration requires major refactoring (conflicts)
|
|
163
160
|
|
|
164
|
-
|
|
165
|
-
2. **Focus** - Each agent has narrow scope, less context to track
|
|
166
|
-
3. **Independence** - Agents don't interfere with each other
|
|
167
|
-
4. **Speed** - 3 problems solved in time of 1
|
|
161
|
+
**When in doubt:** Start with one agent, understand the landscape, then dispatch if truly independent.
|
|
168
162
|
|
|
169
|
-
##
|
|
163
|
+
## Integration with Other Skills
|
|
170
164
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
3. **Run full suite** - Verify all fixes work together
|
|
175
|
-
4. **Spot check** - Agents can make systematic errors
|
|
165
|
+
**Prerequisite:** Basic understanding of problem domains and test structure
|
|
166
|
+
**Complementary:** [pm-workflow](../pm-workflow/) for coordinating multiple agents
|
|
167
|
+
**Domain-specific:** Testing skills for understanding test failures
|
|
176
168
|
|
|
177
169
|
## Real-World Impact
|
|
178
170
|
|
|
179
171
|
From debugging session (2025-10-03):
|
|
180
|
-
- 6 failures across 3 files
|
|
181
|
-
- 3 agents dispatched in parallel
|
|
182
|
-
- All investigations completed concurrently
|
|
183
|
-
-
|
|
184
|
-
-
|
|
172
|
+
- **6 failures** across 3 test files
|
|
173
|
+
- **3 agents** dispatched in parallel
|
|
174
|
+
- **All investigations** completed concurrently
|
|
175
|
+
- **Zero conflicts** between agent changes
|
|
176
|
+
- **Time saved:** 3 problems solved in parallel vs sequentially
|
|
177
|
+
|
|
178
|
+
**→** [examples.md](references/examples.md) for detailed case study
|