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,952 @@
1
+ # chrome-devtools
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 chrome-devtools domain.
9
+ > Optimized for automation and consistency by AI-assisted workflows.
10
+
11
+ ---
12
+
13
+ # Chrome DevTools — Puppeteer CLI
14
+
15
+ > Direct Puppeteer CLI scripts. Session persistence. JSON output. Auto-compressed screenshots.
16
+
17
+ ---
18
+
19
+ ## Prerequisites
20
+
21
+ **Required:**
22
+ - Node.js 18+
23
+ - Puppeteer: `npm install puppeteer sharp yargs`
24
+
25
+ **Linux/WSL:** Chrome dependencies via `./install-deps.sh`
26
+
27
+ ---
28
+
29
+ ## When to Use
30
+
31
+ | Use This For | Use `agent-browser` For |
32
+ |--------------|------------------------|
33
+ | Quick screenshots | Long autonomous AI sessions |
34
+ | Custom Puppeteer scripts | Context-constrained agent workflows |
35
+ | WebSocket debugging | Cloud browsers (CI/CD) |
36
+ | Core Web Vitals measurement | Multi-tab @ref interactions |
37
+ | Auth injection, form filling | AI-optimized element referencing |
38
+
39
+ ---
40
+
41
+ ## System Boundaries
42
+
43
+ | Owned by This Skill | NOT Owned |
44
+ |---------------------|-----------|
45
+ | 10 Puppeteer CLI scripts | E2E test suites (→ e2e-automation) |
46
+ | Session persistence (.browser-session.json) | AI @ref handle system (→ agent-browser) |
47
+ | Screenshot capture + auto-compress | Performance recommendations (→ perf-optimizer) |
48
+ | Core Web Vitals measurement | Cross-browser testing |
49
+ | Console/network monitoring | Browser installation |
50
+
51
+ **Side effects:** Launches browser processes, writes files (screenshots, session), executes JavaScript in page context, navigates pages with network requests.
52
+
53
+ ---
54
+
55
+ ## Available Scripts
56
+
57
+ | Script | Purpose | Side Effects | Idempotent |
58
+ |--------|---------|-------------|-----------|
59
+ | `navigate.ts` | Navigate to URL | Browser launch, page navigation | No |
60
+ | `screenshot.ts` | Capture screenshot | File write (auto-compress > 5MB) | No |
61
+ | `click.ts` | Click element | Page state mutation | No |
62
+ | `fill.ts` | Fill form field | Form state mutation | No |
63
+ | `evaluate.ts` | Execute JavaScript | Depends on script content | Depends |
64
+ | `aria-snapshot.ts` | Get ARIA tree (YAML) | None (read-only) | Yes |
65
+ | `select-ref.ts` | Interact by ref | Page state mutation | No |
66
+ | `console.ts` | Monitor console | None (passive) | Yes |
67
+ | `network.ts` | Track HTTP requests | None (passive) | Yes |
68
+ | `performance.ts` | Core Web Vitals | Navigation + measurement | No |
69
+
70
+ ---
71
+
72
+ ## Session Persistence
73
+
74
+ ```bash
75
+ # 1. Launch session (browser starts)
76
+ node navigate.ts --url https://example.com/login
77
+
78
+ # 2. Interact (browser reuses session)
79
+ node fill.ts --selector "#email" --value "user@example.com"
80
+ node click.ts --selector "button[type=submit]"
81
+
82
+ # 3. Capture
83
+ node screenshot.ts --output ./result.png
84
+
85
+ # 4. Close (browser terminates)
86
+ node navigate.ts --close true
87
+ ```
88
+
89
+ **State:** `.browser-session.json` in working directory. One session per directory. Delete file to reset.
90
+
91
+ ---
92
+
93
+ ## Common Options
94
+
95
+ | Option | Default | Description |
96
+ |--------|---------|-------------|
97
+ | `--headless false` | true | Show browser window |
98
+ | `--close true` | false | Terminate browser process |
99
+ | `--timeout 30000` | 30000 | Timeout in ms |
100
+ | `--wait-until networkidle2` | load | Wait strategy |
101
+ | `--full-page true` | false | Full page screenshot |
102
+ | `--max-size 5` | 5 | Max screenshot MB before auto-compress |
103
+
104
+ ---
105
+
106
+ ## Error Taxonomy
107
+
108
+ | Code | Recoverable | Trigger |
109
+ |------|-------------|---------|
110
+ | `ERR_ELEMENT_NOT_FOUND` | Yes | CSS selector matched no elements |
111
+ | `ERR_NAVIGATION_TIMEOUT` | Yes | Page did not load within timeout |
112
+ | `ERR_BROWSER_DISCONNECTED` | Yes | Browser process unreachable |
113
+ | `ERR_BROWSER_CRASHED` | Yes | Browser terminated unexpectedly |
114
+ | `ERR_PUPPETEER_MISSING` | No | Puppeteer npm package not installed |
115
+ | `ERR_SCRIPT_FAILED` | Yes | JavaScript execution threw error |
116
+ | `ERR_WRITE_FAILED` | Yes | Screenshot/file write failed |
117
+ | `ERR_INVALID_SELECTOR` | No | CSS selector syntactically invalid |
118
+ | `ERR_SESSION_CORRUPTED` | Yes | Session file is invalid JSON |
119
+
120
+ **Zero internal retries.** Scripts execute once and return JSON. Callers own retry logic.
121
+
122
+ ---
123
+
124
+ ## Troubleshooting
125
+
126
+ | Problem | Cause | Resolution |
127
+ |---------|-------|------------|
128
+ | `Cannot find puppeteer` | Not installed | `npm install puppeteer sharp yargs` |
129
+ | `libnss3.so` missing | Linux deps | Run `./install-deps.sh` |
130
+ | Element not found | Wrong selector | Use `aria-snapshot.ts` to find correct selector |
131
+ | Screenshot > 5MB | High DPI / full page | Auto-compressed; use `--max-size 3` for smaller |
132
+ | Session stale | Browser died | Delete `.browser-session.json`, re-launch |
133
+ | Script hangs | Page never loads | Increase `--timeout` or check URL |
134
+
135
+ ---
136
+
137
+ ## 📑 Content Map
138
+
139
+ | File | Description | When to Read |
140
+ |------|-------------|--------------|
141
+ | [scripts-guide.md](rules/scripts-guide.md) | Complete script reference with all options | Detailed script usage |
142
+ | [aria-snapshot.md](rules/aria-snapshot.md) | ARIA tree format and usage | Element discovery |
143
+ | [scripts/](scripts/) | Puppeteer CLI scripts | Script execution |
144
+ | [engineering-spec.md](rules/engineering-spec.md) | Full engineering spec: contracts, security, scalability | Architecture review |
145
+
146
+ ---
147
+
148
+ ## 🔗 Related
149
+
150
+ | Item | Type | Purpose |
151
+ |------|------|---------|
152
+ | `agent-browser` | Skill | AI-optimized browser automation with @ref handles |
153
+ | `e2e-automation` | Skill | Playwright E2E testing |
154
+ | `perf-optimizer` | Skill | Performance analysis and recommendations |
155
+
156
+ ---
157
+
158
+
159
+
160
+ ---
161
+
162
+ ## Detailed Rules
163
+
164
+
165
+ ---
166
+
167
+ ### Rule: aria-snapshot
168
+
169
+ ---
170
+ name: aria-snapshot
171
+ description: YAML accessibility tree format with ref handles for element interaction
172
+ ---
173
+
174
+ # ARIA Snapshot Format
175
+
176
+ > YAML accessibility tree with refs for interaction.
177
+
178
+ ---
179
+
180
+ ## Format
181
+
182
+ ```yaml
183
+ - banner:
184
+ - link "Hacker News" [ref=e1]
185
+ /url: https://news.ycombinator.com
186
+ - navigation:
187
+ - link "new" [ref=e2]
188
+ - link "past" [ref=e3]
189
+ - main:
190
+ - list:
191
+ - listitem:
192
+ - link "Show HN: My project" [ref=e8]
193
+ - text: "128 points by user 3 hours ago"
194
+ - contentinfo:
195
+ - link "Guidelines" [ref=e20]
196
+ ```
197
+
198
+ ---
199
+
200
+ ## Notation
201
+
202
+ | Notation | Meaning |
203
+ |----------|---------|
204
+ | `[ref=eN]` | Stable ID for interaction |
205
+ | `[checked]` | Checkbox/radio selected |
206
+ | `[disabled]` | Element inactive |
207
+ | `[expanded]` | Accordion/dropdown open |
208
+ | `/url:` | Link destination |
209
+ | `/placeholder:` | Input placeholder |
210
+ | `[level=N]` | Heading level |
211
+
212
+ ---
213
+
214
+ ## Roles
215
+
216
+ | Role | Element |
217
+ |------|---------|
218
+ | `banner` | Header |
219
+ | `navigation` | Nav menu |
220
+ | `main` | Main content |
221
+ | `contentinfo` | Footer |
222
+ | `link` | Anchor |
223
+ | `button` | Button |
224
+ | `textbox` | Input |
225
+ | `checkbox` | Checkbox |
226
+ | `listitem` | List item |
227
+ | `heading` | H1-H6 |
228
+
229
+ ---
230
+
231
+ ## Interact by Ref
232
+
233
+ ```bash
234
+ # Click
235
+ node select-ref.ts --ref e1 --action click
236
+
237
+ # Fill
238
+ node select-ref.ts --ref e5 --action fill --value "text"
239
+
240
+ # Get text
241
+ node select-ref.ts --ref e8 --action text
242
+
243
+ # Screenshot
244
+ node select-ref.ts --ref e1 --action screenshot --output ./element.png
245
+ ```
246
+
247
+ ---
248
+
249
+
250
+
251
+ ---
252
+
253
+ ## 🔗 Related
254
+
255
+ | File | When to Read |
256
+ |------|-------------|
257
+ | [scripts-guide.md](scripts-guide.md) | All script options and examples |
258
+ | [engineering-spec.md](engineering-spec.md) | Full contracts and architecture |
259
+ | [SKILL.md](../SKILL.md) | Quick reference and error taxonomy |
260
+
261
+ ---
262
+
263
+ ### Rule: engineering-spec
264
+
265
+ ---
266
+ title: Chrome DevTools — Engineering Specification
267
+ impact: MEDIUM
268
+ tags: chrome-devtools
269
+ ---
270
+
271
+ # Chrome DevTools — Engineering Specification
272
+
273
+ > Production-grade specification for Puppeteer CLI browser automation at FAANG scale.
274
+
275
+ ---
276
+
277
+ ## 1. Overview
278
+
279
+ Chrome DevTools provides a suite of Puppeteer-based CLI scripts for browser automation: navigation, screenshot capture, form interaction, JavaScript execution, ARIA tree inspection, console monitoring, network tracking, and Core Web Vitals measurement. Unlike `agent-browser` (which uses @ref handles for AI-optimized workflows), Chrome DevTools operates as direct CLI tools invoked from terminal.
280
+
281
+ The skill has side effects: it launches browser processes, captures screenshots to disk, persists session state in `.browser-session.json`, and executes arbitrary JavaScript in page context.
282
+
283
+ ---
284
+
285
+ ## 2. Problem Statement
286
+
287
+ Browser automation tooling at scale faces four quantified problems:
288
+
289
+ | Problem | Measurement | Impact |
290
+ |---------|-------------|--------|
291
+ | No session persistence | Each browser script launches a new browser instance | 3–5 second overhead per operation; auth state lost |
292
+ | Unstructured output | Raw console text output from browser scripts | Unparseable by agents; manual extraction required |
293
+ | Screenshot size explosion | Full-page screenshots at high DPI produce 10–20MB files | Exceeds context limits; storage waste |
294
+ | No performance baseline | Core Web Vitals measured ad-hoc with no structured format | No regression tracking; no CI/CD integration |
295
+
296
+ Chrome DevTools eliminates these with session-persistent scripts, JSON-structured output, auto-compressed screenshots, and standardized Core Web Vitals measurement.
297
+
298
+ ---
299
+
300
+ ## 3. Design Goals
301
+
302
+ | ID | Goal | Measurable Constraint |
303
+ |----|------|-----------------------|
304
+ | G1 | Session persistence | Browser instance survives across ≤ 50 sequential script invocations |
305
+ | G2 | JSON-structured output | Every script outputs parseable JSON to stdout |
306
+ | G3 | Screenshot size control | All screenshots ≤ 5 MB; auto-compress if exceeded |
307
+ | G4 | Core Web Vitals capture | FCP, LCP, CLS, TTFB measured and returned as JSON object |
308
+ | G5 | CLI-first interface | Every operation invocable via `node <script>.js --<args>` |
309
+
310
+ ---
311
+
312
+ ## 4. Non-Goals
313
+
314
+ | ID | Excluded | Rationale |
315
+ |----|----------|-----------|
316
+ | NG1 | AI-optimized @ref handle system | Owned by `agent-browser` skill |
317
+ | NG2 | E2E test suite management | Owned by `e2e-automation` skill (Playwright) |
318
+ | NG3 | Performance analysis and recommendations | Owned by `perf-optimizer` skill |
319
+ | NG4 | Cross-browser testing | Chrome/Chromium only; no Firefox/Safari |
320
+ | NG5 | Browser extension development | Out of scope; see chrome-extension template |
321
+ | NG6 | Cloud browser provisioning | Infrastructure concern; not a script concern |
322
+
323
+ ---
324
+
325
+ ## 5. System Boundaries
326
+
327
+ | Boundary | Owned | Not Owned |
328
+ |----------|-------|-----------|
329
+ | Puppeteer script execution | 10 CLI scripts in `scripts/` | Browser installation (caller ensures Chrome/Chromium available) |
330
+ | Session management | `.browser-session.json` lifecycle | Session storage beyond local filesystem |
331
+ | Screenshot capture | Capture + auto-compress + file write | Image analysis or comparison |
332
+ | JavaScript execution | Run arbitrary JS in page context | JS code generation |
333
+ | Core Web Vitals | FCP, LCP, CLS, TTFB measurement | Performance thresholds or recommendations |
334
+ | Console/network monitoring | Capture and JSON output | Log analysis |
335
+
336
+ **Side-effect boundary:** Chrome DevTools launches browser processes, writes files (screenshots, session), executes JavaScript in page context, and makes network requests (via navigated pages). All side effects are confined to the script invocation scope except session persistence.
337
+
338
+ ---
339
+
340
+ ## 6. Integration Model
341
+
342
+ ### 6.1 Agent Contract
343
+
344
+ #### Input Schema (per script)
345
+
346
+ ```
347
+ Script: string # One of the 10 scripts (navigate, screenshot, click, fill, evaluate, etc.)
348
+ Arguments: {
349
+ url: string | null # Target URL (navigate, screenshot, performance)
350
+ selector: string | null # CSS selector (click, fill)
351
+ value: string | null # Input value (fill)
352
+ script: string | null # JavaScript code (evaluate)
353
+ output: string | null # Output file path (screenshot)
354
+ headless: boolean # Default: true
355
+ timeout: number # Default: 30000 ms
356
+ close: boolean # Default: false; true = terminate browser
357
+ wait_until: string # "load" | "domcontentloaded" | "networkidle0" | "networkidle2"
358
+ full_page: boolean # Screenshot: capture full page
359
+ max_size: number # Screenshot: max MB before compression (default: 5)
360
+ }
361
+ contract_version: string # "2.0.0"
362
+ ```
363
+
364
+ #### Output Schema
365
+
366
+ ```
367
+ Status: "success" | "error"
368
+ Data: {
369
+ result: any # Script-specific output (page title, evaluation result, vitals, etc.)
370
+ screenshot_path: string | null # Absolute path to saved screenshot
371
+ session_id: string # Browser session identifier
372
+ timing: {
373
+ started: string # ISO-8601
374
+ completed: string # ISO-8601
375
+ duration_ms: number
376
+ }
377
+ metadata: {
378
+ contract_version: string # "2.0.0"
379
+ backward_compatibility: string # "breaking"
380
+ }
381
+ }
382
+ Error: {
383
+ code: string # From Error Taxonomy (Section 11)
384
+ message: string
385
+ script: string
386
+ recoverable: boolean
387
+ }
388
+ ```
389
+
390
+ **Contract Version:** 2.0.0
391
+ **Backward Compatibility:** breaking (first hardened version)
392
+ **Breaking Changes:** None — new spec for first hardening
393
+
394
+ #### Deterministic Guarantees
395
+
396
+ - Same `Script` + `Arguments` targeting the same page state = same JSON structure output.
397
+ - Screenshot file path is deterministic from `--output` argument.
398
+ - Session file location is fixed: `.browser-session.json` in working directory.
399
+ - Script output format (JSON schema) is fixed per script version.
400
+
401
+ **Non-deterministic elements:** Page content, network timing, Core Web Vitals values, console output, and screenshot pixel content depend on the target page state at execution time.
402
+
403
+ #### What Agents May Assume
404
+
405
+ - Scripts produce JSON to stdout on success.
406
+ - Session persists across sequential script calls within the same working directory.
407
+ - Screenshots exceeding `max_size` are auto-compressed.
408
+ - `--close true` terminates the browser process.
409
+
410
+ #### What Agents Must NOT Assume
411
+
412
+ - Page state is reproducible across invocations (pages are live web content).
413
+ - Core Web Vitals values are stable (they vary with network and rendering conditions).
414
+ - Browser is already running (first script in session must launch it).
415
+ - Scripts work without Puppeteer installed.
416
+
417
+ #### Side-Effect Boundaries
418
+
419
+ | Operation | Side Effects |
420
+ |-----------|-------------|
421
+ | navigate.ts | Launches browser (if not running); navigates to URL; modifies session file |
422
+ | screenshot.ts | Writes screenshot file to disk; may compress |
423
+ | click.ts | Mutates page state (clicks element) |
424
+ | fill.ts | Mutates page state (fills form field) |
425
+ | evaluate.ts | Executes arbitrary JS in page context; may mutate page |
426
+ | aria-snapshot.ts | None (read-only page inspection) |
427
+ | select-ref.ts | Mutates page state (interacts with element) |
428
+ | console.ts | None (passive monitoring) |
429
+ | network.ts | None (passive monitoring) |
430
+ | performance.ts | Navigates and measures; reads page |
431
+
432
+ ### 6.2 Workflow Contract
433
+
434
+ #### Invocation Pattern
435
+
436
+ ```
437
+ 1. Launch session: node navigate.ts --url <target>
438
+ 2. Interact: node fill.ts / click.ts / evaluate.ts (sequential, reuses session)
439
+ 3. Capture: node screenshot.ts --output <path>
440
+ 4. Measure: node performance.ts --url <target>
441
+ 5. Close: node navigate.ts --close true
442
+ ```
443
+
444
+ #### Execution Guarantees
445
+
446
+ - Scripts execute sequentially within a session (no parallel script execution on same session).
447
+ - Each script completes (success or timeout) before returning control.
448
+ - Session state persists in `.browser-session.json` between script calls.
449
+ - `--close true` guarantees browser process termination.
450
+
451
+ #### Failure Propagation Model
452
+
453
+ | Failure Type | Propagation | Recovery |
454
+ |-------------|-------------|----------|
455
+ | Element not found | Return error with selector | Use aria-snapshot.ts to find correct selector |
456
+ | Navigation timeout | Return error with URL and timeout | Increase timeout or verify URL |
457
+ | Browser crash | Return error; session file preserved | Delete session file; re-launch |
458
+ | Puppeteer not installed | Return error immediately | Run npm install |
459
+ | Permission denied (screenshot) | Return error with path | Verify write permissions |
460
+
461
+ #### Retry Boundaries
462
+
463
+ - Zero internal retries. Scripts execute once and return.
464
+ - Callers may retry with same or modified arguments.
465
+ - Session survives script failures (browser stays running).
466
+
467
+ #### Isolation Model
468
+
469
+ - One session per working directory (session file is directory-scoped).
470
+ - Multiple concurrent sessions in different directories are independent.
471
+ - No cross-session communication.
472
+
473
+ #### Idempotency Expectations
474
+
475
+ | Operation | Idempotent | Notes |
476
+ |-----------|-----------|-------|
477
+ | navigate.ts | No | Page state changes on navigation |
478
+ | screenshot.ts | No | File overwrite if same output path; page may differ |
479
+ | click.ts | No | Mutates page state |
480
+ | fill.ts | No | Mutates form state |
481
+ | evaluate.ts | Depends | Read-only JS is idempotent; mutation JS is not |
482
+ | aria-snapshot.ts | Yes | Read-only page inspection |
483
+ | console.ts | Yes | Passive monitoring |
484
+ | network.ts | Yes | Passive monitoring |
485
+ | performance.ts | No | Navigation + measurement produces varying values |
486
+
487
+ ---
488
+
489
+ ## 7. Execution Model
490
+
491
+ ### 2-Phase Script Lifecycle
492
+
493
+ | Phase | Action | Output |
494
+ |-------|--------|--------|
495
+ | **Connect** | Read session file → connect to existing browser OR launch new browser | Browser connection |
496
+ | **Execute** | Run script-specific action → return JSON result → update session file | JSON to stdout |
497
+
498
+ All scripts follow this lifecycle. Session file is updated after every script execution.
499
+
500
+ ---
501
+
502
+ ## 8. Deterministic Design Principles
503
+
504
+ | Principle | Enforcement |
505
+ |-----------|-------------|
506
+ | Fixed JSON output schema | Each script has a documented output structure |
507
+ | Fixed session file location | `.browser-session.json` in working directory |
508
+ | Fixed compression threshold | Screenshots auto-compress above `max_size` (default 5 MB) |
509
+ | Deterministic argument parsing | yargs-based CLI with typed arguments |
510
+ | No hidden state | All state in session file; no in-memory persistence across scripts |
511
+
512
+ **Acknowledged non-determinism:** Page content, network timing, and rendering are inherently non-deterministic.
513
+
514
+ ---
515
+
516
+ ## 9. State & Idempotency Model
517
+
518
+ ### Session State Machine
519
+
520
+ ```
521
+ States: NO_SESSION, ACTIVE, CLOSED
522
+ Transitions:
523
+ NO_SESSION → ACTIVE (any script invoked; browser launched)
524
+ ACTIVE → ACTIVE (script invoked; browser reused)
525
+ ACTIVE → CLOSED (--close true)
526
+ CLOSED → ACTIVE (any script invoked; new browser launched)
527
+ ```
528
+
529
+ ### Persistent State
530
+
531
+ - `.browser-session.json` — browser WebSocket endpoint, PID, launch options
532
+ - Session survives script failures (browser stays running)
533
+ - Session file is per-working-directory; no cross-directory sharing
534
+
535
+ ---
536
+
537
+ ## 10. Failure Handling Strategy
538
+
539
+ | Failure Class | Behavior | Recovery |
540
+ |---------------|----------|----------|
541
+ | Element not found | Return `ERR_ELEMENT_NOT_FOUND` | Use aria-snapshot.ts |
542
+ | Navigation timeout | Return `ERR_NAVIGATION_TIMEOUT` | Increase timeout |
543
+ | Browser disconnected | Return `ERR_BROWSER_DISCONNECTED` | Delete session file; re-launch |
544
+ | Browser crash | Return `ERR_BROWSER_CRASHED` | Delete session file; re-launch |
545
+ | Puppeteer not installed | Return `ERR_PUPPETEER_MISSING` | Run npm install |
546
+ | Script execution error | Return `ERR_SCRIPT_FAILED` with JS error | Fix JavaScript code |
547
+ | File write failed | Return `ERR_WRITE_FAILED` | Verify disk space and permissions |
548
+ | Invalid selector | Return `ERR_INVALID_SELECTOR` | Fix CSS selector syntax |
549
+ | Session file corrupted | Return `ERR_SESSION_CORRUPTED` | Delete .browser-session.json |
550
+
551
+ **Invariant:** Every failure outputs a JSON error object to stdout. No script exits with unstructured error text.
552
+
553
+ ---
554
+
555
+ ## 11. Error Taxonomy
556
+
557
+ | Code | Category | Recoverable | Description |
558
+ |------|----------|-------------|-------------|
559
+ | `ERR_ELEMENT_NOT_FOUND` | Interaction | Yes | CSS selector matched no elements |
560
+ | `ERR_NAVIGATION_TIMEOUT` | Network | Yes | Page did not reach wait_until state within timeout |
561
+ | `ERR_BROWSER_DISCONNECTED` | Session | Yes | Browser process unreachable; session file stale |
562
+ | `ERR_BROWSER_CRASHED` | Session | Yes | Browser process terminated unexpectedly |
563
+ | `ERR_PUPPETEER_MISSING` | Infrastructure | No | Puppeteer npm package not installed |
564
+ | `ERR_SCRIPT_FAILED` | Execution | Yes | JavaScript execution threw an error |
565
+ | `ERR_WRITE_FAILED` | IO | Yes | Screenshot or file write failed |
566
+ | `ERR_INVALID_SELECTOR` | Validation | No | CSS selector is syntactically invalid |
567
+ | `ERR_SESSION_CORRUPTED` | Session | Yes | Session file is invalid JSON |
568
+
569
+ ---
570
+
571
+ ## 12. Timeout & Retry Policy
572
+
573
+ | Parameter | Default | Max | Unit |
574
+ |-----------|---------|-----|------|
575
+ | Navigation timeout | 30,000 | 120,000 | ms |
576
+ | Element wait timeout | 5,000 | 30,000 | ms |
577
+ | Script execution timeout | 30,000 | 60,000 | ms |
578
+ | Screenshot capture | 10,000 | 30,000 | ms |
579
+ | Session connect | 5,000 | 10,000 | ms |
580
+ | Performance measurement | 30,000 | 60,000 | ms |
581
+
582
+ **Retry policy:** Zero internal retries. All scripts execute once. Callers own retry logic.
583
+
584
+ ---
585
+
586
+ ## 13. Observability & Logging Schema
587
+
588
+ ### Log Entry Format
589
+
590
+ ```json
591
+ {
592
+ "trace_id": "uuid",
593
+ "skill_name": "chrome-devtools",
594
+ "contract_version": "2.0.0",
595
+ "execution_id": "uuid",
596
+ "timestamp": "ISO-8601",
597
+ "script": "string",
598
+ "session_id": "string",
599
+ "status": "success|error",
600
+ "error_code": "string|null",
601
+ "url": "string|null",
602
+ "selector": "string|null",
603
+ "duration_ms": "number",
604
+ "screenshot_size_bytes": "number|null",
605
+ "compressed": "boolean|null"
606
+ }
607
+ ```
608
+
609
+ ### Required Log Points
610
+
611
+ | Event | Log Level | Fields |
612
+ |-------|-----------|--------|
613
+ | Script started | INFO | script, session_id, arguments |
614
+ | Script completed | INFO | script, duration_ms, status |
615
+ | Script failed | ERROR | script, error_code, message |
616
+ | Browser launched | INFO | session_id, headless, PID |
617
+ | Browser closed | INFO | session_id, reason |
618
+ | Screenshot compressed | WARN | original_size, compressed_size, path |
619
+
620
+ ### Metrics
621
+
622
+ | Metric | Type | Unit |
623
+ |--------|------|------|
624
+ | `devtools.script.duration` | Histogram | ms |
625
+ | `devtools.script.error_rate` | Counter | per error_code |
626
+ | `devtools.script.usage` | Counter | per script |
627
+ | `devtools.session.duration` | Histogram | ms |
628
+ | `devtools.screenshot.size` | Histogram | bytes |
629
+ | `devtools.vitals.fcp` | Histogram | ms |
630
+ | `devtools.vitals.lcp` | Histogram | ms |
631
+
632
+ ---
633
+
634
+ ## 14. Security & Trust Model
635
+
636
+ ### JavaScript Execution
637
+
638
+ - `evaluate.ts` executes arbitrary JavaScript in the target page context.
639
+ - No sandboxing beyond Chromium's own security model.
640
+ - Callers are responsible for JS code safety; the skill does not validate script content.
641
+
642
+ ### Credential Handling
643
+
644
+ - Scripts may interact with login forms (fill.ts) but do not store credentials.
645
+ - Session state (`.browser-session.json`) contains browser WebSocket endpoint, not credentials.
646
+ - Auth cookies persist in the browser profile during the session.
647
+
648
+ ### File System Access
649
+
650
+ - Screenshots are written to the path specified by `--output`.
651
+ - Session file is written to working directory.
652
+ - No file access outside these two paths.
653
+
654
+ ### Network Access
655
+
656
+ - Navigated pages make their own network requests.
657
+ - Scripts do not make additional network requests beyond Puppeteer's CDP connection.
658
+
659
+ ---
660
+
661
+ ## 15. Scalability Model
662
+
663
+ | Dimension | Constraint | Mitigation |
664
+ |-----------|-----------|------------|
665
+ | Memory per session | 50–150 MB (Chromium process) | One session per working directory |
666
+ | Concurrent sessions | Limited by system memory | Each session in separate directory |
667
+ | Screenshot storage | 1–5 MB per screenshot | `max_size` compression |
668
+ | Session duration | Indefinite until `--close true` | Caller manages session lifecycle |
669
+ | Script throughput | Sequential per session | No parallel script execution on same session |
670
+
671
+ ---
672
+
673
+ ## 16. Concurrency Model
674
+
675
+ | Scope | Model | Behavior |
676
+ |-------|-------|----------|
677
+ | Within session | Sequential | One script at a time per browser session |
678
+ | Across sessions | Parallel | Different directories = independent sessions |
679
+ | Script execution | Blocking | Script returns only after completion or timeout |
680
+
681
+ **Undefined behavior:** Two scripts targeting the same session concurrently. The session file does not support locking; concurrent access produces unpredictable results.
682
+
683
+ ---
684
+
685
+ ## 17. Resource Lifecycle Management
686
+
687
+ | Resource | Created By | Destroyed By | Max Lifetime |
688
+ |----------|-----------|-------------|--------------|
689
+ | Chromium process | First script in session | `--close true` or manual kill | Indefinite |
690
+ | Session file | First script | `--close true` (auto-delete) or manual delete | Session lifetime |
691
+ | Screenshot files | screenshot.ts | Caller (manual cleanup) | Indefinite |
692
+ | Page state | Navigation/interaction scripts | Navigation to new page or browser close | Until next navigation |
693
+
694
+ **Leak prevention:** Callers must invoke `--close true` to terminate browser processes. Orphaned processes must be killed manually. Session files without running browsers are stale and should be deleted.
695
+
696
+ ---
697
+
698
+ ## 18. Performance Constraints
699
+
700
+ | Operation | P50 Target | P99 Target | Hard Limit |
701
+ |-----------|-----------|-----------|------------|
702
+ | Session connect (existing) | < 200 ms | < 500 ms | 10,000 ms |
703
+ | Browser launch (new session) | < 3,000 ms | < 8,000 ms | 30,000 ms |
704
+ | Navigation | < 2,000 ms | < 10,000 ms | 30,000 ms |
705
+ | Screenshot capture | < 500 ms | < 2,000 ms | 10,000 ms |
706
+ | Click/fill interaction | < 100 ms | < 500 ms | 5,000 ms |
707
+ | JavaScript execution | < 100 ms | < 1,000 ms | 30,000 ms |
708
+ | Performance measurement | < 5,000 ms | < 15,000 ms | 60,000 ms |
709
+
710
+ ---
711
+
712
+ ## 19. Operational Risks
713
+
714
+ | Risk | Likelihood | Impact | Mitigation |
715
+ |------|-----------|--------|------------|
716
+ | Orphaned browser processes | Medium | Memory leak on machine | Caller must use `--close true`; document cleanup |
717
+ | Session file stale (browser died) | Medium | Connection failures | `ERR_BROWSER_DISCONNECTED`; delete session file |
718
+ | Screenshot disk exhaustion | Low | Write failures | `max_size` compression; caller manages cleanup |
719
+ | Puppeteer/Chrome version mismatch | Medium | Launch failures | Pin Puppeteer version; document compatible Chrome |
720
+ | Arbitrary JS execution risk | Medium | Page state corruption | Caller responsibility; no sandboxing |
721
+
722
+ ---
723
+
724
+ ## 20. Compliance with skill-design-guide.md
725
+
726
+ | Requirement | Status | Evidence |
727
+ |-------------|--------|----------|
728
+ | YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
729
+ | SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
730
+ | Prerequisites documented | ✅ | Node.js 18+, Puppeteer, Linux deps |
731
+ | When to Use section | ✅ | Comparison with agent-browser |
732
+ | Quick Reference | ✅ | Script table, session persistence, examples |
733
+ | Troubleshooting section | ✅ | Problem/solution table |
734
+ | Related section | ✅ | Cross-links to agent-browser, e2e-automation, perf-optimizer |
735
+ | Content Map | ✅ | Links to references and scripts |
736
+ | Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
737
+ | Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
738
+
739
+ ---
740
+
741
+ ## 21. Production Readiness Checklist
742
+
743
+ | Category | Check | Status |
744
+ |----------|-------|--------|
745
+ | **Functionality** | 10 CLI scripts covering navigation, capture, interaction, monitoring | ✅ |
746
+ | **Functionality** | Session persistence via .browser-session.json | ✅ |
747
+ | **Functionality** | Auto-compression for screenshots > 5 MB | ✅ |
748
+ | **Contracts** | Input arguments and JSON output schemas defined | ✅ |
749
+ | **Contracts** | Per-script side-effect boundaries documented | ✅ |
750
+ | **Contracts** | Per-script idempotency classification | ✅ |
751
+ | **Failure** | Error taxonomy with 9 categorized error codes | ✅ |
752
+ | **Failure** | JSON error output on all failures | ✅ |
753
+ | **Failure** | Zero internal retries | ✅ |
754
+ | **Determinism** | Fixed JSON output schemas, fixed session file location | ✅ |
755
+ | **Determinism** | Non-determinism acknowledged (page content, network timing) | ✅ |
756
+ | **Security** | No credential storage; JS execution risk documented | ✅ |
757
+ | **Observability** | Structured log schema with 6 log points | ✅ |
758
+ | **Observability** | 7 metrics including Core Web Vitals | ✅ |
759
+ | **Performance** | P50/P99 targets for all script types | ✅ |
760
+ | **Scalability** | One session per directory; memory-bounded | ✅ |
761
+ | **Concurrency** | Sequential within session; parallel across directories | ✅ |
762
+ | **Resources** | Browser process lifecycle documented; orphan risk mitigated | ✅ |
763
+ | **Compliance** | All skill-design-guide.md sections present | ✅ |
764
+
765
+ ---
766
+
767
+
768
+
769
+ ---
770
+
771
+ ### Rule: scripts-guide
772
+
773
+ ---
774
+ name: scripts-guide
775
+ description: Complete Puppeteer CLI script reference — navigation, screenshot, form automation, JS execution, ARIA, performance
776
+ ---
777
+
778
+ # Scripts Guide
779
+
780
+ > All Puppeteer CLI scripts with options.
781
+
782
+ ---
783
+
784
+ ## Navigation
785
+
786
+ ```bash
787
+ # Basic navigation
788
+ node navigate.ts --url https://example.com
789
+
790
+ # With timeout
791
+ node navigate.ts --url https://slow-site.com --timeout 60000
792
+
793
+ # Wait strategy
794
+ node navigate.ts --url https://example.com --wait-until networkidle2
795
+ # Options: load, domcontentloaded, networkidle0, networkidle2
796
+
797
+ # Close browser when done
798
+ node navigate.ts --url about:blank --close true
799
+ ```
800
+
801
+ ---
802
+
803
+ ## Screenshot
804
+
805
+ ```bash
806
+ # Basic screenshot
807
+ node screenshot.ts --url https://example.com --output ./shot.png
808
+
809
+ # Full page
810
+ node screenshot.ts --url https://example.com --output ./full.png --full-page true
811
+
812
+ # Current page (no navigation)
813
+ node screenshot.ts --output ./current.png
814
+
815
+ # Specific element
816
+ node screenshot.ts --url https://example.com --selector ".main" --output ./element.png
817
+
818
+ # Control compression
819
+ node screenshot.ts --url https://example.com --output ./shot.png --max-size 3
820
+ node screenshot.ts --url https://example.com --output ./shot.png --no-compress
821
+ ```
822
+
823
+ ---
824
+
825
+ ## Form Automation
826
+
827
+ ```bash
828
+ # Fill input
829
+ node fill.ts --selector "#email" --value "user@example.com"
830
+
831
+ # Click element
832
+ node click.ts --selector "button[type=submit]"
833
+
834
+ # Wait for element
835
+ node click.ts --selector ".modal-close" --wait true
836
+ ```
837
+
838
+ ---
839
+
840
+ ## JavaScript Execution
841
+
842
+ ```bash
843
+ # Simple expression
844
+ node evaluate.ts --script "document.title"
845
+
846
+ # Complex extraction
847
+ node evaluate.ts --script "
848
+ Array.from(document.querySelectorAll('.item')).map(el => ({
849
+ title: el.querySelector('h2')?.textContent,
850
+ link: el.querySelector('a')?.href
851
+ }))
852
+ "
853
+
854
+ # Async operation
855
+ node evaluate.ts --script "await new Promise(r => setTimeout(r, 2000))"
856
+ ```
857
+
858
+ ---
859
+
860
+ ## ARIA Snapshot
861
+
862
+ ```bash
863
+ # Get ARIA tree (YAML format)
864
+ node aria-snapshot.ts --url https://example.com
865
+
866
+ # Save to file
867
+ node aria-snapshot.ts --url https://example.com --output ./snapshot.yaml
868
+ ```
869
+
870
+ **Output format:**
871
+
872
+ ```yaml
873
+ - banner:
874
+ - link "Home" [ref=e1]
875
+ - navigation:
876
+ - link "About" [ref=e2]
877
+ - link "Contact" [ref=e3]
878
+ - main:
879
+ - heading "Welcome" [level=1]
880
+ - button "Sign Up" [ref=e4]
881
+ ```
882
+
883
+ ---
884
+
885
+ ## Interact by Ref
886
+
887
+ ```bash
888
+ # Click element
889
+ node select-ref.ts --ref e4 --action click
890
+
891
+ # Fill input
892
+ node select-ref.ts --ref e5 --action fill --value "search query"
893
+
894
+ # Get text content
895
+ node select-ref.ts --ref e1 --action text
896
+
897
+ # Screenshot element
898
+ node select-ref.ts --ref e1 --action screenshot --output ./logo.png
899
+ ```
900
+
901
+ ---
902
+
903
+ ## Console & Network
904
+
905
+ ```bash
906
+ # Console messages (10 seconds)
907
+ node console.ts --url https://example.com --duration 10000
908
+
909
+ # Filter by type
910
+ node console.ts --url https://example.com --types error,warn
911
+
912
+ # Network requests
913
+ node network.ts --url https://example.com
914
+
915
+ # Find failed requests
916
+ node network.ts --url https://example.com | jq '.requests[] | select(.response.status >= 400)'
917
+ ```
918
+
919
+ ---
920
+
921
+ ## Performance
922
+
923
+ ```bash
924
+ # Core Web Vitals
925
+ node performance.ts --url https://example.com | jq '.vitals'
926
+
927
+ # Output: { FCP, LCP, CLS, TTFB }
928
+ ```
929
+
930
+ ---
931
+
932
+
933
+
934
+ ---
935
+
936
+ ## 🔗 Related
937
+
938
+ | File | When to Read |
939
+ |------|-------------|
940
+ | [aria-snapshot.md](aria-snapshot.md) | ARIA tree format for element discovery |
941
+ | [engineering-spec.md](engineering-spec.md) | Full contracts and architecture |
942
+ | [SKILL.md](../SKILL.md) | Quick reference and error taxonomy |
943
+
944
+ ---
945
+
946
+ ⚡ ## OpenTelemetry Observability (MANDATORY)
947
+
948
+ - EVERY DevTools script MUST propagate W3C Trace Context via OpenTelemetry and record Web Vitals as OTel Metrics.
949
+
950
+ ---
951
+
952
+ PikaKit v3.9.134