@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,147 +1,147 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require("node:fs/promises");
4
- const path = require("node:path");
5
-
6
- const DEFAULT_URL =
7
- "https://developers.openai.com/api/docs/guides/latest-model.md";
8
- const DEFAULT_BASE_URL = "https://developers.openai.com";
9
-
10
- function parseArgs(argv) {
11
- const args = {
12
- source: process.env.LATEST_MODEL_URL || DEFAULT_URL,
13
- baseUrl: process.env.LATEST_MODEL_BASE_URL || DEFAULT_BASE_URL,
14
- };
15
-
16
- for (let i = 2; i < argv.length; i += 1) {
17
- const arg = argv[i];
18
- if (arg === "--source" || arg === "--url") {
19
- args.source = argv[i + 1];
20
- i += 1;
21
- } else if (arg === "--base-url") {
22
- args.baseUrl = argv[i + 1];
23
- i += 1;
24
- }
25
- }
26
-
27
- return args;
28
- }
29
-
30
- async function readSource(source) {
31
- if (source.startsWith("file://")) {
32
- return fs.readFile(new URL(source), "utf8");
33
- }
34
-
35
- if (!/^https?:\/\//.test(source)) {
36
- return fs.readFile(path.resolve(source), "utf8");
37
- }
38
-
39
- const response = await fetch(source, {
40
- headers: { accept: "text/markdown,text/plain,*/*" },
41
- });
42
-
43
- if (!response.ok) {
44
- throw new Error(`failed to fetch ${source}: ${response.status}`);
45
- }
46
-
47
- return response.text();
48
- }
49
-
50
- function parseIndentedInfo(lines, startIndex) {
51
- const info = {};
52
-
53
- for (let i = startIndex + 1; i < lines.length; i += 1) {
54
- const line = lines[i];
55
- if (!line.trim()) {
56
- continue;
57
- }
58
-
59
- const match = line.match(/^ {2}([A-Za-z][A-Za-z0-9_-]*):\s*(.+?)\s*$/);
60
- if (!match) {
61
- break;
62
- }
63
-
64
- info[match[1]] = match[2].replace(/^["']|["']$/g, "");
65
- }
66
-
67
- return info;
68
- }
69
-
70
- function parseFlatInfo(block) {
71
- const info = {};
72
-
73
- for (const line of block.split(/\r?\n/)) {
74
- const match = line.match(/^\s*([A-Za-z][A-Za-z0-9_-]*):\s*(.+?)\s*$/);
75
- if (match) {
76
- info[match[1]] = match[2].replace(/^["']|["']$/g, "");
77
- }
78
- }
79
-
80
- return info;
81
- }
82
-
83
- function extractLatestModelInfo(markdown) {
84
- const lines = markdown.split(/\r?\n/);
85
- const latestModelInfoIndex = lines.findIndex((line) =>
86
- /^latestModelInfo:\s*$/.test(line)
87
- );
88
-
89
- if (latestModelInfoIndex >= 0) {
90
- return parseIndentedInfo(lines, latestModelInfoIndex);
91
- }
92
-
93
- const commentMatch = markdown.match(
94
- /<!--\s*latestModelInfo\s*\n([\s\S]*?)\n\s*-->/m
95
- );
96
- if (commentMatch) {
97
- return parseFlatInfo(commentMatch[1]);
98
- }
99
-
100
- return undefined;
101
- }
102
-
103
- function modelToSkillSlug(model) {
104
- return model.trim().replace(/\./g, "p");
105
- }
106
-
107
- function absoluteUrl(baseUrl, value) {
108
- return new URL(value, baseUrl).toString();
109
- }
110
-
111
- function normalizeInfo(info, baseUrl) {
112
- const model = info?.model?.trim();
113
- const migrationGuide = info?.migrationGuide?.trim();
114
- const promptingGuide = info?.promptingGuide?.trim();
115
-
116
- if (!model || !migrationGuide || !promptingGuide) {
117
- throw new Error(
118
- "latestModelInfo must include model, migrationGuide, and promptingGuide"
119
- );
120
- }
121
-
122
- return {
123
- model,
124
- modelSlug: modelToSkillSlug(model),
125
- migrationGuideUrl: absoluteUrl(baseUrl, migrationGuide),
126
- promptingGuideUrl: absoluteUrl(baseUrl, promptingGuide),
127
- };
128
- }
129
-
130
- async function main() {
131
- const { source, baseUrl } = parseArgs(process.argv);
132
- const markdown = await readSource(source);
133
- const info = extractLatestModelInfo(markdown);
134
-
135
- if (!info) {
136
- throw new Error(`latestModelInfo block not found in ${source}`);
137
- }
138
-
139
- process.stdout.write(
140
- `${JSON.stringify(normalizeInfo(info, baseUrl), null, 2)}\n`
141
- );
142
- }
143
-
144
- main().catch((error) => {
145
- console.error(error.message);
146
- process.exit(1);
147
- });
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("node:fs/promises");
4
+ const path = require("node:path");
5
+
6
+ const DEFAULT_URL =
7
+ "https://developers.openai.com/api/docs/guides/latest-model.md";
8
+ const DEFAULT_BASE_URL = "https://developers.openai.com";
9
+
10
+ function parseArgs(argv) {
11
+ const args = {
12
+ source: process.env.LATEST_MODEL_URL || DEFAULT_URL,
13
+ baseUrl: process.env.LATEST_MODEL_BASE_URL || DEFAULT_BASE_URL,
14
+ };
15
+
16
+ for (let i = 2; i < argv.length; i += 1) {
17
+ const arg = argv[i];
18
+ if (arg === "--source" || arg === "--url") {
19
+ args.source = argv[i + 1];
20
+ i += 1;
21
+ } else if (arg === "--base-url") {
22
+ args.baseUrl = argv[i + 1];
23
+ i += 1;
24
+ }
25
+ }
26
+
27
+ return args;
28
+ }
29
+
30
+ async function readSource(source) {
31
+ if (source.startsWith("file://")) {
32
+ return fs.readFile(new URL(source), "utf8");
33
+ }
34
+
35
+ if (!/^https?:\/\//.test(source)) {
36
+ return fs.readFile(path.resolve(source), "utf8");
37
+ }
38
+
39
+ const response = await fetch(source, {
40
+ headers: { accept: "text/markdown,text/plain,*/*" },
41
+ });
42
+
43
+ if (!response.ok) {
44
+ throw new Error(`failed to fetch ${source}: ${response.status}`);
45
+ }
46
+
47
+ return response.text();
48
+ }
49
+
50
+ function parseIndentedInfo(lines, startIndex) {
51
+ const info = {};
52
+
53
+ for (let i = startIndex + 1; i < lines.length; i += 1) {
54
+ const line = lines[i];
55
+ if (!line.trim()) {
56
+ continue;
57
+ }
58
+
59
+ const match = line.match(/^ {2}([A-Za-z][A-Za-z0-9_-]*):\s*(.+?)\s*$/);
60
+ if (!match) {
61
+ break;
62
+ }
63
+
64
+ info[match[1]] = match[2].replace(/^["']|["']$/g, "");
65
+ }
66
+
67
+ return info;
68
+ }
69
+
70
+ function parseFlatInfo(block) {
71
+ const info = {};
72
+
73
+ for (const line of block.split(/\r?\n/)) {
74
+ const match = line.match(/^\s*([A-Za-z][A-Za-z0-9_-]*):\s*(.+?)\s*$/);
75
+ if (match) {
76
+ info[match[1]] = match[2].replace(/^["']|["']$/g, "");
77
+ }
78
+ }
79
+
80
+ return info;
81
+ }
82
+
83
+ function extractLatestModelInfo(markdown) {
84
+ const lines = markdown.split(/\r?\n/);
85
+ const latestModelInfoIndex = lines.findIndex((line) =>
86
+ /^latestModelInfo:\s*$/.test(line)
87
+ );
88
+
89
+ if (latestModelInfoIndex >= 0) {
90
+ return parseIndentedInfo(lines, latestModelInfoIndex);
91
+ }
92
+
93
+ const commentMatch = markdown.match(
94
+ /<!--\s*latestModelInfo\s*\n([\s\S]*?)\n\s*-->/m
95
+ );
96
+ if (commentMatch) {
97
+ return parseFlatInfo(commentMatch[1]);
98
+ }
99
+
100
+ return undefined;
101
+ }
102
+
103
+ function modelToSkillSlug(model) {
104
+ return model.trim().replace(/\./g, "p");
105
+ }
106
+
107
+ function absoluteUrl(baseUrl, value) {
108
+ return new URL(value, baseUrl).toString();
109
+ }
110
+
111
+ function normalizeInfo(info, baseUrl) {
112
+ const model = info?.model?.trim();
113
+ const migrationGuide = info?.migrationGuide?.trim();
114
+ const promptingGuide = info?.promptingGuide?.trim();
115
+
116
+ if (!model || !migrationGuide || !promptingGuide) {
117
+ throw new Error(
118
+ "latestModelInfo must include model, migrationGuide, and promptingGuide"
119
+ );
120
+ }
121
+
122
+ return {
123
+ model,
124
+ modelSlug: modelToSkillSlug(model),
125
+ migrationGuideUrl: absoluteUrl(baseUrl, migrationGuide),
126
+ promptingGuideUrl: absoluteUrl(baseUrl, promptingGuide),
127
+ };
128
+ }
129
+
130
+ async function main() {
131
+ const { source, baseUrl } = parseArgs(process.argv);
132
+ const markdown = await readSource(source);
133
+ const info = extractLatestModelInfo(markdown);
134
+
135
+ if (!info) {
136
+ throw new Error(`latestModelInfo block not found in ${source}`);
137
+ }
138
+
139
+ process.stdout.write(
140
+ `${JSON.stringify(normalizeInfo(info, baseUrl), null, 2)}\n`
141
+ );
142
+ }
143
+
144
+ main().catch((error) => {
145
+ console.error(error.message);
146
+ process.exit(1);
147
+ });
@@ -1,14 +1,14 @@
1
- This skill includes material derived from the Microsoft playwright-cli repository.
2
-
3
- Source:
4
- - Repository: microsoft/playwright-cli
5
- - Path: skills/playwright-cli/SKILL.md
6
-
7
- Copyright (c) Microsoft Corporation.
8
-
9
- Licensed under the Apache License, Version 2.0.
10
- See LICENSE.txt in this directory.
11
-
12
- Modifications:
13
- - Adapted for the Codex skill collection.
14
- - Added a wrapper script and local reference guides.
1
+ This skill includes material derived from the Microsoft playwright-cli repository.
2
+
3
+ Source:
4
+ - Repository: microsoft/playwright-cli
5
+ - Path: skills/playwright-cli/SKILL.md
6
+
7
+ Copyright (c) Microsoft Corporation.
8
+
9
+ Licensed under the Apache License, Version 2.0.
10
+ See LICENSE.txt in this directory.
11
+
12
+ Modifications:
13
+ - Adapted for the Codex skill collection.
14
+ - Added a wrapper script and local reference guides.
@@ -1,147 +1,147 @@
1
- ---
2
- name: "playwright"
3
- description: "Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script."
4
- ---
5
-
6
-
7
- # Playwright CLI Skill
8
-
9
- Drive a real browser from the terminal using `playwright-cli`. Prefer the bundled wrapper script so the CLI works even when it is not globally installed.
10
- Treat this skill as CLI-first automation. Do not pivot to `@playwright/test` unless the user explicitly asks for test files.
11
-
12
- ## Prerequisite check (required)
13
-
14
- Before proposing commands, check whether `npx` is available (the wrapper depends on it):
15
-
16
- ```bash
17
- command -v npx >/dev/null 2>&1
18
- ```
19
-
20
- If it is not available, pause and ask the user to install Node.js/npm (which provides `npx`). Provide these steps verbatim:
21
-
22
- ```bash
23
- # Verify Node/npm are installed
24
- node --version
25
- npm --version
26
-
27
- # If missing, install Node.js/npm, then:
28
- npm install -g @playwright/cli@latest
29
- playwright-cli --help
30
- ```
31
-
32
- Once `npx` is present, proceed with the wrapper script. A global install of `playwright-cli` is optional.
33
-
34
- ## Skill path (set once)
35
-
36
- ```bash
37
- export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
38
- export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
39
- ```
40
-
41
- User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
42
-
43
- ## Quick start
44
-
45
- Use the wrapper script:
46
-
47
- ```bash
48
- "$PWCLI" open https://playwright.dev --headed
49
- "$PWCLI" snapshot
50
- "$PWCLI" click e15
51
- "$PWCLI" type "Playwright"
52
- "$PWCLI" press Enter
53
- "$PWCLI" screenshot
54
- ```
55
-
56
- If the user prefers a global install, this is also valid:
57
-
58
- ```bash
59
- npm install -g @playwright/cli@latest
60
- playwright-cli --help
61
- ```
62
-
63
- ## Core workflow
64
-
65
- 1. Open the page.
66
- 2. Snapshot to get stable element refs.
67
- 3. Interact using refs from the latest snapshot.
68
- 4. Re-snapshot after navigation or significant DOM changes.
69
- 5. Capture artifacts (screenshot, pdf, traces) when useful.
70
-
71
- Minimal loop:
72
-
73
- ```bash
74
- "$PWCLI" open https://example.com
75
- "$PWCLI" snapshot
76
- "$PWCLI" click e3
77
- "$PWCLI" snapshot
78
- ```
79
-
80
- ## When to snapshot again
81
-
82
- Snapshot again after:
83
-
84
- - navigation
85
- - clicking elements that change the UI substantially
86
- - opening/closing modals or menus
87
- - tab switches
88
-
89
- Refs can go stale. When a command fails due to a missing ref, snapshot again.
90
-
91
- ## Recommended patterns
92
-
93
- ### Form fill and submit
94
-
95
- ```bash
96
- "$PWCLI" open https://example.com/form
97
- "$PWCLI" snapshot
98
- "$PWCLI" fill e1 "user@example.com"
99
- "$PWCLI" fill e2 "password123"
100
- "$PWCLI" click e3
101
- "$PWCLI" snapshot
102
- ```
103
-
104
- ### Debug a UI flow with traces
105
-
106
- ```bash
107
- "$PWCLI" open https://example.com --headed
108
- "$PWCLI" tracing-start
109
- # ...interactions...
110
- "$PWCLI" tracing-stop
111
- ```
112
-
113
- ### Multi-tab work
114
-
115
- ```bash
116
- "$PWCLI" tab-new https://example.com
117
- "$PWCLI" tab-list
118
- "$PWCLI" tab-select 0
119
- "$PWCLI" snapshot
120
- ```
121
-
122
- ## Wrapper script
123
-
124
- The wrapper script uses `npx --package @playwright/cli playwright-cli` so the CLI can run without a global install:
125
-
126
- ```bash
127
- "$PWCLI" --help
128
- ```
129
-
130
- Prefer the wrapper unless the repository already standardizes on a global install.
131
-
132
- ## References
133
-
134
- Open only what you need:
135
-
136
- - CLI command reference: `references/cli.md`
137
- - Practical workflows and troubleshooting: `references/workflows.md`
138
-
139
- ## Guardrails
140
-
141
- - Always snapshot before referencing element ids like `e12`.
142
- - Re-snapshot when refs seem stale.
143
- - Prefer explicit commands over `eval` and `run-code` unless needed.
144
- - When you do not have a fresh snapshot, use placeholder refs like `eX` and say why; do not bypass refs with `run-code`.
145
- - Use `--headed` when a visual check will help.
146
- - When capturing artifacts in this repo, use `output/playwright/` and avoid introducing new top-level artifact folders.
147
- - Default to CLI commands and workflows, not Playwright test specs.
1
+ ---
2
+ name: "playwright"
3
+ description: "Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script."
4
+ ---
5
+
6
+
7
+ # Playwright CLI Skill
8
+
9
+ Drive a real browser from the terminal using `playwright-cli`. Prefer the bundled wrapper script so the CLI works even when it is not globally installed.
10
+ Treat this skill as CLI-first automation. Do not pivot to `@playwright/test` unless the user explicitly asks for test files.
11
+
12
+ ## Prerequisite check (required)
13
+
14
+ Before proposing commands, check whether `npx` is available (the wrapper depends on it):
15
+
16
+ ```bash
17
+ command -v npx >/dev/null 2>&1
18
+ ```
19
+
20
+ If it is not available, pause and ask the user to install Node.js/npm (which provides `npx`). Provide these steps verbatim:
21
+
22
+ ```bash
23
+ # Verify Node/npm are installed
24
+ node --version
25
+ npm --version
26
+
27
+ # If missing, install Node.js/npm, then:
28
+ npm install -g @playwright/cli@latest
29
+ playwright-cli --help
30
+ ```
31
+
32
+ Once `npx` is present, proceed with the wrapper script. A global install of `playwright-cli` is optional.
33
+
34
+ ## Skill path (set once)
35
+
36
+ ```bash
37
+ export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
38
+ export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
39
+ ```
40
+
41
+ User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
42
+
43
+ ## Quick start
44
+
45
+ Use the wrapper script:
46
+
47
+ ```bash
48
+ "$PWCLI" open https://playwright.dev --headed
49
+ "$PWCLI" snapshot
50
+ "$PWCLI" click e15
51
+ "$PWCLI" type "Playwright"
52
+ "$PWCLI" press Enter
53
+ "$PWCLI" screenshot
54
+ ```
55
+
56
+ If the user prefers a global install, this is also valid:
57
+
58
+ ```bash
59
+ npm install -g @playwright/cli@latest
60
+ playwright-cli --help
61
+ ```
62
+
63
+ ## Core workflow
64
+
65
+ 1. Open the page.
66
+ 2. Snapshot to get stable element refs.
67
+ 3. Interact using refs from the latest snapshot.
68
+ 4. Re-snapshot after navigation or significant DOM changes.
69
+ 5. Capture artifacts (screenshot, pdf, traces) when useful.
70
+
71
+ Minimal loop:
72
+
73
+ ```bash
74
+ "$PWCLI" open https://example.com
75
+ "$PWCLI" snapshot
76
+ "$PWCLI" click e3
77
+ "$PWCLI" snapshot
78
+ ```
79
+
80
+ ## When to snapshot again
81
+
82
+ Snapshot again after:
83
+
84
+ - navigation
85
+ - clicking elements that change the UI substantially
86
+ - opening/closing modals or menus
87
+ - tab switches
88
+
89
+ Refs can go stale. When a command fails due to a missing ref, snapshot again.
90
+
91
+ ## Recommended patterns
92
+
93
+ ### Form fill and submit
94
+
95
+ ```bash
96
+ "$PWCLI" open https://example.com/form
97
+ "$PWCLI" snapshot
98
+ "$PWCLI" fill e1 "user@example.com"
99
+ "$PWCLI" fill e2 "password123"
100
+ "$PWCLI" click e3
101
+ "$PWCLI" snapshot
102
+ ```
103
+
104
+ ### Debug a UI flow with traces
105
+
106
+ ```bash
107
+ "$PWCLI" open https://example.com --headed
108
+ "$PWCLI" tracing-start
109
+ # ...interactions...
110
+ "$PWCLI" tracing-stop
111
+ ```
112
+
113
+ ### Multi-tab work
114
+
115
+ ```bash
116
+ "$PWCLI" tab-new https://example.com
117
+ "$PWCLI" tab-list
118
+ "$PWCLI" tab-select 0
119
+ "$PWCLI" snapshot
120
+ ```
121
+
122
+ ## Wrapper script
123
+
124
+ The wrapper script uses `npx --package @playwright/cli playwright-cli` so the CLI can run without a global install:
125
+
126
+ ```bash
127
+ "$PWCLI" --help
128
+ ```
129
+
130
+ Prefer the wrapper unless the repository already standardizes on a global install.
131
+
132
+ ## References
133
+
134
+ Open only what you need:
135
+
136
+ - CLI command reference: `references/cli.md`
137
+ - Practical workflows and troubleshooting: `references/workflows.md`
138
+
139
+ ## Guardrails
140
+
141
+ - Always snapshot before referencing element ids like `e12`.
142
+ - Re-snapshot when refs seem stale.
143
+ - Prefer explicit commands over `eval` and `run-code` unless needed.
144
+ - When you do not have a fresh snapshot, use placeholder refs like `eX` and say why; do not bypass refs with `run-code`.
145
+ - Use `--headed` when a visual check will help.
146
+ - When capturing artifacts in this repo, use `output/playwright/` and avoid introducing new top-level artifact folders.
147
+ - Default to CLI commands and workflows, not Playwright test specs.
@@ -1,6 +1,6 @@
1
- interface:
2
- display_name: "Playwright CLI Skill"
3
- short_description: "Automate real browsers from the terminal"
4
- icon_small: "./assets/playwright-small.svg"
5
- icon_large: "./assets/playwright.png"
6
- default_prompt: "Automate this browser workflow with Playwright and produce a reliable script with run steps."
1
+ interface:
2
+ display_name: "Playwright CLI Skill"
3
+ short_description: "Automate real browsers from the terminal"
4
+ icon_small: "./assets/playwright-small.svg"
5
+ icon_large: "./assets/playwright.png"
6
+ default_prompt: "Automate this browser workflow with Playwright and produce a reliable script with run steps."
@@ -1,3 +1,3 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
2
- <path d="m8.55 7.568.124.028 5.16 1.548.137.054c.606.294.645 1.165.068 1.512l-.133.066-2.236.894-.894 2.236c-.285.713-1.263.714-1.578.065l-.054-.138-1.548-5.16a.866.866 0 0 1 .954-1.105ZM10 12.983l.715-1.787.037-.08a.865.865 0 0 1 .445-.402L12.983 10 8.721 8.72l1.278 4.262ZM4.723 10.38a.532.532 0 0 1 .752.752l-1.414 1.414a.532.532 0 1 1-.752-.752l1.414-1.414ZM2.27 5.86l1.932.517.1.039a.533.533 0 0 1-.269 1.007l-.106-.018-1.932-.517-.101-.039a.532.532 0 0 1 .27-1.006l.106.017Zm9.608-2.62a.532.532 0 0 1 .668.82l-1.414 1.414a.532.532 0 1 1-.752-.752l1.414-1.414.084-.068ZM6.237 1.618a.532.532 0 0 1 .652.377l.518 1.932.017.106a.533.533 0 0 1-1.007.27l-.039-.101-.517-1.932-.017-.106a.532.532 0 0 1 .393-.546Z"/>
3
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
2
+ <path d="m8.55 7.568.124.028 5.16 1.548.137.054c.606.294.645 1.165.068 1.512l-.133.066-2.236.894-.894 2.236c-.285.713-1.263.714-1.578.065l-.054-.138-1.548-5.16a.866.866 0 0 1 .954-1.105ZM10 12.983l.715-1.787.037-.08a.865.865 0 0 1 .445-.402L12.983 10 8.721 8.72l1.278 4.262ZM4.723 10.38a.532.532 0 0 1 .752.752l-1.414 1.414a.532.532 0 1 1-.752-.752l1.414-1.414ZM2.27 5.86l1.932.517.1.039a.533.533 0 0 1-.269 1.007l-.106-.018-1.932-.517-.101-.039a.532.532 0 0 1 .27-1.006l.106.017Zm9.608-2.62a.532.532 0 0 1 .668.82l-1.414 1.414a.532.532 0 1 1-.752-.752l1.414-1.414.084-.068ZM6.237 1.618a.532.532 0 0 1 .652.377l.518 1.932.017.106a.533.533 0 0 1-1.007.27l-.039-.101-.517-1.932-.017-.106a.532.532 0 0 1 .393-.546Z"/>
3
+ </svg>