@fprad0/skill-master-mcp 0.0.12 → 1.0.0

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.
Files changed (331) hide show
  1. package/CHANGELOG.md +96 -90
  2. package/README.md +472 -472
  3. package/VERSION.md +9 -9
  4. package/bin/lib/bootstrap-global-core.mjs +34 -0
  5. package/bin/lib/client-config.mjs +293 -293
  6. package/bin/lib/doctor-core.mjs +202 -0
  7. package/bin/lib/menu-core.mjs +1629 -1522
  8. package/bin/lib/operation-result.mjs +59 -0
  9. package/bin/lib/register-clients-core.mjs +247 -0
  10. package/bin/lib/skill-installation.mjs +215 -215
  11. package/bin/lib/update-cli-core.mjs +117 -0
  12. package/bin/skill-master-activation.mjs +163 -163
  13. package/bin/skill-master-bootstrap-global.mjs +61 -49
  14. package/bin/skill-master-configure-private-registry.mjs +3 -3
  15. package/bin/skill-master-doctor.mjs +239 -228
  16. package/bin/skill-master-eval-activation.mjs +32 -32
  17. package/bin/skill-master-install-global-skills.mjs +59 -59
  18. package/bin/skill-master-install-project-skills.mjs +97 -97
  19. package/bin/skill-master-menu.mjs +406 -405
  20. package/bin/skill-master-register-clients.mjs +232 -153
  21. package/bin/skill-master-success-skills.mjs +307 -307
  22. package/bin/skill-master-update.mjs +121 -72
  23. package/bin/skill-master.mjs +3 -3
  24. package/dist/activation.d.ts.map +1 -1
  25. package/dist/activation.js +12 -0
  26. package/dist/activation.js.map +1 -1
  27. package/dist/prompt-router.d.ts.map +1 -1
  28. package/dist/prompt-router.js +19 -0
  29. package/dist/prompt-router.js.map +1 -1
  30. package/dist/recommender.d.ts.map +1 -1
  31. package/dist/recommender.js +4 -1
  32. package/dist/recommender.js.map +1 -1
  33. package/docs/architecture/APRENDIZADO_DE_IMPLEMENTACOES_BEM_SUCEDIDAS.md +125 -125
  34. package/docs/architecture/ARQUITETURA_AUTO_UPDATE.md +9 -9
  35. package/docs/architecture/PLANO_MASTER_ACIONAMENTO_AUTOMATICO_E_APRENDIZADO.md +341 -341
  36. package/docs/architecture/REDE_SEGURA_DE_SKILLS.md +148 -148
  37. package/docs/operations/GUIA_MULTI_COMPUTADOR.md +262 -262
  38. package/docs/operations/GUIA_NPM_PRIVADO.md +294 -294
  39. package/docs/operations/GUIA_NPM_PUBLICO.md +147 -147
  40. package/docs/operations/MENU_VISUAL_EVIDENCE_2026-06-28.md +66 -66
  41. package/docs/operations/assets/menu-frame-compact.html +75 -75
  42. package/docs/operations/assets/menu-frame-large.html +83 -83
  43. package/docs/operations/assets/menu-frame-running.html +79 -79
  44. package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md +140 -140
  45. package/docs/operations/cross-platform-auth-transfer/README_TRANSFERENCIA.md +85 -85
  46. package/docs/operations/reborn-menu-cyberpunk-transfer/ANALISE_MENU_REBORN_CYBERPUNK_2026-06-28.md +174 -174
  47. package/docs/operations/reborn-menu-cyberpunk-transfer/HANDOFF_IMPLEMENTACAO_REBORN_CYBERPUNK_2026-06-28.md +119 -119
  48. package/docs/operations/reborn-menu-cyberpunk-transfer/ORDEM_DE_EXECUCAO_MENU_REBORN_CYBERPUNK.md +134 -134
  49. package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA.md +84 -84
  50. package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA_REBORN_PACKAGE.md +56 -56
  51. package/docs/operations/token-economy-transfer/ANALISE_AVANCADA_ECONOMIA_TOKENS_2026-06-30.md +141 -0
  52. package/docs/operations/token-economy-transfer/PLANO_DEV_SENIOR_MASTER_TOKEN_ECONOMY_2026-06-30.md +171 -0
  53. package/docs/operations/token-economy-transfer/README_TRANSFERENCIA_TOKEN_ECONOMY.md +31 -0
  54. package/docs/planning/MENU_RUNTIME_CORRECTION_PLAN_2026-06-30.md +551 -0
  55. package/docs/planning/V0_0_9_APROVACAO_CRITICA_MENSAGENS_DE_VENDA.md +85 -85
  56. package/docs/planning/V0_0_9_FONTES_E_CRITERIOS_DE_AUTORIDADE.md +139 -139
  57. package/docs/planning/V0_0_9_MATRIZ_SKILLS_MULTIDISCIPLINARES.md +105 -105
  58. package/docs/planning/V0_0_9_POLITICA_MORAL_CATOLICA_PARA_IA.md +181 -181
  59. package/docs/planning/V0_0_9_PROMPTS_EXECUCAO.md +59 -59
  60. package/docs/planning/V0_0_9_ROADMAP_DISCERNIMENTO_E_CONHECIMENTO_AMPLO.md +181 -181
  61. package/docs/prompt-tasks/PROMPT_TASK_001_BOOTSTRAP_SKILL_MASTER_MCP.md +6 -6
  62. package/docs/prompt-tasks/PROMPT_TASK_002_AUTO_UPDATE_LAUNCHER.md +6 -6
  63. package/docs/prompt-tasks/PROMPT_TASK_003_REMOTE_MANIFEST_AND_RELEASES.md +6 -6
  64. package/docs/prompt-tasks/PROMPT_TASK_004_MULTI_USER_DISTRIBUTION.md +6 -6
  65. package/docs/prompt-tasks/PROMPT_TASK_005_SECURITY_AND_QUALITY_GATE.md +6 -6
  66. package/docs/prompt-tasks/PROMPT_TASK_006_MASTER_ACIONAMENTO_APRENDIZADO.md +83 -83
  67. package/docs/prompt-tasks/PROMPT_TASK_007_PERSONA_ORQUESTRADORA.md +88 -88
  68. package/docs/prompt-tasks/PROMPT_TASK_008_PROMPT_ROUTER_MODOS_ATIVACAO.md +156 -156
  69. package/docs/prompt-tasks/PROMPT_TASK_009_PIPELINE_APRENDIZADO_SUCESSO.md +105 -105
  70. package/docs/prompt-tasks/PROMPT_TASK_010_EVALS_GOVERNANCA_ATIVACAO.md +119 -119
  71. package/docs/prompt-tasks/PROMPT_TASK_011_MENU_NOTIFICACOES_NOTION.md +120 -120
  72. package/docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md +123 -123
  73. package/docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md +114 -114
  74. package/docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md +157 -157
  75. package/docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md +127 -127
  76. package/docs/prompt-tasks/PROMPT_TASK_016_CROSS_PLATFORM_MCP_AUTH_REGISTRATION.md +107 -107
  77. package/docs/prompt-tasks/PROMPT_TASK_018_NPM_PUBLISH_2FA_SETUP.md +80 -80
  78. package/docs/prompt-tasks/PROMPT_TASK_019_TOKEN_ECONOMY_GLOBAL_SKILLS.md +56 -0
  79. package/docs/prompt-tasks/PROMPT_TASK_MASTER_EXECUTOR.md +6 -6
  80. package/docs/skill-candidates/v0.0.10/cli-creator/LICENSE.txt +201 -201
  81. package/docs/skill-candidates/v0.0.10/cli-creator/SKILL.md +160 -160
  82. package/docs/skill-candidates/v0.0.10/cli-creator/agents/openai.yaml +4 -4
  83. package/docs/skill-candidates/v0.0.10/cli-creator/references/agent-cli-patterns.md +154 -154
  84. package/docs/skill-candidates/v0.0.10/developer-workstation-ops/SKILL.md +32 -32
  85. package/docs/skill-candidates/v0.0.10/figma/LICENSE.txt +1 -1
  86. package/docs/skill-candidates/v0.0.10/figma/SKILL.md +42 -42
  87. package/docs/skill-candidates/v0.0.10/figma/agents/openai.yaml +14 -14
  88. package/docs/skill-candidates/v0.0.10/figma/assets/figma-small.svg +3 -3
  89. package/docs/skill-candidates/v0.0.10/figma/assets/icon.svg +28 -28
  90. package/docs/skill-candidates/v0.0.10/figma/references/figma-mcp-config.md +35 -35
  91. package/docs/skill-candidates/v0.0.10/figma/references/figma-tools-and-prompts.md +34 -34
  92. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/LICENSE.TXT +1 -1
  93. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/SKILL.md +349 -349
  94. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/agents/openai.yaml +14 -14
  95. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma-small.svg +3 -3
  96. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/icon.svg +28 -28
  97. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/references/mapping-checklist.md +7 -7
  98. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/scripts/normalize_node_id.py +25 -25
  99. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/LICENSE.TXT +1 -1
  100. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/SKILL.md +537 -537
  101. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/agents/openai.yaml +14 -14
  102. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma-small.svg +3 -3
  103. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/icon.svg +28 -28
  104. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/references/rule-template.md +15 -15
  105. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -9
  106. package/docs/skill-candidates/v0.0.10/figma-generate-design/LICENSE.TXT +1 -1
  107. package/docs/skill-candidates/v0.0.10/figma-generate-design/SKILL.md +341 -341
  108. package/docs/skill-candidates/v0.0.10/figma-generate-design/agents/openai.yaml +14 -14
  109. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma-small.svg +3 -3
  110. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/icon.svg +28 -28
  111. package/docs/skill-candidates/v0.0.10/figma-generate-design/maintainers.yml +1 -1
  112. package/docs/skill-candidates/v0.0.10/figma-generate-library/LICENSE.TXT +1 -1
  113. package/docs/skill-candidates/v0.0.10/figma-generate-library/SKILL.md +314 -314
  114. package/docs/skill-candidates/v0.0.10/figma-generate-library/agents/openai.yaml +14 -14
  115. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma-small.svg +3 -3
  116. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/icon.svg +28 -28
  117. package/docs/skill-candidates/v0.0.10/figma-generate-library/maintainers.yml +3 -3
  118. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md +260 -260
  119. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/component-creation.md +1014 -1014
  120. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/discovery-phase.md +518 -518
  121. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/documentation-creation.md +834 -834
  122. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/error-recovery.md +540 -540
  123. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/naming-conventions.md +527 -527
  124. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/token-creation.md +962 -962
  125. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/bindVariablesToComponent.js +110 -110
  126. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/cleanupOrphans.js +127 -127
  127. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createComponentWithVariants.js +148 -148
  128. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createDocumentationPage.js +139 -139
  129. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createSemanticTokens.js +108 -108
  130. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createVariableCollection.js +49 -49
  131. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/inspectFileStructure.js +121 -121
  132. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/rehydrateState.js +92 -92
  133. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/validateCreation.js +83 -83
  134. package/docs/skill-candidates/v0.0.10/figma-implement-design/LICENSE.txt +1 -1
  135. package/docs/skill-candidates/v0.0.10/figma-implement-design/SKILL.md +258 -258
  136. package/docs/skill-candidates/v0.0.10/figma-implement-design/agents/openai.yaml +14 -14
  137. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma-small.svg +3 -3
  138. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/icon.svg +28 -28
  139. package/docs/skill-candidates/v0.0.10/figma-use/LICENSE.TXT +1 -1
  140. package/docs/skill-candidates/v0.0.10/figma-use/SKILL.md +233 -233
  141. package/docs/skill-candidates/v0.0.10/figma-use/agents/openai.yaml +14 -14
  142. package/docs/skill-candidates/v0.0.10/figma-use/assets/figma-small.svg +3 -3
  143. package/docs/skill-candidates/v0.0.10/figma-use/assets/icon.svg +28 -28
  144. package/docs/skill-candidates/v0.0.10/figma-use/maintainers.yml +1 -1
  145. package/docs/skill-candidates/v0.0.10/figma-use/references/api-reference.md +301 -301
  146. package/docs/skill-candidates/v0.0.10/figma-use/references/common-patterns.md +512 -512
  147. package/docs/skill-candidates/v0.0.10/figma-use/references/component-patterns.md +488 -488
  148. package/docs/skill-candidates/v0.0.10/figma-use/references/effect-style-patterns.md +123 -123
  149. package/docs/skill-candidates/v0.0.10/figma-use/references/gotchas.md +599 -599
  150. package/docs/skill-candidates/v0.0.10/figma-use/references/maintainers.yml +12 -12
  151. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-patterns.md +513 -513
  152. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.d.ts +11293 -11293
  153. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.index.md +441 -441
  154. package/docs/skill-candidates/v0.0.10/figma-use/references/text-style-patterns.md +203 -203
  155. package/docs/skill-candidates/v0.0.10/figma-use/references/validation-and-recovery.md +109 -109
  156. package/docs/skill-candidates/v0.0.10/figma-use/references/variable-patterns.md +354 -354
  157. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/maintainers.yml +9 -9
  158. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--creating.md +17 -17
  159. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--using.md +17 -17
  160. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components.md +50 -50
  161. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-effect-styles.md +52 -52
  162. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-text-styles.md +90 -90
  163. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--creating.md +13 -13
  164. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--using.md +13 -13
  165. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables.md +64 -64
  166. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds.md +41 -41
  167. package/docs/skill-candidates/v0.0.10/frontend-design/LICENSE.txt +177 -177
  168. package/docs/skill-candidates/v0.0.10/frontend-design/SKILL.md +55 -55
  169. package/docs/skill-candidates/v0.0.10/frontend-ui-ux-systems/SKILL.md +32 -32
  170. package/docs/skill-candidates/v0.0.10/github/SKILL.md +74 -74
  171. package/docs/skill-candidates/v0.0.10/github/agents/openai.yaml +6 -6
  172. package/docs/skill-candidates/v0.0.10/github/assets/github-small.svg +3 -3
  173. package/docs/skill-candidates/v0.0.10/image-graphic-design-rendering/SKILL.md +28 -28
  174. package/docs/skill-candidates/v0.0.10/language-quality-pt-en-fr-it-ru/SKILL.md +28 -28
  175. package/docs/skill-candidates/v0.0.10/math-physics-reasoning/SKILL.md +28 -28
  176. package/docs/skill-candidates/v0.0.10/mcp-builder/LICENSE.txt +201 -201
  177. package/docs/skill-candidates/v0.0.10/mcp-builder/SKILL.md +236 -236
  178. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/evaluation.md +601 -601
  179. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/mcp_best_practices.md +249 -249
  180. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/node_mcp_server.md +969 -969
  181. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/python_mcp_server.md +718 -718
  182. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/connections.py +151 -151
  183. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/evaluation.py +373 -373
  184. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/example_evaluation.xml +22 -22
  185. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/requirements.txt +2 -2
  186. package/docs/skill-candidates/v0.0.10/mcp-client-readiness/SKILL.md +31 -31
  187. package/docs/skill-candidates/v0.0.10/openai-docs/LICENSE.txt +201 -201
  188. package/docs/skill-candidates/v0.0.10/openai-docs/SKILL.md +161 -161
  189. package/docs/skill-candidates/v0.0.10/openai-docs/agents/openai.yaml +14 -14
  190. package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai-small.svg +3 -3
  191. package/docs/skill-candidates/v0.0.10/openai-docs/references/latest-model.md +37 -37
  192. package/docs/skill-candidates/v0.0.10/openai-docs/references/prompting-guide.md +244 -244
  193. package/docs/skill-candidates/v0.0.10/openai-docs/references/upgrade-guide.md +181 -181
  194. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/fetch-codex-manual.mjs +598 -598
  195. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/resolve-latest-model-info.js +147 -147
  196. package/docs/skill-candidates/v0.0.10/playwright/NOTICE.txt +14 -14
  197. package/docs/skill-candidates/v0.0.10/playwright/SKILL.md +147 -147
  198. package/docs/skill-candidates/v0.0.10/playwright/agents/openai.yaml +6 -6
  199. package/docs/skill-candidates/v0.0.10/playwright/assets/playwright-small.svg +3 -3
  200. package/docs/skill-candidates/v0.0.10/playwright/references/cli.md +116 -116
  201. package/docs/skill-candidates/v0.0.10/playwright/references/workflows.md +95 -95
  202. package/docs/skill-candidates/v0.0.10/playwright/scripts/playwright_cli.sh +25 -25
  203. package/docs/skill-candidates/v0.0.10/polyglot-backend-engineering/SKILL.md +32 -32
  204. package/docs/skill-candidates/v0.0.10/screenshot/LICENSE.txt +201 -201
  205. package/docs/skill-candidates/v0.0.10/screenshot/SKILL.md +267 -267
  206. package/docs/skill-candidates/v0.0.10/screenshot/agents/openai.yaml +6 -6
  207. package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot-small.svg +5 -5
  208. package/docs/skill-candidates/v0.0.10/screenshot/scripts/ensure_macos_permissions.sh +54 -54
  209. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_display_info.swift +22 -22
  210. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_permissions.swift +40 -40
  211. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_window_info.swift +126 -126
  212. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.ps1 +163 -163
  213. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.py +585 -585
  214. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/SKILL.md +62 -62
  215. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/agents/openai.yaml +4 -4
  216. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/activation-policy.md +77 -77
  217. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/human-approval-policy.md +83 -83
  218. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/persona-dev-senior-master.md +46 -46
  219. package/docs/skill-candidates/v0.0.10/terminal-menu-operations/SKILL.md +30 -30
  220. package/docs/skill-candidates/v0.0.10/terminal-pixel-art-tui/SKILL.md +43 -43
  221. package/docs/skill-candidates/v0.0.10/webapp-testing/LICENSE.txt +201 -201
  222. package/docs/skill-candidates/v0.0.10/webapp-testing/SKILL.md +95 -95
  223. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/console_logging.py +34 -34
  224. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/element_discovery.py +39 -39
  225. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/static_html_automation.py +32 -32
  226. package/docs/skill-candidates/v0.0.10/webapp-testing/scripts/with_server.py +105 -105
  227. package/docs/skill-candidates/v0.0.10/winui-app/LICENSE.txt +201 -201
  228. package/docs/skill-candidates/v0.0.10/winui-app/SKILL.md +94 -94
  229. package/docs/skill-candidates/v0.0.10/winui-app/agents/openai.yaml +5 -5
  230. package/docs/skill-candidates/v0.0.10/winui-app/config.yaml +50 -50
  231. package/docs/skill-candidates/v0.0.10/winui-app/references/_sections.md +96 -96
  232. package/docs/skill-candidates/v0.0.10/winui-app/references/accessibility-input-and-localization.md +51 -51
  233. package/docs/skill-candidates/v0.0.10/winui-app/references/build-run-and-launch-verification.md +72 -72
  234. package/docs/skill-candidates/v0.0.10/winui-app/references/community-toolkit-controls-and-helpers.md +57 -57
  235. package/docs/skill-candidates/v0.0.10/winui-app/references/controls-layout-and-adaptive-ui.md +84 -84
  236. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-environment-audit-and-remediation.md +82 -82
  237. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-setup-and-project-selection.md +67 -67
  238. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-template-first-recovery.md +62 -62
  239. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-winui-app-structure.md +62 -62
  240. package/docs/skill-candidates/v0.0.10/winui-app/references/motion-animations-and-polish.md +45 -45
  241. package/docs/skill-candidates/v0.0.10/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -46
  242. package/docs/skill-candidates/v0.0.10/winui-app/references/sample-source-map.md +37 -37
  243. package/docs/skill-candidates/v0.0.10/winui-app/references/shell-navigation-and-windowing.md +67 -67
  244. package/docs/skill-candidates/v0.0.10/winui-app/references/styling-theming-materials-and-icons.md +71 -71
  245. package/docs/skill-candidates/v0.0.10/winui-app/references/testing-debugging-and-review-checklists.md +77 -77
  246. package/docs/skill-candidates/v0.0.10/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -52
  247. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +398 -398
  248. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +330 -330
  249. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +871 -871
  250. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +501 -501
  251. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +766 -766
  252. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +501 -501
  253. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +500 -500
  254. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +405 -405
  255. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +363 -363
  256. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +427 -427
  257. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +417 -417
  258. package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -34
  259. package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -34
  260. package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -34
  261. package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -34
  262. package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -34
  263. package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -36
  264. package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -745
  265. package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -3
  266. package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -94
  267. package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -34
  268. package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -34
  269. package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -209
  270. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -103
  271. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -103
  272. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -103
  273. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -114
  274. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -114
  275. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -114
  276. package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -573
  277. package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -3
  278. package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -34
  279. package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -34
  280. package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -429
  281. package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +91 -91
  282. package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -383
  283. package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -335
  284. package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -203
  285. package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -34
  286. package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -34
  287. package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -34
  288. package/docs/skill-candidates/v0.0.12/context-compression-handoff/SKILL.md +47 -0
  289. package/docs/skill-candidates/v0.0.12/csharp-senior-master-engineering/SKILL.md +32 -32
  290. package/docs/skill-candidates/v0.0.12/css-senior-master-engineering/SKILL.md +32 -32
  291. package/docs/skill-candidates/v0.0.12/go-senior-master-engineering/SKILL.md +32 -32
  292. package/docs/skill-candidates/v0.0.12/html-senior-master-engineering/SKILL.md +32 -32
  293. package/docs/skill-candidates/v0.0.12/javascript-senior-master-engineering/SKILL.md +32 -32
  294. package/docs/skill-candidates/v0.0.12/json-senior-master-engineering/SKILL.md +32 -32
  295. package/docs/skill-candidates/v0.0.12/prompt-budget-gate/SKILL.md +46 -0
  296. package/docs/skill-candidates/v0.0.12/python-senior-master-engineering/SKILL.md +32 -32
  297. package/docs/skill-candidates/v0.0.12/react-senior-master-engineering/SKILL.md +32 -32
  298. package/docs/skill-candidates/v0.0.12/ruby-senior-master-engineering/SKILL.md +32 -32
  299. package/docs/skill-candidates/v0.0.12/senior-master-code-optimizer/SKILL.md +48 -48
  300. package/docs/skill-candidates/v0.0.12/sql-senior-master-engineering/SKILL.md +31 -31
  301. package/docs/skill-candidates/v0.0.12/token-economy-orchestrator/SKILL.md +38 -0
  302. package/docs/skill-candidates/v0.0.12/typescript-senior-master-engineering/SKILL.md +35 -35
  303. package/docs/skill-candidates/v0.0.9/ai-ethics-human-dignity/SKILL.md +32 -32
  304. package/docs/skill-candidates/v0.0.9/broad-domain-router/SKILL.md +41 -41
  305. package/docs/skill-candidates/v0.0.9/catholic-moral-discernment/SKILL.md +31 -31
  306. package/docs/skill-candidates/v0.0.9/engineering-systems-master/SKILL.md +31 -31
  307. package/docs/skill-candidates/v0.0.9/language-quality-pt-en-fr/SKILL.md +28 -28
  308. package/docs/skill-candidates/v0.0.9/math-science-reasoning/SKILL.md +29 -29
  309. package/docs/skill-candidates/v0.0.9/philosophy-sociology-discernment/SKILL.md +28 -28
  310. package/docs/skill-candidates/v0.0.9/professional-boundary-triage/SKILL.md +40 -40
  311. package/docs/skill-candidates/v0.0.9/release-ethics-gate/SKILL.md +32 -32
  312. package/docs/skill-candidates/v0.0.9/source-authority-reviewer/SKILL.md +31 -31
  313. package/examples/client-configs/claude-code.commands.md +21 -21
  314. package/examples/client-configs/claude-code.project.mcp.json +18 -18
  315. package/examples/client-configs/claude-desktop.macos.json +18 -18
  316. package/examples/client-configs/claude-desktop.windows.json +20 -20
  317. package/examples/client-configs/codex.windows.toml +11 -11
  318. package/examples/client-configs/gemini-code-assist.intellij.mcp.json +18 -18
  319. package/examples/client-configs/gemini.linux.settings.json +21 -21
  320. package/examples/client-configs/gemini.windows.settings.json +23 -23
  321. package/examples/client-configs/generic-stdio.json +16 -16
  322. package/manifests/channels/beta.json +26 -26
  323. package/manifests/channels/stable.json +27 -27
  324. package/network/approved-skills.json +54 -54
  325. package/network/unapproved-skill-candidates.json +110 -110
  326. package/package.json +87 -86
  327. package/scripts/configure-private-registry.mjs +208 -208
  328. package/scripts/lib/private-registry.mjs +97 -97
  329. package/scripts/render-menu-evidence.mjs +130 -130
  330. package/scripts/verify-menu-actions.mjs +117 -117
  331. package/sources.json +11 -11
