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,505 @@
1
+ ---
2
+ title: API Architect — Engineering Specification
3
+ impact: MEDIUM
4
+ tags: api-architect
5
+ ---
6
+
7
+ # API Architect — Engineering Specification
8
+
9
+ > Production-grade specification for API design decision-making and pattern selection at FAANG scale.
10
+
11
+ ---
12
+
13
+ ## 1. Overview
14
+
15
+ API Architect provides structured decision frameworks for API design: style selection (REST vs GraphQL vs tRPC), response formats, versioning strategies, authentication patterns, rate limiting, and documentation standards. The skill operates as an expert knowledge base that produces architectural decisions and API specifications, not runtime code.
16
+
17
+ The skill codifies API design into deterministic decision trees backed by 10 reference documents covering style selection, REST patterns, GraphQL, tRPC, response formats, versioning, auth, rate limiting, documentation, and security testing.
18
+
19
+ ---
20
+
21
+ ## 2. Problem Statement
22
+
23
+ API design at scale faces four quantified problems:
24
+
25
+ | Problem | Measurement | Impact |
26
+ |---------|-------------|--------|
27
+ | Wrong API style selection | REST chosen for 100% of projects regardless of context | Unnecessary complexity for internal TS monorepos; insufficient for complex data graphs |
28
+ | Inconsistent response formats | Different envelope patterns across endpoints within same API | Client-side parsing failures, increased integration cost |
29
+ | No versioning strategy | Breaking changes deployed without versioning | Client breakage, forced upgrades, SLA violations |
30
+ | Security gaps in API design | OWASP API Top 10 violations in 60%+ of first-design APIs | Vulnerability exposure, compliance failures |
31
+
32
+ API Architect eliminates these by providing context-aware decision trees that produce documented, justified API design choices.
33
+
34
+ ---
35
+
36
+ ## 3. Design Goals
37
+
38
+ | ID | Goal | Measurable Constraint |
39
+ |----|------|-----------------------|
40
+ | G1 | Context-aware style selection | Decision tree produces one of REST/GraphQL/tRPC based on ≤ 5 input criteria |
41
+ | G2 | Consistent response format | Single envelope pattern per API; format documented before first endpoint |
42
+ | G3 | Versioning from day one | Versioning strategy defined and documented before API implementation begins |
43
+ | G4 | Security-first design | OWASP API Top 10 checklist completed before API goes to production |
44
+ | G5 | Decision traceability | Every design choice includes rationale that references project context |
45
+
46
+ ---
47
+
48
+ ## 4. Non-Goals
49
+
50
+ | ID | Excluded | Rationale |
51
+ |----|----------|-----------|
52
+ | NG1 | API implementation / code generation | This skill produces design decisions, not code; implementation is `backend-specialist` territory |
53
+ | NG2 | Runtime API validation | Owned by `scripts/api_validator.ts`; SKILL.md defines design-time patterns |
54
+ | NG3 | Database schema design | Owned by `data-modeler` skill |
55
+ | NG4 | Authentication implementation | Owned by `auth-patterns` skill; this skill selects auth strategy |
56
+ | NG5 | Infrastructure / deployment | Owned by `server-ops` and `cicd-pipeline` skills |
57
+ | NG6 | Client-side API consumption | Out of scope; this skill designs the API surface, not its consumers |
58
+
59
+ ---
60
+
61
+ ## 5. System Boundaries
62
+
63
+ | Boundary | Owned | Not Owned |
64
+ |----------|-------|-----------|
65
+ | API style selection | REST/GraphQL/tRPC decision tree | Implementation framework selection |
66
+ | Response format design | Envelope pattern, error format, pagination | Serialization libraries |
67
+ | Versioning strategy | URI/Header/Query versioning decision | Version deployment mechanics |
68
+ | Auth pattern selection | JWT/OAuth/Passkey/API Key decision | Auth implementation (→ auth-patterns) |
69
+ | Rate limiting strategy | Token bucket/sliding window selection | Rate limiter implementation |
70
+ | API documentation | OpenAPI/Swagger structure standards | Doc hosting/rendering |
71
+ | Security design | OWASP API Top 10 checklist | Penetration testing execution (→ security-scanner) |
72
+
73
+ **Side-effect boundary:** API Architect produces design documents, decision records, and API specifications. It does not create API endpoints, modify server configurations, or make network requests.
74
+
75
+ ---
76
+
77
+ ## 6. Integration Model
78
+
79
+ ### 6.1 Agent Contract
80
+
81
+ #### Input Schema
82
+
83
+ ```
84
+ Request_Type: string # One of: "style-selection" | "endpoint-design" | "response-format" |
85
+ # "versioning" | "auth-selection" | "rate-limiting" |
86
+ # "documentation" | "security-audit" | "full-design"
87
+ Context: {
88
+ project_type: string # "monorepo-ts" | "microservice" | "public-api" | "internal-api" | "bff"
89
+ consumers: Array<string> # ["web-spa", "mobile", "third-party", "internal-service", "cli"]
90
+ data_complexity: string # "simple-crud" | "relational" | "graph" | "real-time"
91
+ team_expertise: string # "typescript-fullstack" | "polyglot" | "backend-only"
92
+ scale: string # "prototype" | "startup" | "growth" | "enterprise"
93
+ existing_api: string | null # Existing API style if evolving, null if greenfield
94
+ constraints: Array<string> | null # ["no-graphql", "must-version", "public-facing"]
95
+ }
96
+ contract_version: string # "2.0.0"
97
+ ```
98
+
99
+ #### Output Schema
100
+
101
+ ```
102
+ Status: "success" | "error"
103
+ Data: {
104
+ decision: string # The selected pattern/approach
105
+ rationale: string # Context-specific justification (references input criteria)
106
+ reference_file: string # Path to the detailed reference document
107
+ checklist: Array<string> # Action items before implementation
108
+ anti_patterns: Array<string> # Context-specific things to avoid
109
+ related_decisions: Array<{topic: string, reference: string}> # Adjacent decisions to make
110
+ metadata: {
111
+ request_type: string
112
+ context_hash: string # Hash of input context for reproducibility
113
+ version: string # Skill version
114
+ contract_version: string # "2.0.0"
115
+ backward_compatibility: string # "breaking"
116
+ }
117
+ }
118
+ Error: ErrorSchema | null
119
+ ```
120
+
121
+ **Contract Version:** 2.0.0
122
+ **Backward Compatibility:** breaking (first hardened version)
123
+ **Breaking Changes:** None — new spec for first hardening
124
+
125
+ #### Error Schema
126
+
127
+ ```
128
+ Code: string # From Error Taxonomy (Section 11)
129
+ Message: string # Human-readable, single line
130
+ Request_Type: string
131
+ Recoverable: boolean
132
+ ```
133
+
134
+ #### Deterministic Guarantees
135
+
136
+ - Same `Request_Type` + `Context` = identical `decision` + `rationale` output.
137
+ - Decision trees follow fixed evaluation order (project_type → consumers → data_complexity → team_expertise → scale).
138
+ - Reference file selection is deterministic based on request_type.
139
+ - No randomization, no A/B selection, no heuristic weighting.
140
+
141
+ #### What Agents May Assume
142
+
143
+ - Output `decision` is valid for the given `Context` and follows industry standards.
144
+ - `reference_file` points to a file that exists in the skill's `rules/` directory.
145
+ - `checklist` items are actionable and ordered by priority.
146
+ - The skill is stateless; no prior invocation affects current output.
147
+
148
+ #### What Agents Must NOT Assume
149
+
150
+ - The decision is the only valid choice (multiple valid API styles may exist for a given context).
151
+ - The decision accounts for undisclosed constraints (only explicit `Context` inputs affect output).
152
+ - Implementation details are included (the skill produces design decisions, not code).
153
+ - Security audit output replaces a full security review (it covers OWASP API Top 10, not exhaustive pen testing).
154
+
155
+ #### Side-Effect Boundaries
156
+
157
+ | Operation | Side Effects |
158
+ |-----------|-------------|
159
+ | Style selection | None; pure decision output |
160
+ | Endpoint design | None; specification output |
161
+ | Security audit | None; checklist output |
162
+ | Validator script | Read-only filesystem scan; no modifications |
163
+
164
+ ### 6.2 Workflow Contract
165
+
166
+ #### Invocation Pattern
167
+
168
+ ```
169
+ 1. Define project context (type, consumers, complexity, scale)
170
+ 2. Select request type (style-selection → response-format → versioning → auth → documentation)
171
+ 3. Receive decision with rationale and checklist
172
+ 4. Review and apply decision (caller's responsibility)
173
+ 5. Run api_validator.ts for implementation validation (optional)
174
+ 6. Repeat for adjacent decisions referenced in related_decisions
175
+ ```
176
+
177
+ **Recommended ordering:** style-selection → endpoint-design → response-format → versioning → auth-selection → rate-limiting → documentation → security-audit.
178
+
179
+ #### Execution Guarantees
180
+
181
+ - Each invocation produces a complete, self-contained decision.
182
+ - No background processes, no deferred execution.
183
+ - Output includes all necessary context for the caller to act without re-invoking.
184
+
185
+ #### Failure Propagation Model
186
+
187
+ | Failure Severity | Propagation | Workflow Action |
188
+ |-----------------|-------------|-----------------|
189
+ | Invalid request type | Return error to caller | Use supported request type |
190
+ | Missing context field | Return error to caller | Supply missing context |
191
+ | Conflicting constraints | Return error to caller | Resolve constraint conflict |
192
+ | Reference file missing | Return error to caller | Verify skill installation |
193
+
194
+ Failures are isolated to the current invocation. No state carries between invocations.
195
+
196
+ #### Retry Boundaries
197
+
198
+ - Zero internal retries. Deterministic output makes retrying identical inputs meaningless.
199
+ - Callers should modify `Context` between invocations to explore alternative decisions.
200
+
201
+ #### Isolation Model
202
+
203
+ - Each invocation is stateless and independent.
204
+ - No shared state between invocations, sessions, or agents.
205
+ - Reference files in `rules/` are read-only resources.
206
+
207
+ #### Idempotency Expectations
208
+
209
+ | Operation | Idempotent | Notes |
210
+ |-----------|-----------|-------|
211
+ | Decision generation | Yes | Same context = same decision |
212
+ | Reference lookup | Yes | Read-only, no mutation |
213
+ | Validator script | Yes | Read-only filesystem scan |
214
+
215
+ ---
216
+
217
+ ## 7. Execution Model
218
+
219
+ ### 4-Phase Lifecycle
220
+
221
+ | Phase | Action | Output |
222
+ |-------|--------|--------|
223
+ | **Classify** | Validate request type and context | Validated input or error |
224
+ | **Evaluate** | Traverse decision tree for request type | Selected pattern with rationale |
225
+ | **Enrich** | Attach checklist, anti-patterns, related decisions | Complete decision package |
226
+ | **Emit** | Return structured output with metadata | Complete output schema |
227
+
228
+ All phases execute synchronously in a single invocation. No async pipeline.
229
+
230
+ ---
231
+
232
+ ## 8. Deterministic Design Principles
233
+
234
+ | Principle | Enforcement |
235
+ |-----------|-------------|
236
+ | Fixed decision tree ordering | project_type → consumers → data_complexity → team_expertise → scale |
237
+ | No external calls | Decisions use only local reference files and input context |
238
+ | No ambient state | Each invocation operates solely on explicit inputs |
239
+ | No randomization | Decision trees are deterministic if-then-else chains |
240
+ | Reproducible output | Input context hash echoed in output for audit trail |
241
+
242
+ ---
243
+
244
+ ## 9. State & Idempotency Model
245
+
246
+ ### State Machine
247
+
248
+ ```
249
+ States: IDLE (single state — skill is stateless)
250
+ Transitions: None — each invocation is independent
251
+ ```
252
+
253
+ API Architect maintains zero persistent state. Every invocation starts from a clean state. Invoking N times with identical inputs produces N identical outputs.
254
+
255
+ ### Decision Versioning
256
+
257
+ - Decision trees are versioned via `metadata.version` in SKILL.md frontmatter.
258
+ - Reference file changes that alter decision outcomes require a version bump.
259
+ - Callers can reference specific versions for decision auditability.
260
+
261
+ ---
262
+
263
+ ## 10. Failure Handling Strategy
264
+
265
+ | Failure Class | Behavior | Caller Recovery |
266
+ |---------------|----------|-----------------|
267
+ | Unknown request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported request type |
268
+ | Missing context field | Return `ERR_MISSING_CONTEXT` with field name | Supply missing field |
269
+ | Conflicting constraints | Return `ERR_CONSTRAINT_CONFLICT` with conflicting items | Resolve conflict |
270
+ | Invalid consumer type | Return `ERR_INVALID_CONSUMER` | Use supported consumer type |
271
+ | Reference file missing | Return `ERR_REFERENCE_NOT_FOUND` | Verify skill installation |
272
+ | Validator script failure | Return `ERR_VALIDATOR_FAILED` with exit code | Check project path |
273
+
274
+ **Invariant:** Every failure returns a structured error. No invocation fails silently or returns partial decisions.
275
+
276
+ ---
277
+
278
+ ## 11. Error Taxonomy
279
+
280
+ | Code | Category | Recoverable | Description |
281
+ |------|----------|-------------|-------------|
282
+ | `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not one of the 8 supported types |
283
+ | `ERR_MISSING_CONTEXT` | Validation | Yes | Required context field is null or empty |
284
+ | `ERR_CONSTRAINT_CONFLICT` | Validation | Yes | Two constraints contradict each other |
285
+ | `ERR_INVALID_CONSUMER` | Validation | Yes | Consumer type not recognized |
286
+ | `ERR_REFERENCE_NOT_FOUND` | Infrastructure | No | Reference file missing from rules/ directory |
287
+ | `ERR_VALIDATOR_FAILED` | Runtime | Yes | api_validator.ts exited with non-zero code |
288
+ | `ERR_INVALID_SCALE` | Validation | No | Scale value not one of: prototype, startup, growth, enterprise |
289
+
290
+ ---
291
+
292
+ ## 12. Timeout & Retry Policy
293
+
294
+ | Parameter | Value | Rationale |
295
+ |-----------|-------|-----------|
296
+ | Decision generation timeout | N/A | Synchronous decision tree traversal; completes in < 50ms |
297
+ | Internal retries | Zero | Deterministic output makes retries meaningless |
298
+ | Validator script timeout | 30,000 ms | Filesystem scan; fail if project is inaccessible |
299
+ | Reference file read timeout | 1,000 ms | Local filesystem; fail immediately if inaccessible |
300
+
301
+ **Retry policy:** Zero internal retries. Callers should modify context between invocations to explore alternatives.
302
+
303
+ ---
304
+
305
+ ## 13. Observability & Logging Schema
306
+
307
+ ### OpenTelemetry Integration (MANDATORY)
308
+
309
+ - **Distributed Tracing**: EVERY API endpoint designed via this skill MUST propagate tracing headers (e.g., X-B3-TraceId or W3C raceparent).
310
+ - **Telemetry Emission**: The pi_validator.js script MUST emit traces via OpenTelemetry SDK during its execution.
311
+ - **Log Correlation**: All JSON outputs from the validation layer MUST contain the current race_id.
312
+
313
+
314
+ ### Log Entry Format
315
+
316
+ ```json
317
+ {
318
+ "trace_id": "uuid",
319
+ "skill_name": "api-architect",
320
+ "contract_version": "2.0.0",
321
+ "execution_id": "uuid",
322
+ "timestamp": "ISO-8601",
323
+ "request_type": "string",
324
+ "decision": "string",
325
+ "context_hash": "string",
326
+ "status": "success|error",
327
+ "error_code": "string|null",
328
+ "reference_files_read": ["string"],
329
+ "duration_ms": "number"
330
+ }
331
+ ```
332
+
333
+ ### Required Log Points
334
+
335
+ | Event | Log Level | Fields |
336
+ |-------|-----------|--------|
337
+ | Decision generated | INFO | All fields |
338
+ | Decision failed | ERROR | All fields + error_code |
339
+ | Reference file read | DEBUG | file path, read duration |
340
+ | Constraint conflict detected | WARN | conflicting constraints |
341
+ | Validator script executed | INFO | project_path, exit_code, duration |
342
+
343
+ ### Metrics
344
+
345
+ | Metric | Type | Unit |
346
+ |--------|------|------|
347
+ | `api.decision.duration` | Histogram | ms |
348
+ | `api.decision.error_rate` | Counter | per error_code |
349
+ | `api.request_type.usage` | Counter | per request_type |
350
+ | `api.style.selected` | Counter | per style (REST/GraphQL/tRPC) |
351
+ | `api.validator.duration` | Histogram | ms |
352
+ | `api.validator.pass_rate` | Counter | pass/fail |
353
+
354
+ ---
355
+
356
+ ## 14. Security & Trust Model
357
+
358
+ ### Design-Time Security
359
+
360
+ - API Architect enforces OWASP API Top 10 awareness through the `security-audit` request type.
361
+ - Security checklist is generated before API implementation, not after.
362
+ - Auth pattern selection references `rules/auth.md` for current industry standards.
363
+
364
+ ### Credential Handling
365
+
366
+ - API Architect does not store, process, or transmit credentials.
367
+ - Auth pattern selection produces strategy recommendations, not credential configurations.
368
+
369
+ ### Reference Integrity
370
+
371
+ - Reference files in `rules/` are read-only resources.
372
+ - Modifications require a version bump in SKILL.md frontmatter.
373
+ - No runtime code injection; reference files are static markdown, not executable.
374
+
375
+ ### Input Sanitization
376
+
377
+ - Context parameters are used for decision tree traversal, not code execution.
378
+ - No eval, no template injection, no dynamic code generation from inputs.
379
+
380
+ ### Multi-Tenant Boundaries
381
+
382
+ - Each invocation is stateless; no data persists between invocations.
383
+ - No invocation can access context or outputs from another invocation.
384
+
385
+ ---
386
+
387
+ ## 15. Scalability Model
388
+
389
+ | Dimension | Constraint | Mitigation |
390
+ |-----------|-----------|------------|
391
+ | Throughput | CPU-bound decision tree traversal | Completes in < 50ms; scales linearly with CPU |
392
+ | Concurrency | Stateless invocations | Unlimited parallel invocations |
393
+ | Reference storage | 10 rule files (~12 KB total) | Static files; no growth concern |
394
+ | Memory per invocation | < 1 MB | No accumulation |
395
+ | Network | Zero network calls (except validator against local filesystem) | No external dependency |
396
+
397
+ ### Capacity Planning
398
+
399
+ | Metric | Per Invocation | Per Node |
400
+ |--------|---------------|----------|
401
+ | CPU | < 10 ms computation | 100,000+ invocations/second |
402
+ | Memory | < 1 MB | Bound only by concurrent invocations |
403
+ | Disk I/O | 1–2 rule file reads (~1–3 KB each) | Cached by OS after first read |
404
+ | Network | Zero | Zero |
405
+
406
+ ---
407
+
408
+ ## 16. Concurrency Model
409
+
410
+ | Scope | Model | Behavior |
411
+ |-------|-------|----------|
412
+ | Within invocation | Sequential | Classify → Evaluate → Enrich → Emit |
413
+ | Across invocations | Fully parallel | No shared state, no coordination |
414
+ | Reference access | Read-only shared | Multiple concurrent reads safe |
415
+ | Validator script | Isolated per invocation | Each run scans independently |
416
+
417
+ **No undefined behavior:** Stateless skill with read-only resource access; any concurrency level is safe.
418
+
419
+ ---
420
+
421
+ ## 17. Resource Lifecycle Management
422
+
423
+ | Resource | Created By | Destroyed By | Max Lifetime |
424
+ |----------|-----------|-------------|--------------|
425
+ | Decision output | Emit phase | Caller (after consumption) | Invocation scope |
426
+ | Rule file handle | Evaluate phase | Auto-close after read | < 10 ms |
427
+ | Validator process | Caller (script invocation) | Process exit | 30,000 ms max |
428
+ | Input context | Caller | Invocation completion | Invocation scope |
429
+
430
+ **Leak prevention:** All resources scoped to single invocation. Validator script is a separate process with its own lifecycle.
431
+
432
+ ---
433
+
434
+ ## 18. Performance Constraints
435
+
436
+ | Operation | P50 Target | P99 Target | Hard Limit |
437
+ |-----------|-----------|-----------|------------|
438
+ | Decision generation | < 5 ms | < 20 ms | 50 ms |
439
+ | Rule file read | < 1 ms | < 5 ms | 1,000 ms |
440
+ | Full design (8 request types) | < 40 ms | < 160 ms | 400 ms |
441
+ | Validator script execution | < 5,000 ms | < 15,000 ms | 30,000 ms |
442
+ | Output decision size | ≤ 500 chars | ≤ 2,000 chars | 5,000 chars |
443
+
444
+ ---
445
+
446
+ ## 19. Operational Risks
447
+
448
+ | Risk | Likelihood | Impact | Mitigation |
449
+ |------|-----------|--------|------------|
450
+ | Decision tree staleness | Medium | Recommends outdated patterns | Version bumps with periodic review; rules/ files track dates |
451
+ | Context under-specification | High | Generic decision instead of context-specific | `ERR_MISSING_CONTEXT` for required fields; checklist prompts for common gaps |
452
+ | Over-reliance on single decision | Medium | Team skips alternative evaluation | Output includes `related_decisions` to prompt adjacent thinking |
453
+ | Validator script false positives | Low | Flags correct implementations | Validator results are advisory; caller makes final judgment |
454
+ | Rule file conflicts | Low | Contradictory guidance across files | Each file owns a single concern; cross-references are explicit |
455
+
456
+ ---
457
+
458
+ ## 20. Compliance with skill-design-guide.md
459
+
460
+ | Requirement | Status | Evidence |
461
+ |-------------|--------|----------|
462
+ | YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
463
+ | SKILL.md < 200 lines | ✅ | Entry point under 200 lines; details in rules/ |
464
+ | Prerequisites documented | ✅ | No external dependencies |
465
+ | When to Use section | ✅ | Request-type-based decision matrix |
466
+ | Quick Reference | ✅ | Decision checklist and content map |
467
+ | Core content matches skill type | ✅ | Expert type: decision trees, checklists |
468
+ | Troubleshooting section | ✅ | Anti-patterns table |
469
+ | Related section | ✅ | Cross-links to data-modeler, security-scanner, auth-patterns |
470
+ | Content Map for multi-file | ✅ | Links to 10 rule files + engineering-spec.md |
471
+ | Scripts documented | ✅ | api_validator.ts with command example |
472
+ | Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
473
+ | Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
474
+
475
+ ---
476
+
477
+ ## 21. Production Readiness Checklist
478
+
479
+ | Category | Check | Status |
480
+ |----------|-------|--------|
481
+ | **Functionality** | 8 request types specified | ✅ |
482
+ | **Functionality** | 3 API styles (REST/GraphQL/tRPC) with decision tree | ✅ |
483
+ | **Functionality** | 10 reference files covering all API design concerns | ✅ |
484
+ | **Contracts** | Input/output/error schemas defined | ✅ |
485
+ | **Contracts** | Agent assumptions and non-assumptions documented | ✅ |
486
+ | **Contracts** | Workflow invocation pattern with recommended ordering | ✅ |
487
+ | **Failure** | Error taxonomy with 7 categorized error codes | ✅ |
488
+ | **Failure** | No silent failures; every error returns structured response | ✅ |
489
+ | **Failure** | Retry policy: zero internal retries | ✅ |
490
+ | **Determinism** | Fixed decision tree ordering | ✅ |
491
+ | **Determinism** | No randomization, no external calls | ✅ |
492
+ | **Security** | OWASP API Top 10 checklist integrated | ✅ |
493
+ | **Security** | No credential handling; design-time only | ✅ |
494
+ | **Observability** | Structured log schema with 5 log points | ✅ |
495
+ | **Observability** | 6 metrics defined with types and units | ✅ |
496
+ | **Performance** | P50/P99 targets for all operations | ✅ |
497
+ | **Scalability** | Stateless; unlimited parallel invocations | ✅ |
498
+ | **Concurrency** | No shared state; read-only reference access | ✅ |
499
+ | **Resources** | All resources scoped to invocation lifetime | ✅ |
500
+ | **Idempotency** | Fully idempotent — all operations are pure functions | ✅ |
501
+ | **Compliance** | All skill-design-guide.md sections present | ✅ |
502
+
503
+ ---
504
+
505
+ ⚡ PikaKit v3.9.134
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: graphql
3
+ description: GraphQL schema design, resolver patterns, N+1 prevention, security
4
+ title: "GraphQL Principles"
5
+ impact: MEDIUM
6
+ impactDescription: "Moderate improvement to quality or maintainability"
7
+ tags: graphql
8
+ ---
9
+
10
+ # GraphQL Principles
11
+
12
+ > Flexible queries for complex, interconnected data.
13
+
14
+ ---
15
+
16
+ ## When to Use
17
+
18
+ ```
19
+ ✅ Good fit:
20
+ ├── Complex, interconnected data
21
+ ├── Multiple frontend platforms
22
+ ├── Clients need flexible queries
23
+ ├── Evolving data requirements
24
+ └── Reducing over-fetching matters
25
+
26
+ ❌ Poor fit:
27
+ ├── Simple CRUD operations
28
+ ├── File upload heavy
29
+ ├── HTTP caching important
30
+ └── Team unfamiliar with GraphQL
31
+ ```
32
+
33
+ ## Schema Design
34
+
35
+ ```graphql
36
+ # Think in graphs, not endpoints
37
+ type User {
38
+ id: ID!
39
+ name: String!
40
+ email: String!
41
+ posts(first: Int = 10, after: String): PostConnection!
42
+ createdAt: DateTime!
43
+ }
44
+
45
+ type Post {
46
+ id: ID!
47
+ title: String!
48
+ content: String!
49
+ author: User!
50
+ }
51
+
52
+ # Relay-style pagination (recommended)
53
+ type PostConnection {
54
+ edges: [PostEdge!]!
55
+ pageInfo: PageInfo!
56
+ totalCount: Int!
57
+ }
58
+
59
+ type PostEdge {
60
+ node: Post!
61
+ cursor: String!
62
+ }
63
+
64
+ type PageInfo {
65
+ hasNextPage: Boolean!
66
+ hasPreviousPage: Boolean!
67
+ startCursor: String
68
+ endCursor: String
69
+ }
70
+ ```
71
+
72
+ ## Resolver Pattern
73
+
74
+ ```typescript
75
+ const resolvers = {
76
+ Query: {
77
+ user: (_: unknown, { id }: { id: string }, ctx: Context) =>
78
+ ctx.dataSources.users.getById(id),
79
+
80
+ users: (_: unknown, args: PaginationArgs, ctx: Context) =>
81
+ ctx.dataSources.users.getConnection(args),
82
+ },
83
+
84
+ // Field resolver — handles N+1 via DataLoader
85
+ User: {
86
+ posts: (parent: User, args: PaginationArgs, ctx: Context) =>
87
+ ctx.dataSources.posts.getByAuthor(parent.id, args),
88
+ },
89
+ };
90
+ ```
91
+
92
+ ## N+1 Prevention — DataLoader
93
+
94
+ ```typescript
95
+ import DataLoader from 'dataloader';
96
+
97
+ // Batch function: receives array of IDs, returns array of results
98
+ const userLoader = new DataLoader<string, User>(async (ids) => {
99
+ const users = await db.user.findMany({ where: { id: { in: [...ids] } } });
100
+ const map = new Map(users.map(u => [u.id, u]));
101
+ return ids.map(id => map.get(id)!);
102
+ });
103
+
104
+ // In resolver — automatically batched
105
+ const resolvers = {
106
+ Post: {
107
+ author: (post: Post) => userLoader.load(post.authorId),
108
+ },
109
+ };
110
+ ```
111
+
112
+ ## Security
113
+
114
+ | Threat | Mitigation |
115
+ |--------|-----------|
116
+ | Query depth attack | Set max depth (e.g., 7) |
117
+ | Query complexity | Calculate cost per field, set max |
118
+ | Batching abuse | Limit batch size |
119
+ | Introspection leak | Disable in production |
120
+ | Field-level auth | Check permissions per resolver |
121
+
122
+ ```typescript
123
+ // Query depth + complexity limits
124
+ const server = new ApolloServer({
125
+ validationRules: [
126
+ depthLimit(7),
127
+ costAnalysis({ maximumCost: 1000 }),
128
+ ],
129
+ introspection: process.env.NODE_ENV !== 'production',
130
+ });
131
+ ```
132
+
133
+ ## Anti-Patterns
134
+
135
+ | ❌ Don't | ✅ Do |
136
+ |---------|-------|
137
+ | Expose database schema directly | Design schema for clients |
138
+ | One mega-query resolver | Keep resolvers small + composable |
139
+ | Skip DataLoader | Always use DataLoader for relations |
140
+ | Allow unlimited query depth | Set max depth (7) + cost limits |
141
+
142
+ ---
143
+
144
+ ## 🔗 Related
145
+
146
+ | File | When to Read |
147
+ |------|-------------|
148
+ | [api-style.md](api-style.md) | REST vs GraphQL vs tRPC decision |
149
+ | [security-testing.md](security-testing.md) | GraphQL security testing |
150
+ | [SKILL.md](../SKILL.md) | Full decision framework |
151
+
152
+ ---
153
+
154
+ ⚡ PikaKit v3.9.134