@fprad0/skill-master-mcp 0.0.9 → 0.0.11

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 (240) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +43 -9
  3. package/VERSION.md +3 -3
  4. package/bin/lib/client-config.mjs +268 -0
  5. package/bin/lib/menu-core.mjs +678 -33
  6. package/bin/skill-master-bootstrap-global.mjs +15 -1
  7. package/bin/skill-master-doctor.mjs +181 -0
  8. package/bin/skill-master-install-global-skills.mjs +30 -10
  9. package/bin/skill-master-menu.mjs +184 -36
  10. package/bin/skill-master-register-clients.mjs +43 -99
  11. package/dist/index.js +30 -5
  12. package/dist/index.js.map +1 -1
  13. package/docs/operations/GUIA_MULTI_COMPUTADOR.md +255 -0
  14. package/docs/operations/GUIA_NPM_PUBLICO.md +147 -0
  15. package/docs/skill-candidates/v0.0.10/cli-creator/LICENSE.txt +201 -0
  16. package/docs/skill-candidates/v0.0.10/cli-creator/SKILL.md +160 -0
  17. package/docs/skill-candidates/v0.0.10/cli-creator/agents/openai.yaml +4 -0
  18. package/docs/skill-candidates/v0.0.10/cli-creator/references/agent-cli-patterns.md +154 -0
  19. package/docs/skill-candidates/v0.0.10/developer-workstation-ops/SKILL.md +32 -0
  20. package/docs/skill-candidates/v0.0.10/figma/LICENSE.txt +2 -0
  21. package/docs/skill-candidates/v0.0.10/figma/SKILL.md +42 -0
  22. package/docs/skill-candidates/v0.0.10/figma/agents/openai.yaml +14 -0
  23. package/docs/skill-candidates/v0.0.10/figma/assets/figma-small.svg +3 -0
  24. package/docs/skill-candidates/v0.0.10/figma/assets/figma.png +0 -0
  25. package/docs/skill-candidates/v0.0.10/figma/assets/icon.svg +28 -0
  26. package/docs/skill-candidates/v0.0.10/figma/references/figma-mcp-config.md +35 -0
  27. package/docs/skill-candidates/v0.0.10/figma/references/figma-tools-and-prompts.md +34 -0
  28. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/LICENSE.TXT +2 -0
  29. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/SKILL.md +349 -0
  30. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/agents/openai.yaml +14 -0
  31. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma-small.svg +3 -0
  32. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma.png +0 -0
  33. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/icon.svg +28 -0
  34. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/references/mapping-checklist.md +7 -0
  35. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/scripts/normalize_node_id.py +25 -0
  36. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/LICENSE.TXT +2 -0
  37. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/SKILL.md +537 -0
  38. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/agents/openai.yaml +14 -0
  39. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma-small.svg +3 -0
  40. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma.png +0 -0
  41. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/icon.svg +28 -0
  42. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/references/rule-template.md +15 -0
  43. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -0
  44. package/docs/skill-candidates/v0.0.10/figma-generate-design/LICENSE.TXT +2 -0
  45. package/docs/skill-candidates/v0.0.10/figma-generate-design/SKILL.md +341 -0
  46. package/docs/skill-candidates/v0.0.10/figma-generate-design/agents/openai.yaml +14 -0
  47. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma-small.svg +3 -0
  48. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma.png +0 -0
  49. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/icon.svg +28 -0
  50. package/docs/skill-candidates/v0.0.10/figma-generate-design/maintainers.yml +1 -0
  51. package/docs/skill-candidates/v0.0.10/figma-generate-library/LICENSE.TXT +2 -0
  52. package/docs/skill-candidates/v0.0.10/figma-generate-library/SKILL.md +314 -0
  53. package/docs/skill-candidates/v0.0.10/figma-generate-library/agents/openai.yaml +14 -0
  54. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma-small.svg +3 -0
  55. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma.png +0 -0
  56. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/icon.svg +28 -0
  57. package/docs/skill-candidates/v0.0.10/figma-generate-library/maintainers.yml +3 -0
  58. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md +260 -0
  59. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/component-creation.md +1014 -0
  60. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/discovery-phase.md +518 -0
  61. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/documentation-creation.md +834 -0
  62. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/error-recovery.md +540 -0
  63. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/naming-conventions.md +527 -0
  64. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/token-creation.md +962 -0
  65. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/bindVariablesToComponent.js +110 -0
  66. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/cleanupOrphans.js +127 -0
  67. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createComponentWithVariants.js +148 -0
  68. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createDocumentationPage.js +139 -0
  69. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createSemanticTokens.js +108 -0
  70. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createVariableCollection.js +49 -0
  71. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/inspectFileStructure.js +121 -0
  72. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/rehydrateState.js +92 -0
  73. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/validateCreation.js +83 -0
  74. package/docs/skill-candidates/v0.0.10/figma-implement-design/LICENSE.txt +2 -0
  75. package/docs/skill-candidates/v0.0.10/figma-implement-design/SKILL.md +258 -0
  76. package/docs/skill-candidates/v0.0.10/figma-implement-design/agents/openai.yaml +14 -0
  77. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma-small.svg +3 -0
  78. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma.png +0 -0
  79. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/icon.svg +28 -0
  80. package/docs/skill-candidates/v0.0.10/figma-use/LICENSE.TXT +2 -0
  81. package/docs/skill-candidates/v0.0.10/figma-use/SKILL.md +233 -0
  82. package/docs/skill-candidates/v0.0.10/figma-use/agents/openai.yaml +14 -0
  83. package/docs/skill-candidates/v0.0.10/figma-use/assets/figma-small.svg +3 -0
  84. package/docs/skill-candidates/v0.0.10/figma-use/assets/figma.png +0 -0
  85. package/docs/skill-candidates/v0.0.10/figma-use/assets/icon.svg +28 -0
  86. package/docs/skill-candidates/v0.0.10/figma-use/maintainers.yml +1 -0
  87. package/docs/skill-candidates/v0.0.10/figma-use/references/api-reference.md +301 -0
  88. package/docs/skill-candidates/v0.0.10/figma-use/references/common-patterns.md +512 -0
  89. package/docs/skill-candidates/v0.0.10/figma-use/references/component-patterns.md +488 -0
  90. package/docs/skill-candidates/v0.0.10/figma-use/references/effect-style-patterns.md +123 -0
  91. package/docs/skill-candidates/v0.0.10/figma-use/references/gotchas.md +599 -0
  92. package/docs/skill-candidates/v0.0.10/figma-use/references/maintainers.yml +12 -0
  93. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-patterns.md +513 -0
  94. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.d.ts +11293 -0
  95. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.index.md +441 -0
  96. package/docs/skill-candidates/v0.0.10/figma-use/references/text-style-patterns.md +203 -0
  97. package/docs/skill-candidates/v0.0.10/figma-use/references/validation-and-recovery.md +109 -0
  98. package/docs/skill-candidates/v0.0.10/figma-use/references/variable-patterns.md +354 -0
  99. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/maintainers.yml +9 -0
  100. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--creating.md +17 -0
  101. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--using.md +17 -0
  102. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components.md +50 -0
  103. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-effect-styles.md +52 -0
  104. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-text-styles.md +90 -0
  105. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--creating.md +13 -0
  106. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--using.md +13 -0
  107. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables.md +64 -0
  108. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds.md +41 -0
  109. package/docs/skill-candidates/v0.0.10/frontend-design/LICENSE.txt +177 -0
  110. package/docs/skill-candidates/v0.0.10/frontend-design/SKILL.md +55 -0
  111. package/docs/skill-candidates/v0.0.10/frontend-ui-ux-systems/SKILL.md +32 -0
  112. package/docs/skill-candidates/v0.0.10/github/SKILL.md +74 -0
  113. package/docs/skill-candidates/v0.0.10/github/agents/openai.yaml +6 -0
  114. package/docs/skill-candidates/v0.0.10/github/assets/github-small.svg +3 -0
  115. package/docs/skill-candidates/v0.0.10/github/assets/github.png +0 -0
  116. package/docs/skill-candidates/v0.0.10/image-graphic-design-rendering/SKILL.md +28 -0
  117. package/docs/skill-candidates/v0.0.10/language-quality-pt-en-fr-it-ru/SKILL.md +28 -0
  118. package/docs/skill-candidates/v0.0.10/math-physics-reasoning/SKILL.md +28 -0
  119. package/docs/skill-candidates/v0.0.10/mcp-builder/LICENSE.txt +202 -0
  120. package/docs/skill-candidates/v0.0.10/mcp-builder/SKILL.md +236 -0
  121. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/evaluation.md +602 -0
  122. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/mcp_best_practices.md +249 -0
  123. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/node_mcp_server.md +970 -0
  124. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/python_mcp_server.md +719 -0
  125. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/connections.py +151 -0
  126. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/evaluation.py +373 -0
  127. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/example_evaluation.xml +22 -0
  128. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/requirements.txt +2 -0
  129. package/docs/skill-candidates/v0.0.10/mcp-client-readiness/SKILL.md +31 -0
  130. package/docs/skill-candidates/v0.0.10/openai-docs/LICENSE.txt +201 -0
  131. package/docs/skill-candidates/v0.0.10/openai-docs/SKILL.md +161 -0
  132. package/docs/skill-candidates/v0.0.10/openai-docs/agents/openai.yaml +14 -0
  133. package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai-small.svg +3 -0
  134. package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai.png +0 -0
  135. package/docs/skill-candidates/v0.0.10/openai-docs/references/latest-model.md +37 -0
  136. package/docs/skill-candidates/v0.0.10/openai-docs/references/prompting-guide.md +244 -0
  137. package/docs/skill-candidates/v0.0.10/openai-docs/references/upgrade-guide.md +181 -0
  138. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/fetch-codex-manual.mjs +598 -0
  139. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/resolve-latest-model-info.js +147 -0
  140. package/docs/skill-candidates/v0.0.10/playwright/LICENSE.txt +201 -0
  141. package/docs/skill-candidates/v0.0.10/playwright/NOTICE.txt +14 -0
  142. package/docs/skill-candidates/v0.0.10/playwright/SKILL.md +147 -0
  143. package/docs/skill-candidates/v0.0.10/playwright/agents/openai.yaml +6 -0
  144. package/docs/skill-candidates/v0.0.10/playwright/assets/playwright-small.svg +3 -0
  145. package/docs/skill-candidates/v0.0.10/playwright/assets/playwright.png +0 -0
  146. package/docs/skill-candidates/v0.0.10/playwright/references/cli.md +116 -0
  147. package/docs/skill-candidates/v0.0.10/playwright/references/workflows.md +95 -0
  148. package/docs/skill-candidates/v0.0.10/playwright/scripts/playwright_cli.sh +25 -0
  149. package/docs/skill-candidates/v0.0.10/polyglot-backend-engineering/SKILL.md +32 -0
  150. package/docs/skill-candidates/v0.0.10/screenshot/LICENSE.txt +201 -0
  151. package/docs/skill-candidates/v0.0.10/screenshot/SKILL.md +267 -0
  152. package/docs/skill-candidates/v0.0.10/screenshot/agents/openai.yaml +6 -0
  153. package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot-small.svg +5 -0
  154. package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot.png +0 -0
  155. package/docs/skill-candidates/v0.0.10/screenshot/scripts/ensure_macos_permissions.sh +54 -0
  156. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_display_info.swift +22 -0
  157. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_permissions.swift +40 -0
  158. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_window_info.swift +126 -0
  159. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.ps1 +163 -0
  160. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.py +585 -0
  161. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/SKILL.md +62 -0
  162. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/agents/openai.yaml +4 -0
  163. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/activation-policy.md +77 -0
  164. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/human-approval-policy.md +83 -0
  165. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/persona-dev-senior-master.md +46 -0
  166. package/docs/skill-candidates/v0.0.10/terminal-menu-operations/SKILL.md +30 -0
  167. package/docs/skill-candidates/v0.0.10/terminal-pixel-art-tui/SKILL.md +43 -0
  168. package/docs/skill-candidates/v0.0.10/webapp-testing/LICENSE.txt +202 -0
  169. package/docs/skill-candidates/v0.0.10/webapp-testing/SKILL.md +96 -0
  170. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/console_logging.py +35 -0
  171. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/element_discovery.py +40 -0
  172. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/static_html_automation.py +33 -0
  173. package/docs/skill-candidates/v0.0.10/webapp-testing/scripts/with_server.py +106 -0
  174. package/docs/skill-candidates/v0.0.10/winui-app/LICENSE.txt +202 -0
  175. package/docs/skill-candidates/v0.0.10/winui-app/SKILL.md +94 -0
  176. package/docs/skill-candidates/v0.0.10/winui-app/agents/openai.yaml +5 -0
  177. package/docs/skill-candidates/v0.0.10/winui-app/assets/winui.png +0 -0
  178. package/docs/skill-candidates/v0.0.10/winui-app/config.yaml +50 -0
  179. package/docs/skill-candidates/v0.0.10/winui-app/references/_sections.md +96 -0
  180. package/docs/skill-candidates/v0.0.10/winui-app/references/accessibility-input-and-localization.md +51 -0
  181. package/docs/skill-candidates/v0.0.10/winui-app/references/build-run-and-launch-verification.md +72 -0
  182. package/docs/skill-candidates/v0.0.10/winui-app/references/community-toolkit-controls-and-helpers.md +57 -0
  183. package/docs/skill-candidates/v0.0.10/winui-app/references/controls-layout-and-adaptive-ui.md +84 -0
  184. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-environment-audit-and-remediation.md +82 -0
  185. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-setup-and-project-selection.md +67 -0
  186. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-template-first-recovery.md +62 -0
  187. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-winui-app-structure.md +62 -0
  188. package/docs/skill-candidates/v0.0.10/winui-app/references/motion-animations-and-polish.md +45 -0
  189. package/docs/skill-candidates/v0.0.10/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -0
  190. package/docs/skill-candidates/v0.0.10/winui-app/references/sample-source-map.md +37 -0
  191. package/docs/skill-candidates/v0.0.10/winui-app/references/shell-navigation-and-windowing.md +67 -0
  192. package/docs/skill-candidates/v0.0.10/winui-app/references/styling-theming-materials-and-icons.md +71 -0
  193. package/docs/skill-candidates/v0.0.10/winui-app/references/testing-debugging-and-review-checklists.md +77 -0
  194. package/docs/skill-candidates/v0.0.10/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -0
  195. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +399 -0
  196. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  197. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  198. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  199. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  200. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +502 -0
  201. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  202. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +406 -0
  203. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  204. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  205. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  206. package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -0
  207. package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -0
  208. package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -0
  209. package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -0
  210. package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -0
  211. package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -0
  212. package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -0
  213. package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -0
  214. package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -0
  215. package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -0
  216. package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -0
  217. package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -0
  218. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -0
  219. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -0
  220. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -0
  221. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
  222. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
  223. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -0
  224. package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -0
  225. package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -0
  226. package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -0
  227. package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -0
  228. package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -0
  229. package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +92 -0
  230. package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -0
  231. package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -0
  232. package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -0
  233. package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -0
  234. package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -0
  235. package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -0
  236. package/manifests/channels/beta.json +7 -7
  237. package/manifests/channels/stable.json +8 -8
  238. package/network/unapproved-skill-candidates.json +34 -1
  239. package/package.json +7 -2
  240. package/scripts/verify-menu-actions.mjs +115 -0
