@fprad0/skill-master-mcp 0.0.12 → 1.0.1

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 (353) hide show
  1. package/CHANGELOG.md +100 -88
  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 +287 -285
  6. package/bin/lib/doctor-core.mjs +202 -0
  7. package/bin/lib/menu-core.mjs +1792 -1514
  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 +165 -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 +489 -378
  20. package/bin/skill-master-register-clients.mjs +232 -153
  21. package/bin/skill-master-success-skills.mjs +357 -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 +36 -33
  42. package/docs/operations/assets/menu-frame-dna-hero.html +87 -0
  43. package/docs/operations/assets/menu-frame-fine-helix.html +89 -0
  44. package/docs/operations/assets/menu-frame-large.html +44 -41
  45. package/docs/operations/assets/menu-frame-running.html +41 -38
  46. package/docs/operations/assets/menu-frame-score-10-contact-sheet.html +184 -0
  47. package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md +140 -140
  48. package/docs/operations/cross-platform-auth-transfer/README_TRANSFERENCIA.md +85 -85
  49. package/docs/operations/reborn-menu-cyberpunk-transfer/ANALISE_MENU_REBORN_CYBERPUNK_2026-06-28.md +174 -174
  50. package/docs/operations/reborn-menu-cyberpunk-transfer/HANDOFF_IMPLEMENTACAO_REBORN_CYBERPUNK_2026-06-28.md +119 -119
  51. package/docs/operations/reborn-menu-cyberpunk-transfer/ORDEM_DE_EXECUCAO_MENU_REBORN_CYBERPUNK.md +134 -134
  52. package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA.md +84 -84
  53. package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA_REBORN_PACKAGE.md +56 -56
  54. package/docs/operations/token-economy-transfer/ANALISE_AVANCADA_ECONOMIA_TOKENS_2026-06-30.md +141 -0
  55. package/docs/operations/token-economy-transfer/PLANO_DEV_SENIOR_MASTER_TOKEN_ECONOMY_2026-06-30.md +171 -0
  56. package/docs/operations/token-economy-transfer/README_TRANSFERENCIA_TOKEN_ECONOMY.md +31 -0
  57. package/docs/planning/MENU_RUNTIME_CORRECTION_PLAN_2026-06-30.md +551 -0
  58. package/docs/planning/V0_0_9_APROVACAO_CRITICA_MENSAGENS_DE_VENDA.md +85 -85
  59. package/docs/planning/V0_0_9_FONTES_E_CRITERIOS_DE_AUTORIDADE.md +139 -139
  60. package/docs/planning/V0_0_9_MATRIZ_SKILLS_MULTIDISCIPLINARES.md +105 -105
  61. package/docs/planning/V0_0_9_POLITICA_MORAL_CATOLICA_PARA_IA.md +181 -181
  62. package/docs/planning/V0_0_9_PROMPTS_EXECUCAO.md +59 -59
  63. package/docs/planning/V0_0_9_ROADMAP_DISCERNIMENTO_E_CONHECIMENTO_AMPLO.md +181 -181
  64. package/docs/planning/mcp-1.0.0/00_RESUMO_EXECUTIVO_AUDITORIA_MENU.md +118 -0
  65. package/docs/planning/mcp-1.0.0/01_MATRIZ_TESTES_MENU_E_RESULTADOS.md +250 -0
  66. package/docs/planning/mcp-1.0.0/02_PLANO_CORRECAO_ATIVAR_SKILL_APRENDIDA.md +200 -0
  67. package/docs/planning/mcp-1.0.0/03_PLANO_COMPATIBILIDADE_WINDOWS_LINUX_MACOS.md +167 -0
  68. package/docs/planning/mcp-1.0.0/04_PLANO_UI_CYBERPUNK_PIXEL_ART_E_PERFORMANCE.md +165 -0
  69. package/docs/planning/mcp-1.0.0/05_PROMPT_TASK_EXECUCAO_CORRECOES.md +151 -0
  70. package/docs/planning/mcp-1.0.0/06_CHECKLIST_REGRESSAO_PRE_RELEASE.md +159 -0
  71. package/docs/planning/mcp-1.0.0/07_RELATORIO_APLICACAO_CORRECOES_MENU_SKILL_MASTER.md +136 -0
  72. package/docs/planning/mcp-1.0.0/08_AUDITORIA_CRITICA_MENU_NOTA_E_DNA_REFINADO.md +184 -0
  73. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/00_PROMPT_TASK_MASTER_NOTA_10_10.md +103 -0
  74. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/01_PROMPT_TASK_FINE_HELIX_DNA.md +116 -0
  75. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/02_PROMPT_TASK_DNA_HERO_BOOT_AND_MOTION.md +109 -0
  76. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/03_PROMPT_TASK_MENU_UX_HELP_ERROR_COPY.md +99 -0
  77. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/04_PROMPT_TASK_EVIDENCE_RENDERER_1_0_0.md +97 -0
  78. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/05_PROMPT_TASK_CROSS_PLATFORM_UTF8_MOJIBAKE.md +99 -0
  79. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/06_PROMPT_TASK_VISUAL_REGRESSION_QA.md +105 -0
  80. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/07_PROMPT_TASK_PRE_RELEASE_SCORE_GATE_10_10.md +104 -0
  81. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/README_ORDEM_EXECUCAO_NOTA_10_10.md +77 -0
  82. package/docs/prompt-tasks/PROMPT_TASK_001_BOOTSTRAP_SKILL_MASTER_MCP.md +6 -6
  83. package/docs/prompt-tasks/PROMPT_TASK_002_AUTO_UPDATE_LAUNCHER.md +6 -6
  84. package/docs/prompt-tasks/PROMPT_TASK_003_REMOTE_MANIFEST_AND_RELEASES.md +6 -6
  85. package/docs/prompt-tasks/PROMPT_TASK_004_MULTI_USER_DISTRIBUTION.md +6 -6
  86. package/docs/prompt-tasks/PROMPT_TASK_005_SECURITY_AND_QUALITY_GATE.md +6 -6
  87. package/docs/prompt-tasks/PROMPT_TASK_006_MASTER_ACIONAMENTO_APRENDIZADO.md +83 -83
  88. package/docs/prompt-tasks/PROMPT_TASK_007_PERSONA_ORQUESTRADORA.md +88 -88
  89. package/docs/prompt-tasks/PROMPT_TASK_008_PROMPT_ROUTER_MODOS_ATIVACAO.md +156 -156
  90. package/docs/prompt-tasks/PROMPT_TASK_009_PIPELINE_APRENDIZADO_SUCESSO.md +105 -105
  91. package/docs/prompt-tasks/PROMPT_TASK_010_EVALS_GOVERNANCA_ATIVACAO.md +119 -119
  92. package/docs/prompt-tasks/PROMPT_TASK_011_MENU_NOTIFICACOES_NOTION.md +120 -120
  93. package/docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md +123 -123
  94. package/docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md +114 -114
  95. package/docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md +157 -157
  96. package/docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md +127 -127
  97. package/docs/prompt-tasks/PROMPT_TASK_016_CROSS_PLATFORM_MCP_AUTH_REGISTRATION.md +107 -107
  98. package/docs/prompt-tasks/PROMPT_TASK_018_NPM_PUBLISH_2FA_SETUP.md +80 -80
  99. package/docs/prompt-tasks/PROMPT_TASK_019_TOKEN_ECONOMY_GLOBAL_SKILLS.md +56 -0
  100. package/docs/prompt-tasks/PROMPT_TASK_MASTER_EXECUTOR.md +6 -6
  101. package/docs/skill-candidates/v0.0.10/cli-creator/LICENSE.txt +201 -201
  102. package/docs/skill-candidates/v0.0.10/cli-creator/SKILL.md +160 -160
  103. package/docs/skill-candidates/v0.0.10/cli-creator/agents/openai.yaml +4 -4
  104. package/docs/skill-candidates/v0.0.10/cli-creator/references/agent-cli-patterns.md +154 -154
  105. package/docs/skill-candidates/v0.0.10/developer-workstation-ops/SKILL.md +32 -32
  106. package/docs/skill-candidates/v0.0.10/figma/LICENSE.txt +1 -1
  107. package/docs/skill-candidates/v0.0.10/figma/SKILL.md +42 -42
  108. package/docs/skill-candidates/v0.0.10/figma/agents/openai.yaml +14 -14
  109. package/docs/skill-candidates/v0.0.10/figma/assets/figma-small.svg +3 -3
  110. package/docs/skill-candidates/v0.0.10/figma/assets/icon.svg +28 -28
  111. package/docs/skill-candidates/v0.0.10/figma/references/figma-mcp-config.md +35 -35
  112. package/docs/skill-candidates/v0.0.10/figma/references/figma-tools-and-prompts.md +34 -34
  113. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/LICENSE.TXT +1 -1
  114. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/SKILL.md +349 -349
  115. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/agents/openai.yaml +14 -14
  116. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma-small.svg +3 -3
  117. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/icon.svg +28 -28
  118. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/references/mapping-checklist.md +7 -7
  119. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/scripts/normalize_node_id.py +25 -25
  120. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/LICENSE.TXT +1 -1
  121. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/SKILL.md +537 -537
  122. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/agents/openai.yaml +14 -14
  123. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma-small.svg +3 -3
  124. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/icon.svg +28 -28
  125. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/references/rule-template.md +15 -15
  126. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -9
  127. package/docs/skill-candidates/v0.0.10/figma-generate-design/LICENSE.TXT +1 -1
  128. package/docs/skill-candidates/v0.0.10/figma-generate-design/SKILL.md +341 -341
  129. package/docs/skill-candidates/v0.0.10/figma-generate-design/agents/openai.yaml +14 -14
  130. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma-small.svg +3 -3
  131. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/icon.svg +28 -28
  132. package/docs/skill-candidates/v0.0.10/figma-generate-design/maintainers.yml +1 -1
  133. package/docs/skill-candidates/v0.0.10/figma-generate-library/LICENSE.TXT +1 -1
  134. package/docs/skill-candidates/v0.0.10/figma-generate-library/SKILL.md +314 -314
  135. package/docs/skill-candidates/v0.0.10/figma-generate-library/agents/openai.yaml +14 -14
  136. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma-small.svg +3 -3
  137. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/icon.svg +28 -28
  138. package/docs/skill-candidates/v0.0.10/figma-generate-library/maintainers.yml +3 -3
  139. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md +260 -260
  140. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/component-creation.md +1014 -1014
  141. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/discovery-phase.md +518 -518
  142. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/documentation-creation.md +834 -834
  143. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/error-recovery.md +540 -540
  144. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/naming-conventions.md +527 -527
  145. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/token-creation.md +962 -962
  146. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/bindVariablesToComponent.js +110 -110
  147. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/cleanupOrphans.js +127 -127
  148. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createComponentWithVariants.js +148 -148
  149. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createDocumentationPage.js +139 -139
  150. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createSemanticTokens.js +108 -108
  151. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createVariableCollection.js +49 -49
  152. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/inspectFileStructure.js +121 -121
  153. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/rehydrateState.js +92 -92
  154. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/validateCreation.js +83 -83
  155. package/docs/skill-candidates/v0.0.10/figma-implement-design/LICENSE.txt +1 -1
  156. package/docs/skill-candidates/v0.0.10/figma-implement-design/SKILL.md +258 -258
  157. package/docs/skill-candidates/v0.0.10/figma-implement-design/agents/openai.yaml +14 -14
  158. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma-small.svg +3 -3
  159. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/icon.svg +28 -28
  160. package/docs/skill-candidates/v0.0.10/figma-use/LICENSE.TXT +1 -1
  161. package/docs/skill-candidates/v0.0.10/figma-use/SKILL.md +233 -233
  162. package/docs/skill-candidates/v0.0.10/figma-use/agents/openai.yaml +14 -14
  163. package/docs/skill-candidates/v0.0.10/figma-use/assets/figma-small.svg +3 -3
  164. package/docs/skill-candidates/v0.0.10/figma-use/assets/icon.svg +28 -28
  165. package/docs/skill-candidates/v0.0.10/figma-use/maintainers.yml +1 -1
  166. package/docs/skill-candidates/v0.0.10/figma-use/references/api-reference.md +301 -301
  167. package/docs/skill-candidates/v0.0.10/figma-use/references/common-patterns.md +512 -512
  168. package/docs/skill-candidates/v0.0.10/figma-use/references/component-patterns.md +488 -488
  169. package/docs/skill-candidates/v0.0.10/figma-use/references/effect-style-patterns.md +123 -123
  170. package/docs/skill-candidates/v0.0.10/figma-use/references/gotchas.md +599 -599
  171. package/docs/skill-candidates/v0.0.10/figma-use/references/maintainers.yml +12 -12
  172. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-patterns.md +513 -513
  173. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.d.ts +11293 -11293
  174. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.index.md +441 -441
  175. package/docs/skill-candidates/v0.0.10/figma-use/references/text-style-patterns.md +203 -203
  176. package/docs/skill-candidates/v0.0.10/figma-use/references/validation-and-recovery.md +109 -109
  177. package/docs/skill-candidates/v0.0.10/figma-use/references/variable-patterns.md +354 -354
  178. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/maintainers.yml +9 -9
  179. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--creating.md +17 -17
  180. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--using.md +17 -17
  181. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components.md +50 -50
  182. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-effect-styles.md +52 -52
  183. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-text-styles.md +90 -90
  184. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--creating.md +13 -13
  185. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--using.md +13 -13
  186. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables.md +64 -64
  187. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds.md +41 -41
  188. package/docs/skill-candidates/v0.0.10/frontend-design/LICENSE.txt +177 -177
  189. package/docs/skill-candidates/v0.0.10/frontend-design/SKILL.md +55 -55
  190. package/docs/skill-candidates/v0.0.10/frontend-ui-ux-systems/SKILL.md +32 -32
  191. package/docs/skill-candidates/v0.0.10/github/SKILL.md +74 -74
  192. package/docs/skill-candidates/v0.0.10/github/agents/openai.yaml +6 -6
  193. package/docs/skill-candidates/v0.0.10/github/assets/github-small.svg +3 -3
  194. package/docs/skill-candidates/v0.0.10/image-graphic-design-rendering/SKILL.md +28 -28
  195. package/docs/skill-candidates/v0.0.10/language-quality-pt-en-fr-it-ru/SKILL.md +28 -28
  196. package/docs/skill-candidates/v0.0.10/math-physics-reasoning/SKILL.md +28 -28
  197. package/docs/skill-candidates/v0.0.10/mcp-builder/LICENSE.txt +201 -201
  198. package/docs/skill-candidates/v0.0.10/mcp-builder/SKILL.md +236 -236
  199. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/evaluation.md +601 -601
  200. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/mcp_best_practices.md +249 -249
  201. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/node_mcp_server.md +969 -969
  202. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/python_mcp_server.md +718 -718
  203. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/connections.py +151 -151
  204. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/evaluation.py +373 -373
  205. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/example_evaluation.xml +22 -22
  206. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/requirements.txt +2 -2
  207. package/docs/skill-candidates/v0.0.10/mcp-client-readiness/SKILL.md +31 -31
  208. package/docs/skill-candidates/v0.0.10/openai-docs/LICENSE.txt +201 -201
  209. package/docs/skill-candidates/v0.0.10/openai-docs/SKILL.md +161 -161
  210. package/docs/skill-candidates/v0.0.10/openai-docs/agents/openai.yaml +14 -14
  211. package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai-small.svg +3 -3
  212. package/docs/skill-candidates/v0.0.10/openai-docs/references/latest-model.md +37 -37
  213. package/docs/skill-candidates/v0.0.10/openai-docs/references/prompting-guide.md +244 -244
  214. package/docs/skill-candidates/v0.0.10/openai-docs/references/upgrade-guide.md +181 -181
  215. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/fetch-codex-manual.mjs +598 -598
  216. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/resolve-latest-model-info.js +147 -147
  217. package/docs/skill-candidates/v0.0.10/playwright/NOTICE.txt +14 -14
  218. package/docs/skill-candidates/v0.0.10/playwright/SKILL.md +147 -147
  219. package/docs/skill-candidates/v0.0.10/playwright/agents/openai.yaml +6 -6
  220. package/docs/skill-candidates/v0.0.10/playwright/assets/playwright-small.svg +3 -3
  221. package/docs/skill-candidates/v0.0.10/playwright/references/cli.md +116 -116
  222. package/docs/skill-candidates/v0.0.10/playwright/references/workflows.md +95 -95
  223. package/docs/skill-candidates/v0.0.10/playwright/scripts/playwright_cli.sh +25 -25
  224. package/docs/skill-candidates/v0.0.10/polyglot-backend-engineering/SKILL.md +32 -32
  225. package/docs/skill-candidates/v0.0.10/screenshot/LICENSE.txt +201 -201
  226. package/docs/skill-candidates/v0.0.10/screenshot/SKILL.md +267 -267
  227. package/docs/skill-candidates/v0.0.10/screenshot/agents/openai.yaml +6 -6
  228. package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot-small.svg +5 -5
  229. package/docs/skill-candidates/v0.0.10/screenshot/scripts/ensure_macos_permissions.sh +54 -54
  230. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_display_info.swift +22 -22
  231. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_permissions.swift +40 -40
  232. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_window_info.swift +126 -126
  233. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.ps1 +163 -163
  234. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.py +585 -585
  235. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/SKILL.md +62 -62
  236. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/agents/openai.yaml +4 -4
  237. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/activation-policy.md +77 -77
  238. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/human-approval-policy.md +83 -83
  239. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/persona-dev-senior-master.md +46 -46
  240. package/docs/skill-candidates/v0.0.10/terminal-menu-operations/SKILL.md +30 -30
  241. package/docs/skill-candidates/v0.0.10/terminal-pixel-art-tui/SKILL.md +43 -43
  242. package/docs/skill-candidates/v0.0.10/webapp-testing/LICENSE.txt +201 -201
  243. package/docs/skill-candidates/v0.0.10/webapp-testing/SKILL.md +95 -95
  244. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/console_logging.py +34 -34
  245. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/element_discovery.py +39 -39
  246. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/static_html_automation.py +32 -32
  247. package/docs/skill-candidates/v0.0.10/webapp-testing/scripts/with_server.py +105 -105
  248. package/docs/skill-candidates/v0.0.10/winui-app/LICENSE.txt +201 -201
  249. package/docs/skill-candidates/v0.0.10/winui-app/SKILL.md +94 -94
  250. package/docs/skill-candidates/v0.0.10/winui-app/agents/openai.yaml +5 -5
  251. package/docs/skill-candidates/v0.0.10/winui-app/config.yaml +50 -50
  252. package/docs/skill-candidates/v0.0.10/winui-app/references/_sections.md +96 -96
  253. package/docs/skill-candidates/v0.0.10/winui-app/references/accessibility-input-and-localization.md +51 -51
  254. package/docs/skill-candidates/v0.0.10/winui-app/references/build-run-and-launch-verification.md +72 -72
  255. package/docs/skill-candidates/v0.0.10/winui-app/references/community-toolkit-controls-and-helpers.md +57 -57
  256. package/docs/skill-candidates/v0.0.10/winui-app/references/controls-layout-and-adaptive-ui.md +84 -84
  257. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-environment-audit-and-remediation.md +82 -82
  258. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-setup-and-project-selection.md +67 -67
  259. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-template-first-recovery.md +62 -62
  260. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-winui-app-structure.md +62 -62
  261. package/docs/skill-candidates/v0.0.10/winui-app/references/motion-animations-and-polish.md +45 -45
  262. package/docs/skill-candidates/v0.0.10/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -46
  263. package/docs/skill-candidates/v0.0.10/winui-app/references/sample-source-map.md +37 -37
  264. package/docs/skill-candidates/v0.0.10/winui-app/references/shell-navigation-and-windowing.md +67 -67
  265. package/docs/skill-candidates/v0.0.10/winui-app/references/styling-theming-materials-and-icons.md +71 -71
  266. package/docs/skill-candidates/v0.0.10/winui-app/references/testing-debugging-and-review-checklists.md +77 -77
  267. package/docs/skill-candidates/v0.0.10/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -52
  268. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +398 -398
  269. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +330 -330
  270. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +871 -871
  271. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +501 -501
  272. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +766 -766
  273. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +501 -501
  274. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +500 -500
  275. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +405 -405
  276. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +363 -363
  277. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +427 -427
  278. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +417 -417
  279. package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -34
  280. package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -34
  281. package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -34
  282. package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -34
  283. package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -34
  284. package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -36
  285. package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -745
  286. package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -3
  287. package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -94
  288. package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -34
  289. package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -34
  290. package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -209
  291. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -103
  292. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -103
  293. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -103
  294. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -114
  295. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -114
  296. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -114
  297. package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -573
  298. package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -3
  299. package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -34
  300. package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -34
  301. package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -429
  302. package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +91 -91
  303. package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -383
  304. package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -335
  305. package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -203
  306. package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -34
  307. package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -34
  308. package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -34
  309. package/docs/skill-candidates/v0.0.12/context-compression-handoff/SKILL.md +47 -0
  310. package/docs/skill-candidates/v0.0.12/csharp-senior-master-engineering/SKILL.md +32 -32
  311. package/docs/skill-candidates/v0.0.12/css-senior-master-engineering/SKILL.md +32 -32
  312. package/docs/skill-candidates/v0.0.12/go-senior-master-engineering/SKILL.md +32 -32
  313. package/docs/skill-candidates/v0.0.12/html-senior-master-engineering/SKILL.md +32 -32
  314. package/docs/skill-candidates/v0.0.12/javascript-senior-master-engineering/SKILL.md +32 -32
  315. package/docs/skill-candidates/v0.0.12/json-senior-master-engineering/SKILL.md +32 -32
  316. package/docs/skill-candidates/v0.0.12/prompt-budget-gate/SKILL.md +46 -0
  317. package/docs/skill-candidates/v0.0.12/python-senior-master-engineering/SKILL.md +32 -32
  318. package/docs/skill-candidates/v0.0.12/react-senior-master-engineering/SKILL.md +32 -32
  319. package/docs/skill-candidates/v0.0.12/ruby-senior-master-engineering/SKILL.md +32 -32
  320. package/docs/skill-candidates/v0.0.12/senior-master-code-optimizer/SKILL.md +48 -48
  321. package/docs/skill-candidates/v0.0.12/sql-senior-master-engineering/SKILL.md +31 -31
  322. package/docs/skill-candidates/v0.0.12/token-economy-orchestrator/SKILL.md +38 -0
  323. package/docs/skill-candidates/v0.0.12/typescript-senior-master-engineering/SKILL.md +35 -35
  324. package/docs/skill-candidates/v0.0.9/ai-ethics-human-dignity/SKILL.md +32 -32
  325. package/docs/skill-candidates/v0.0.9/broad-domain-router/SKILL.md +41 -41
  326. package/docs/skill-candidates/v0.0.9/catholic-moral-discernment/SKILL.md +31 -31
  327. package/docs/skill-candidates/v0.0.9/engineering-systems-master/SKILL.md +31 -31
  328. package/docs/skill-candidates/v0.0.9/language-quality-pt-en-fr/SKILL.md +28 -28
  329. package/docs/skill-candidates/v0.0.9/math-science-reasoning/SKILL.md +29 -29
  330. package/docs/skill-candidates/v0.0.9/philosophy-sociology-discernment/SKILL.md +28 -28
  331. package/docs/skill-candidates/v0.0.9/professional-boundary-triage/SKILL.md +40 -40
  332. package/docs/skill-candidates/v0.0.9/release-ethics-gate/SKILL.md +32 -32
  333. package/docs/skill-candidates/v0.0.9/source-authority-reviewer/SKILL.md +31 -31
  334. package/examples/client-configs/claude-code.commands.md +21 -21
  335. package/examples/client-configs/claude-code.project.mcp.json +18 -18
  336. package/examples/client-configs/claude-desktop.macos.json +18 -18
  337. package/examples/client-configs/claude-desktop.windows.json +20 -20
  338. package/examples/client-configs/codex.windows.toml +11 -11
  339. package/examples/client-configs/gemini-code-assist.intellij.mcp.json +18 -18
  340. package/examples/client-configs/gemini.linux.settings.json +21 -21
  341. package/examples/client-configs/gemini.windows.settings.json +23 -23
  342. package/examples/client-configs/generic-stdio.json +16 -16
  343. package/manifests/channels/beta.json +24 -24
  344. package/manifests/channels/stable.json +25 -25
  345. package/network/approved-skills.json +54 -54
  346. package/network/unapproved-skill-candidates.json +110 -110
  347. package/package.json +89 -86
  348. package/scripts/configure-private-registry.mjs +208 -208
  349. package/scripts/lib/private-registry.mjs +97 -97
  350. package/scripts/render-menu-evidence.mjs +196 -130
  351. package/scripts/verify-menu-actions.mjs +112 -107
  352. package/scripts/verify-menu-visual.mjs +90 -0
  353. package/sources.json +11 -11
