claude-mpm 5.4.22__py3-none-any.whl → 5.6.34__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_AGENT.md +164 -0
- claude_mpm/agents/BASE_ENGINEER.md +658 -0
- claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +66 -241
- claude_mpm/agents/CLAUDE_MPM_RESEARCH_OUTPUT_STYLE.md +413 -0
- claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +109 -1925
- claude_mpm/agents/MEMORY.md +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +374 -1257
- claude_mpm/agents/WORKFLOW.md +6 -253
- claude_mpm/agents/agent_loader.py +1 -1
- claude_mpm/agents/base_agent.json +31 -0
- claude_mpm/agents/frontmatter_validator.py +2 -2
- claude_mpm/agents/templates/circuit-breakers.md +26 -17
- claude_mpm/cli/__init__.py +5 -1
- claude_mpm/cli/commands/agent_state_manager.py +10 -10
- claude_mpm/cli/commands/agents.py +11 -13
- claude_mpm/cli/commands/agents_reconcile.py +197 -0
- claude_mpm/cli/commands/auto_configure.py +4 -4
- claude_mpm/cli/commands/autotodos.py +566 -0
- claude_mpm/cli/commands/commander.py +216 -0
- claude_mpm/cli/commands/configure.py +621 -22
- claude_mpm/cli/commands/configure_agent_display.py +12 -0
- claude_mpm/cli/commands/hook_errors.py +60 -60
- claude_mpm/cli/commands/monitor.py +2 -2
- claude_mpm/cli/commands/mpm_init/core.py +72 -0
- claude_mpm/cli/commands/postmortem.py +1 -1
- claude_mpm/cli/commands/profile.py +276 -0
- claude_mpm/cli/commands/run.py +35 -3
- claude_mpm/cli/commands/skill_source.py +51 -2
- claude_mpm/cli/commands/skills.py +182 -32
- claude_mpm/cli/executor.py +130 -16
- claude_mpm/cli/interactive/__init__.py +10 -0
- claude_mpm/cli/interactive/agent_wizard.py +32 -52
- claude_mpm/cli/interactive/questionary_styles.py +65 -0
- claude_mpm/cli/interactive/skill_selector.py +481 -0
- claude_mpm/cli/parsers/base_parser.py +83 -1
- claude_mpm/cli/parsers/commander_parser.py +116 -0
- claude_mpm/cli/parsers/profile_parser.py +147 -0
- claude_mpm/cli/parsers/run_parser.py +10 -0
- claude_mpm/cli/parsers/skill_source_parser.py +4 -0
- claude_mpm/cli/parsers/skills_parser.py +2 -3
- claude_mpm/cli/startup.py +690 -386
- claude_mpm/cli/startup_display.py +74 -6
- claude_mpm/cli/startup_logging.py +2 -2
- claude_mpm/cli/utils.py +7 -3
- claude_mpm/commander/__init__.py +78 -0
- claude_mpm/commander/adapters/__init__.py +60 -0
- claude_mpm/commander/adapters/auggie.py +260 -0
- claude_mpm/commander/adapters/base.py +288 -0
- claude_mpm/commander/adapters/claude_code.py +392 -0
- claude_mpm/commander/adapters/codex.py +237 -0
- claude_mpm/commander/adapters/communication.py +366 -0
- claude_mpm/commander/adapters/example_usage.py +310 -0
- claude_mpm/commander/adapters/mpm.py +389 -0
- claude_mpm/commander/adapters/registry.py +204 -0
- claude_mpm/commander/api/__init__.py +16 -0
- claude_mpm/commander/api/app.py +121 -0
- claude_mpm/commander/api/errors.py +133 -0
- claude_mpm/commander/api/routes/__init__.py +8 -0
- claude_mpm/commander/api/routes/events.py +184 -0
- claude_mpm/commander/api/routes/inbox.py +171 -0
- claude_mpm/commander/api/routes/messages.py +148 -0
- claude_mpm/commander/api/routes/projects.py +271 -0
- claude_mpm/commander/api/routes/sessions.py +226 -0
- claude_mpm/commander/api/routes/work.py +296 -0
- claude_mpm/commander/api/schemas.py +186 -0
- claude_mpm/commander/chat/__init__.py +7 -0
- claude_mpm/commander/chat/cli.py +146 -0
- claude_mpm/commander/chat/commands.py +96 -0
- claude_mpm/commander/chat/repl.py +310 -0
- claude_mpm/commander/config.py +51 -0
- claude_mpm/commander/config_loader.py +115 -0
- claude_mpm/commander/core/__init__.py +10 -0
- claude_mpm/commander/core/block_manager.py +325 -0
- claude_mpm/commander/core/response_manager.py +323 -0
- claude_mpm/commander/daemon.py +603 -0
- claude_mpm/commander/env_loader.py +59 -0
- claude_mpm/commander/events/__init__.py +26 -0
- claude_mpm/commander/events/manager.py +332 -0
- claude_mpm/commander/frameworks/__init__.py +12 -0
- claude_mpm/commander/frameworks/base.py +146 -0
- claude_mpm/commander/frameworks/claude_code.py +58 -0
- claude_mpm/commander/frameworks/mpm.py +62 -0
- claude_mpm/commander/inbox/__init__.py +16 -0
- claude_mpm/commander/inbox/dedup.py +128 -0
- claude_mpm/commander/inbox/inbox.py +224 -0
- claude_mpm/commander/inbox/models.py +70 -0
- claude_mpm/commander/instance_manager.py +450 -0
- claude_mpm/commander/llm/__init__.py +6 -0
- claude_mpm/commander/llm/openrouter_client.py +167 -0
- claude_mpm/commander/llm/summarizer.py +70 -0
- claude_mpm/commander/memory/__init__.py +45 -0
- claude_mpm/commander/memory/compression.py +347 -0
- claude_mpm/commander/memory/embeddings.py +230 -0
- claude_mpm/commander/memory/entities.py +310 -0
- claude_mpm/commander/memory/example_usage.py +290 -0
- claude_mpm/commander/memory/integration.py +325 -0
- claude_mpm/commander/memory/search.py +381 -0
- claude_mpm/commander/memory/store.py +657 -0
- claude_mpm/commander/models/__init__.py +18 -0
- claude_mpm/commander/models/events.py +121 -0
- claude_mpm/commander/models/project.py +162 -0
- claude_mpm/commander/models/work.py +214 -0
- claude_mpm/commander/parsing/__init__.py +20 -0
- claude_mpm/commander/parsing/extractor.py +132 -0
- claude_mpm/commander/parsing/output_parser.py +270 -0
- claude_mpm/commander/parsing/patterns.py +100 -0
- claude_mpm/commander/persistence/__init__.py +11 -0
- claude_mpm/commander/persistence/event_store.py +274 -0
- claude_mpm/commander/persistence/state_store.py +309 -0
- claude_mpm/commander/persistence/work_store.py +164 -0
- claude_mpm/commander/polling/__init__.py +13 -0
- claude_mpm/commander/polling/event_detector.py +104 -0
- claude_mpm/commander/polling/output_buffer.py +49 -0
- claude_mpm/commander/polling/output_poller.py +153 -0
- claude_mpm/commander/project_session.py +268 -0
- claude_mpm/commander/proxy/__init__.py +12 -0
- claude_mpm/commander/proxy/formatter.py +89 -0
- claude_mpm/commander/proxy/output_handler.py +191 -0
- claude_mpm/commander/proxy/relay.py +155 -0
- claude_mpm/commander/registry.py +410 -0
- claude_mpm/commander/runtime/__init__.py +10 -0
- claude_mpm/commander/runtime/executor.py +191 -0
- claude_mpm/commander/runtime/monitor.py +346 -0
- claude_mpm/commander/session/__init__.py +6 -0
- claude_mpm/commander/session/context.py +81 -0
- claude_mpm/commander/session/manager.py +59 -0
- claude_mpm/commander/tmux_orchestrator.py +361 -0
- claude_mpm/commander/web/__init__.py +1 -0
- claude_mpm/commander/work/__init__.py +30 -0
- claude_mpm/commander/work/executor.py +207 -0
- claude_mpm/commander/work/queue.py +405 -0
- claude_mpm/commander/workflow/__init__.py +27 -0
- claude_mpm/commander/workflow/event_handler.py +241 -0
- claude_mpm/commander/workflow/notifier.py +146 -0
- claude_mpm/commands/mpm-config.md +20 -249
- claude_mpm/commands/mpm-doctor.md +16 -21
- claude_mpm/commands/mpm-help.md +12 -205
- claude_mpm/commands/mpm-init.md +88 -506
- claude_mpm/commands/mpm-monitor.md +22 -401
- claude_mpm/commands/mpm-organize.md +70 -442
- claude_mpm/commands/mpm-postmortem.md +13 -107
- claude_mpm/commands/mpm-session-resume.md +20 -363
- claude_mpm/commands/mpm-status.md +13 -69
- claude_mpm/commands/mpm-ticket-view.md +60 -495
- claude_mpm/commands/mpm-version.md +13 -107
- claude_mpm/commands/mpm.md +8 -0
- claude_mpm/config/agent_presets.py +8 -7
- claude_mpm/config/skill_sources.py +16 -0
- claude_mpm/constants.py +1 -0
- claude_mpm/core/claude_runner.py +154 -2
- claude_mpm/core/config.py +37 -26
- claude_mpm/core/config_constants.py +74 -9
- claude_mpm/core/constants.py +56 -12
- claude_mpm/core/framework/loaders/agent_loader.py +1 -1
- claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
- claude_mpm/core/hook_manager.py +51 -3
- claude_mpm/core/interactive_session.py +12 -11
- claude_mpm/core/logger.py +26 -9
- claude_mpm/core/logging_utils.py +39 -13
- claude_mpm/core/network_config.py +148 -0
- claude_mpm/core/oneshot_session.py +7 -6
- claude_mpm/core/optimized_startup.py +61 -0
- claude_mpm/core/output_style_manager.py +66 -18
- claude_mpm/core/shared/config_loader.py +3 -1
- claude_mpm/core/socketio_pool.py +47 -15
- claude_mpm/core/unified_agent_registry.py +1 -1
- claude_mpm/core/unified_config.py +54 -8
- claude_mpm/core/unified_paths.py +95 -90
- claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BSNlmTZj.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DR8nis88.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/NqQ1dWOy.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.RgBboRvH.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
- claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
- claude_mpm/dashboard/static/svelte-build/index.html +36 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
- claude_mpm/experimental/cli_enhancements.py +2 -1
- claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
- claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +527 -136
- claude_mpm/hooks/claude_hooks/hook_handler.py +313 -99
- claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
- claude_mpm/hooks/claude_hooks/installer.py +206 -36
- claude_mpm/hooks/claude_hooks/memory_integration.py +52 -32
- claude_mpm/hooks/claude_hooks/response_tracking.py +43 -60
- claude_mpm/hooks/claude_hooks/services/__init__.py +21 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +67 -32
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +38 -105
- claude_mpm/hooks/claude_hooks/services/container.py +310 -0
- claude_mpm/hooks/claude_hooks/services/protocols.py +328 -0
- claude_mpm/hooks/claude_hooks/services/state_manager.py +25 -38
- claude_mpm/hooks/claude_hooks/services/subagent_processor.py +75 -77
- claude_mpm/hooks/kuzu_memory_hook.py +5 -5
- claude_mpm/hooks/session_resume_hook.py +89 -1
- claude_mpm/hooks/templates/pre_tool_use_simple.py +6 -6
- claude_mpm/hooks/templates/pre_tool_use_template.py +16 -8
- claude_mpm/init.py +276 -0
- claude_mpm/models/git_repository.py +3 -3
- claude_mpm/scripts/claude-hook-handler.sh +46 -19
- claude_mpm/services/agents/agent_builder.py +3 -3
- claude_mpm/services/agents/agent_recommendation_service.py +8 -8
- claude_mpm/services/agents/agent_selection_service.py +2 -2
- claude_mpm/services/agents/cache_git_manager.py +7 -7
- claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
- claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -2
- claude_mpm/services/agents/deployment/agent_format_converter.py +25 -13
- claude_mpm/services/agents/deployment/agent_template_builder.py +39 -19
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
- claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
- claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
- claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +169 -26
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +101 -75
- claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
- claude_mpm/services/agents/git_source_manager.py +23 -4
- claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
- claude_mpm/services/agents/recommender.py +5 -3
- claude_mpm/services/agents/single_tier_deployment_service.py +6 -6
- claude_mpm/services/agents/sources/git_source_sync_service.py +121 -10
- claude_mpm/services/agents/startup_sync.py +27 -4
- claude_mpm/services/cli/__init__.py +3 -0
- claude_mpm/services/cli/incremental_pause_manager.py +561 -0
- claude_mpm/services/cli/session_resume_helper.py +10 -2
- claude_mpm/services/command_deployment_service.py +44 -26
- claude_mpm/services/delegation_detector.py +175 -0
- claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +31 -1
- claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
- claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
- claude_mpm/services/diagnostics/models.py +14 -1
- claude_mpm/services/event_log.py +325 -0
- claude_mpm/services/git/git_operations_service.py +8 -8
- claude_mpm/services/hook_installer_service.py +77 -8
- claude_mpm/services/infrastructure/__init__.py +4 -0
- claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
- claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
- claude_mpm/services/monitor/daemon_manager.py +15 -4
- claude_mpm/services/monitor/management/lifecycle.py +15 -3
- claude_mpm/services/monitor/server.py +571 -11
- claude_mpm/services/pm_skills_deployer.py +884 -0
- claude_mpm/services/profile_manager.py +337 -0
- claude_mpm/services/skills/git_skill_source_manager.py +281 -20
- claude_mpm/services/skills/selective_skill_deployer.py +211 -46
- claude_mpm/services/skills/skill_discovery_service.py +74 -4
- claude_mpm/services/skills_deployer.py +192 -70
- claude_mpm/services/socketio/dashboard_server.py +1 -0
- claude_mpm/services/socketio/event_normalizer.py +37 -6
- claude_mpm/services/socketio/handlers/hook.py +14 -7
- claude_mpm/services/socketio/server/core.py +262 -123
- claude_mpm/services/socketio/server/main.py +12 -4
- claude_mpm/skills/__init__.py +2 -1
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
- 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 +112 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
- 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 +81 -0
- 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 +152 -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/systematic-debugging/CREATION-LOG.md +119 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -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 +499 -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/main/artifacts-builder/SKILL.md +86 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
- 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/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/pm/mpm/SKILL.md +38 -0
- claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
- claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
- claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
- claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
- claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
- claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
- claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
- claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
- claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
- claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
- claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
- claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
- claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
- claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
- claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
- claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
- claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
- claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
- claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
- claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
- claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
- claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
- claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -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/security-scanning.md +112 -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 +119 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -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 +140 -0
- 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/SKILL.md +184 -0
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
- 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/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
- claude_mpm/skills/registry.py +295 -90
- claude_mpm/skills/skill_manager.py +98 -3
- claude_mpm/templates/.pre-commit-config.yaml +112 -0
- claude_mpm/utils/agent_dependency_loader.py +115 -4
- claude_mpm/utils/agent_filters.py +1 -1
- claude_mpm/utils/migration.py +4 -4
- claude_mpm/utils/robust_installer.py +86 -21
- claude_mpm-5.6.34.dist-info/METADATA +393 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/RECORD +486 -145
- claude_mpm-5.4.22.dist-info/METADATA +0 -996
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/WHEEL +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
# Skill Creation Workflow
|
|
2
|
+
|
|
3
|
+
## Complete Six-Step Process
|
|
4
|
+
|
|
5
|
+
Follow this workflow in order, skipping steps only when there is a clear reason they are not applicable.
|
|
6
|
+
|
|
7
|
+
## Step 1: Understanding the Skill with Concrete Examples
|
|
8
|
+
|
|
9
|
+
**When to skip:** Only when the skill's usage patterns are already clearly understood.
|
|
10
|
+
|
|
11
|
+
**Purpose:** Create effective skills by understanding concrete examples of how the skill will be used.
|
|
12
|
+
|
|
13
|
+
### Approach
|
|
14
|
+
|
|
15
|
+
Understanding can come from:
|
|
16
|
+
1. **Direct user examples** - User provides real scenarios
|
|
17
|
+
2. **Generated examples** - Create scenarios validated with user feedback
|
|
18
|
+
|
|
19
|
+
### Discovery Questions
|
|
20
|
+
|
|
21
|
+
Ask targeted questions to understand the skill's scope and usage:
|
|
22
|
+
|
|
23
|
+
**For an image-editor skill example:**
|
|
24
|
+
- "What functionality should the image-editor skill support? Editing, rotating, anything else?"
|
|
25
|
+
- "Can you give some examples of how this skill would be used?"
|
|
26
|
+
- "I can imagine users asking for things like 'Remove the red-eye from this image' or 'Rotate this image'. Are there other ways you imagine this skill being used?"
|
|
27
|
+
- "What would a user say that should trigger this skill?"
|
|
28
|
+
|
|
29
|
+
**General discovery questions:**
|
|
30
|
+
- What tasks will this skill help accomplish?
|
|
31
|
+
- Can you provide 3-5 realistic examples of skill usage?
|
|
32
|
+
- What keywords or phrases should activate this skill?
|
|
33
|
+
- What are the expected inputs and outputs?
|
|
34
|
+
- What domain knowledge is required?
|
|
35
|
+
- What constraints or limitations exist?
|
|
36
|
+
|
|
37
|
+
### Best Practices
|
|
38
|
+
|
|
39
|
+
- **Avoid overwhelming users** - Don't ask too many questions in a single message
|
|
40
|
+
- **Start with critical questions** - Ask the most important questions first
|
|
41
|
+
- **Follow up strategically** - Add detail questions based on initial answers
|
|
42
|
+
- **Validate understanding** - Summarize back to confirm comprehension
|
|
43
|
+
- **Collect edge cases** - Ask about unusual or complex scenarios
|
|
44
|
+
|
|
45
|
+
### Completion Criteria
|
|
46
|
+
|
|
47
|
+
Conclude this step when you have:
|
|
48
|
+
- Clear sense of functionality the skill should support
|
|
49
|
+
- 3-5 concrete usage examples
|
|
50
|
+
- Understanding of activation conditions
|
|
51
|
+
- Knowledge of expected inputs/outputs
|
|
52
|
+
- Awareness of edge cases and constraints
|
|
53
|
+
|
|
54
|
+
## Step 2: Planning the Reusable Skill Contents
|
|
55
|
+
|
|
56
|
+
**Purpose:** Transform concrete examples into practical skill components.
|
|
57
|
+
|
|
58
|
+
### Analysis Process
|
|
59
|
+
|
|
60
|
+
For each concrete example, analyze by:
|
|
61
|
+
|
|
62
|
+
1. **Consider execution from scratch** - How would Claude accomplish this without the skill?
|
|
63
|
+
2. **Identify reusable components** - What scripts, references, and assets would make repeated execution easier?
|
|
64
|
+
3. **Determine component types** - Classify as script, reference, or asset
|
|
65
|
+
|
|
66
|
+
### Example Analyses
|
|
67
|
+
|
|
68
|
+
**Example 1: PDF Editor Skill**
|
|
69
|
+
|
|
70
|
+
Query: "Help me rotate this PDF"
|
|
71
|
+
|
|
72
|
+
Analysis:
|
|
73
|
+
1. Rotating a PDF requires re-writing the same code each time
|
|
74
|
+
2. A `scripts/rotate_pdf.py` script would eliminate repeated code writing
|
|
75
|
+
3. **Component:** Script
|
|
76
|
+
|
|
77
|
+
**Example 2: Frontend Webapp Builder Skill**
|
|
78
|
+
|
|
79
|
+
Queries: "Build me a todo app", "Build me a dashboard to track my steps"
|
|
80
|
+
|
|
81
|
+
Analysis:
|
|
82
|
+
1. Writing a frontend webapp requires the same boilerplate HTML/React each time
|
|
83
|
+
2. An `assets/hello-world/` template containing boilerplate project files would provide a starting point
|
|
84
|
+
3. **Component:** Asset (template)
|
|
85
|
+
|
|
86
|
+
**Example 3: BigQuery Skill**
|
|
87
|
+
|
|
88
|
+
Query: "How many users have logged in today?"
|
|
89
|
+
|
|
90
|
+
Analysis:
|
|
91
|
+
1. Querying BigQuery requires re-discovering table schemas and relationships each time
|
|
92
|
+
2. A `references/schema.md` file documenting table schemas would provide persistent knowledge
|
|
93
|
+
3. **Component:** Reference
|
|
94
|
+
|
|
95
|
+
**Example 4: Brand Guidelines Skill**
|
|
96
|
+
|
|
97
|
+
Query: "Create a presentation following our brand guidelines"
|
|
98
|
+
|
|
99
|
+
Analysis:
|
|
100
|
+
1. Brand guidelines include colors, fonts, logo usage rules
|
|
101
|
+
2. Components needed:
|
|
102
|
+
- `references/brand-guidelines.md` - Style rules and usage
|
|
103
|
+
- `assets/logo.png` - Logo file for use in outputs
|
|
104
|
+
- `assets/fonts/` - Brand fonts
|
|
105
|
+
3. **Components:** Reference + Assets
|
|
106
|
+
|
|
107
|
+
### Component Classification
|
|
108
|
+
|
|
109
|
+
**Create a Script when:**
|
|
110
|
+
- Same code is repeatedly rewritten
|
|
111
|
+
- Deterministic execution is critical
|
|
112
|
+
- Complex algorithm needs testing
|
|
113
|
+
- Performance optimization matters
|
|
114
|
+
- External tools need consistent invocation
|
|
115
|
+
|
|
116
|
+
**Create a Reference when:**
|
|
117
|
+
- Domain knowledge varies by project
|
|
118
|
+
- Specifications are detailed/complex
|
|
119
|
+
- Workflows have many steps
|
|
120
|
+
- API documentation is needed
|
|
121
|
+
- Schemas or data structures must be referenced
|
|
122
|
+
- Policies or guidelines exist
|
|
123
|
+
|
|
124
|
+
**Create an Asset when:**
|
|
125
|
+
- Templates accelerate creation
|
|
126
|
+
- Binary files are needed (images, fonts)
|
|
127
|
+
- Boilerplate code structures exist
|
|
128
|
+
- Starting points reduce repetition
|
|
129
|
+
- Consistent styling/branding required
|
|
130
|
+
|
|
131
|
+
### Deliverable
|
|
132
|
+
|
|
133
|
+
Create a structured list of reusable resources:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
Scripts:
|
|
137
|
+
- scripts/rotate_pdf.py - Rotate PDF files
|
|
138
|
+
- scripts/optimize_image.py - Compress and optimize images
|
|
139
|
+
|
|
140
|
+
References:
|
|
141
|
+
- references/schema.md - Database table schemas
|
|
142
|
+
- references/api_docs.md - API endpoint specifications
|
|
143
|
+
- references/workflow.md - Detailed process steps
|
|
144
|
+
|
|
145
|
+
Assets:
|
|
146
|
+
- assets/template.html - Boilerplate HTML structure
|
|
147
|
+
- assets/logo.png - Company logo
|
|
148
|
+
- assets/fonts/ - Brand typography
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Step 3: Initializing the Skill
|
|
152
|
+
|
|
153
|
+
**When to skip:** Skill already exists and needs iteration or packaging only.
|
|
154
|
+
|
|
155
|
+
**Purpose:** Generate proper skill directory structure with templates.
|
|
156
|
+
|
|
157
|
+
### Using init_skill.py
|
|
158
|
+
|
|
159
|
+
Always use the initialization script for new skills:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
scripts/init_skill.py <skill-name> --path <output-directory>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Example:**
|
|
166
|
+
```bash
|
|
167
|
+
scripts/init_skill.py pdf-editor --path ./custom-skills/
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### What the Script Creates
|
|
171
|
+
|
|
172
|
+
The initialization script:
|
|
173
|
+
- Creates skill directory at specified path
|
|
174
|
+
- Generates SKILL.md template with proper frontmatter
|
|
175
|
+
- Includes TODO placeholders for customization
|
|
176
|
+
- Creates example resource directories: `scripts/`, `references/`, `assets/`
|
|
177
|
+
- Adds example files demonstrating structure
|
|
178
|
+
|
|
179
|
+
### Generated Structure
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
skill-name/
|
|
183
|
+
├── SKILL.md # Template with TODOs
|
|
184
|
+
├── scripts/
|
|
185
|
+
│ └── example_script.py # Example script (customize or delete)
|
|
186
|
+
├── references/
|
|
187
|
+
│ └── example_reference.md # Example reference (customize or delete)
|
|
188
|
+
└── assets/
|
|
189
|
+
└── example_asset.txt # Example asset (customize or delete)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Next Steps
|
|
193
|
+
|
|
194
|
+
After initialization:
|
|
195
|
+
1. Review generated SKILL.md template
|
|
196
|
+
2. Customize or delete example files
|
|
197
|
+
3. Begin implementing planned components (Step 4)
|
|
198
|
+
|
|
199
|
+
## Step 4: Edit the Skill
|
|
200
|
+
|
|
201
|
+
**Purpose:** Implement the skill for another Claude instance to use.
|
|
202
|
+
|
|
203
|
+
**Mindset:** Focus on information beneficial and non-obvious to Claude. Include procedural knowledge, domain-specific details, and reusable assets.
|
|
204
|
+
|
|
205
|
+
### Phase A: Implement Reusable Resources First
|
|
206
|
+
|
|
207
|
+
Start with the resources identified in Step 2 (scripts, references, assets).
|
|
208
|
+
|
|
209
|
+
#### Implementation Order
|
|
210
|
+
|
|
211
|
+
1. **Scripts** - Implement executable code first
|
|
212
|
+
2. **References** - Create documentation files
|
|
213
|
+
3. **Assets** - Add templates and resources
|
|
214
|
+
|
|
215
|
+
#### User Input Considerations
|
|
216
|
+
|
|
217
|
+
Some resources may require user input:
|
|
218
|
+
- **Brand guidelines skill** - User provides brand assets, documentation
|
|
219
|
+
- **Database skill** - User provides schemas, connection details
|
|
220
|
+
- **API integration skill** - User provides API documentation, credentials format
|
|
221
|
+
|
|
222
|
+
Ask for needed materials before implementation.
|
|
223
|
+
|
|
224
|
+
#### Clean Up Examples
|
|
225
|
+
|
|
226
|
+
Delete example files and directories not needed:
|
|
227
|
+
- The init script creates example files to demonstrate structure
|
|
228
|
+
- Most skills won't need all of `scripts/`, `references/`, and `assets/`
|
|
229
|
+
- Remove unused directories to keep skill clean
|
|
230
|
+
|
|
231
|
+
### Phase B: Update SKILL.md
|
|
232
|
+
|
|
233
|
+
#### Writing Style Requirements
|
|
234
|
+
|
|
235
|
+
**MANDATORY:** Use imperative/infinitive form (verb-first instructions), not second person.
|
|
236
|
+
|
|
237
|
+
✅ **Correct:**
|
|
238
|
+
- "To accomplish X, do Y"
|
|
239
|
+
- "Follow these steps to complete the task"
|
|
240
|
+
- "Load the reference file when needed"
|
|
241
|
+
|
|
242
|
+
❌ **Incorrect:**
|
|
243
|
+
- "You should do X"
|
|
244
|
+
- "If you need to do X"
|
|
245
|
+
- "You can find this in..."
|
|
246
|
+
|
|
247
|
+
**Rationale:** Maintains consistency and clarity for AI consumption.
|
|
248
|
+
|
|
249
|
+
#### Progressive Disclosure Structure
|
|
250
|
+
|
|
251
|
+
For skills expected to exceed 150 lines, implement progressive disclosure:
|
|
252
|
+
|
|
253
|
+
**Entry Point Content (SKILL.md):**
|
|
254
|
+
- Overview (2-3 sentences)
|
|
255
|
+
- When to Use This Skill
|
|
256
|
+
- The Iron Law (if applicable)
|
|
257
|
+
- Core Principles (brief)
|
|
258
|
+
- Quick Start (workflow summary)
|
|
259
|
+
- Navigation (links to references)
|
|
260
|
+
- Key Reminders
|
|
261
|
+
- Red Flags - STOP
|
|
262
|
+
- Integration with Other Skills
|
|
263
|
+
- Real-World Impact (if applicable)
|
|
264
|
+
|
|
265
|
+
**Target:** 140-160 lines for entry point
|
|
266
|
+
|
|
267
|
+
**Reference Content:**
|
|
268
|
+
- Detailed specifications
|
|
269
|
+
- Step-by-step workflows
|
|
270
|
+
- Technical implementation guides
|
|
271
|
+
- Examples and templates
|
|
272
|
+
- Best practices
|
|
273
|
+
- Advanced patterns
|
|
274
|
+
|
|
275
|
+
**Target:** 150-500 lines per reference file, 3-5 files
|
|
276
|
+
|
|
277
|
+
#### Core Questions to Answer
|
|
278
|
+
|
|
279
|
+
Complete SKILL.md by answering:
|
|
280
|
+
|
|
281
|
+
1. **What is the purpose of the skill, in a few sentences?**
|
|
282
|
+
- Clear, concise overview
|
|
283
|
+
- Key capabilities
|
|
284
|
+
- Primary use cases
|
|
285
|
+
|
|
286
|
+
2. **When should the skill be used?**
|
|
287
|
+
- Specific activation conditions
|
|
288
|
+
- Keywords or scenarios that trigger skill
|
|
289
|
+
- When NOT to use the skill
|
|
290
|
+
|
|
291
|
+
3. **In practice, how should Claude use the skill?**
|
|
292
|
+
- Reference all scripts, references, and assets
|
|
293
|
+
- Explain when to load each resource
|
|
294
|
+
- Provide workflow guidance
|
|
295
|
+
- Include navigation to detailed content
|
|
296
|
+
|
|
297
|
+
#### Reference Integration
|
|
298
|
+
|
|
299
|
+
Ensure SKILL.md references all reusable resources:
|
|
300
|
+
|
|
301
|
+
**Scripts:**
|
|
302
|
+
```markdown
|
|
303
|
+
Execute `scripts/rotate_pdf.py <input.pdf> <output.pdf> <degrees>` to rotate PDFs.
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
**References:**
|
|
307
|
+
```markdown
|
|
308
|
+
Load `references/schema.md` to understand database structure before writing queries.
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Assets:**
|
|
312
|
+
```markdown
|
|
313
|
+
Copy `assets/frontend-template/` as starting point for new web applications.
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
#### Quality Checklist
|
|
317
|
+
|
|
318
|
+
- [ ] Imperative form throughout
|
|
319
|
+
- [ ] All resources referenced with usage instructions
|
|
320
|
+
- [ ] Clear activation conditions
|
|
321
|
+
- [ ] Navigation to detailed references
|
|
322
|
+
- [ ] No duplicated content between entry and references
|
|
323
|
+
- [ ] Progressive disclosure frontmatter (if applicable)
|
|
324
|
+
- [ ] Entry point <200 lines (optimal: 140-160)
|
|
325
|
+
|
|
326
|
+
## Step 5: Packaging a Skill
|
|
327
|
+
|
|
328
|
+
**Purpose:** Validate and create distributable zip file for sharing.
|
|
329
|
+
|
|
330
|
+
### Packaging Command
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
scripts/package_skill.py <path/to/skill-folder>
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Optional output directory:**
|
|
337
|
+
```bash
|
|
338
|
+
scripts/package_skill.py <path/to/skill-folder> ./dist
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Automatic Validation
|
|
342
|
+
|
|
343
|
+
The packaging script automatically validates before packaging:
|
|
344
|
+
|
|
345
|
+
**Validation Checks:**
|
|
346
|
+
- YAML frontmatter format and required fields
|
|
347
|
+
- Skill naming conventions and directory structure
|
|
348
|
+
- Description completeness and quality
|
|
349
|
+
- File organization and resource references
|
|
350
|
+
- Progressive disclosure metadata (if present)
|
|
351
|
+
|
|
352
|
+
### Packaging Process
|
|
353
|
+
|
|
354
|
+
If validation passes, the script:
|
|
355
|
+
1. Creates zip file named after the skill (e.g., `my-skill.zip`)
|
|
356
|
+
2. Includes all files from skill directory
|
|
357
|
+
3. Maintains proper directory structure
|
|
358
|
+
4. Prepares for distribution
|
|
359
|
+
|
|
360
|
+
### Handling Validation Errors
|
|
361
|
+
|
|
362
|
+
If validation fails:
|
|
363
|
+
1. Script reports specific errors
|
|
364
|
+
2. Exits without creating package
|
|
365
|
+
3. Fix reported errors
|
|
366
|
+
4. Run packaging command again
|
|
367
|
+
|
|
368
|
+
**Common validation issues:**
|
|
369
|
+
- Missing required frontmatter fields
|
|
370
|
+
- Invalid YAML syntax
|
|
371
|
+
- Poor description quality
|
|
372
|
+
- Incorrect directory structure
|
|
373
|
+
- Referenced files don't exist
|
|
374
|
+
|
|
375
|
+
### Distribution
|
|
376
|
+
|
|
377
|
+
After successful packaging:
|
|
378
|
+
- Share the `.zip` file with users
|
|
379
|
+
- Users can install via Claude MPM
|
|
380
|
+
- Skill becomes available in their Claude instance
|
|
381
|
+
|
|
382
|
+
## Step 6: Iterate
|
|
383
|
+
|
|
384
|
+
**Purpose:** Refine skill based on real-world usage and feedback.
|
|
385
|
+
|
|
386
|
+
### When Iteration Happens
|
|
387
|
+
|
|
388
|
+
Most often immediately after using the skill:
|
|
389
|
+
- Fresh context of how the skill performed
|
|
390
|
+
- Specific examples of struggles or inefficiencies
|
|
391
|
+
- Clear understanding of what needs improvement
|
|
392
|
+
|
|
393
|
+
### Iteration Workflow
|
|
394
|
+
|
|
395
|
+
1. **Use the skill on real tasks**
|
|
396
|
+
- Apply to actual work scenarios
|
|
397
|
+
- Note difficulties and inefficiencies
|
|
398
|
+
- Observe where Claude struggles
|
|
399
|
+
|
|
400
|
+
2. **Notice struggles or inefficiencies**
|
|
401
|
+
- Unclear instructions
|
|
402
|
+
- Missing information
|
|
403
|
+
- Awkward workflows
|
|
404
|
+
- Insufficient examples
|
|
405
|
+
- Missing resources
|
|
406
|
+
|
|
407
|
+
3. **Identify how to update skill**
|
|
408
|
+
- What SKILL.md sections need clarification?
|
|
409
|
+
- What references should be added or expanded?
|
|
410
|
+
- What scripts would eliminate repeated work?
|
|
411
|
+
- What assets would accelerate tasks?
|
|
412
|
+
|
|
413
|
+
4. **Implement changes**
|
|
414
|
+
- Update SKILL.md
|
|
415
|
+
- Add/modify references
|
|
416
|
+
- Create new scripts or assets
|
|
417
|
+
- Improve navigation
|
|
418
|
+
|
|
419
|
+
5. **Test again**
|
|
420
|
+
- Use on similar tasks
|
|
421
|
+
- Verify improvements
|
|
422
|
+
- Continue iterating
|
|
423
|
+
|
|
424
|
+
### Common Iteration Patterns
|
|
425
|
+
|
|
426
|
+
**Add Missing Context:**
|
|
427
|
+
- Skill assumes knowledge user doesn't have
|
|
428
|
+
- Add reference file with background information
|
|
429
|
+
|
|
430
|
+
**Clarify Workflow:**
|
|
431
|
+
- Steps are ambiguous or incomplete
|
|
432
|
+
- Expand Quick Start or create detailed workflow reference
|
|
433
|
+
|
|
434
|
+
**Automate Repetition:**
|
|
435
|
+
- Same code written multiple times
|
|
436
|
+
- Create script for repeated operations
|
|
437
|
+
|
|
438
|
+
**Provide Templates:**
|
|
439
|
+
- Starting from scratch repeatedly
|
|
440
|
+
- Add asset templates
|
|
441
|
+
|
|
442
|
+
**Improve Navigation:**
|
|
443
|
+
- Can't find relevant information
|
|
444
|
+
- Better organize references
|
|
445
|
+
- Add clearer signposting
|
|
446
|
+
|
|
447
|
+
### Iteration Best Practices
|
|
448
|
+
|
|
449
|
+
- **Iterate quickly** - Don't wait for perfect; improve incrementally
|
|
450
|
+
- **Test with real tasks** - Synthetic examples miss real-world complexity
|
|
451
|
+
- **Get user feedback** - They reveal blindspots
|
|
452
|
+
- **Track patterns** - Multiple similar struggles indicate structural issues
|
|
453
|
+
- **Balance detail** - More isn't always better; clarity matters
|
|
454
|
+
|
|
455
|
+
### When to Stop Iterating
|
|
456
|
+
|
|
457
|
+
A skill is mature when:
|
|
458
|
+
- Consistently accomplishes intended tasks
|
|
459
|
+
- No repeated struggles or inefficiencies
|
|
460
|
+
- Clear activation and usage patterns
|
|
461
|
+
- Well-organized and navigable
|
|
462
|
+
- Positive user feedback
|
|
463
|
+
|
|
464
|
+
**Remember:** Skills are living documents. Return to iterate as needs evolve.
|