agent-skill-kit 3.9.135

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 (615) hide show
  1. package/.agent/global.d.ts +80 -0
  2. package/.agent/rules/GEMINI.md +210 -0
  3. package/.agent/rules/autopilot.md +287 -0
  4. package/.agent/rules/code-rules.md +227 -0
  5. package/.agent/scripts/audit_workflows.ts +23 -0
  6. package/.agent/scripts/auto_preview.ts +170 -0
  7. package/.agent/scripts/checklist.ts +180 -0
  8. package/.agent/scripts/compile-agents.ts +237 -0
  9. package/.agent/scripts/fix_skills.ts +49 -0
  10. package/.agent/scripts/session_manager.ts +222 -0
  11. package/.agent/scripts/skill-audit.ts +255 -0
  12. package/.agent/scripts/sync_workflows.ts +54 -0
  13. package/.agent/scripts/utils/colors.ts +58 -0
  14. package/.agent/scripts/utils/process-manager.ts +131 -0
  15. package/.agent/scripts/utils/reporter.ts +192 -0
  16. package/.agent/scripts/utils/runner.ts +128 -0
  17. package/.agent/scripts/verify_all.ts +243 -0
  18. package/.agent/scripts/version-sync.ts +256 -0
  19. package/.agent/skills/SKILL_INDEX.md +129 -0
  20. package/.agent/skills/agent-browser/AGENTS.md +728 -0
  21. package/.agent/skills/agent-browser/SKILL.md +193 -0
  22. package/.agent/skills/agent-browser/rules/_sections.md +15 -0
  23. package/.agent/skills/agent-browser/rules/_template.md +32 -0
  24. package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
  25. package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
  26. package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
  27. package/.agent/skills/ai-artist/AGENTS.md +1082 -0
  28. package/.agent/skills/ai-artist/SKILL.md +186 -0
  29. package/.agent/skills/ai-artist/rules/_sections.md +30 -0
  30. package/.agent/skills/ai-artist/rules/_template.md +32 -0
  31. package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
  32. package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
  33. package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
  34. package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
  35. package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
  36. package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
  37. package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
  38. package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
  39. package/.agent/skills/api-architect/AGENTS.md +1896 -0
  40. package/.agent/skills/api-architect/SKILL.md +173 -0
  41. package/.agent/skills/api-architect/rules/_sections.md +35 -0
  42. package/.agent/skills/api-architect/rules/_template.md +32 -0
  43. package/.agent/skills/api-architect/rules/api-style.md +115 -0
  44. package/.agent/skills/api-architect/rules/auth.md +134 -0
  45. package/.agent/skills/api-architect/rules/documentation.md +131 -0
  46. package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
  47. package/.agent/skills/api-architect/rules/graphql.md +154 -0
  48. package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
  49. package/.agent/skills/api-architect/rules/response.md +138 -0
  50. package/.agent/skills/api-architect/rules/rest.md +113 -0
  51. package/.agent/skills/api-architect/rules/security-testing.md +146 -0
  52. package/.agent/skills/api-architect/rules/trpc.md +129 -0
  53. package/.agent/skills/api-architect/rules/versioning.md +100 -0
  54. package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
  55. package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
  56. package/.agent/skills/auth-patterns/SKILL.md +163 -0
  57. package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
  58. package/.agent/skills/auth-patterns/rules/_template.md +32 -0
  59. package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
  60. package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
  61. package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
  62. package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
  63. package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
  64. package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
  65. package/.agent/skills/auth-patterns/rules/session.md +183 -0
  66. package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
  67. package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
  68. package/.agent/skills/chrome-devtools/SKILL.md +160 -0
  69. package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
  70. package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
  71. package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
  72. package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
  73. package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
  74. package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
  75. package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
  76. package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
  77. package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
  78. package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
  79. package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
  80. package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
  81. package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
  82. package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
  83. package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
  84. package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
  85. package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
  86. package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
  87. package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
  88. package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
  89. package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
  90. package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
  91. package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
  92. package/.agent/skills/code-constitution/AGENTS.md +597 -0
  93. package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
  94. package/.agent/skills/code-constitution/SKILL.md +191 -0
  95. package/.agent/skills/code-constitution/VERSION +3 -0
  96. package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
  97. package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
  98. package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
  99. package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
  100. package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
  101. package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
  102. package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
  103. package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
  104. package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
  105. package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
  106. package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
  107. package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
  108. package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
  109. package/.agent/skills/code-constitution/rules/_sections.md +15 -0
  110. package/.agent/skills/code-constitution/rules/_template.md +32 -0
  111. package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
  112. package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
  113. package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
  114. package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
  115. package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
  116. package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
  117. package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
  118. package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
  119. package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
  120. package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
  121. package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
  122. package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
  123. package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
  124. package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
  125. package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
  126. package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
  127. package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
  128. package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
  129. package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
  130. package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
  131. package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
  132. package/.agent/skills/code-craft/AGENTS.md +803 -0
  133. package/.agent/skills/code-craft/SKILL.md +170 -0
  134. package/.agent/skills/code-craft/rules/_sections.md +20 -0
  135. package/.agent/skills/code-craft/rules/_template.md +32 -0
  136. package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
  137. package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
  138. package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
  139. package/.agent/skills/code-review/AGENTS.md +1664 -0
  140. package/.agent/skills/code-review/SKILL.md +152 -0
  141. package/.agent/skills/code-review/rules/_sections.md +15 -0
  142. package/.agent/skills/code-review/rules/_template.md +32 -0
  143. package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
  144. package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
  145. package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
  146. package/.agent/skills/context-engineering/AGENTS.md +499 -0
  147. package/.agent/skills/context-engineering/SKILL.md +147 -0
  148. package/.agent/skills/context-engineering/rules/_sections.md +15 -0
  149. package/.agent/skills/context-engineering/rules/_template.md +32 -0
  150. package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
  151. package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
  152. package/.agent/skills/copywriting/AGENTS.md +501 -0
  153. package/.agent/skills/copywriting/SKILL.md +188 -0
  154. package/.agent/skills/copywriting/rules/_sections.md +15 -0
  155. package/.agent/skills/copywriting/rules/_template.md +32 -0
  156. package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
  157. package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
  158. package/.agent/skills/data-modeler/AGENTS.md +814 -0
  159. package/.agent/skills/data-modeler/SKILL.md +195 -0
  160. package/.agent/skills/data-modeler/rules/_sections.md +15 -0
  161. package/.agent/skills/data-modeler/rules/_template.md +32 -0
  162. package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
  163. package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
  164. package/.agent/skills/data-modeler/rules/indexing.md +166 -0
  165. package/.agent/skills/data-modeler/rules/migrations.md +176 -0
  166. package/.agent/skills/data-modeler/rules/optimization.md +161 -0
  167. package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
  168. package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
  169. package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
  170. package/.agent/skills/debug-pro/AGENTS.md +798 -0
  171. package/.agent/skills/debug-pro/SKILL.md +193 -0
  172. package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
  173. package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
  174. package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
  175. package/.agent/skills/debug-pro/rules/_sections.md +15 -0
  176. package/.agent/skills/debug-pro/rules/_template.md +32 -0
  177. package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
  178. package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
  179. package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
  180. package/.agent/skills/design-system/AGENTS.md +4216 -0
  181. package/.agent/skills/design-system/SKILL.md +186 -0
  182. package/.agent/skills/design-system/rules/_sections.md +65 -0
  183. package/.agent/skills/design-system/rules/_template.md +32 -0
  184. package/.agent/skills/design-system/rules/animation-guide.md +355 -0
  185. package/.agent/skills/design-system/rules/color-system.md +335 -0
  186. package/.agent/skills/design-system/rules/color-systems.md +133 -0
  187. package/.agent/skills/design-system/rules/decision-trees.md +442 -0
  188. package/.agent/skills/design-system/rules/design-extraction.md +152 -0
  189. package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
  190. package/.agent/skills/design-system/rules/motion-design.md +161 -0
  191. package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
  192. package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
  193. package/.agent/skills/design-system/rules/typography-system.md +369 -0
  194. package/.agent/skills/design-system/rules/typography.md +124 -0
  195. package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
  196. package/.agent/skills/design-system/rules/visual-effects.md +407 -0
  197. package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
  198. package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
  199. package/.agent/skills/doc-templates/AGENTS.md +820 -0
  200. package/.agent/skills/doc-templates/SKILL.md +260 -0
  201. package/.agent/skills/doc-templates/rules/_sections.md +20 -0
  202. package/.agent/skills/doc-templates/rules/_template.md +32 -0
  203. package/.agent/skills/doc-templates/rules/doc.md +355 -0
  204. package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
  205. package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
  206. package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
  207. package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
  208. package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
  209. package/.agent/skills/e2e-automation/AGENTS.md +882 -0
  210. package/.agent/skills/e2e-automation/SKILL.md +175 -0
  211. package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
  212. package/.agent/skills/e2e-automation/rules/_template.md +32 -0
  213. package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
  214. package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
  215. package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
  216. package/.agent/skills/execution-reporter/AGENTS.md +419 -0
  217. package/.agent/skills/execution-reporter/SKILL.md +152 -0
  218. package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
  219. package/.agent/skills/execution-reporter/rules/_template.md +32 -0
  220. package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
  221. package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
  222. package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
  223. package/.agent/skills/game-development/AGENTS.md +783 -0
  224. package/.agent/skills/game-development/SKILL.md +178 -0
  225. package/.agent/skills/game-development/game-art/SKILL.md +207 -0
  226. package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
  227. package/.agent/skills/game-development/game-design/SKILL.md +151 -0
  228. package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
  229. package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
  230. package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
  231. package/.agent/skills/game-development/rules/_sections.md +15 -0
  232. package/.agent/skills/game-development/rules/_template.md +32 -0
  233. package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
  234. package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
  235. package/.agent/skills/game-development/web-games/SKILL.md +173 -0
  236. package/.agent/skills/git-workflow/AGENTS.md +554 -0
  237. package/.agent/skills/git-workflow/SKILL.md +181 -0
  238. package/.agent/skills/git-workflow/rules/_sections.md +15 -0
  239. package/.agent/skills/git-workflow/rules/_template.md +32 -0
  240. package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
  241. package/.agent/skills/gitops/AGENTS.md +921 -0
  242. package/.agent/skills/gitops/SKILL.md +163 -0
  243. package/.agent/skills/gitops/rules/_sections.md +25 -0
  244. package/.agent/skills/gitops/rules/_template.md +32 -0
  245. package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
  246. package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
  247. package/.agent/skills/gitops/rules/sync-policies.md +145 -0
  248. package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
  249. package/.agent/skills/google-adk-python/SKILL.md +168 -0
  250. package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
  251. package/.agent/skills/google-adk-python/rules/_template.md +32 -0
  252. package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
  253. package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
  254. package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
  255. package/.agent/skills/google-adk-python/rules/tools.md +131 -0
  256. package/.agent/skills/idea-storm/AGENTS.md +995 -0
  257. package/.agent/skills/idea-storm/SKILL.md +160 -0
  258. package/.agent/skills/idea-storm/rules/_sections.md +25 -0
  259. package/.agent/skills/idea-storm/rules/_template.md +32 -0
  260. package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
  261. package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
  262. package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
  263. package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
  264. package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
  265. package/.agent/skills/knowledge-graph/SKILL.md +157 -0
  266. package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
  267. package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
  268. package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
  269. package/.agent/skills/knowledge-linter/SKILL.md +217 -0
  270. package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
  271. package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
  272. package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
  273. package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
  274. package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
  275. package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
  276. package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
  277. package/.agent/skills/mcp-builder/SKILL.md +166 -0
  278. package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
  279. package/.agent/skills/mcp-builder/rules/_template.md +32 -0
  280. package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
  281. package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
  282. package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
  283. package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
  284. package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
  285. package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
  286. package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
  287. package/.agent/skills/mcp-management/AGENTS.md +837 -0
  288. package/.agent/skills/mcp-management/SKILL.md +164 -0
  289. package/.agent/skills/mcp-management/rules/_sections.md +25 -0
  290. package/.agent/skills/mcp-management/rules/_template.md +32 -0
  291. package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
  292. package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
  293. package/.agent/skills/mcp-management/rules/protocol.md +159 -0
  294. package/.agent/skills/media-processing/AGENTS.md +479 -0
  295. package/.agent/skills/media-processing/SKILL.md +176 -0
  296. package/.agent/skills/media-processing/rules/_sections.md +15 -0
  297. package/.agent/skills/media-processing/rules/_template.md +32 -0
  298. package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
  299. package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
  300. package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
  301. package/.agent/skills/mobile-design/AGENTS.md +6531 -0
  302. package/.agent/skills/mobile-design/SKILL.md +165 -0
  303. package/.agent/skills/mobile-design/rules/_sections.md +45 -0
  304. package/.agent/skills/mobile-design/rules/_template.md +32 -0
  305. package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
  306. package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
  307. package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
  308. package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
  309. package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
  310. package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
  311. package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
  312. package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
  313. package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
  314. package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
  315. package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
  316. package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
  317. package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
  318. package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
  319. package/.agent/skills/mobile-developer/AGENTS.md +904 -0
  320. package/.agent/skills/mobile-developer/SKILL.md +194 -0
  321. package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
  322. package/.agent/skills/mobile-developer/rules/_template.md +32 -0
  323. package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
  324. package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
  325. package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
  326. package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
  327. package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
  328. package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
  329. package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
  330. package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
  331. package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
  332. package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
  333. package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
  334. package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
  335. package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
  336. package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
  337. package/.agent/skills/mobile-developer/rules/native.md +572 -0
  338. package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
  339. package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
  340. package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
  341. package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
  342. package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
  343. package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
  344. package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
  345. package/.agent/skills/nextjs-pro/SKILL.md +171 -0
  346. package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
  347. package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
  348. package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
  349. package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
  350. package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
  351. package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
  352. package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
  353. package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
  354. package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
  355. package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
  356. package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
  357. package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
  358. package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
  359. package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
  360. package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
  361. package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
  362. package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
  363. package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
  364. package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
  365. package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
  366. package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
  367. package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
  368. package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
  369. package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
  370. package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
  371. package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
  372. package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
  373. package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
  374. package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
  375. package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
  376. package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
  377. package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
  378. package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
  379. package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
  380. package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
  381. package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
  382. package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
  383. package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
  384. package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
  385. package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
  386. package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
  387. package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
  388. package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
  389. package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
  390. package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
  391. package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
  392. package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
  393. package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
  394. package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
  395. package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
  396. package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
  397. package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
  398. package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
  399. package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
  400. package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
  401. package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
  402. package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
  403. package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
  404. package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
  405. package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
  406. package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
  407. package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
  408. package/.agent/skills/nodejs-pro/SKILL.md +172 -0
  409. package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
  410. package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
  411. package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
  412. package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
  413. package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
  414. package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
  415. package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
  416. package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
  417. package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
  418. package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
  419. package/.agent/skills/observability/AGENTS.md +607 -0
  420. package/.agent/skills/observability/SKILL.md +178 -0
  421. package/.agent/skills/observability/rules/_sections.md +15 -0
  422. package/.agent/skills/observability/rules/_template.md +32 -0
  423. package/.agent/skills/observability/rules/engineering-spec.md +440 -0
  424. package/.agent/skills/offensive-sec/AGENTS.md +849 -0
  425. package/.agent/skills/offensive-sec/SKILL.md +191 -0
  426. package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
  427. package/.agent/skills/offensive-sec/rules/_template.md +32 -0
  428. package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
  429. package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
  430. package/.agent/skills/perf-optimizer/SKILL.md +189 -0
  431. package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
  432. package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
  433. package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
  434. package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
  435. package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
  436. package/.agent/skills/problem-checker/AGENTS.md +519 -0
  437. package/.agent/skills/problem-checker/SKILL.md +189 -0
  438. package/.agent/skills/problem-checker/rules/_sections.md +15 -0
  439. package/.agent/skills/problem-checker/rules/_template.md +32 -0
  440. package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
  441. package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
  442. package/.agent/skills/project-planner/AGENTS.md +2698 -0
  443. package/.agent/skills/project-planner/SKILL.md +166 -0
  444. package/.agent/skills/project-planner/rules/_sections.md +15 -0
  445. package/.agent/skills/project-planner/rules/_template.md +32 -0
  446. package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
  447. package/.agent/skills/python-pro/AGENTS.md +1871 -0
  448. package/.agent/skills/python-pro/SKILL.md +182 -0
  449. package/.agent/skills/python-pro/rules/_sections.md +50 -0
  450. package/.agent/skills/python-pro/rules/_template.md +32 -0
  451. package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
  452. package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
  453. package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
  454. package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
  455. package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
  456. package/.agent/skills/python-pro/rules/project-structure.md +181 -0
  457. package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
  458. package/.agent/skills/python-pro/rules/type-hints.md +159 -0
  459. package/.agent/skills/react-pro/AGENTS.md +963 -0
  460. package/.agent/skills/react-pro/SKILL.md +232 -0
  461. package/.agent/skills/react-pro/rules/_sections.md +40 -0
  462. package/.agent/skills/react-pro/rules/_template.md +32 -0
  463. package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
  464. package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
  465. package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
  466. package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
  467. package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
  468. package/.agent/skills/react-pro/rules/file-organization.md +158 -0
  469. package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
  470. package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
  471. package/.agent/skills/react-pro/rules/patterns.md +24 -0
  472. package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
  473. package/.agent/skills/react-pro/rules/performance.md +137 -0
  474. package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
  475. package/.agent/skills/react-pro/rules/state-management.md +90 -0
  476. package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
  477. package/.agent/skills/registry.json +1251 -0
  478. package/.agent/skills/security-scanner/AGENTS.md +851 -0
  479. package/.agent/skills/security-scanner/SKILL.md +182 -0
  480. package/.agent/skills/security-scanner/rules/_sections.md +15 -0
  481. package/.agent/skills/security-scanner/rules/_template.md +32 -0
  482. package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
  483. package/.agent/skills/security-scanner/rules/checklists.md +186 -0
  484. package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
  485. package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
  486. package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
  487. package/.agent/skills/seo-optimizer/SKILL.md +180 -0
  488. package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
  489. package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
  490. package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
  491. package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
  492. package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
  493. package/.agent/skills/server-ops/AGENTS.md +643 -0
  494. package/.agent/skills/server-ops/SKILL.md +194 -0
  495. package/.agent/skills/server-ops/rules/_sections.md +15 -0
  496. package/.agent/skills/server-ops/rules/_template.md +32 -0
  497. package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
  498. package/.agent/skills/shell-script/AGENTS.md +499 -0
  499. package/.agent/skills/shell-script/SKILL.md +205 -0
  500. package/.agent/skills/shell-script/rules/_sections.md +15 -0
  501. package/.agent/skills/shell-script/rules/_template.md +32 -0
  502. package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
  503. package/.agent/skills/skill-generator/SKILL.md +147 -0
  504. package/.agent/skills/smart-router/SKILL.md +95 -0
  505. package/.agent/skills/studio/AGENTS.md +636 -0
  506. package/.agent/skills/studio/SKILL.md +178 -0
  507. package/.agent/skills/studio/data/charts.csv +26 -0
  508. package/.agent/skills/studio/data/colors.csv +97 -0
  509. package/.agent/skills/studio/data/icons.csv +101 -0
  510. package/.agent/skills/studio/data/landing.csv +31 -0
  511. package/.agent/skills/studio/data/products.csv +97 -0
  512. package/.agent/skills/studio/data/prompts.csv +24 -0
  513. package/.agent/skills/studio/data/react-performance.csv +45 -0
  514. package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
  515. package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
  516. package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
  517. package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
  518. package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
  519. package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
  520. package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
  521. package/.agent/skills/studio/data/stacks/react.csv +54 -0
  522. package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
  523. package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
  524. package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
  525. package/.agent/skills/studio/data/stacks/vue.csv +50 -0
  526. package/.agent/skills/studio/data/styles.csv +59 -0
  527. package/.agent/skills/studio/data/typography.csv +58 -0
  528. package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
  529. package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
  530. package/.agent/skills/studio/data/web-interface.csv +31 -0
  531. package/.agent/skills/studio/rules/_sections.md +15 -0
  532. package/.agent/skills/studio/rules/_template.md +32 -0
  533. package/.agent/skills/studio/rules/engineering-spec.md +455 -0
  534. package/.agent/skills/studio/scripts/core.ts +345 -0
  535. package/.agent/skills/studio/scripts/design_system.ts +953 -0
  536. package/.agent/skills/studio/scripts/search.ts +197 -0
  537. package/.agent/skills/studio/scripts/types.ts +147 -0
  538. package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
  539. package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
  540. package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
  541. package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
  542. package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
  543. package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
  544. package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
  545. package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
  546. package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
  547. package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
  548. package/.agent/skills/system-design/AGENTS.md +597 -0
  549. package/.agent/skills/system-design/SKILL.md +153 -0
  550. package/.agent/skills/system-design/rules/_sections.md +15 -0
  551. package/.agent/skills/system-design/rules/_template.md +32 -0
  552. package/.agent/skills/system-design/rules/context-discovery.md +117 -0
  553. package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
  554. package/.agent/skills/system-design/rules/examples.md +180 -0
  555. package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
  556. package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
  557. package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
  558. package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
  559. package/.agent/skills/tailwind-kit/SKILL.md +171 -0
  560. package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
  561. package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
  562. package/.agent/skills/tailwind-kit/rules/components.md +232 -0
  563. package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
  564. package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
  565. package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
  566. package/.agent/skills/test-architect/AGENTS.md +851 -0
  567. package/.agent/skills/test-architect/SKILL.md +176 -0
  568. package/.agent/skills/test-architect/rules/_sections.md +15 -0
  569. package/.agent/skills/test-architect/rules/_template.md +32 -0
  570. package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
  571. package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
  572. package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
  573. package/.agent/skills/typescript-expert/SKILL.md +200 -0
  574. package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
  575. package/.agent/skills/typescript-expert/rules/_template.md +32 -0
  576. package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
  577. package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
  578. package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
  579. package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
  580. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
  581. package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
  582. package/.agent/skills/vercel-deploy/SKILL.md +175 -0
  583. package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
  584. package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
  585. package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
  586. package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
  587. package/.agent/workflows/api.md +377 -0
  588. package/.agent/workflows/autopilot.md +344 -0
  589. package/.agent/workflows/build.md +338 -0
  590. package/.agent/workflows/chronicle.md +279 -0
  591. package/.agent/workflows/cook.md +217 -0
  592. package/.agent/workflows/diagnose.md +302 -0
  593. package/.agent/workflows/fix.md +253 -0
  594. package/.agent/workflows/game.md +329 -0
  595. package/.agent/workflows/inspect.md +276 -0
  596. package/.agent/workflows/knowledge.md +212 -0
  597. package/.agent/workflows/launch.md +345 -0
  598. package/.agent/workflows/mobile.md +354 -0
  599. package/.agent/workflows/monitor.md +239 -0
  600. package/.agent/workflows/optimize.md +269 -0
  601. package/.agent/workflows/plan.md +278 -0
  602. package/.agent/workflows/stage.md +286 -0
  603. package/.agent/workflows/studio.md +276 -0
  604. package/.agent/workflows/think.md +262 -0
  605. package/.agent/workflows/validate.md +289 -0
  606. package/.agentignore +161 -0
  607. package/.gitattributes +16 -0
  608. package/CHANGELOG.md +198 -0
  609. package/LICENSE +40 -0
  610. package/README.md +173 -0
  611. package/docs/SKILL_DESIGN_GUIDE.md +561 -0
  612. package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
  613. package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
  614. package/package.json +33 -0
  615. package/tsconfig.json +28 -0