@@ -0,0 +1,67 @@
1
+ ---
2
+ title: Shell, Navigation, and Windowing
3
+ priority: HIGH
4
+ tags: navigationview, titlebar, appwindow, multi-window, shell
5
+ sources:
6
+ - https://learn.microsoft.com/windows/apps/design/basics/navigation-basics
7
+ - https://learn.microsoft.com/windows/apps/design/basics/titlebar-design
8
+ - https://github.com/microsoft/WinUI-Gallery
9
+ - https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Windowing
10
+ ---
11
+
12
+ ## What This Reference Is For
13
+
14
+ Use this file for top-level app shells, page navigation models, custom title bars, and multi-window decisions.
15
+
16
+ ## Prefer
17
+
18
+ - `NavigationView` for standard desktop shells with clear top-level destinations.
19
+ - A small, stable set of primary destinations.
20
+ - Built-in back navigation behavior that matches user expectations.
21
+ - `AppWindow` and Windows App SDK windowing APIs for modern window management.
22
+
23
+ ## Avoid
24
+
25
+ - Overloading the nav surface with every command and secondary action.
26
+ - Turning the `NavigationView` pane into a branded hero area when the user did not ask for custom shell treatment.
27
+ - Custom title bar layouts that break drag regions or caption button clarity.
28
+ - Multi-window designs unless the workflow clearly benefits from them.
29
+
30
+ ## Navigation Guidance
31
+
32
+ - Use left navigation when the app has several stable, high-level destinations.
33
+ - Use top navigation when there are few peer destinations and width is available.
34
+ - Use a single-page or document-first layout when navigation is shallow and the user mostly stays in one workflow.
35
+ - Keep naming and iconography stable across pages.
36
+ - Treat `NavigationView` as functional shell chrome first. Keep pane headers, footer content, and decorative branding minimal unless the product requirements clearly call for them.
37
+ - Prefer the platform's normal pane structure before adding custom logo blocks, taglines, or non-navigation content that changes the shell's native feel.
38
+ - For narrow or phone-like widths, stop reserving permanent pane width for desktop navigation. Prefer a minimal or overlay navigation mode, show the pane toggle when needed, close the pane by default after navigation, and give content the width back.
39
+ - When a shell enters a phone-width mode, reduce content padding and decorative chrome so the page reads as one primary column instead of a desktop shell with a squeezed content strip.
40
+
41
+ ## Title Bar Guidance
42
+
43
+ - Treat the title bar as functional chrome first, branding surface second.
44
+ - Keep empty non-interactive areas draggable.
45
+ - Blend title bar visuals with the rest of the app when possible.
46
+ - Respect light, dark, and high-contrast states.
47
+
48
+ ## Windowing Guidance
49
+
50
+ - Start with one main window.
51
+ - Add secondary windows only for workflows such as document detachment, inspection panes, or tool windows.
52
+ - Use Windows App SDK samples for resizing, placement, and window-specific behaviors instead of inventing custom platform abstractions.
53
+
54
+ ## Sample and Source Anchors
55
+
56
+ - WinUI Gallery `NavigationView`, `TitleBar`, `AppWindow`, and windowing sample pages
57
+ - WindowsAppSDK-Samples `Samples/Windowing`
58
+ - Learn navigation and title bar guidance
59
+
60
+ ## Review Checklist
61
+
62
+ - Is the navigation model simple and intentional?
63
+ - Does the shell still look and behave like a normal WinUI `NavigationView` unless there is an explicit reason to diverge?
64
+ - Does the title bar still behave like a Windows title bar?
65
+ - Are back, search, and pane behaviors consistent?
66
+ - Is multi-window use justified by the workflow?
67
+ - Does the shell intentionally switch behavior at narrow or phone widths instead of leaving a full desktop pane open?
@@ -0,0 +1,71 @@
1
+ ---
2
+ title: Styling, Theming, Materials, and Icons
3
+ priority: HIGH
4
+ tags: styling, theme-resources, mica, acrylic, typography, icons
5
+ sources:
6
+ - https://learn.microsoft.com/windows/apps/design/style/mica
7
+ - https://learn.microsoft.com/windows/apps/design/style/acrylic
8
+ - https://learn.microsoft.com/windows/apps/design/signature-experiences/typography
9
+ - https://learn.microsoft.com/windows/apps/design/signature-experiences/iconography
10
+ - https://github.com/microsoft/WinUI-Gallery
11
+ - https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Mica
12
+ ---
13
+
14
+ ## What This Reference Is For
15
+
16
+ Use this file for Fluent styling choices, theme resources, Mica or Acrylic usage, custom title bar visuals, typography, and iconography.
17
+
18
+ ## Prefer
19
+
20
+ - Theme resources and system brushes over hard-coded colors.
21
+ - Standard WinUI surface resources and default control chrome before custom panel systems.
22
+ - Mica on long-lived surfaces such as the main window background or title bar region.
23
+ - Acrylic on transient or light-dismiss surfaces.
24
+ - Segoe UI Variable or platform-default typography choices.
25
+ - Fluent iconography that matches the platform language.
26
+ - When metadata needs a visual container, prefer small rounded rectangles or subtle badges over bright oval pills.
27
+
28
+ ## Avoid
29
+
30
+ - Hard-coded light-theme colors that break dark or high-contrast themes.
31
+ - Wrapping every region in a custom `Border` with a bespoke corner radius, stroke, and fill when standard WinUI surfaces would do the job.
32
+ - Adding an outer section `Border` around content that is already visually grouped by card controls, spacing, or headers; this often creates a redundant "card around cards" effect.
33
+ - Using Acrylic where Mica or a simple theme-aware surface would be cheaper and clearer.
34
+ - Mixing unrelated icon styles.
35
+ - Filling lists or cards with rows of decorative oval chips for routine metadata. Use tag treatments sparingly, and default to rounded rectangles when they are justified.
36
+
37
+ ## Theming Guidance
38
+
39
+ - Support light, dark, and high-contrast by default.
40
+ - Centralize brushes, typography, and corner/spacing decisions in shared resource dictionaries.
41
+ - Let built-in controls keep their platform behavior unless there is a strong design reason to customize them.
42
+ - When a grouped surface is needed, prefer system resources such as `CardBackgroundFillColorDefaultBrush`, `CardStrokeColorDefaultBrush`, and `LayerFillColorDefaultBrush` instead of inventing a parallel surface language.
43
+ - If child content already uses card-like surfaces, prefer removing the outer section border and relying on layout spacing and typography for grouping unless the section needs its own distinct background, inset, or stroke.
44
+
45
+ ## Materials Guidance
46
+
47
+ - Use Mica for long-lived base layers.
48
+ - Use Acrylic for transient surfaces such as flyouts and menus.
49
+ - Verify fallback behavior on older Windows versions or unsupported scenarios.
50
+
51
+ ## Icon and Typography Guidance
52
+
53
+ - Use standard Windows iconography and keep visual weight consistent.
54
+ - Use typography to create hierarchy instead of adding extra borders or decoration.
55
+ - Keep title bar text and document titles aligned with Windows guidance.
56
+
57
+ ## Sample and Source Anchors
58
+
59
+ - Learn material, typography, and iconography guidance
60
+ - WinUI Gallery system backdrop and styling pages
61
+ - WindowsAppSDK-Samples `Samples/Mica`
62
+
63
+ ## Review Checklist
64
+
65
+ - Are colors and brushes theme-aware?
66
+ - Does the app look correct in light, dark, and high contrast?
67
+ - Is the selected material appropriate for the surface lifetime?
68
+ - Are icon and typography choices consistent with Fluent design?
69
+ - Are standard WinUI surfaces doing most of the visual work, with custom borders limited to clearly justified cases?
70
+ - Are there any redundant outer borders that could be removed without losing hierarchy or usability?
71
+ - Are tag or chip treatments sparse, visually quiet, and not rendered as default oval pills unless the product explicitly calls for that style?
@@ -0,0 +1,77 @@
1
+ ---
2
+ title: Testing, Debugging, and Review Checklists
3
+ priority: HIGH
4
+ tags: testing, debugging, review, hot-reload, live-visual-tree, checklists
5
+ sources:
6
+ - https://learn.microsoft.com/windows/apps/get-started/start-here
7
+ - https://learn.microsoft.com/windows/apps/get-started/developer-mode-features-and-debugging
8
+ - https://learn.microsoft.com/windows/apps/performance/winui-perf
9
+ ---
10
+
11
+ ## What This Reference Is For
12
+
13
+ Use this file for final review passes, debugging sessions, and "what should I verify before I call this done?" prompts.
14
+
15
+ ## Required Verification Loop
16
+
17
+ - Build after each meaningful edit, not only at the end.
18
+ - Run the app after changes when the user asked for it or when startup-sensitive files changed.
19
+ - Verify actual launch instead of assuming success from a spawned process.
20
+ - If the app fails before showing a window, debug the startup path before continuing feature work.
21
+
22
+ ## Design Review Checklist
23
+
24
+ - Shell and navigation are simple and predictable.
25
+ - `NavigationView` still reads like standard WinUI shell chrome unless the product explicitly calls for branded pane content or custom shell composition.
26
+ - Layout stays usable when the window is narrow.
27
+ - Layout has been checked at more than one breakpoint, including a genuinely phone-like width when the app can be resized that far.
28
+ - Collection pages with mixed scroll regions have been checked at runtime so shelves still render in the intended direction and do not collapse into a single vertical column.
29
+ - Theme, contrast, hierarchy, and interactive state visibility hold up in both light and dark mode, and typography and iconography still feel native to Windows.
30
+ - Command placement and hierarchy are clear.
31
+ - Default WinUI surfaces and control templates carry most of the layout instead of a custom border/card system.
32
+ - Search and filter workflows avoid redundant controls when live local filtering would be clearer.
33
+ - At narrow and phone widths, nonessential controls are simplified, hidden, or moved behind shell affordances instead of merely compressed.
34
+
35
+ ## Code Review Checklist
36
+
37
+ - App structure is coherent and scalable.
38
+ - Resource dictionaries and styles are centralized where they should be.
39
+ - Platform controls are preferred over unnecessary custom control work.
40
+ - New dependencies are justified.
41
+ - The packaging model matches the startup, storage, and launch code.
42
+ - The app builds cleanly from the workflow the user will actually use.
43
+
44
+ ## Accessibility Checklist
45
+
46
+ - Keyboard-only flow works end to end.
47
+ - Focus states are visible and sensible.
48
+ - Automation properties are present where needed.
49
+ - High contrast and text scaling do not break the UI.
50
+
51
+ ## Performance Checklist
52
+
53
+ - No obvious UI-thread blocking work in interactive paths.
54
+ - Large collections use an appropriate control and layout.
55
+ - Scroll ownership is intentional for collection-heavy pages; nested `GridView` plus outer `ScrollViewer` combinations have been justified or replaced.
56
+ - Expensive styling or template choices are justified.
57
+ - Profiling data exists for non-obvious performance claims.
58
+
59
+ ## Debugging Tools
60
+
61
+ - Use Hot Reload for fast visual iteration.
62
+ - Use Live Visual Tree and Live Property Explorer for layout and property debugging.
63
+ - Use WPR and WPA when diagnosing frame or responsiveness issues.
64
+ - Reproduce resize, theme, and input-mode changes before concluding the issue is fixed.
65
+ - When resize behavior is part of the task, verify wide, medium, and phone-width states against the running app rather than trusting the XAML structure alone.
66
+ - When a collection page looks wrong, inspect the live tree for nested `ScrollViewer` ownership before rewriting the item template; the bug may be layout ownership rather than card markup.
67
+ - Use startup exception details, debugger output, or Event Viewer when the process dies before any window appears.
68
+
69
+ ## Exit Criteria
70
+
71
+ - The build succeeds from the intended local workflow.
72
+ - The feature works on the intended machine configuration.
73
+ - The app launches and shows the expected shell or window.
74
+ - The app remains usable in light, dark, and high contrast.
75
+ - Primary flows are keyboard-accessible.
76
+ - Resize behavior, startup, and interactive responsiveness have been checked.
77
+ - If the window can become phone-width, the shell and content have been verified there too.
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: Windows App SDK Lifecycle, Notifications, and Deployment
3
+ priority: HIGH
4
+ tags: windows-app-sdk, lifecycle, activation, notifications, deployment, packaged, unpackaged
5
+ sources:
6
+ - https://learn.microsoft.com/windows/apps/windows-app-sdk/
7
+ - https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps
8
+ - https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-unpackaged-apps
9
+ - https://github.com/microsoft/WindowsAppSDK-Samples
10
+ ---
11
+
12
+ ## What This Reference Is For
13
+
14
+ Use this file when the user needs lifecycle, activation, notification, packaged vs unpackaged, or runtime initialization guidance that goes beyond plain XAML UI work.
15
+
16
+ ## Prefer
17
+
18
+ - Learning the scenario from the matching WindowsAppSDK sample before designing an abstraction.
19
+ - Packaged deployment when it fits the product constraints.
20
+ - Explicit unpackaged guidance when the user has an installer, external-location requirement, or expects repeatable direct executable launches during development.
21
+
22
+ ## Avoid
23
+
24
+ - Mixing packaged and unpackaged guidance in one answer without stating which path applies.
25
+ - Treating deployment requirements as optional details.
26
+ - Re-implementing lifecycle behavior already covered by Windows App SDK APIs.
27
+ - Using package-identity-dependent APIs in unpackaged startup code without an explicit guard or replacement path.
28
+
29
+ ## Guidance
30
+
31
+ - Use AppLifecycle guidance and samples for activation, instancing, restart, and state notifications.
32
+ - Use notifications samples for push or app notifications rather than inventing custom delivery logic.
33
+ - For packaged apps, account for framework-dependent deployment and runtime package requirements.
34
+ - For unpackaged apps, account for bootstrapper and runtime initialization requirements.
35
+ - For unpackaged apps, treat package identity as absent unless the app deliberately establishes it through the chosen deployment model.
36
+ - Keep storage, settings, and startup services aligned with the deployment model. If a service assumes packaged storage or activation, redesign it before local unpackaged verification.
37
+ - Explain the deployment model before giving build or publish steps.
38
+
39
+ ## Sample and Source Anchors
40
+
41
+ - WindowsAppSDK-Samples `Samples/AppLifecycle`
42
+ - WindowsAppSDK-Samples `Samples/Notifications`
43
+ - WindowsAppSDK-Samples `Samples/Unpackaged`
44
+ - WindowsAppSDK-Samples `Samples/CustomControls`
45
+ - Learn packaged and unpackaged deployment guides
46
+
47
+ ## Review Checklist
48
+
49
+ - Is the app’s deployment model explicit?
50
+ - Are lifecycle and activation behaviors using platform APIs rather than ad hoc workarounds?
51
+ - Are notification requirements matched to the correct sample and runtime guidance?
52
+ - Does the recommendation match packaged or unpackaged constraints?
@@ -0,0 +1,399 @@
1
+ ---
2
+ name: frontend-dev-guidelines
3
+ description: Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.
4
+ ---
5
+
6
+ # Frontend Development Guidelines
7
+
8
+ ## Purpose
9
+
10
+ Comprehensive guide for modern React development, emphasizing Suspense-based data fetching, lazy loading, proper file organization, and performance optimization.
11
+
12
+ ## When to Use This Skill
13
+
14
+ - Creating new components or pages
15
+ - Building new features
16
+ - Fetching data with TanStack Query
17
+ - Setting up routing with TanStack Router
18
+ - Styling components with MUI v7
19
+ - Performance optimization
20
+ - Organizing frontend code
21
+ - TypeScript best practices
22
+
23
+ ---
24
+
25
+ ## Quick Start
26
+
27
+ ### New Component Checklist
28
+
29
+ Creating a component? Follow this checklist:
30
+
31
+ - [ ] Use `React.FC<Props>` pattern with TypeScript
32
+ - [ ] Lazy load if heavy component: `React.lazy(() => import())`
33
+ - [ ] Wrap in `<SuspenseLoader>` for loading states
34
+ - [ ] Use `useSuspenseQuery` for data fetching
35
+ - [ ] Import aliases: `@/`, `~types`, `~components`, `~features`
36
+ - [ ] Styles: Inline if <100 lines, separate file if >100 lines
37
+ - [ ] Use `useCallback` for event handlers passed to children
38
+ - [ ] Default export at bottom
39
+ - [ ] No early returns with loading spinners
40
+ - [ ] Use `useMuiSnackbar` for user notifications
41
+
42
+ ### New Feature Checklist
43
+
44
+ Creating a feature? Set up this structure:
45
+
46
+ - [ ] Create `features/{feature-name}/` directory
47
+ - [ ] Create subdirectories: `api/`, `components/`, `hooks/`, `helpers/`, `types/`
48
+ - [ ] Create API service file: `api/{feature}Api.ts`
49
+ - [ ] Set up TypeScript types in `types/`
50
+ - [ ] Create route in `routes/{feature-name}/index.tsx`
51
+ - [ ] Lazy load feature components
52
+ - [ ] Use Suspense boundaries
53
+ - [ ] Export public API from feature `index.ts`
54
+
55
+ ---
56
+
57
+ ## Import Aliases Quick Reference
58
+
59
+ | Alias | Resolves To | Example |
60
+ |-------|-------------|---------|
61
+ | `@/` | `src/` | `import { apiClient } from '@/lib/apiClient'` |
62
+ | `~types` | `src/types` | `import type { User } from '~types/user'` |
63
+ | `~components` | `src/components` | `import { SuspenseLoader } from '~components/SuspenseLoader'` |
64
+ | `~features` | `src/features` | `import { authApi } from '~features/auth'` |
65
+
66
+ Defined in: [vite.config.ts](../../vite.config.ts) lines 180-185
67
+
68
+ ---
69
+
70
+ ## Common Imports Cheatsheet
71
+
72
+ ```typescript
73
+ // React & Lazy Loading
74
+ import React, { useState, useCallback, useMemo } from 'react';
75
+ const Heavy = React.lazy(() => import('./Heavy'));
76
+
77
+ // MUI Components
78
+ import { Box, Paper, Typography, Button, Grid } from '@mui/material';
79
+ import type { SxProps, Theme } from '@mui/material';
80
+
81
+ // TanStack Query (Suspense)
82
+ import { useSuspenseQuery, useQueryClient } from '@tanstack/react-query';
83
+
84
+ // TanStack Router
85
+ import { createFileRoute } from '@tanstack/react-router';
86
+
87
+ // Project Components
88
+ import { SuspenseLoader } from '~components/SuspenseLoader';
89
+
90
+ // Hooks
91
+ import { useAuth } from '@/hooks/useAuth';
92
+ import { useMuiSnackbar } from '@/hooks/useMuiSnackbar';
93
+
94
+ // Types
95
+ import type { Post } from '~types/post';
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Topic Guides
101
+
102
+ ### 🎨 Component Patterns
103
+
104
+ **Modern React components use:**
105
+ - `React.FC<Props>` for type safety
106
+ - `React.lazy()` for code splitting
107
+ - `SuspenseLoader` for loading states
108
+ - Named const + default export pattern
109
+
110
+ **Key Concepts:**
111
+ - Lazy load heavy components (DataGrid, charts, editors)
112
+ - Always wrap lazy components in Suspense
113
+ - Use SuspenseLoader component (with fade animation)
114
+ - Component structure: Props → Hooks → Handlers → Render → Export
115
+
116
+ **[📖 Complete Guide: resources/component-patterns.md](resources/component-patterns.md)**
117
+
118
+ ---
119
+
120
+ ### 📊 Data Fetching
121
+
122
+ **PRIMARY PATTERN: useSuspenseQuery**
123
+ - Use with Suspense boundaries
124
+ - Cache-first strategy (check grid cache before API)
125
+ - Replaces `isLoading` checks
126
+ - Type-safe with generics
127
+
128
+ **API Service Layer:**
129
+ - Create `features/{feature}/api/{feature}Api.ts`
130
+ - Use `apiClient` axios instance
131
+ - Centralized methods per feature
132
+ - Route format: `/form/route` (NOT `/api/form/route`)
133
+
134
+ **[📖 Complete Guide: resources/data-fetching.md](resources/data-fetching.md)**
135
+
136
+ ---
137
+
138
+ ### 📁 File Organization
139
+
140
+ **features/ vs components/:**
141
+ - `features/`: Domain-specific (posts, comments, auth)
142
+ - `components/`: Truly reusable (SuspenseLoader, CustomAppBar)
143
+
144
+ **Feature Subdirectories:**
145
+ ```
146
+ features/
147
+ my-feature/
148
+ api/ # API service layer
149
+ components/ # Feature components
150
+ hooks/ # Custom hooks
151
+ helpers/ # Utility functions
152
+ types/ # TypeScript types
153
+ ```
154
+
155
+ **[📖 Complete Guide: resources/file-organization.md](resources/file-organization.md)**
156
+
157
+ ---
158
+
159
+ ### 🎨 Styling
160
+
161
+ **Inline vs Separate:**
162
+ - <100 lines: Inline `const styles: Record<string, SxProps<Theme>>`
163
+ - >100 lines: Separate `.styles.ts` file
164
+
165
+ **Primary Method:**
166
+ - Use `sx` prop for MUI components
167
+ - Type-safe with `SxProps<Theme>`
168
+ - Theme access: `(theme) => theme.palette.primary.main`
169
+
170
+ **MUI v7 Grid:**
171
+ ```typescript
172
+ <Grid size={{ xs: 12, md: 6 }}> // ✅ v7 syntax
173
+ <Grid xs={12} md={6}> // ❌ Old syntax
174
+ ```
175
+
176
+ **[📖 Complete Guide: resources/styling-guide.md](resources/styling-guide.md)**
177
+
178
+ ---
179
+
180
+ ### 🛣️ Routing
181
+
182
+ **TanStack Router - Folder-Based:**
183
+ - Directory: `routes/my-route/index.tsx`
184
+ - Lazy load components
185
+ - Use `createFileRoute`
186
+ - Breadcrumb data in loader
187
+
188
+ **Example:**
189
+ ```typescript
190
+ import { createFileRoute } from '@tanstack/react-router';
191
+ import { lazy } from 'react';
192
+
193
+ const MyPage = lazy(() => import('@/features/my-feature/components/MyPage'));
194
+
195
+ export const Route = createFileRoute('/my-route/')({
196
+ component: MyPage,
197
+ loader: () => ({ crumb: 'My Route' }),
198
+ });
199
+ ```
200
+
201
+ **[📖 Complete Guide: resources/routing-guide.md](resources/routing-guide.md)**
202
+
203
+ ---
204
+
205
+ ### ⏳ Loading & Error States
206
+
207
+ **CRITICAL RULE: No Early Returns**
208
+
209
+ ```typescript
210
+ // ❌ NEVER - Causes layout shift
211
+ if (isLoading) {
212
+ return <LoadingSpinner />;
213
+ }
214
+
215
+ // ✅ ALWAYS - Consistent layout
216
+ <SuspenseLoader>
217
+ <Content />
218
+ </SuspenseLoader>
219
+ ```
220
+
221
+ **Why:** Prevents Cumulative Layout Shift (CLS), better UX
222
+
223
+ **Error Handling:**
224
+ - Use `useMuiSnackbar` for user feedback
225
+ - NEVER `react-toastify`
226
+ - TanStack Query `onError` callbacks
227
+
228
+ **[📖 Complete Guide: resources/loading-and-error-states.md](resources/loading-and-error-states.md)**
229
+
230
+ ---
231
+
232
+ ### ⚡ Performance
233
+
234
+ **Optimization Patterns:**
235
+ - `useMemo`: Expensive computations (filter, sort, map)
236
+ - `useCallback`: Event handlers passed to children
237
+ - `React.memo`: Expensive components
238
+ - Debounced search (300-500ms)
239
+ - Memory leak prevention (cleanup in useEffect)
240
+
241
+ **[📖 Complete Guide: resources/performance.md](resources/performance.md)**
242
+
243
+ ---
244
+
245
+ ### 📘 TypeScript
246
+
247
+ **Standards:**
248
+ - Strict mode, no `any` type
249
+ - Explicit return types on functions
250
+ - Type imports: `import type { User } from '~types/user'`
251
+ - Component prop interfaces with JSDoc
252
+
253
+ **[📖 Complete Guide: resources/typescript-standards.md](resources/typescript-standards.md)**
254
+
255
+ ---
256
+
257
+ ### 🔧 Common Patterns
258
+
259
+ **Covered Topics:**
260
+ - React Hook Form with Zod validation
261
+ - DataGrid wrapper contracts
262
+ - Dialog component standards
263
+ - `useAuth` hook for current user
264
+ - Mutation patterns with cache invalidation
265
+
266
+ **[📖 Complete Guide: resources/common-patterns.md](resources/common-patterns.md)**
267
+
268
+ ---
269
+
270
+ ### 📚 Complete Examples
271
+
272
+ **Full working examples:**
273
+ - Modern component with all patterns
274
+ - Complete feature structure
275
+ - API service layer
276
+ - Route with lazy loading
277
+ - Suspense + useSuspenseQuery
278
+ - Form with validation
279
+
280
+ **[📖 Complete Guide: resources/complete-examples.md](resources/complete-examples.md)**
281
+
282
+ ---
283
+
284
+ ## Navigation Guide
285
+
286
+ | Need to... | Read this resource |
287
+ |------------|-------------------|
288
+ | Create a component | [component-patterns.md](resources/component-patterns.md) |
289
+ | Fetch data | [data-fetching.md](resources/data-fetching.md) |
290
+ | Organize files/folders | [file-organization.md](resources/file-organization.md) |
291
+ | Style components | [styling-guide.md](resources/styling-guide.md) |
292
+ | Set up routing | [routing-guide.md](resources/routing-guide.md) |
293
+ | Handle loading/errors | [loading-and-error-states.md](resources/loading-and-error-states.md) |
294
+ | Optimize performance | [performance.md](resources/performance.md) |
295
+ | TypeScript types | [typescript-standards.md](resources/typescript-standards.md) |
296
+ | Forms/Auth/DataGrid | [common-patterns.md](resources/common-patterns.md) |
297
+ | See full examples | [complete-examples.md](resources/complete-examples.md) |
298
+
299
+ ---
300
+
301
+ ## Core Principles
302
+
303
+ 1. **Lazy Load Everything Heavy**: Routes, DataGrid, charts, editors
304
+ 2. **Suspense for Loading**: Use SuspenseLoader, not early returns
305
+ 3. **useSuspenseQuery**: Primary data fetching pattern for new code
306
+ 4. **Features are Organized**: api/, components/, hooks/, helpers/ subdirs
307
+ 5. **Styles Based on Size**: <100 inline, >100 separate
308
+ 6. **Import Aliases**: Use @/, ~types, ~components, ~features
309
+ 7. **No Early Returns**: Prevents layout shift
310
+ 8. **useMuiSnackbar**: For all user notifications
311
+
312
+ ---
313
+
314
+ ## Quick Reference: File Structure
315
+
316
+ ```
317
+ src/
318
+ features/
319
+ my-feature/
320
+ api/
321
+ myFeatureApi.ts # API service
322
+ components/
323
+ MyFeature.tsx # Main component
324
+ SubComponent.tsx # Related components
325
+ hooks/
326
+ useMyFeature.ts # Custom hooks
327
+ useSuspenseMyFeature.ts # Suspense hooks
328
+ helpers/
329
+ myFeatureHelpers.ts # Utilities
330
+ types/
331
+ index.ts # TypeScript types
332
+ index.ts # Public exports
333
+
334
+ components/
335
+ SuspenseLoader/
336
+ SuspenseLoader.tsx # Reusable loader
337
+ CustomAppBar/
338
+ CustomAppBar.tsx # Reusable app bar
339
+
340
+ routes/
341
+ my-route/
342
+ index.tsx # Route component
343
+ create/
344
+ index.tsx # Nested route
345
+ ```
346
+
347
+ ---
348
+
349
+ ## Modern Component Template (Quick Copy)
350
+
351
+ ```typescript
352
+ import React, { useState, useCallback } from 'react';
353
+ import { Box, Paper } from '@mui/material';
354
+ import { useSuspenseQuery } from '@tanstack/react-query';
355
+ import { featureApi } from '../api/featureApi';
356
+ import type { FeatureData } from '~types/feature';
357
+
358
+ interface MyComponentProps {
359
+ id: number;
360
+ onAction?: () => void;
361
+ }
362
+
363
+ export const MyComponent: React.FC<MyComponentProps> = ({ id, onAction }) => {
364
+ const [state, setState] = useState<string>('');
365
+
366
+ const { data } = useSuspenseQuery({
367
+ queryKey: ['feature', id],
368
+ queryFn: () => featureApi.getFeature(id),
369
+ });
370
+
371
+ const handleAction = useCallback(() => {
372
+ setState('updated');
373
+ onAction?.();
374
+ }, [onAction]);
375
+
376
+ return (
377
+ <Box sx={{ p: 2 }}>
378
+ <Paper sx={{ p: 3 }}>
379
+ {/* Content */}
380
+ </Paper>
381
+ </Box>
382
+ );
383
+ };
384
+
385
+ export default MyComponent;
386
+ ```
387
+
388
+ For complete examples, see [resources/complete-examples.md](resources/complete-examples.md)
389
+
390
+ ---
391
+
392
+ ## Related Skills
393
+
394
+ - **error-tracking**: Error tracking with Sentry (applies to frontend too)
395
+ - **backend-dev-guidelines**: Backend API patterns that frontend consumes
396
+
397
+ ---
398
+
399
+ **Skill Status**: Modular structure with progressive loading for optimal context management