@@ -1,267 +1,267 @@
1
- ---
2
- name: "screenshot"
3
- description: "Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed."
4
- ---
5
-
6
-
7
- # Screenshot Capture
8
-
9
- Follow these save-location rules every time:
10
-
11
- 1) If the user specifies a path, save there.
12
- 2) If the user asks for a screenshot without a path, save to the OS default screenshot location.
13
- 3) If Codex needs a screenshot for its own inspection, save to the temp directory.
14
-
15
- ## Tool priority
16
-
17
- - Prefer tool-specific screenshot capabilities when available (for example: a Figma MCP/skill for Figma files, or Playwright/agent-browser tools for browsers and Electron apps).
18
- - Use this skill when explicitly asked, for whole-system desktop captures, or when a tool-specific capture cannot get what you need.
19
- - Otherwise, treat this skill as the default for desktop apps without a better-integrated capture tool.
20
-
21
- ## macOS permission preflight (reduce repeated prompts)
22
-
23
- On macOS, run the preflight helper once before window/app capture. It checks
24
- Screen Recording permission, explains why it is needed, and requests it in one
25
- place.
26
-
27
- The helpers route Swift's module cache to `$TMPDIR/codex-swift-module-cache`
28
- to avoid extra sandbox module-cache prompts.
29
-
30
- ```bash
31
- bash <path-to-skill>/scripts/ensure_macos_permissions.sh
32
- ```
33
-
34
- To avoid multiple sandbox approval prompts, combine preflight + capture in one
35
- command when possible:
36
-
37
- ```bash
38
- bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \
39
- python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"
40
- ```
41
-
42
- For Codex inspection runs, keep the output in temp:
43
-
44
- ```bash
45
- bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \
46
- python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp
47
- ```
48
-
49
- Use the bundled scripts to avoid re-deriving OS-specific commands.
50
-
51
- ## macOS and Linux (Python helper)
52
-
53
- Run the helper from the repo root:
54
-
55
- ```bash
56
- python3 <path-to-skill>/scripts/take_screenshot.py
57
- ```
58
-
59
- Common patterns:
60
-
61
- - Default location (user asked for "a screenshot"):
62
-
63
- ```bash
64
- python3 <path-to-skill>/scripts/take_screenshot.py
65
- ```
66
-
67
- - Temp location (Codex visual check):
68
-
69
- ```bash
70
- python3 <path-to-skill>/scripts/take_screenshot.py --mode temp
71
- ```
72
-
73
- - Explicit location (user provided a path or filename):
74
-
75
- ```bash
76
- python3 <path-to-skill>/scripts/take_screenshot.py --path output/screen.png
77
- ```
78
-
79
- - App/window capture by app name (macOS only; substring match is OK; captures all matching windows):
80
-
81
- ```bash
82
- python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"
83
- ```
84
-
85
- - Specific window title within an app (macOS only):
86
-
87
- ```bash
88
- python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex" --window-name "Settings"
89
- ```
90
-
91
- - List matching window ids before capturing (macOS only):
92
-
93
- ```bash
94
- python3 <path-to-skill>/scripts/take_screenshot.py --list-windows --app "Codex"
95
- ```
96
-
97
- - Pixel region (x,y,w,h):
98
-
99
- ```bash
100
- python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --region 100,200,800,600
101
- ```
102
-
103
- - Focused/active window (captures only the frontmost window; use `--app` to capture all windows):
104
-
105
- ```bash
106
- python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --active-window
107
- ```
108
-
109
- - Specific window id (use --list-windows on macOS to discover ids):
110
-
111
- ```bash
112
- python3 <path-to-skill>/scripts/take_screenshot.py --window-id 12345
113
- ```
114
-
115
- The script prints one path per capture. When multiple windows or displays match, it prints multiple paths (one per line) and adds suffixes like `-w<windowId>` or `-d<display>`. View each path sequentially with the image viewer tool, and only manipulate images if needed or requested.
116
-
117
- ### Workflow examples
118
-
119
- - "Take a look at <App> and tell me what you see": capture to temp, then view each printed path in order.
120
-
121
- ```bash
122
- bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \
123
- python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp
124
- ```
125
-
126
- - "The design from Figma is not matching what is implemented": use a Figma MCP/skill to capture the design first, then capture the running app with this skill (typically to temp) and compare the raw screenshots before any manipulation.
127
-
128
- ### Multi-display behavior
129
-
130
- - On macOS, full-screen captures save one file per display when multiple monitors are connected.
131
- - On Linux and Windows, full-screen captures use the virtual desktop (all monitors in one image); use `--region` to isolate a single display when needed.
132
-
133
- ### Linux prerequisites and selection logic
134
-
135
- The helper automatically selects the first available tool:
136
-
137
- 1) `scrot`
138
- 2) `gnome-screenshot`
139
- 3) ImageMagick `import`
140
-
141
- If none are available, ask the user to install one of them and retry.
142
-
143
- Coordinate regions require `scrot` or ImageMagick `import`.
144
-
145
- `--app`, `--window-name`, and `--list-windows` are macOS-only. On Linux, use
146
- `--active-window` or provide `--window-id` when available.
147
-
148
- ## Windows (PowerShell helper)
149
-
150
- Run the PowerShell helper:
151
-
152
- ```powershell
153
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1
154
- ```
155
-
156
- Common patterns:
157
-
158
- - Default location:
159
-
160
- ```powershell
161
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1
162
- ```
163
-
164
- - Temp location (Codex visual check):
165
-
166
- ```powershell
167
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp
168
- ```
169
-
170
- - Explicit path:
171
-
172
- ```powershell
173
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Path "C:\Temp\screen.png"
174
- ```
175
-
176
- - Pixel region (x,y,w,h):
177
-
178
- ```powershell
179
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -Region 100,200,800,600
180
- ```
181
-
182
- - Active window (ask the user to focus it first):
183
-
184
- ```powershell
185
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -ActiveWindow
186
- ```
187
-
188
- - Specific window handle (only when provided):
189
-
190
- ```powershell
191
- powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -WindowHandle 123456
192
- ```
193
-
194
- ## Direct OS commands (fallbacks)
195
-
196
- Use these when you cannot run the helpers.
197
-
198
- ### macOS
199
-
200
- - Full screen to a specific path:
201
-
202
- ```bash
203
- screencapture -x output/screen.png
204
- ```
205
-
206
- - Pixel region:
207
-
208
- ```bash
209
- screencapture -x -R100,200,800,600 output/region.png
210
- ```
211
-
212
- - Specific window id:
213
-
214
- ```bash
215
- screencapture -x -l12345 output/window.png
216
- ```
217
-
218
- - Interactive selection or window pick:
219
-
220
- ```bash
221
- screencapture -x -i output/interactive.png
222
- ```
223
-
224
- ### Linux
225
-
226
- - Full screen:
227
-
228
- ```bash
229
- scrot output/screen.png
230
- ```
231
-
232
- ```bash
233
- gnome-screenshot -f output/screen.png
234
- ```
235
-
236
- ```bash
237
- import -window root output/screen.png
238
- ```
239
-
240
- - Pixel region:
241
-
242
- ```bash
243
- scrot -a 100,200,800,600 output/region.png
244
- ```
245
-
246
- ```bash
247
- import -window root -crop 800x600+100+200 output/region.png
248
- ```
249
-
250
- - Active window:
251
-
252
- ```bash
253
- scrot -u output/window.png
254
- ```
255
-
256
- ```bash
257
- gnome-screenshot -w -f output/window.png
258
- ```
259
-
260
- ## Error handling
261
-
262
- - On macOS, run `bash <path-to-skill>/scripts/ensure_macos_permissions.sh` first to request Screen Recording in one place.
263
- - If you see "screen capture checks are blocked in the sandbox", "could not create image from display", or Swift `ModuleCache` permission errors in a sandboxed run, rerun the command with escalated permissions.
264
- - If macOS app/window capture returns no matches, run `--list-windows --app "AppName"` and retry with `--window-id`, and make sure the app is visible on screen.
265
- - If Linux region/window capture fails, check tool availability with `command -v scrot`, `command -v gnome-screenshot`, and `command -v import`.
266
- - If saving to the OS default location fails with permission errors in a sandbox, rerun the command with escalated permissions.
267
- - Always report the saved file path in the response.
1
+ ---
2
+ name: "screenshot"
3
+ description: "Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed."
4
+ ---
5
+
6
+
7
+ # Screenshot Capture
8
+
9
+ Follow these save-location rules every time:
10
+
11
+ 1) If the user specifies a path, save there.
12
+ 2) If the user asks for a screenshot without a path, save to the OS default screenshot location.
13
+ 3) If Codex needs a screenshot for its own inspection, save to the temp directory.
14
+
15
+ ## Tool priority
16
+
17
+ - Prefer tool-specific screenshot capabilities when available (for example: a Figma MCP/skill for Figma files, or Playwright/agent-browser tools for browsers and Electron apps).
18
+ - Use this skill when explicitly asked, for whole-system desktop captures, or when a tool-specific capture cannot get what you need.
19
+ - Otherwise, treat this skill as the default for desktop apps without a better-integrated capture tool.
20
+
21
+ ## macOS permission preflight (reduce repeated prompts)
22
+
23
+ On macOS, run the preflight helper once before window/app capture. It checks
24
+ Screen Recording permission, explains why it is needed, and requests it in one
25
+ place.
26
+
27
+ The helpers route Swift's module cache to `$TMPDIR/codex-swift-module-cache`
28
+ to avoid extra sandbox module-cache prompts.
29
+
30
+ ```bash
31
+ bash <path-to-skill>/scripts/ensure_macos_permissions.sh
32
+ ```
33
+
34
+ To avoid multiple sandbox approval prompts, combine preflight + capture in one
35
+ command when possible:
36
+
37
+ ```bash
38
+ bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \
39
+ python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"
40
+ ```
41
+
42
+ For Codex inspection runs, keep the output in temp:
43
+
44
+ ```bash
45
+ bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \
46
+ python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp
47
+ ```
48
+
49
+ Use the bundled scripts to avoid re-deriving OS-specific commands.
50
+
51
+ ## macOS and Linux (Python helper)
52
+
53
+ Run the helper from the repo root:
54
+
55
+ ```bash
56
+ python3 <path-to-skill>/scripts/take_screenshot.py
57
+ ```
58
+
59
+ Common patterns:
60
+
61
+ - Default location (user asked for "a screenshot"):
62
+
63
+ ```bash
64
+ python3 <path-to-skill>/scripts/take_screenshot.py
65
+ ```
66
+
67
+ - Temp location (Codex visual check):
68
+
69
+ ```bash
70
+ python3 <path-to-skill>/scripts/take_screenshot.py --mode temp
71
+ ```
72
+
73
+ - Explicit location (user provided a path or filename):
74
+
75
+ ```bash
76
+ python3 <path-to-skill>/scripts/take_screenshot.py --path output/screen.png
77
+ ```
78
+
79
+ - App/window capture by app name (macOS only; substring match is OK; captures all matching windows):
80
+
81
+ ```bash
82
+ python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"
83
+ ```
84
+
85
+ - Specific window title within an app (macOS only):
86
+
87
+ ```bash
88
+ python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex" --window-name "Settings"
89
+ ```
90
+
91
+ - List matching window ids before capturing (macOS only):
92
+
93
+ ```bash
94
+ python3 <path-to-skill>/scripts/take_screenshot.py --list-windows --app "Codex"
95
+ ```
96
+
97
+ - Pixel region (x,y,w,h):
98
+
99
+ ```bash
100
+ python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --region 100,200,800,600
101
+ ```
102
+
103
+ - Focused/active window (captures only the frontmost window; use `--app` to capture all windows):
104
+
105
+ ```bash
106
+ python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --active-window
107
+ ```
108
+
109
+ - Specific window id (use --list-windows on macOS to discover ids):
110
+
111
+ ```bash
112
+ python3 <path-to-skill>/scripts/take_screenshot.py --window-id 12345
113
+ ```
114
+
115
+ The script prints one path per capture. When multiple windows or displays match, it prints multiple paths (one per line) and adds suffixes like `-w<windowId>` or `-d<display>`. View each path sequentially with the image viewer tool, and only manipulate images if needed or requested.
116
+
117
+ ### Workflow examples
118
+
119
+ - "Take a look at <App> and tell me what you see": capture to temp, then view each printed path in order.
120
+
121
+ ```bash
122
+ bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \
123
+ python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp
124
+ ```
125
+
126
+ - "The design from Figma is not matching what is implemented": use a Figma MCP/skill to capture the design first, then capture the running app with this skill (typically to temp) and compare the raw screenshots before any manipulation.
127
+
128
+ ### Multi-display behavior
129
+
130
+ - On macOS, full-screen captures save one file per display when multiple monitors are connected.
131
+ - On Linux and Windows, full-screen captures use the virtual desktop (all monitors in one image); use `--region` to isolate a single display when needed.
132
+
133
+ ### Linux prerequisites and selection logic
134
+
135
+ The helper automatically selects the first available tool:
136
+
137
+ 1) `scrot`
138
+ 2) `gnome-screenshot`
139
+ 3) ImageMagick `import`
140
+
141
+ If none are available, ask the user to install one of them and retry.
142
+
143
+ Coordinate regions require `scrot` or ImageMagick `import`.
144
+
145
+ `--app`, `--window-name`, and `--list-windows` are macOS-only. On Linux, use
146
+ `--active-window` or provide `--window-id` when available.
147
+
148
+ ## Windows (PowerShell helper)
149
+
150
+ Run the PowerShell helper:
151
+
152
+ ```powershell
153
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1
154
+ ```
155
+
156
+ Common patterns:
157
+
158
+ - Default location:
159
+
160
+ ```powershell
161
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1
162
+ ```
163
+
164
+ - Temp location (Codex visual check):
165
+
166
+ ```powershell
167
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp
168
+ ```
169
+
170
+ - Explicit path:
171
+
172
+ ```powershell
173
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Path "C:\Temp\screen.png"
174
+ ```
175
+
176
+ - Pixel region (x,y,w,h):
177
+
178
+ ```powershell
179
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -Region 100,200,800,600
180
+ ```
181
+
182
+ - Active window (ask the user to focus it first):
183
+
184
+ ```powershell
185
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -ActiveWindow
186
+ ```
187
+
188
+ - Specific window handle (only when provided):
189
+
190
+ ```powershell
191
+ powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -WindowHandle 123456
192
+ ```
193
+
194
+ ## Direct OS commands (fallbacks)
195
+
196
+ Use these when you cannot run the helpers.
197
+
198
+ ### macOS
199
+
200
+ - Full screen to a specific path:
201
+
202
+ ```bash
203
+ screencapture -x output/screen.png
204
+ ```
205
+
206
+ - Pixel region:
207
+
208
+ ```bash
209
+ screencapture -x -R100,200,800,600 output/region.png
210
+ ```
211
+
212
+ - Specific window id:
213
+
214
+ ```bash
215
+ screencapture -x -l12345 output/window.png
216
+ ```
217
+
218
+ - Interactive selection or window pick:
219
+
220
+ ```bash
221
+ screencapture -x -i output/interactive.png
222
+ ```
223
+
224
+ ### Linux
225
+
226
+ - Full screen:
227
+
228
+ ```bash
229
+ scrot output/screen.png
230
+ ```
231
+
232
+ ```bash
233
+ gnome-screenshot -f output/screen.png
234
+ ```
235
+
236
+ ```bash
237
+ import -window root output/screen.png
238
+ ```
239
+
240
+ - Pixel region:
241
+
242
+ ```bash
243
+ scrot -a 100,200,800,600 output/region.png
244
+ ```
245
+
246
+ ```bash
247
+ import -window root -crop 800x600+100+200 output/region.png
248
+ ```
249
+
250
+ - Active window:
251
+
252
+ ```bash
253
+ scrot -u output/window.png
254
+ ```
255
+
256
+ ```bash
257
+ gnome-screenshot -w -f output/window.png
258
+ ```
259
+
260
+ ## Error handling
261
+
262
+ - On macOS, run `bash <path-to-skill>/scripts/ensure_macos_permissions.sh` first to request Screen Recording in one place.
263
+ - If you see "screen capture checks are blocked in the sandbox", "could not create image from display", or Swift `ModuleCache` permission errors in a sandboxed run, rerun the command with escalated permissions.
264
+ - If macOS app/window capture returns no matches, run `--list-windows --app "AppName"` and retry with `--window-id`, and make sure the app is visible on screen.
265
+ - If Linux region/window capture fails, check tool availability with `command -v scrot`, `command -v gnome-screenshot`, and `command -v import`.
266
+ - If saving to the OS default location fails with permission errors in a sandbox, rerun the command with escalated permissions.
267
+ - Always report the saved file path in the response.
@@ -1,6 +1,6 @@
1
- interface:
2
- display_name: "Screenshot Capture"
3
- short_description: "Capture screenshots"
4
- icon_small: "./assets/screenshot-small.svg"
5
- icon_large: "./assets/screenshot.png"
6
- default_prompt: "Capture the right screenshot for this task (target, area, and output path)."
1
+ interface:
2
+ display_name: "Screenshot Capture"
3
+ short_description: "Capture screenshots"
4
+ icon_small: "./assets/screenshot-small.svg"
5
+ icon_large: "./assets/screenshot.png"
6
+ default_prompt: "Capture the right screenshot for this task (target, area, and output path)."
@@ -1,5 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
2
- <path fill="currentColor" d="M2.666 10.134c.294 0 .532.239.532.532v.667c0 .81.658 1.468 1.468 1.468h.667l.108.01a.533.533 0 0 1 0 1.043l-.108.01h-.667a2.532 2.532 0 0 1-2.532-2.531v-.667c0-.293.239-.532.532-.532Zm10.667 0c.293 0 .532.239.532.532v.667a2.532 2.532 0 0 1-2.532 2.532h-.667a.532.532 0 0 1 0-1.064h.667c.81 0 1.468-.657 1.468-1.468v-.667c0-.293.238-.531.532-.532Z"/>
3
- <path fill="currentColor" fill-rule="evenodd" d="M8 5.468a2.532 2.532 0 1 1 0 5.064 2.532 2.532 0 0 1 0-5.064Zm0 1.064a1.468 1.468 0 1 0 0 2.936 1.468 1.468 0 0 0 0-2.936Z" clip-rule="evenodd"/>
4
- <path fill="currentColor" d="M5.44 2.145a.532.532 0 0 1 0 1.043l-.107.01h-.667a1.47 1.47 0 0 0-1.468 1.468v.667a.532.532 0 0 1-1.064 0v-.667a2.532 2.532 0 0 1 2.532-2.532h.667l.108.011Zm5.893-.011a2.532 2.532 0 0 1 2.532 2.532v.667a.532.532 0 0 1-1.064 0v-.667c0-.81-.658-1.468-1.468-1.468h-.667a.532.532 0 0 1 0-1.064h.667Z"/>
5
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
2
+ <path fill="currentColor" d="M2.666 10.134c.294 0 .532.239.532.532v.667c0 .81.658 1.468 1.468 1.468h.667l.108.01a.533.533 0 0 1 0 1.043l-.108.01h-.667a2.532 2.532 0 0 1-2.532-2.531v-.667c0-.293.239-.532.532-.532Zm10.667 0c.293 0 .532.239.532.532v.667a2.532 2.532 0 0 1-2.532 2.532h-.667a.532.532 0 0 1 0-1.064h.667c.81 0 1.468-.657 1.468-1.468v-.667c0-.293.238-.531.532-.532Z"/>
3
+ <path fill="currentColor" fill-rule="evenodd" d="M8 5.468a2.532 2.532 0 1 1 0 5.064 2.532 2.532 0 0 1 0-5.064Zm0 1.064a1.468 1.468 0 1 0 0 2.936 1.468 1.468 0 0 0 0-2.936Z" clip-rule="evenodd"/>
4
+ <path fill="currentColor" d="M5.44 2.145a.532.532 0 0 1 0 1.043l-.107.01h-.667a1.47 1.47 0 0 0-1.468 1.468v.667a.532.532 0 0 1-1.064 0v-.667a2.532 2.532 0 0 1 2.532-2.532h.667l.108.011Zm5.893-.011a2.532 2.532 0 0 1 2.532 2.532v.667a.532.532 0 0 1-1.064 0v-.667c0-.81-.658-1.468-1.468-1.468h-.667a.532.532 0 0 1 0-1.064h.667Z"/>
5
+ </svg>
@@ -1,54 +1,54 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- if [[ "$(uname)" != "Darwin" ]]; then
5
- echo "ensure_macos_permissions.sh only supports macOS" >&2
6
- exit 1
7
- fi
8
-
9
- if ! command -v swift >/dev/null 2>&1; then
10
- echo "swift is required to check macOS screen capture permissions" >&2
11
- exit 1
12
- fi
13
-
14
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
15
- PERM_SWIFT="$SCRIPT_DIR/macos_permissions.swift"
16
- MODULE_CACHE="${TMPDIR:-/tmp}/codex-swift-module-cache"
17
- mkdir -p "$MODULE_CACHE"
18
-
19
- screen_capture_status() {
20
- local json
21
- json="$(swift -module-cache-path "$MODULE_CACHE" "$PERM_SWIFT" "$@")"
22
- python3 -c 'import json, sys; data=json.loads(sys.argv[1]); print("1" if data.get("screenCapture") else "0")' "$json"
23
- }
24
-
25
- if [[ -n "${CODEX_SANDBOX:-}" ]]; then
26
- echo "Screen capture checks are blocked in the sandbox; rerun with escalated permissions." >&2
27
- exit 3
28
- fi
29
-
30
- if [[ "$(screen_capture_status)" == "1" ]]; then
31
- echo "Screen Recording permission already granted."
32
- exit 0
33
- fi
34
-
35
- cat <<'MSG'
36
- This workflow needs macOS Screen Recording permission to capture screenshots.
37
- macOS will show a single system prompt for Screen Recording. Approve it, then
38
- return here. If macOS opens System Settings instead of prompting, enable Screen
39
- Recording for your terminal and rerun the command.
40
- MSG
41
-
42
- # Request permission once after explaining why it is needed.
43
- screen_capture_status --request >/dev/null || true
44
-
45
- if [[ "$(screen_capture_status)" != "1" ]]; then
46
- cat <<'MSG'
47
- Screen Recording is still not granted.
48
- Open System Settings > Privacy & Security > Screen Recording and enable it for
49
- your terminal (and Codex if needed), then rerun your screenshot command.
50
- MSG
51
- exit 2
52
- fi
53
-
54
- echo "Screen Recording permission granted."
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ if [[ "$(uname)" != "Darwin" ]]; then
5
+ echo "ensure_macos_permissions.sh only supports macOS" >&2
6
+ exit 1
7
+ fi
8
+
9
+ if ! command -v swift >/dev/null 2>&1; then
10
+ echo "swift is required to check macOS screen capture permissions" >&2
11
+ exit 1
12
+ fi
13
+
14
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
15
+ PERM_SWIFT="$SCRIPT_DIR/macos_permissions.swift"
16
+ MODULE_CACHE="${TMPDIR:-/tmp}/codex-swift-module-cache"
17
+ mkdir -p "$MODULE_CACHE"
18
+
19
+ screen_capture_status() {
20
+ local json
21
+ json="$(swift -module-cache-path "$MODULE_CACHE" "$PERM_SWIFT" "$@")"
22
+ python3 -c 'import json, sys; data=json.loads(sys.argv[1]); print("1" if data.get("screenCapture") else "0")' "$json"
23
+ }
24
+
25
+ if [[ -n "${CODEX_SANDBOX:-}" ]]; then
26
+ echo "Screen capture checks are blocked in the sandbox; rerun with escalated permissions." >&2
27
+ exit 3
28
+ fi
29
+
30
+ if [[ "$(screen_capture_status)" == "1" ]]; then
31
+ echo "Screen Recording permission already granted."
32
+ exit 0
33
+ fi
34
+
35
+ cat <<'MSG'
36
+ This workflow needs macOS Screen Recording permission to capture screenshots.
37
+ macOS will show a single system prompt for Screen Recording. Approve it, then
38
+ return here. If macOS opens System Settings instead of prompting, enable Screen
39
+ Recording for your terminal and rerun the command.
40
+ MSG
41
+
42
+ # Request permission once after explaining why it is needed.
43
+ screen_capture_status --request >/dev/null || true
44
+
45
+ if [[ "$(screen_capture_status)" != "1" ]]; then
46
+ cat <<'MSG'
47
+ Screen Recording is still not granted.
48
+ Open System Settings > Privacy & Security > Screen Recording and enable it for
49
+ your terminal (and Codex if needed), then rerun your screenshot command.
50
+ MSG
51
+ exit 2
52
+ fi
53
+
54
+ echo "Screen Recording permission granted."