@@ -0,0 +1,551 @@
1
+ # Menu Runtime Correction Plan - 2026-06-30
2
+
3
+ Status: planejamento detalhado
4
+ Escopo: `skill-master-menu`, `skill-master-bootstrap-global`, `skill-master-register-clients`, `skill-master-update`, `skill-master-doctor`
5
+ Meta: corrigir erros reais observados no menu em ambiente Windows e melhorar o comportamento operacional para notebooks novos e multiplos clientes MCP.
6
+
7
+ ## Resumo executivo
8
+
9
+ Os erros reportados nao sao do mesmo tipo. Existem tres problemas principais:
10
+
11
+ 1. `bootstrap-global` e `register-clients` tratam falha do Claude Code como erro fatal do fluxo inteiro, mesmo quando Codex, Claude Desktop, Gemini e Antigravity foram configurados com sucesso.
12
+ 2. `skill-master-update` tenta atualizar o pacote global enquanto o proprio pacote esta em uso, o que causa `EBUSY` no Windows. Alem disso, o launcher atual usa `shell: true` e gera aviso de deprecacao.
13
+ 3. `doctor` informa corretamente o problema do Claude Code, mas as recomendacoes ainda sao pouco contextuais e repetem comandos que ja falharam, sem classificar melhor o motivo da falha.
14
+
15
+ O plano abaixo separa correcao funcional, contrato operacional, UX de terminal e validacao para evitar regressao.
16
+
17
+ ## Principios de decisao
18
+
19
+ - O menu deve ser confiavel para humanos: uma acao parcial nao pode parecer falha total quando a maior parte do trabalho funcionou.
20
+ - O MCP nao deve tentar atualizar a propria pasta global enquanto seu processo ainda esta rodando a partir dela.
21
+ - Claude Code deve ser tratado como cliente suportado, mas operacionalmente opcional quando os outros clientes foram aplicados com sucesso.
22
+ - Todo fluxo mutante precisa emitir diagnostico suficiente para uma pessoa entender se faltou PATH, CLI, permissao, arquivo bloqueado ou restart.
23
+ - A correcao deve manter `--run`, `--status`, `--help`, `doctor` e instalacao global via npm funcionando sem depender de TTY.
24
+
25
+ ## Contrato operacional proposto
26
+
27
+ ### Classes de resultado
28
+
29
+ | Classe | Exit code | Uso | Render do menu |
30
+ | --- | ---: | --- | --- |
31
+ | sucesso | `0` | tudo aplicado ou nada precisava mudar | `RESULT-OK` |
32
+ | aviso | `10` | acao principal aplicada, mas ha cliente opcional ou etapa secundaria pendente | `RESULT-WARN` |
33
+ | erro de usuario/ambiente | `20` | prerequisito ausente, pacote em uso, CLI indisponivel, auth ausente | `RESULT-ERROR` com proximo passo |
34
+ | erro fatal | `30` | falha de escrita, JSON irrecuperavel sem `--force`, comando obrigatorio falhou | `RESULT-ERROR` com bloqueio |
35
+
36
+ ### Contrato de saida textual
37
+
38
+ Cada subcomando operacional deve imprimir um resumo previsivel:
39
+
40
+ ```text
41
+ [skill_master] Summary
42
+ - Result: ok|warning|error
43
+ - Applied: N
44
+ - Warnings: N
45
+ - Failed: N
46
+ - Next: comando ou acao humana
47
+ ```
48
+
49
+ O menu pode continuar lendo apenas exit code nesta versao. A saida padronizada prepara uma etapa futura com `--json` sem exigir refatoracao grande agora.
50
+
51
+ ### Criterio para `warning`
52
+
53
+ Um fluxo retorna `10` quando:
54
+
55
+ - pelo menos uma acao principal foi aplicada com sucesso;
56
+ - a falha restante e recuperavel;
57
+ - a falha restante nao corrompe configuracao;
58
+ - a mensagem mostra o proximo passo exato.
59
+
60
+ Exemplo: Codex, Claude Desktop, Gemini e Antigravity foram registrados, mas Claude Code falhou por CLI ausente ou sem saida.
61
+
62
+ ## Matriz de severidade
63
+
64
+ | Caso | Severidade | Resultado esperado |
65
+ | --- | --- | --- |
66
+ | Claude Code CLI ausente e demais clientes ok | aviso | `RESULT-WARN`, proximo passo manual |
67
+ | `claude mcp add` retorna sem saida e demais clientes ok | aviso | `RESULT-WARN`, diagnostico classificado |
68
+ | Codex config nao pode ser escrita | fatal | `RESULT-ERROR`, apontar arquivo |
69
+ | Claude Desktop JSON invalido sem `--force` | fatal | `RESULT-ERROR`, recomendar `--force` se seguro |
70
+ | `npm install -g` detecta pacote em uso | erro de ambiente | `RESULT-ERROR`, orientar update fora do menu ou agendamento |
71
+ | Doctor encontra somente Claude Code pendente | aviso em readiness | proxima acao especifica para Claude Code |
72
+ | Doctor encontra skills globais faltando | erro de ambiente | recomendar install-global-skills |
73
+
74
+ ## Ordem tecnica recomendada
75
+
76
+ 1. Criar helpers puros e testaveis para classificar resultados de clientes e updates.
77
+ 2. Ajustar `register-clients` para produzir resultado por cliente.
78
+ 3. Ajustar `bootstrap-global` para propagar aviso sem tratar como falha total.
79
+ 4. Ajustar `menu-core` para renderizar `RESULT-WARN`.
80
+ 5. Ajustar `update` para evitar `shell: true` e detectar execucao dentro do proprio pacote.
81
+ 6. Ajustar `doctor` para recomendacoes contextuais.
82
+ 7. Rodar testes focados e `npm run check`.
83
+
84
+ ## Erro 1 - Bootstrap global falha por causa do Claude Code
85
+
86
+ ### Sintoma observado
87
+
88
+ - `install-global-skills` conclui com sucesso.
89
+ - `register-clients` registra Codex, Claude Desktop, Gemini e Antigravity.
90
+ - Claude Code falha com:
91
+ `Claude Code registration failed (unknown): no output`
92
+ - O fluxo inteiro termina com `RESULT-ERROR`.
93
+
94
+ ### Causa raiz provavel
95
+
96
+ - Arquivo principal: [bin/skill-master-register-clients.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-register-clients.mjs>)
97
+ - O registrador usa `spawnSync(claudeCodeCommand, claudeCodeArgs)` e, se o status nao for `0`, seta `process.exitCode = 1`.
98
+ - O bootstrap chama o registrador com `--apply-all --force` e trata qualquer codigo diferente de `0` como falha total do bootstrap.
99
+ - Isso mistura:
100
+ - erro critico do fluxo inteiro;
101
+ - falha parcial de um cliente opcional;
102
+ - ausencia do CLI do Claude Code;
103
+ - falha de execucao sem diagnostico.
104
+
105
+ ### Correcao planejada
106
+
107
+ 1. Transformar `register-clients` em fluxo com resultado estruturado por cliente.
108
+ 2. Diferenciar estados:
109
+ - `ok`
110
+ - `already-configured`
111
+ - `skipped-optional`
112
+ - `partial-warning`
113
+ - `fatal`
114
+ 3. No modo `--apply-all`, nao retornar erro fatal se somente Claude Code falhar e os demais clientes forem aplicados com sucesso.
115
+ 4. Retornar erro fatal somente quando:
116
+ - o servidor MCP nao puder ser resolvido;
117
+ - escrita de arquivo de cliente obrigatorio falhar;
118
+ - todos os clientes selecionados falharem.
119
+
120
+ ### Melhoria de UX planejada
121
+
122
+ 1. Mostrar no menu um resultado do tipo `RESULT-WARN` quando houver sucesso parcial.
123
+ 2. Exibir resumo por cliente:
124
+ - `Codex: ok`
125
+ - `Claude Desktop: ok`
126
+ - `Claude Code: warn`
127
+ - `Gemini: ok`
128
+ - `Antigravity: ok`
129
+ 3. Na volta ao menu, manter a operacao como concluida com aviso, nao como erro total.
130
+
131
+ ### Validacao
132
+
133
+ - `skill-master-menu --run bootstrap-global --yes` deve terminar como sucesso parcial quando apenas Claude Code falhar.
134
+ - `skill-master-register-clients --apply-all --force` deve retornar `0` se ao menos os clientes nao opcionais forem aplicados corretamente.
135
+ - Testes novos devem cobrir:
136
+ - sucesso total;
137
+ - falha parcial no Claude Code;
138
+ - falha fatal de escrita de arquivo.
139
+
140
+ ## Erro 2 - Registro do Claude Code falha com "unknown: no output"
141
+
142
+ ### Sintoma observado
143
+
144
+ - O menu informa:
145
+ `Claude Code registration failed (unknown): no output`
146
+ - O `doctor` mostra:
147
+ `mode=list-failed command=nao encontrado em claude mcp list`
148
+
149
+ ### Causa raiz provavel
150
+
151
+ - Arquivos principais:
152
+ - [bin/skill-master-register-clients.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-register-clients.mjs>)
153
+ - [bin/skill-master-doctor.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-doctor.mjs>)
154
+ - [bin/lib/client-config.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/lib/client-config.mjs>)
155
+ - O fluxo atual assume que `claude` esta acessivel pelo nome simples.
156
+ - No Windows, pode existir um destes cenarios:
157
+ - `claude` nao esta no PATH do processo;
158
+ - o executavel real e `claude.cmd`;
159
+ - o `claude mcp add` abre um processo com comportamento diferente e retorna sem stdout/stderr;
160
+ - `claude mcp list` falha sem diagnostico util.
161
+
162
+ ### Correcao planejada
163
+
164
+ 1. Criar resolucao robusta do comando do Claude Code:
165
+ - tentar `claude`
166
+ - tentar `claude.cmd` no Windows
167
+ - tentar caminho absoluto detectado por `where`
168
+ 2. Capturar melhor o resultado do processo:
169
+ - `status`
170
+ - `signal`
171
+ - `error.code`
172
+ - `error.message`
173
+ - stdout
174
+ - stderr
175
+ 3. Se o CLI existir, validar primeiro:
176
+ - `claude --version`
177
+ - `claude mcp list`
178
+ 4. Se `claude mcp add` falhar, imprimir diagnostico classificado:
179
+ - `cli-missing`
180
+ - `cli-not-runnable`
181
+ - `mcp-subcommand-missing`
182
+ - `registration-failed`
183
+ 5. Gerar comando manual recomendado com quoting correto para Windows.
184
+
185
+ ### Melhoria de UX planejada
186
+
187
+ 1. Alterar a mensagem do menu de:
188
+ `failed (unknown): no output`
189
+ para algo como:
190
+ `Claude Code: CLI encontrado, mas 'claude mcp add' falhou sem saida. Tente abrir o Claude Code e executar o comando manual abaixo.`
191
+ 2. Exibir o comando manual pronto no painel de detalhes quando a acao selecionada for `register-clients`.
192
+ 3. Adicionar uma acao de menu futura:
193
+ `Diagnosticar Claude Code`
194
+
195
+ ### Validacao
196
+
197
+ - Teste unitario para resolucao de `claude.cmd` no Windows.
198
+ - Teste para classificacao de falha com `status`, `signal` e `error`.
199
+ - Smoke manual em Windows com:
200
+ - CLI ausente
201
+ - CLI presente
202
+ - `mcp list` sem `skill_master`
203
+ - `mcp add` bem-sucedido
204
+
205
+ ## Erro 3 - Atualizacao global falha com `EBUSY`
206
+
207
+ ### Sintoma observado
208
+
209
+ - `skill-master-update` roda:
210
+ `npm install -g @fprad0/skill-master-mcp@latest`
211
+ - No Windows, npm tenta renomear a pasta ativa do pacote.
212
+ - O processo falha com:
213
+ `EBUSY: resource busy or locked`
214
+
215
+ ### Causa raiz provavel
216
+
217
+ - Arquivo principal: [bin/skill-master-update.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-update.mjs>)
218
+ - O comando de update esta sendo executado a partir do proprio pacote global em uso.
219
+ - O pacote em execucao segura locks ou referencias em `node_modules/@fprad0/skill-master-mcp`.
220
+ - O update usa `shell: true` no Windows, gerando tambem `DEP0190`.
221
+
222
+ ### Correcao planejada
223
+
224
+ 1. Remover `shell: true` do fluxo de update.
225
+ 2. Resolver o executavel npm de forma robusta:
226
+ - `npm.cmd` no Windows
227
+ - `npm` no Linux/macOS
228
+ - ou `process.execPath` + `npm-cli.js` quando necessario
229
+ 3. Mudar a estrategia de auto-update:
230
+ - o menu nao deve tentar substituir o pacote enquanto ele ainda esta rodando do mesmo path;
231
+ - em vez disso, deve gerar um handoff seguro.
232
+ 4. Implementar um destes caminhos:
233
+ - `A.` modo recomendado: imprimir comando e instruir a sair do menu antes de atualizar;
234
+ - `B.` modo melhor: spawn detached de um script temporario fora do diretorio do pacote, que espera o processo atual encerrar e so entao roda o npm install global.
235
+
236
+ ### Melhoria de UX planejada
237
+
238
+ 1. Trocar o texto atual de:
239
+ `Roda npm install -g fora do processo MCP stdio.`
240
+ para algo mais preciso:
241
+ `A atualizacao exige que o processo atual seja encerrado antes da troca do pacote.`
242
+ 2. Se o update for disparado de dentro do menu:
243
+ - mostrar `RESULT-WARN`
244
+ - exibir comando pronto
245
+ - oferecer opcao futura de `agendar atualizacao ao sair`
246
+ 3. Se ocorrer `EBUSY`, traduzir para mensagem humana:
247
+ `O pacote esta em uso neste momento. Feche o menu e rode o update fora desta execucao.`
248
+
249
+ ### Validacao
250
+
251
+ - Sem `DEP0190` no Windows.
252
+ - Update nao deve mais tentar atualizar o pacote em uso sem aviso.
253
+ - Smoke manual:
254
+ - update disparado fora do menu
255
+ - update disparado no menu
256
+ - dry-run
257
+
258
+ ## Erro 4 - Doctor recomenda comandos pouco contextuais
259
+
260
+ ### Sintoma observado
261
+
262
+ - O `doctor` detecta corretamente que Claude Code nao esta pronto.
263
+ - Ainda assim recomenda:
264
+ - `skill-master-register-clients --apply-all --force`
265
+ - `skill-master-register-clients --apply-claude-code --claude-code-scope user`
266
+ - `skill-master-menu --run bootstrap-global --yes`
267
+ - Isso mistura remedios amplos com remedio especifico.
268
+
269
+ ### Causa raiz provavel
270
+
271
+ - Arquivo principal: [bin/skill-master-doctor.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-doctor.mjs>)
272
+ - As recomendacoes sao estaticas e nao derivam do tipo exato de falha.
273
+
274
+ ### Correcao planejada
275
+
276
+ 1. Tornar o `doctor` orientado por diagnostico:
277
+ - se somente Claude Code falhar, recomendar apenas comando do Claude Code
278
+ - se skills globais faltarem, recomendar `install-global-skills`
279
+ - se Codex estiver ausente, recomendar `register-clients --apply-codex`
280
+ 2. Classificar `Readiness global` em:
281
+ - `ready`
282
+ - `partial`
283
+ - `blocked`
284
+ 3. Mostrar motivo dominante.
285
+
286
+ ### Melhoria de UX planejada
287
+
288
+ 1. Exibir um bloco:
289
+ `Falha dominante: Claude Code nao registrado`
290
+ 2. Mostrar uma unica proxima acao recomendada, seguida de acoes alternativas.
291
+ 3. No menu, refletir isso no painel `DETAIL FOCUS`.
292
+
293
+ ### Validacao
294
+
295
+ - `doctor` com apenas Claude Code faltando nao deve recomendar bootstrap completo como primeira opcao.
296
+ - Testes para matriz de recomendacoes por tipo de falha.
297
+
298
+ ## Erro 5 - Resultado do menu nao diferencia erro fatal de warning parcial
299
+
300
+ ### Sintoma observado
301
+
302
+ - Tanto no bootstrap quanto no registro de clientes, o menu exibe `RESULT-ERROR`.
303
+ - Isso passa a impressao de falha total, embora a maior parte da operacao tenha funcionado.
304
+
305
+ ### Causa raiz provavel
306
+
307
+ - O menu trabalha hoje principalmente com `code === 0` ou `code !== 0`.
308
+ - Falta um contrato mais rico entre subcomandos e o renderer do menu.
309
+
310
+ ### Correcao planejada
311
+
312
+ 1. Definir um contrato de saida para subcomandos operacionais:
313
+ - `0`: sucesso
314
+ - `10`: sucesso parcial / warning
315
+ - `20+`: erro fatal
316
+ 2. Ensinar o menu a renderizar:
317
+ - `RESULT-OK`
318
+ - `RESULT-WARN`
319
+ - `RESULT-ERROR`
320
+ 3. Opcionalmente, permitir `--json` nos subcomandos para leitura estruturada pelo menu no futuro.
321
+
322
+ ### Melhoria de UX planejada
323
+
324
+ 1. Mostrar contagem:
325
+ `4 clientes ok | 1 cliente com aviso`
326
+ 2. Mostrar um proximo passo exato no proprio resultado.
327
+ 3. Manter a tecla de retorno ao menu, mas com resumo objetivo do que ainda falta.
328
+
329
+ ### Validacao
330
+
331
+ - Bootstrap com Claude Code falhando deve renderizar `RESULT-WARN`.
332
+ - Update com `EBUSY` deve renderizar `RESULT-ERROR` com traducao humana.
333
+
334
+ ## Plano de implementacao recomendado
335
+
336
+ ### Fase 0 - Preparar testes e contratos
337
+
338
+ Objetivo: criar uma rede minima de seguranca antes de mexer em fluxo global.
339
+
340
+ Tarefas:
341
+
342
+ 1. Criar helper de resultado operacional, preferencialmente em `bin/lib/operation-result.mjs`.
343
+ 2. Modelar estados: `ok`, `warning`, `error`, `fatal`.
344
+ 3. Criar testes unitarios para mapear estado em exit code e titulo de resultado.
345
+ 4. Atualizar `formatResultMessage` para aceitar `0`, `10`, `20` e `30+`.
346
+
347
+ Aceite:
348
+
349
+ - `formatResultMessage(10)` renderiza `RESULT-WARN`.
350
+ - `formatResultMessage(0)` continua renderizando `RESULT-OK`.
351
+ - `formatResultMessage(1)` continua renderizando `RESULT-ERROR` para compatibilidade.
352
+
353
+ ### Fase 1 - Corrigir `register-clients`
354
+
355
+ Objetivo: parar de transformar falha parcial do Claude Code em erro total.
356
+
357
+ Arquivos:
358
+
359
+ - [bin/skill-master-register-clients.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-register-clients.mjs>)
360
+ - [bin/lib/client-config.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/lib/client-config.mjs>)
361
+ - [src/client-config.test.ts](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/src/client-config.test.ts>)
362
+
363
+ Tarefas:
364
+
365
+ 1. Criar `resolveClaudeCodeCommand()` com suporte a `claude`, `claude.cmd` e caminho absoluto encontrado por `where` no Windows.
366
+ 2. Criar `classifyClaudeCodeResult()` para converter `status`, `signal`, `error`, stdout e stderr em diagnostico legivel.
367
+ 3. Trocar `actions.push(string)` por `results.push({ client, status, message, next })`.
368
+ 4. Quando somente Claude Code falhar em `--apply-all`, retornar `10`.
369
+ 5. Quando o usuario chamar apenas `--apply-claude-code` e ele falhar, retornar `20`.
370
+
371
+ Aceite:
372
+
373
+ - `skill-master-register-clients --apply-all --force` termina em warning se apenas Claude Code falhar.
374
+ - `skill-master-register-clients --apply-claude-code` termina em erro se Claude Code falhar.
375
+ - A saida nunca mais deve dizer `failed (unknown): no output` sem contexto.
376
+
377
+ ### Fase 2 - Corrigir `bootstrap-global`
378
+
379
+ Objetivo: refletir corretamente sucesso parcial do fluxo completo.
380
+
381
+ Arquivos:
382
+
383
+ - [bin/skill-master-bootstrap-global.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-bootstrap-global.mjs>)
384
+
385
+ Tarefas:
386
+
387
+ 1. Rodar `install-global-skills`.
388
+ 2. Rodar `register-clients --apply-all --force`.
389
+ 3. Se install falhar, retornar erro fatal.
390
+ 4. Se register retornar `10`, imprimir `Global bootstrap complete with warnings` e retornar `10`.
391
+ 5. Se register retornar `0`, imprimir `Global bootstrap complete` e retornar `0`.
392
+
393
+ Aceite:
394
+
395
+ - O caso reportado pelo usuario deve virar `RESULT-WARN`, nao `RESULT-ERROR`.
396
+ - O log deve mostrar claramente que skills globais foram instaladas e que apenas Claude Code ficou pendente.
397
+
398
+ ### Fase 3 - Corrigir `skill-master-update`
399
+
400
+ Objetivo: acabar com `DEP0190` e tratar `EBUSY` como estado operacional previsivel.
401
+
402
+ Arquivos:
403
+
404
+ - [bin/skill-master-update.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-update.mjs>)
405
+ - novo teste sugerido: `src/update-cli.test.ts`
406
+
407
+ Tarefas:
408
+
409
+ 1. Criar `resolveNpmExecutable()`:
410
+ - Windows: preferir `npm.cmd`;
411
+ - Linux/macOS: `npm`;
412
+ - fallback: `process.execPath` + `npm-cli.js` quando detectavel.
413
+ 2. Remover `shell: true`.
414
+ 3. Detectar quando `process.argv[1]` esta dentro de `node_modules/@fprad0/skill-master-mcp`.
415
+ 4. Se estiver rodando de dentro do pacote global e for Windows, nao executar update direto por padrao.
416
+ 5. Imprimir comando seguro para rodar fora do menu:
417
+ `npm install -g @fprad0/skill-master-mcp@latest --registry=https://registry.npmjs.org`
418
+ 6. Adicionar opcao futura ou imediata `--force-direct` para permitir comportamento antigo em ambiente controlado.
419
+
420
+ Aceite:
421
+
422
+ - `skill-master-update --dry-run` continua imprimindo o comando.
423
+ - Executar pelo menu no Windows nao tenta renomear o pacote em uso.
424
+ - Nao aparece mais `DEP0190`.
425
+ - Erro `EBUSY` recebe mensagem humana se ainda ocorrer em uso externo.
426
+
427
+ ### Fase 4 - Corrigir `doctor`
428
+
429
+ Objetivo: transformar o doctor em orientador contextual.
430
+
431
+ Arquivos:
432
+
433
+ - [bin/skill-master-doctor.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-doctor.mjs>)
434
+
435
+ Tarefas:
436
+
437
+ 1. Criar `diagnoseReadiness(clients, skills, bins, packageState)`.
438
+ 2. Criar `recommendedActionsForDiagnosis(diagnosis)`.
439
+ 3. Quando apenas Claude Code falhar, recomendar primeiro:
440
+ `skill-master-register-clients --apply-claude-code --claude-code-scope user`
441
+ 4. Quando o CLI do Claude Code nao for encontrado, recomendar:
442
+ instalar/abrir Claude Code ou pular se nao usar esse cliente.
443
+ 5. Manter `--strict` retornando erro quando readiness nao for total.
444
+
445
+ Aceite:
446
+
447
+ - Doctor nao recomenda bootstrap completo como primeira acao quando apenas Claude Code falhou.
448
+ - Doctor mostra `Falha dominante`.
449
+ - Doctor diferencia `partial` de `blocked`.
450
+
451
+ ### Fase 5 - Melhorar UX do menu
452
+
453
+ Objetivo: mostrar resultado correto e proximo passo dentro do menu.
454
+
455
+ Arquivos:
456
+
457
+ - [bin/lib/menu-core.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/lib/menu-core.mjs>)
458
+ - [bin/skill-master-menu.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-menu.mjs>)
459
+ - [src/menu-core.test.ts](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/src/menu-core.test.ts>)
460
+
461
+ Tarefas:
462
+
463
+ 1. Renderizar `RESULT-WARN` com cor amber.
464
+ 2. Mensagem:
465
+ `Comando concluido com avisos.`
466
+ 3. Explicar:
467
+ `workflow liberado, mas existe uma acao recomendada`
468
+ 4. Preservar comportamento atual para `RESULT-OK` e `RESULT-ERROR`.
469
+ 5. No painel de detalhe de `updateGlobal`, informar que update dentro do menu exige handoff.
470
+
471
+ Aceite:
472
+
473
+ - `formatResultMessage(10)` passa no teste.
474
+ - O usuario nao confunde sucesso parcial com falha total.
475
+
476
+ ## Matriz de tarefas por arquivo
477
+
478
+ | Arquivo | Mudanca | Teste minimo |
479
+ | --- | --- | --- |
480
+ | `bin/skill-master-register-clients.mjs` | status por cliente e warning parcial | mock de Claude Code falhando |
481
+ | `bin/lib/client-config.mjs` | resolver CLI do Claude Code e formatar comando | teste Windows `claude.cmd` |
482
+ | `bin/skill-master-bootstrap-global.mjs` | aceitar warning parcial | teste de spawn com code `10` |
483
+ | `bin/skill-master-update.mjs` | remover `shell: true`, detectar pacote em uso | `--dry-run`, resolver npm |
484
+ | `bin/skill-master-doctor.mjs` | diagnostico dominante e recomendacao contextual | doctor com apenas Claude Code pendente |
485
+ | `bin/lib/menu-core.mjs` | `RESULT-WARN` | `formatResultMessage(10)` |
486
+ | `scripts/verify-menu-actions.mjs` | confirmar que novas acoes continuam protegidas | `npm run verify:menu` |
487
+
488
+ ## Plano de testes
489
+
490
+ ### Testes unitarios
491
+
492
+ - `src/client-config.test.ts`
493
+ - `src/menu-core.test.ts`
494
+ - novo `src/register-clients.test.ts`
495
+ - novo `src/update-cli.test.ts`
496
+ - novo `src/doctor-diagnosis.test.ts`
497
+
498
+ ### Testes de integracao locais
499
+
500
+ ```bash
501
+ npm run check
502
+ node bin/skill-master-menu.mjs --run doctor
503
+ node bin/skill-master-register-clients.mjs --write-snippets --snippets-dir .tmp-client-snippets
504
+ node bin/skill-master-update.mjs --dry-run
505
+ node scripts/verify-menu-actions.mjs
506
+ ```
507
+
508
+ ### Smoke Windows recomendado
509
+
510
+ ```powershell
511
+ skill-master-menu --run doctor
512
+ skill-master-register-clients --apply-all --force
513
+ skill-master-menu --run bootstrap-global --yes
514
+ skill-master-update --dry-run
515
+ ```
516
+
517
+ Se Claude Code continuar falhando:
518
+
519
+ ```powershell
520
+ claude --version
521
+ claude mcp list
522
+ skill-master-register-clients --apply-claude-code --claude-code-scope user
523
+ ```
524
+
525
+ ## Stop rules
526
+
527
+ - Nao publicar pacote npm sem autorizacao explicita.
528
+ - Nao apagar configs existentes de Codex, Claude, Gemini ou Antigravity.
529
+ - Nao sobrescrever JSON invalido sem backup.
530
+ - Nao executar update global destrutivo enquanto o pacote estiver em uso.
531
+ - Nao tratar Claude Code como pronto sem `claude mcp list` confirmando `skill_master`.
532
+
533
+ ## Arquivos que devem ser alterados
534
+
535
+ - [bin/skill-master-register-clients.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-register-clients.mjs>)
536
+ - [bin/skill-master-bootstrap-global.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-bootstrap-global.mjs>)
537
+ - [bin/skill-master-update.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-update.mjs>)
538
+ - [bin/skill-master-doctor.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/skill-master-doctor.mjs>)
539
+ - [bin/lib/menu-core.mjs](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/bin/lib/menu-core.mjs>)
540
+ - [src/client-config.test.ts](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/src/client-config.test.ts>)
541
+ - [src/menu-core.test.ts](</home/dev/Área de trabalho/VSCODE/skill-master-mcp/src/menu-core.test.ts>)
542
+ - novos testes para update/bootstrap/doctor
543
+
544
+ ## Criterios de aceite
545
+
546
+ - `bootstrap-global` nao falha totalmente quando apenas Claude Code apresentar problema opcional.
547
+ - `register-clients` classifica corretamente erro, skip e warning.
548
+ - `update` nao gera `DEP0190` e nao falha por `EBUSY` sem mensagem humana e estrategia segura.
549
+ - `doctor` recomenda a proxima acao correta para o problema dominante.
550
+ - O menu diferencia `OK`, `WARN` e `ERROR`.
551
+ - `npm run check` passa.