@@ -0,0 +1,1045 @@
1
+ # typescript-expert
2
+
3
+ **Version 1.0.0**
4
+ Engineering
5
+ March 2026
6
+
7
+ > **Note:**
8
+ > This document is for agents and LLMs to follow when working on typescript-expert domain.
9
+ > Optimized for automation and consistency by AI-assisted workflows.
10
+
11
+ ---
12
+
13
+ # TypeScript Expert — Advanced TS Problem-Solving
14
+
15
+ > Strict mode. ESM-first. Type-level patterns. Deterministic error routing.
16
+
17
+ ---
18
+
19
+ ## When to Use
20
+
21
+ | Situation | Approach |
22
+ |-----------|----------|
23
+ | Type errors | Check error routing table |
24
+ | Build performance | See performance settings |
25
+ | Monorepo setup | Check project references |
26
+ | Migration strategy | See rules/migration.md |
27
+ | Module issues | ESM-first config |
28
+
29
+ ---
30
+
31
+ ## System Boundaries
32
+
33
+ | Owned by This Skill | NOT Owned |
34
+ |---------------------|-----------|
35
+ | Type-level patterns (3) | Next.js integration (→ nextjs-pro) |
36
+ | Error → fix routing (4 errors) | React patterns (→ react-architect) |
37
+ | Performance config (3 settings) | Code review (→ code-review) |
38
+ | Strict config + ESM-first | Build tooling (Vite/webpack) |
39
+
40
+ **Expert decision skill:** Produces TS guidance. Does not execute compilers.
41
+
42
+ ---
43
+
44
+ ## Diagnostics (3 Commands)
45
+
46
+ | Task | Command |
47
+ |------|---------|
48
+ | Type check | `npx tsc --noEmit` |
49
+ | Performance | `npx tsc --extendedDiagnostics` |
50
+ | Trace resolution | `npx tsc --traceResolution` |
51
+
52
+ ---
53
+
54
+ ## Common Errors (4 — Deterministic Routing)
55
+
56
+ | Error | Fix |
57
+ |-------|-----|
58
+ | "Cannot be named" | Export type explicitly |
59
+ | "Excessive depth" | Limit recursion, use `interface` instead of `type` |
60
+ | "Cannot find module" | Check `moduleResolution: "bundler"` |
61
+ | Missing types | Add ambient declaration (`.d.ts`) |
62
+
63
+ ---
64
+
65
+ ## Type-Level Patterns (3)
66
+
67
+ ### Branded Types
68
+ ```typescript
69
+ type Brand<K, T> = K & { __brand: T };
70
+ type UserId = Brand<string, 'UserId'>;
71
+ ```
72
+
73
+ ### Deep Readonly
74
+ ```typescript
75
+ type DeepReadonly<T> = T extends object
76
+ ? { readonly [K in keyof T]: DeepReadonly<T[K]> }
77
+ : T;
78
+ ```
79
+
80
+ ### Satisfies (TS 5.0+)
81
+ ```typescript
82
+ const config = {
83
+ api: "https://api.example.com",
84
+ timeout: 5000
85
+ } satisfies Record<string, string | number>;
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Strict Config (Recommended — Fixed)
91
+
92
+ ```json
93
+ {
94
+ "compilerOptions": {
95
+ "strict": true,
96
+ "noUncheckedIndexedAccess": true,
97
+ "noImplicitOverride": true
98
+ }
99
+ }
100
+ ```
101
+
102
+ ## ESM-First Config (Fixed)
103
+
104
+ ```json
105
+ {
106
+ "type": "module",
107
+ "moduleResolution": "bundler"
108
+ }
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Performance Settings (3 — Fixed)
114
+
115
+ | Setting | Effect |
116
+ |---------|--------|
117
+ | `skipLibCheck: true` | Skip library type checking |
118
+ | `incremental: true` | Cache builds |
119
+ | Project references | Monorepo parallel builds |
120
+
121
+ ---
122
+
123
+ ## Error Taxonomy
124
+
125
+ | Code | Recoverable | Trigger |
126
+ |------|-------------|---------|
127
+ | `ERR_INVALID_REQUEST_TYPE` | No | Request type not supported |
128
+ | `ERR_UNKNOWN_ERROR` | Yes | tsc error not in routing table |
129
+ | `ERR_UNSUPPORTED_VERSION` | Yes | TS version below 5.0 |
130
+ | `ERR_UNKNOWN_PROJECT_TYPE` | Yes | Not app, library, or monorepo |
131
+
132
+ **Zero internal retries.** Same error = same fix.
133
+
134
+ ---
135
+
136
+ ## Troubleshooting
137
+
138
+ | Problem | Solution |
139
+ |---------|----------|
140
+ | `any` type spreading | Enable `noImplicitAny` in tsconfig |
141
+ | Module resolution fails | Set `moduleResolution: "bundler"` (TS 5+) |
142
+ | Slow type checking | Use project references, `skipLibCheck: true` |
143
+ | ESM/CJS mismatch | Set `"type": "module"` in package.json |
144
+
145
+ ---
146
+
147
+ ## 📑 Content Map
148
+
149
+ | File | Description | When to Read |
150
+ |------|-------------|--------------|
151
+ | [tsconfig-strict.json](rules/tsconfig-strict.json) | Strict TS 5.x config template | New project setup |
152
+ | [typescript-cheatsheet.md](rules/typescript-cheatsheet.md) | Full TS quick reference (13 sections) | Writing TypeScript |
153
+ | [utility-types.js](rules/utility-types.js) | Runtime utilities (Result, Option, Brand) | JavaScript helpers |
154
+ | [type-patterns.md](rules/type-patterns.md) | Advanced type patterns | Type gymnastics |
155
+ | [performance.md](rules/performance.md) | Build performance | Slow builds |
156
+ | [monorepo.md](rules/monorepo.md) | Monorepo setup | Project references |
157
+ | [migration.md](rules/migration.md) | Migration strategies | Version upgrades |
158
+ | [ts_diagnostic.ts](scripts/ts_diagnostic.ts) | Project health analysis | Automated diagnostics |
159
+ | [engineering-spec.md](rules/engineering-spec.md) | Full spec | Architecture review |
160
+
161
+ ---
162
+
163
+ ## 🔗 Related
164
+
165
+ | Item | Type | Purpose |
166
+ |------|------|---------|
167
+ | `nextjs-pro` | Skill | Next.js + TS |
168
+ | `react-architect` | Skill | React + TS |
169
+ | `code-review` | Skill | Code quality |
170
+
171
+ ---
172
+
173
+
174
+
175
+ ---
176
+
177
+ ## Detailed Rules
178
+
179
+
180
+ ---
181
+
182
+ ### Rule: engineering-spec
183
+
184
+ ---
185
+ title: TypeScript Expert — Engineering Specification
186
+ impact: MEDIUM
187
+ tags: typescript-expert
188
+ ---
189
+
190
+ # TypeScript Expert — Engineering Specification
191
+
192
+ > Production-grade specification for TypeScript/JavaScript expertise at FAANG scale.
193
+
194
+ ---
195
+
196
+ ## 1. Overview
197
+
198
+ TypeScript Expert provides structured guidance for TypeScript and JavaScript: type-level patterns (3: branded types, deep readonly, satisfies), common error resolution (4 error types with fixes), performance configuration (3 settings: skipLibCheck, incremental, project references), strict config (3 strict options), ESM-first configuration, tsconfig decision routing, monorepo management, and migration strategies. The skill operates as an **Expert (decision tree)** — it produces type pattern recommendations, error fixes, config guidance, and migration paths. It does not write TypeScript files, execute compilers, or modify tsconfig.
199
+
200
+ **Contract Version:** 2.0.0
201
+ **Backward Compatibility:** breaking (first hardened version)
202
+ **Breaking Changes:** None — new spec for first hardening
203
+
204
+ ---
205
+
206
+ ## 2. Problem Statement
207
+
208
+ TypeScript development at scale faces four quantified problems:
209
+
210
+ | Problem | Measurement | Impact |
211
+ |---------|-------------|--------|
212
+ | Type errors without resolution path | 45% of TS errors take >30 min to resolve | Developer productivity loss |
213
+ | Slow type checking | 35% of monorepos exceed 60s tsc time | CI/CD bottlenecks |
214
+ | Weak config defaults | 50% of projects miss strict mode | Runtime type safety gaps |
215
+ | ESM/CJS module confusion | 40% of projects have module resolution issues | Build failures |
216
+
217
+ TypeScript Expert eliminates these with deterministic error→fix routing, performance configuration guidance (skipLibCheck + incremental + project references), strict config enforcement, and ESM-first module resolution.
218
+
219
+ ---
220
+
221
+ ## 3. Design Goals
222
+
223
+ | ID | Goal | Measurable Constraint |
224
+ |----|------|-----------------------|
225
+ | G1 | Type-level patterns | 3 patterns: branded types, deep readonly, satisfies |
226
+ | G2 | Error resolution | 4 common errors with deterministic fixes |
227
+ | G3 | Performance | 3 settings: skipLibCheck, incremental, project references |
228
+ | G4 | Strict config | 3 strict options: strict, noUncheckedIndexedAccess, noImplicitOverride |
229
+ | G5 | Module system | ESM-first with `"type": "module"` + `moduleResolution: "bundler"` |
230
+ | G6 | Diagnostics | 3 CLI commands: --noEmit, --extendedDiagnostics, --traceResolution |
231
+
232
+ ---
233
+
234
+ ## 4. Non-Goals
235
+
236
+ | ID | Excluded | Rationale |
237
+ |----|----------|-----------|
238
+ | NG1 | Next.js integration | Owned by `nextjs-pro` skill |
239
+ | NG2 | React component patterns | Owned by `react-architect` skill |
240
+ | NG3 | Code review | Owned by `code-review` skill |
241
+ | NG4 | JavaScript runtime behavior | TypeScript type system focused |
242
+ | NG5 | Build tooling (Vite/webpack) | Bundler-specific concern |
243
+ | NG6 | Package publishing | npm/registry concern |
244
+
245
+ ---
246
+
247
+ ## 5. System Boundaries
248
+
249
+ | Boundary | Owned | Not Owned |
250
+ |----------|-------|-----------|
251
+ | Type patterns | Branded types, deep readonly, satisfies | Framework-specific types |
252
+ | Error resolution | 4 common tsc errors | Runtime errors |
253
+ | Performance config | skipLibCheck, incremental, project refs | Build tooling config |
254
+ | Strict config | 3 strict compiler options | Linting rules (ESLint) |
255
+ | Module system | ESM-first guidance | Bundler configuration |
256
+ | Diagnostics | 3 tsc CLI commands | IDE integration |
257
+
258
+ **Side-effect boundary:** TypeScript Expert produces type pattern recommendations, error fixes, config guidance, and migration paths. It does not write files, execute compilers, or modify projects.
259
+
260
+ ---
261
+
262
+ ## 6. Integration Model
263
+
264
+ ### 6.1 Agent Contract
265
+
266
+ #### Input Schema
267
+
268
+ ```
269
+ Request_Type: string # "type-pattern" | "error" | "performance" | "config" |
270
+ # "module" | "monorepo" | "migration" | "diagnostics" |
271
+ # "full-guide"
272
+ Context: {
273
+ error_message: string | null # tsc error message
274
+ ts_version: string | null # "5.0" | "5.1" | "5.2" | "5.3" | "5.4" | "5.5"
275
+ project_type: string | null # "app" | "library" | "monorepo"
276
+ module_system: string | null # "esm" | "cjs" | "dual"
277
+ current_config: object | null # Existing tsconfig.json
278
+ }
279
+ contract_version: string # "2.0.0"
280
+ ```
281
+
282
+ #### Output Schema
283
+
284
+ ```
285
+ Status: "success" | "error"
286
+ Data: {
287
+ type_pattern: {
288
+ name: string
289
+ code: string # TypeScript code example
290
+ use_case: string
291
+ } | null
292
+ error_fix: {
293
+ error: string
294
+ fix: string
295
+ code: string | null # Fix code example
296
+ } | null
297
+ performance: {
298
+ settings: Array<{
299
+ setting: string
300
+ value: string | boolean
301
+ effect: string
302
+ }>
303
+ } | null
304
+ config: {
305
+ tsconfig: object # Recommended tsconfig partial
306
+ description: string
307
+ } | null
308
+ module: {
309
+ system: string # "esm" | "cjs"
310
+ package_json: object # Required package.json fields
311
+ tsconfig: object # Required tsconfig fields
312
+ } | null
313
+ diagnostics: {
314
+ command: string
315
+ purpose: string
316
+ } | null
317
+ security: {
318
+ rules_of_engagement_followed: boolean
319
+ } | null
320
+ code_quality: {
321
+ problem_checker_run: boolean
322
+ } | null
323
+ metadata: {
324
+ contract_version: string
325
+ backward_compatibility: string
326
+ }
327
+ }
328
+ Error: ErrorSchema | null
329
+ ```
330
+
331
+ #### Error Schema
332
+
333
+ ```
334
+ Code: string # From Error Taxonomy (Section 11)
335
+ Message: string
336
+ Request_Type: string
337
+ Recoverable: boolean
338
+ ```
339
+
340
+ #### Deterministic Guarantees
341
+
342
+ - Error routing is fixed: "Cannot be named" → export type explicitly; "Excessive depth" → limit recursion, use interface; "Cannot find module" → check moduleResolution; missing types → add ambient declaration.
343
+ - Performance routing is fixed: slow builds → skipLibCheck + incremental + project references.
344
+ - Strict config is fixed: `strict: true` + `noUncheckedIndexedAccess: true` + `noImplicitOverride: true`.
345
+ - ESM-first is fixed: `"type": "module"` + `moduleResolution: "bundler"`.
346
+ - Same error = same fix. Same project type = same config.
347
+
348
+ #### What Agents May Assume
349
+
350
+ - TypeScript 5.0+ is the target version.
351
+ - `npx tsc --noEmit` validates type correctness.
352
+ - Strict mode is the recommended default.
353
+ - ESM is the preferred module system for new projects.
354
+
355
+ #### What Agents Must NOT Assume
356
+
357
+ - All projects can use ESM immediately.
358
+ - `skipLibCheck` is always safe (hides library type errors).
359
+ - Branded types are zero-cost at runtime (they are, but require discipline).
360
+ - Project references work without `composite: true`.
361
+
362
+ #### Side-Effect Boundaries
363
+
364
+ | Operation | Side Effects |
365
+ |-----------|-------------|
366
+ | Type pattern | None; code example |
367
+ | Error fix | None; fix recommendation |
368
+ | Performance | None; config recommendation |
369
+ | Config | None; tsconfig partial |
370
+ | Module | None; setup guidance |
371
+ | Diagnostics | None; command recommendation |
372
+
373
+ ### 6.2 Workflow Contract
374
+
375
+ #### Invocation Pattern
376
+
377
+ ```
378
+ 1. Identify issue type (type error, performance, config, module)
379
+ 2. Invoke appropriate request type
380
+ 3. For type errors: invoke error with error message
381
+ 4. For new projects: invoke config for strict + ESM setup
382
+ 5. For monorepos: invoke monorepo for project references
383
+ 6. Validate with `npx tsc --noEmit` (caller's responsibility)
384
+ ```
385
+
386
+ #### Execution Guarantees
387
+
388
+ - Each invocation produces a complete recommendation.
389
+ - All decisions are independent (can be invoked in any order).
390
+
391
+ #### Failure Propagation Model
392
+
393
+ | Failure Severity | Propagation | Workflow Action |
394
+ |-----------------|-------------|-----------------|
395
+ | Unknown error message | Return error | Provide exact tsc error |
396
+ | Unsupported TS version | Return error | Use 5.0+ |
397
+ | Invalid request type | Return error | Use supported type |
398
+
399
+ #### Retry Boundaries
400
+
401
+ - Zero internal retries. Deterministic output.
402
+
403
+ #### Isolation Model
404
+
405
+ - Each invocation is stateless and independent.
406
+
407
+ #### Idempotency Expectations
408
+
409
+ | Operation | Idempotent | Notes |
410
+ |-----------|-----------|-------|
411
+ | Type pattern | Yes | Same pattern = same code |
412
+ | Error fix | Yes | Same error = same fix |
413
+ | Performance | Yes | Same project type = same settings |
414
+ | Config | Yes | Same inputs = same tsconfig |
415
+ | Module | Yes | Same system = same setup |
416
+
417
+ ---
418
+
419
+ ## 7. Execution Model
420
+
421
+ ### 2-Phase Lifecycle
422
+
423
+ | Phase | Action | Output |
424
+ |-------|--------|--------|
425
+ | **Classify** | Parse error message, project type, module system | Classification |
426
+ | **Guide** | Generate type pattern, error fix, config, or migration | Complete output |
427
+
428
+ All phases synchronous. No async pipeline.
429
+
430
+ ---
431
+
432
+ ## 8. Deterministic Design Principles
433
+
434
+ | Principle | Enforcement |
435
+ |-----------|-------------|
436
+ | Error routing | "Cannot be named" → export type; "Excessive depth" → limit recursion, use interface; "Cannot find module" → check moduleResolution; missing types → ambient declaration |
437
+ | Performance | `skipLibCheck: true` (skip library checks); `incremental: true` (cache builds); project references (monorepo) |
438
+ | Strict config | `strict: true` + `noUncheckedIndexedAccess: true` + `noImplicitOverride: true` |
439
+ | ESM-first | `"type": "module"` in package.json + `moduleResolution: "bundler"` in tsconfig |
440
+ | Type patterns | Branded: `type Brand<K, T> = K & { __brand: T }`; DeepReadonly: recursive mapped type; Satisfies: `as const satisfies Type` |
441
+ | Diagnostics | Type check: `npx tsc --noEmit`; Performance: `npx tsc --extendedDiagnostics`; Resolution: `npx tsc --traceResolution` |
442
+
443
+ ---
444
+
445
+ ## 9. State & Idempotency Model
446
+
447
+ Stateless. Fully idempotent. No persistent state.
448
+
449
+ ---
450
+
451
+ ## 10. Failure Handling Strategy
452
+
453
+ | Failure Class | Behavior | Caller Recovery |
454
+ |---------------|----------|-----------------|
455
+ | Unknown error message | Return `ERR_UNKNOWN_ERROR` | Provide exact tsc error text |
456
+ | Unsupported TS version | Return `ERR_UNSUPPORTED_VERSION` | Use TypeScript 5.0+ |
457
+ | Invalid request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported type |
458
+ | Unknown project type | Return `ERR_UNKNOWN_PROJECT_TYPE` | Specify app, library, or monorepo |
459
+
460
+ **Invariant:** Every failure returns a structured error. No partial type guidance.
461
+
462
+ ---
463
+
464
+ ## 11. Error Taxonomy
465
+
466
+ | Code | Category | Recoverable | Description |
467
+ |------|----------|-------------|-------------|
468
+ | `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not supported |
469
+ | `ERR_UNKNOWN_ERROR` | Validation | Yes | tsc error not in routing table |
470
+ | `ERR_UNSUPPORTED_VERSION` | Validation | Yes | TS version below 5.0 |
471
+ | `ERR_UNKNOWN_PROJECT_TYPE` | Validation | Yes | Project type not app, library, or monorepo |
472
+
473
+ ---
474
+
475
+ ## 12. Timeout & Retry Policy
476
+
477
+ | Parameter | Default | Maximum | Rationale |
478
+ |-----------|---------|---------|-----------|
479
+ | Decision generation | N/A | N/A | Synchronous; < 50ms |
480
+ | Internal retries | Zero | Zero | Deterministic output |
481
+
482
+ ---
483
+
484
+ ## 13. Observability & Logging Schema
485
+
486
+ ### Log Entry Format (OpenTelemetry Event Array)
487
+
488
+ ```json
489
+ {
490
+ "traceId": "uuid",
491
+ "spanId": "uuid",
492
+ "events": [
493
+ {
494
+ "name": "type_pattern_recommended",
495
+ "timestamp": "ISO8601",
496
+ "attributes": {
497
+ "pattern": "branded_types",
498
+ "use_case": "ids"
499
+ }
500
+ },
501
+ {
502
+ "name": "error_resolved",
503
+ "timestamp": "ISO8601",
504
+ "attributes": {
505
+ "error_code": "TS2322",
506
+ "fix_applied": "type_assertion"
507
+ }
508
+ },
509
+ {
510
+ "name": "config_recommended",
511
+ "timestamp": "ISO8601",
512
+ "attributes": {
513
+ "project_type": "monorepo",
514
+ "settings": ["projectReferences"]
515
+ }
516
+ }
517
+ ]
518
+ }
519
+ ```
520
+
521
+ ### Required Log Points
522
+
523
+ | Event | Log Level | Fields |
524
+ |-------|-----------|--------|
525
+ | Type pattern recommended | INFO | pattern_name |
526
+ | Error fix provided | INFO | error_message, fix |
527
+ | Config recommended | INFO | project_type, settings |
528
+ | Decision failed | ERROR | error_code, message |
529
+
530
+ ### Metrics
531
+
532
+ | Metric | Type | Unit |
533
+ |--------|------|------|
534
+ | `tsexpert.decision.duration` | Histogram | ms |
535
+ | `tsexpert.request_type.distribution` | Counter | per type |
536
+ | `tsexpert.error.distribution` | Counter | per error |
537
+ | `tsexpert.project_type.distribution` | Counter | per type |
538
+
539
+ ---
540
+
541
+ ## 14. Security & Trust Model
542
+
543
+ ### Data Handling
544
+
545
+ - TypeScript Expert processes error messages, config objects, and version strings only.
546
+ - No credentials, no PII, no source code execution.
547
+ - No network calls, no file access, no compiler execution.
548
+
549
+ ---
550
+
551
+ ## 15. Scalability Model
552
+
553
+ | Dimension | Constraint | Mitigation |
554
+ |-----------|-----------|------------|
555
+ | Throughput | CPU-bound decision tree | < 50ms; scales linearly |
556
+ | Concurrency | Stateless invocations | Unlimited parallel |
557
+ | Memory per invocation | < 1 MB | No accumulation |
558
+ | Network | Zero network calls | No external dependency |
559
+
560
+ ---
561
+
562
+ ## 16. Concurrency Model
563
+
564
+ Fully parallel. No shared state. No coordination required.
565
+
566
+ ---
567
+
568
+ ## 17. Resource Lifecycle Management
569
+
570
+ All resources scoped to invocation. No persistent handles.
571
+
572
+ ---
573
+
574
+ ## 18. Performance Constraints
575
+
576
+ | Operation | P50 Target | P99 Target | Hard Limit |
577
+ |-----------|-----------|-----------|------------|
578
+ | Error fix | < 2 ms | < 5 ms | 20 ms |
579
+ | Config recommendation | < 2 ms | < 5 ms | 20 ms |
580
+ | Type pattern | < 2 ms | < 5 ms | 20 ms |
581
+ | Full guide | < 10 ms | < 30 ms | 50 ms |
582
+ | Output size | ≤ 3,000 chars | ≤ 8,000 chars | 12,000 chars |
583
+
584
+ ---
585
+
586
+ ## 19. Operational Risks
587
+
588
+ | Risk | Likelihood | Impact | Mitigation |
589
+ |------|-----------|--------|------------|
590
+ | TS version break (6.0) | Low | Major API changes | Track TypeScript roadmap |
591
+ | `moduleResolution` changes | Medium | Config invalidation | Document version-specific options |
592
+ | Strict mode too aggressive | Low | Developer friction | Incremental adoption path |
593
+ | Type-level pattern complexity | Medium | Unmaintainable types | Recommend simple alternatives first |
594
+
595
+ ---
596
+
597
+ ## 20. Compliance with skill-design-guide.md
598
+
599
+ | Requirement | Status | Evidence |
600
+ |-------------|--------|----------|
601
+ | YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
602
+ | SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
603
+ | Prerequisites documented | ✅ | TypeScript 5.0+ |
604
+ | When to Use section | ✅ | Situation-based routing table |
605
+ | Core content matches skill type | ✅ | Expert type: error routing, type patterns, config guidance |
606
+ | Troubleshooting section | ✅ | Error table + troubleshooting table |
607
+ | Related section | ✅ | Cross-links to nextjs-pro, react-architect, code-review |
608
+ | Content Map for multi-file | ✅ | Links to rules/ + scripts/ + engineering-spec.md |
609
+ | Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
610
+ | Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
611
+
612
+ ---
613
+
614
+ ## 21. Production Readiness Checklist
615
+
616
+ | Category | Check | Status |
617
+ |----------|-------|--------|
618
+ | **Functionality** | 3 type-level patterns (branded, deep readonly, satisfies) | ✅ |
619
+ | **Functionality** | 4 common error → fix routing | ✅ |
620
+ | **Functionality** | 3 performance settings | ✅ |
621
+ | **Functionality** | Strict config (3 options) | ✅ |
622
+ | **Functionality** | ESM-first module config | ✅ |
623
+ | **Functionality** | 3 diagnostic CLI commands | ✅ |
624
+ | **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
625
+ | **Contracts** | Contract versioning with semver | ✅ |
626
+ | **Failure** | Error taxonomy with 4 categorized codes | ✅ |
627
+ | **Failure** | Zero internal retries | ✅ |
628
+ | **Determinism** | Fixed error routing, fixed config, fixed patterns | ✅ |
629
+ | **Security** | No source code execution, no files, no network | ✅ |
630
+ | **Observability** | Structured log schema with 5 mandatory fields | ✅ |
631
+ | **Observability** | 4 metrics defined | ✅ |
632
+ | **Performance** | P50/P99 targets for all operations | ✅ |
633
+ | **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
634
+
635
+ ---
636
+
637
+
638
+
639
+ ---
640
+
641
+ ### Rule: typescript-cheatsheet
642
+
643
+ ---
644
+ name: typescript-cheatsheet
645
+ description: TypeScript quick reference — primitives, generics, utility types, conditionals, mapped types, type guards, branded types, module declarations, tsconfig
646
+ ---
647
+
648
+ # TypeScript Cheatsheet
649
+
650
+ ## Type Basics
651
+
652
+ ```typescript
653
+ // Primitives
654
+ const name: string = 'John'
655
+ const age: number = 30
656
+ const isActive: boolean = true
657
+ const nothing: null = null
658
+ const notDefined: undefined = undefined
659
+
660
+ // Arrays
661
+ const numbers: number[] = [1, 2, 3]
662
+ const strings: Array<string> = ['a', 'b', 'c']
663
+
664
+ // Tuple
665
+ const tuple: [string, number] = ['hello', 42]
666
+
667
+ // Object
668
+ const user: { name: string; age: number } = { name: 'John', age: 30 }
669
+
670
+ // Union
671
+ const value: string | number = 'hello'
672
+
673
+ // Literal
674
+ const direction: 'up' | 'down' | 'left' | 'right' = 'up'
675
+
676
+ // Any vs Unknown
677
+ const anyValue: any = 'anything' // ❌ Avoid
678
+ const unknownValue: unknown = 'safe' // ✅ Prefer, requires narrowing
679
+ ```
680
+
681
+ ## Type Aliases & Interfaces
682
+
683
+ ```typescript
684
+ // Type Alias
685
+ type Point = {
686
+ x: number
687
+ y: number
688
+ }
689
+
690
+ // Interface (preferred for objects)
691
+ interface User {
692
+ id: string
693
+ name: string
694
+ email?: string // Optional
695
+ readonly createdAt: Date // Readonly
696
+ }
697
+
698
+ // Extending
699
+ interface Admin extends User {
700
+ permissions: string[]
701
+ }
702
+
703
+ // Intersection
704
+ type AdminUser = User & { permissions: string[] }
705
+ ```
706
+
707
+ ## Generics
708
+
709
+ ```typescript
710
+ // Generic function
711
+ function identity<T>(value: T): T {
712
+ return value
713
+ }
714
+
715
+ // Generic with constraint
716
+ function getLength<T extends { length: number }>(item: T): number {
717
+ return item.length
718
+ }
719
+
720
+ // Generic interface
721
+ interface ApiResponse<T> {
722
+ data: T
723
+ status: number
724
+ message: string
725
+ }
726
+
727
+ // Generic with default
728
+ type Container<T = string> = {
729
+ value: T
730
+ }
731
+
732
+ // Multiple generics
733
+ function merge<T, U>(obj1: T, obj2: U): T & U {
734
+ return { ...obj1, ...obj2 }
735
+ }
736
+ ```
737
+
738
+ ## Utility Types
739
+
740
+ ```typescript
741
+ interface User {
742
+ id: string
743
+ name: string
744
+ email: string
745
+ age: number
746
+ }
747
+
748
+ // Partial - all optional
749
+ type PartialUser = Partial<User>
750
+
751
+ // Required - all required
752
+ type RequiredUser = Required<User>
753
+
754
+ // Readonly - all readonly
755
+ type ReadonlyUser = Readonly<User>
756
+
757
+ // Pick - select properties
758
+ type UserName = Pick<User, 'id' | 'name'>
759
+
760
+ // Omit - exclude properties
761
+ type UserWithoutEmail = Omit<User, 'email'>
762
+
763
+ // Record - key-value map
764
+ type UserMap = Record<string, User>
765
+
766
+ // Extract - extract from union
767
+ type StringOrNumber = string | number | boolean
768
+ type OnlyStrings = Extract<StringOrNumber, string>
769
+
770
+ // Exclude - exclude from union
771
+ type NotString = Exclude<StringOrNumber, string>
772
+
773
+ // NonNullable - remove null/undefined
774
+ type MaybeString = string | null | undefined
775
+ type DefinitelyString = NonNullable<MaybeString>
776
+
777
+ // ReturnType - get function return type
778
+ function getUser() { return { name: 'John' } }
779
+ type UserReturn = ReturnType<typeof getUser>
780
+
781
+ // Parameters - get function parameters
782
+ type GetUserParams = Parameters<typeof getUser>
783
+
784
+ // Awaited - unwrap Promise
785
+ type ResolvedUser = Awaited<Promise<User>>
786
+ ```
787
+
788
+ ## Conditional Types
789
+
790
+ ```typescript
791
+ // Basic conditional
792
+ type IsString<T> = T extends string ? true : false
793
+
794
+ // Infer keyword
795
+ type UnwrapPromise<T> = T extends Promise<infer U> ? U : T
796
+
797
+ // Distributive conditional
798
+ type ToArray<T> = T extends any ? T[] : never
799
+ type Result = ToArray<string | number> // string[] | number[]
800
+
801
+ // NonDistributive
802
+ type ToArrayNonDist<T> = [T] extends [any] ? T[] : never
803
+ ```
804
+
805
+ ## Template Literal Types
806
+
807
+ ```typescript
808
+ type Color = 'red' | 'green' | 'blue'
809
+ type Size = 'small' | 'medium' | 'large'
810
+
811
+ // Combine
812
+ type ColorSize = `${Color}-${Size}`
813
+ // 'red-small' | 'red-medium' | 'red-large' | ...
814
+
815
+ // Event handlers
816
+ type EventName = 'click' | 'focus' | 'blur'
817
+ type EventHandler = `on${Capitalize<EventName>}`
818
+ // 'onClick' | 'onFocus' | 'onBlur'
819
+ ```
820
+
821
+ ## Mapped Types
822
+
823
+ ```typescript
824
+ // Basic mapped type
825
+ type Optional<T> = {
826
+ [K in keyof T]?: T[K]
827
+ }
828
+
829
+ // With key remapping
830
+ type Getters<T> = {
831
+ [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
832
+ }
833
+
834
+ // Filter keys
835
+ type OnlyStrings<T> = {
836
+ [K in keyof T as T[K] extends string ? K : never]: T[K]
837
+ }
838
+ ```
839
+
840
+ ## Type Guards
841
+
842
+ ```typescript
843
+ // typeof guard
844
+ function process(value: string | number) {
845
+ if (typeof value === 'string') {
846
+ return value.toUpperCase() // string
847
+ }
848
+ return value.toFixed(2) // number
849
+ }
850
+
851
+ // instanceof guard
852
+ class Dog { bark() {} }
853
+ class Cat { meow() {} }
854
+
855
+ function makeSound(animal: Dog | Cat) {
856
+ if (animal instanceof Dog) {
857
+ animal.bark()
858
+ } else {
859
+ animal.meow()
860
+ }
861
+ }
862
+
863
+ // in guard
864
+ interface Bird { fly(): void }
865
+ interface Fish { swim(): void }
866
+
867
+ function move(animal: Bird | Fish) {
868
+ if ('fly' in animal) {
869
+ animal.fly()
870
+ } else {
871
+ animal.swim()
872
+ }
873
+ }
874
+
875
+ // Custom type guard
876
+ function isString(value: unknown): value is string {
877
+ return typeof value === 'string'
878
+ }
879
+
880
+ // Assertion function
881
+ function assertIsString(value: unknown): asserts value is string {
882
+ if (typeof value !== 'string') {
883
+ throw new Error('Not a string')
884
+ }
885
+ }
886
+ ```
887
+
888
+ ## Discriminated Unions
889
+
890
+ ```typescript
891
+ // With type discriminant
892
+ type Success<T> = { type: 'success'; data: T }
893
+ type Error = { type: 'error'; message: string }
894
+ type Loading = { type: 'loading' }
895
+
896
+ type State<T> = Success<T> | Error | Loading
897
+
898
+ function handle<T>(state: State<T>) {
899
+ switch (state.type) {
900
+ case 'success':
901
+ return state.data // T
902
+ case 'error':
903
+ return state.message // string
904
+ case 'loading':
905
+ return null
906
+ }
907
+ }
908
+
909
+ // Exhaustive check
910
+ function assertNever(value: never): never {
911
+ throw new Error(`Unexpected value: ${value}`)
912
+ }
913
+ ```
914
+
915
+ ## Branded Types
916
+
917
+ ```typescript
918
+ // Create branded type
919
+ type Brand<K, T> = K & { __brand: T }
920
+
921
+ type UserId = Brand<string, 'UserId'>
922
+ type OrderId = Brand<string, 'OrderId'>
923
+
924
+ // Constructor functions
925
+ function createUserId(id: string): UserId {
926
+ return id as UserId
927
+ }
928
+
929
+ function createOrderId(id: string): OrderId {
930
+ return id as OrderId
931
+ }
932
+
933
+ // Usage - prevents mixing
934
+ function getOrder(orderId: OrderId, userId: UserId) {}
935
+
936
+ const userId = createUserId('user-123')
937
+ const orderId = createOrderId('order-456')
938
+
939
+ getOrder(orderId, userId) // ✅ OK
940
+ // getOrder(userId, orderId) // ❌ Error - types don't match
941
+ ```
942
+
943
+ ## Module Declarations
944
+
945
+ ```typescript
946
+ // Declare module for untyped package
947
+ declare module 'untyped-package' {
948
+ export function doSomething(): void
949
+ export const value: string
950
+ }
951
+
952
+ // Augment existing module
953
+ declare module 'express' {
954
+ interface Request {
955
+ user?: { id: string }
956
+ }
957
+ }
958
+
959
+ // Declare global
960
+ declare global {
961
+ interface Window {
962
+ myGlobal: string
963
+ }
964
+ }
965
+ ```
966
+
967
+ ## TSConfig Essentials
968
+
969
+ ```json
970
+ {
971
+ "compilerOptions": {
972
+ // Strictness
973
+ "strict": true,
974
+ "noUncheckedIndexedAccess": true,
975
+ "noImplicitOverride": true,
976
+
977
+ // Modules
978
+ "module": "ESNext",
979
+ "moduleResolution": "bundler",
980
+ "esModuleInterop": true,
981
+
982
+ // Output
983
+ "target": "ES2022",
984
+ "lib": ["ES2022", "DOM"],
985
+
986
+ // Performance
987
+ "skipLibCheck": true,
988
+ "incremental": true,
989
+
990
+ // Paths
991
+ "baseUrl": ".",
992
+ "paths": {
993
+ "@/*": ["./src/*"]
994
+ }
995
+ }
996
+ }
997
+ ```
998
+
999
+ ## Best Practices
1000
+
1001
+ ```typescript
1002
+ // ✅ Prefer interface for objects
1003
+ interface User {
1004
+ name: string
1005
+ }
1006
+
1007
+ // ✅ Use const assertions
1008
+ const routes = ['home', 'about'] as const
1009
+
1010
+ // ✅ Use satisfies for validation
1011
+ const config = {
1012
+ api: 'https://api.example.com'
1013
+ } satisfies Record<string, string>
1014
+
1015
+ // ✅ Use unknown over any
1016
+ function parse(input: unknown) {
1017
+ if (typeof input === 'string') {
1018
+ return JSON.parse(input)
1019
+ }
1020
+ }
1021
+
1022
+ // ✅ Explicit return types for public APIs
1023
+ export function getUser(id: string): User | null {
1024
+ // ...
1025
+ }
1026
+
1027
+ // ❌ Avoid
1028
+ const data: any = fetchData()
1029
+ data.anything.goes.wrong // No type safety
1030
+ ```
1031
+
1032
+ ---
1033
+
1034
+ ## 🔗 Related
1035
+
1036
+ | File | When to Read |
1037
+ |------|-------------|
1038
+ | [tsconfig-strict.json](tsconfig-strict.json) | Copy-paste strict config |
1039
+ | [utility-types.js](utility-types.js) | Runtime utility helpers |
1040
+ | [ts_diagnostic.ts](../scripts/ts_diagnostic.ts) | Project health scan |
1041
+ | [SKILL.md](../SKILL.md) | Error routing, patterns |
1042
+
1043
+ ---
1044
+
1045
+ ⚡ PikaKit v3.9.134