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,728 @@
1
+ # agent-browser
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 agent-browser domain.
9
+ > Optimized for automation and consistency by AI-assisted workflows.
10
+
11
+ ---
12
+
13
+ # Agent Browser
14
+
15
+ > AI-optimized browser automation. @ref handles compress interactive elements to ~280 chars vs 8KB+ full DOM.
16
+
17
+ ---
18
+
19
+ ## Prerequisites
20
+
21
+ **Required:**
22
+ - Node.js 18+
23
+ - Playwright (`npm install playwright && npx playwright install chromium`)
24
+
25
+ **Optional:**
26
+ - Browserbase account (cloud browsers for CI/CD)
27
+
28
+ ---
29
+
30
+ ## When to Use
31
+
32
+ | Use agent-browser | Use chrome-devtools Instead |
33
+ |-------------------|-----------------------------|
34
+ | Long autonomous browser sessions | One-off screenshots |
35
+ | Context-constrained LLM workflows | Custom Puppeteer scripts |
36
+ | Video recording of user flows | WebSocket or network debugging |
37
+ | Cloud browsers in CI/CD pipelines | Auth token injection |
38
+ | Multi-step form interaction | Raw DOM inspection |
39
+
40
+ ---
41
+
42
+ ## Quick Start
43
+
44
+ ```bash
45
+ # 1. Navigate
46
+ agent-browser open https://example.com
47
+
48
+ # 2. Snapshot — get @ref handles
49
+ agent-browser snapshot -i
50
+ # Output: @e1=button[Login] @e2=input[email] @e3=input[password]
51
+
52
+ # 3. Interact — use @refs directly
53
+ agent-browser fill @e2 "user@example.com"
54
+ agent-browser fill @e3 "password123"
55
+ agent-browser click @e1
56
+
57
+ # 4. Verify — re-snapshot to confirm state change
58
+ agent-browser snapshot -i
59
+ ```
60
+
61
+ ---
62
+
63
+ ## System Boundaries
64
+
65
+ | Owned by This Skill | NOT Owned |
66
+ |---------------------|-----------|
67
+ | Browser session lifecycle | Browser binary installation |
68
+ | @ref element handles | Full DOM serialization |
69
+ | Click, fill, screenshot, record | JavaScript injection |
70
+ | Structured error codes | Visual regression testing (→ e2e-automation) |
71
+ | Session isolation | Network interception |
72
+
73
+ ---
74
+
75
+ ## Execution Model — 4-Phase Lifecycle
76
+
77
+ | Phase | Commands | State Effect |
78
+ |-------|----------|-------------|
79
+ | **Navigate** | `open <url>` | Creates session, loads page |
80
+ | **Snapshot** | `snapshot -i` | Generates @refs (read-only) |
81
+ | **Interact** | `click @ref`, `fill @ref "text"` | Mutates page state, invalidates @refs |
82
+ | **Verify** | `snapshot -i`, `screenshot [path]` | Captures new state |
83
+
84
+ **State:** `NO_SESSION → [open] → SESSION_ACTIVE → [close/timeout] → SESSION_CLOSED`
85
+
86
+ ---
87
+
88
+ ## @ref System
89
+
90
+ @refs replace CSS selectors and XPath with compact, stable element handles:
91
+
92
+ ```bash
93
+ # Snapshot output
94
+ @e1 = button[Login]
95
+ @e2 = input[type=email]
96
+ @e3 = input[type=password]
97
+ @e4 = a[Sign up]
98
+
99
+ # Use directly
100
+ agent-browser click @e1
101
+ agent-browser fill @e2 "email@example.com"
102
+ ```
103
+
104
+ | Property | Constraint |
105
+ |----------|-----------|
106
+ | Output size | ≤ 500 chars for ≤ 50 elements |
107
+ | Validity | Until next snapshot, navigation, or session close |
108
+ | Stale access | Returns `ERR_REF_STALE` (never silent) |
109
+ | ID format | Sequential: `@e1`, `@e2`, ...; resets per snapshot |
110
+
111
+ ---
112
+
113
+ ## Commands
114
+
115
+ | Command | Description | Idempotent |
116
+ |---------|-------------|------------|
117
+ | `open <url>` | Navigate to URL, create session | Yes |
118
+ | `snapshot -i` | Get interactive elements as @refs | Yes |
119
+ | `click @ref` | Click element | No |
120
+ | `fill @ref "text"` | Clear field, type text | No |
121
+ | `screenshot [path]` | Capture viewport to file | Yes |
122
+ | `record start` | Begin video recording | No |
123
+ | `record stop` | Finalize video file | No |
124
+ | `close` | Terminate session, release resources | Yes |
125
+
126
+ ---
127
+
128
+ ## Error Taxonomy
129
+
130
+ | Code | Recoverable | Trigger |
131
+ |------|-------------|---------|
132
+ | `ERR_SESSION_CLOSED` | No | Command sent to closed/expired session |
133
+ | `ERR_BROWSER_CRASH` | No | Browser process terminated |
134
+ | `ERR_NO_BROWSER` | No | Playwright or browser binary missing |
135
+ | `ERR_TIMEOUT` | Yes | Page did not load within `timeout_ms` |
136
+ | `ERR_INVALID_URL` | No | Malformed URL or blocked protocol (`file://`, `javascript:`) |
137
+ | `ERR_REF_NOT_FOUND` | Yes | @ref does not map to current DOM element |
138
+ | `ERR_REF_STALE` | Yes | @ref from previous snapshot |
139
+ | `ERR_NOT_INTERACTABLE` | Yes | Element hidden, disabled, or obscured |
140
+ | `ERR_INVALID_COMMAND` | No | Malformed command or arguments |
141
+ | `ERR_RECORDING_ACTIVE` | No | `record start` while recording |
142
+ | `ERR_NO_RECORDING` | No | `record stop` without active recording |
143
+ | `ERR_SCREENSHOT_WRITE` | Yes | Disk write failure |
144
+
145
+ **Zero internal retries.** All retry decisions belong to the caller.
146
+
147
+ ---
148
+
149
+ ## Timeout Defaults
150
+
151
+ | Parameter | Default | Max |
152
+ |-----------|---------|-----|
153
+ | Page load | 30,000 ms | 120,000 ms |
154
+ | Element wait | 5,000 ms | 30,000 ms |
155
+ | Session idle | 300,000 ms | 1,800,000 ms |
156
+ | Screenshot | 10,000 ms | 30,000 ms |
157
+
158
+ ---
159
+
160
+ ## Troubleshooting
161
+
162
+ | Problem | Cause | Resolution |
163
+ |---------|-------|------------|
164
+ | `ERR_REF_STALE` | @refs used after DOM mutation | Run `snapshot -i` again before interacting |
165
+ | `ERR_NOT_INTERACTABLE` | Element hidden or disabled | Wait for page load, check element visibility |
166
+ | `ERR_TIMEOUT` | Slow network or heavy page | Increase `timeout_ms`, check connectivity |
167
+ | Recording not saved | `record stop` not called | Call `record stop` before `close` |
168
+ | `ERR_NO_BROWSER` | Missing Playwright install | Run `npx playwright install chromium` |
169
+
170
+ ---
171
+
172
+ ## 📑 Content Map
173
+
174
+ | File | Description | When to Read |
175
+ |------|-------------|--------------|
176
+ | [engineering-spec.md](rules/engineering-spec.md) | Full engineering spec: contracts, security, scalability, observability, failure model | Architecture review, integration design, production deployment |
177
+
178
+ ---
179
+
180
+ ## 🔗 Related
181
+
182
+ | Item | Type | Purpose |
183
+ |------|------|---------|
184
+ | `e2e-automation` | Skill | Playwright E2E testing patterns |
185
+ | `chrome-devtools` | Skill | DevTools, screenshots, Puppeteer |
186
+ | `test-architect` | Skill | Test strategy and patterns |
187
+
188
+ ---
189
+
190
+
191
+
192
+ ---
193
+
194
+ ## Detailed Rules
195
+
196
+
197
+ ---
198
+
199
+ ### Rule: engineering-spec
200
+
201
+ ---
202
+ title: Agent Browser — Engineering Specification
203
+ impact: MEDIUM
204
+ tags: agent-browser
205
+ ---
206
+
207
+ # Agent Browser — Engineering Specification
208
+
209
+ > Production-grade specification for AI-optimized browser automation at FAANG scale.
210
+
211
+ ---
212
+
213
+ ## 1. Overview
214
+
215
+ Agent Browser provides AI agents with browser automation through context-efficient element references (@refs). Instead of passing full DOM trees (8KB+ per snapshot), the @ref system compresses interactive elements into ~280 character handles, reducing LLM context consumption by 93%.
216
+
217
+ The skill wraps Playwright to expose a 4-phase execution lifecycle: Navigate → Snapshot → Interact → Verify. Every operation maps to one of these phases.
218
+
219
+ ---
220
+
221
+ ## 2. Problem Statement
222
+
223
+ AI agents consuming browser state face three quantified problems:
224
+
225
+ | Problem | Measurement | Impact |
226
+ |---------|-------------|--------|
227
+ | Context overflow | Full DOM = 8,000–50,000 chars per page | Exceeds LLM context windows within 2–3 pages |
228
+ | Selector instability | CSS/XPath selectors break on 40–60% of page updates | Test flakiness, false failures |
229
+ | Session state loss | No persistence across agent turns | Repeated navigation, wasted execution time |
230
+
231
+ Agent Browser eliminates these by providing stable, compact element handles that survive page re-renders and persist within a browser session.
232
+
233
+ ---
234
+
235
+ ## 3. Design Goals
236
+
237
+ | ID | Goal | Measurable Constraint |
238
+ |----|------|-----------------------|
239
+ | G1 | Minimize context consumption | Snapshot output ≤ 500 characters for pages with ≤ 50 interactive elements |
240
+ | G2 | Stable element references | @refs survive DOM mutations that preserve element identity |
241
+ | G3 | Deterministic command execution | Same command + same page state = same result |
242
+ | G4 | Session persistence | Browser state persists until explicit close or timeout |
243
+ | G5 | Failure transparency | Every failure returns a categorized error code, never silent |
244
+
245
+ ---
246
+
247
+ ## 4. Non-Goals
248
+
249
+ | ID | Excluded | Rationale |
250
+ |----|----------|-----------|
251
+ | NG1 | Full DOM extraction | Contradicts G1; use chrome-devtools for raw DOM |
252
+ | NG2 | JavaScript injection | Security boundary; not permitted in multi-tenant mode |
253
+ | NG3 | Network interception | Out of scope; use Playwright directly for HAR capture |
254
+ | NG4 | Visual regression testing | Owned by e2e-automation skill |
255
+ | NG5 | Browser binary management | Delegated to Playwright installer (`npx playwright install`) |
256
+
257
+ ---
258
+
259
+ ## 5. System Boundaries
260
+
261
+ | Boundary | Owned | Not Owned |
262
+ |----------|-------|-----------|
263
+ | Browser lifecycle | Session create, navigate, close | Browser binary install |
264
+ | Element interaction | Click, fill, select, hover | Custom JS execution |
265
+ | State capture | @ref snapshots, screenshots | Full DOM serialization |
266
+ | Recording | Video start/stop | Video encoding, hosting |
267
+ | Error reporting | Categorized error codes | Error recovery decisions |
268
+
269
+ **Side-effect boundary:** Agent Browser modifies browser state (navigation, form fills, clicks). It does not modify the file system, network configuration, or any state outside the browser process.
270
+
271
+ ---
272
+
273
+ ## 6. Integration Model
274
+
275
+ ### 6.1 Agent Contract
276
+
277
+ #### Input Schema
278
+
279
+ ```
280
+ Command: string # One of: open, snapshot, click, fill, screenshot, record, close
281
+ Target: string | null # URL for open, @ref for click/fill, path for screenshot
282
+ Value: string | null # Text for fill, "start"|"stop" for record
283
+ Options: {
284
+ timeout_ms: number # Default: 30000. Max: 120000.
285
+ interactive: boolean # Default: true. When true, snapshot returns only interactive elements.
286
+ wait_for: string # "load" | "domcontentloaded" | "networkidle". Default: "load".
287
+ }
288
+ contract_version: string # "2.0.0"
289
+ ```
290
+
291
+ #### Output Schema
292
+
293
+ ```
294
+ Status: "success" | "error"
295
+ Data: {
296
+ refs: Array<{id: string, tag: string, label: string}> | null # For snapshot
297
+ screenshot_path: string | null # For screenshot
298
+ recording_path: string | null # For record stop
299
+ url: string # Current URL after command
300
+ title: string # Current page title
301
+ metadata: {
302
+ contract_version: string # "2.0.0"
303
+ backward_compatibility: string # "breaking"
304
+ }
305
+ }
306
+ Error: ErrorSchema | null
307
+ ```
308
+
309
+ **Contract Version:** 2.0.0
310
+ **Backward Compatibility:** breaking (first hardened version)
311
+ **Breaking Changes:** None — new spec for first hardening
312
+
313
+ #### Error Schema
314
+
315
+ ```
316
+ Code: string # From Error Taxonomy (Section 11)
317
+ Message: string # Human-readable, single line
318
+ Phase: string # navigate | snapshot | interact | verify
319
+ Recoverable: boolean
320
+ ```
321
+
322
+ #### Deterministic Guarantees
323
+
324
+ - `snapshot` on an unchanged page returns identical @refs in identical order.
325
+ - `click @ref` on a visible, enabled element triggers exactly one click event.
326
+ - `fill @ref "text"` clears the field, then types the text, in that order.
327
+ - `screenshot` captures the viewport at call time; no queuing, no batching.
328
+
329
+ #### What Agents May Assume
330
+
331
+ - @refs from the most recent `snapshot` are valid until the next navigation or DOM mutation.
332
+ - Commands execute sequentially in call order.
333
+ - A "success" status means the command completed; it does not assert business-logic correctness.
334
+
335
+ #### What Agents Must NOT Assume
336
+
337
+ - @refs from a previous `snapshot` remain valid after `click` (click may trigger navigation or DOM update).
338
+ - The browser process survives indefinitely; sessions time out after `session_timeout_ms`.
339
+ - Commands issued to a closed session will succeed; they return `ERR_SESSION_CLOSED`.
340
+ - Screenshot paths are permanent; they are written to a temp directory subject to OS cleanup.
341
+
342
+ #### Side-Effect Boundaries
343
+
344
+ | Command | Side Effects |
345
+ |---------|-------------|
346
+ | `open` | Navigates browser, may trigger network requests, sets cookies |
347
+ | `click` | Fires click event, may trigger navigation, may mutate DOM |
348
+ | `fill` | Clears field, types text, fires input/change events |
349
+ | `screenshot` | Writes file to disk at specified or temp path |
350
+ | `record start` | Begins writing video buffer to temp directory |
351
+ | `record stop` | Finalizes video file, releases buffer |
352
+ | `snapshot` | Read-only; no side effects |
353
+ | `close` | Terminates browser process, releases all resources |
354
+
355
+ ### 6.2 Workflow Contract
356
+
357
+ #### Invocation Pattern
358
+
359
+ ```
360
+ 1. open <url> # Required first command
361
+ 2. snapshot -i # Get @refs
362
+ 3. [interact commands] # click, fill using @refs
363
+ 4. snapshot -i # Verify state change
364
+ 5. close # Release resources (or auto-close on timeout)
365
+ ```
366
+
367
+ Workflows invoke commands sequentially. Parallel command invocation on the same session is undefined behavior (see Section 16).
368
+
369
+ #### Execution Guarantees
370
+
371
+ - Commands within a session execute in FIFO order.
372
+ - Each command completes (success or error) before the next begins.
373
+ - No command is silently dropped or reordered.
374
+
375
+ #### Failure Propagation Model
376
+
377
+ | Failure Severity | Propagation | Workflow Action |
378
+ |-----------------|-------------|-----------------|
379
+ | Recoverable (element not found, timeout) | Return error to caller | Caller decides: retry, re-snapshot, or abort |
380
+ | Non-recoverable (browser crash, session closed) | Return error to caller | Caller must create new session |
381
+ | Infrastructure (no browser binary) | Return error to caller | Caller must install prerequisites |
382
+
383
+ Failures do not propagate across sessions. A crashed session does not affect other sessions.
384
+
385
+ #### Retry Boundaries
386
+
387
+ - Agent Browser does not retry internally. All retry decisions belong to the caller.
388
+ - Callers should re-snapshot after any failed interaction before retrying with @refs.
389
+ - Maximum recommended caller-side retries: 3 per command, with snapshot refresh between retries.
390
+
391
+ #### Isolation Model
392
+
393
+ - Each `open` command creates an isolated browser context (separate cookies, storage, cache).
394
+ - Sessions do not share state. Two concurrent sessions on the same URL operate independently.
395
+ - Browser contexts are destroyed on `close` or session timeout.
396
+
397
+ #### Idempotency Expectations
398
+
399
+ | Command | Idempotent | Notes |
400
+ |---------|-----------|-------|
401
+ | `open` | Yes | Re-navigates to same URL; page state resets |
402
+ | `snapshot` | Yes | Returns current state; no mutation |
403
+ | `click` | No | Each call fires a new click event |
404
+ | `fill` | No | Clears and re-types; prior text is lost |
405
+ | `screenshot` | Yes | Captures current viewport state |
406
+ | `record start` | No | Second call returns `ERR_RECORDING_ACTIVE` |
407
+ | `record stop` | No | Second call returns `ERR_NO_RECORDING` |
408
+ | `close` | Yes | Second call returns `ERR_SESSION_CLOSED` |
409
+
410
+ ---
411
+
412
+ ## 7. Execution Model
413
+
414
+ ### 4-Phase Lifecycle
415
+
416
+ | Phase | Commands | State Transition |
417
+ |-------|----------|------------------|
418
+ | **Navigate** | `open <url>` | NO_SESSION → SESSION_ACTIVE |
419
+ | **Snapshot** | `snapshot -i` | SESSION_ACTIVE → SESSION_ACTIVE (refs populated) |
420
+ | **Interact** | `click`, `fill` | SESSION_ACTIVE → SESSION_ACTIVE (refs invalidated) |
421
+ | **Verify** | `snapshot`, `screenshot` | SESSION_ACTIVE → SESSION_ACTIVE (refs refreshed) |
422
+
423
+ **State Diagram:**
424
+
425
+ ```
426
+ NO_SESSION → [open] → SESSION_ACTIVE → [close/timeout] → SESSION_CLOSED
427
+ ↑ ↓
428
+ [snapshot/interact/verify cycle]
429
+ ```
430
+
431
+ Commands issued in `NO_SESSION` or `SESSION_CLOSED` state return `ERR_SESSION_CLOSED`.
432
+
433
+ ---
434
+
435
+ ## 8. Deterministic Design Principles
436
+
437
+ | Principle | Enforcement |
438
+ |-----------|-------------|
439
+ | No implicit waits beyond configured timeout | `wait_for` parameter controls page load strategy; no hidden sleep |
440
+ | No automatic retries | Failure returns immediately; caller controls retry |
441
+ | No background polling | Snapshot captures point-in-time state; no observers |
442
+ | No ambient state | Each command operates on explicit inputs only |
443
+ | Ordered execution | Commands execute in call order; no reordering |
444
+
445
+ ---
446
+
447
+ ## 9. State & Idempotency Model
448
+
449
+ ### Session State Machine
450
+
451
+ ```
452
+ States: NO_SESSION, SESSION_ACTIVE, SESSION_CLOSED
453
+ Transitions:
454
+ NO_SESSION + open → SESSION_ACTIVE
455
+ SESSION_ACTIVE + close → SESSION_CLOSED
456
+ SESSION_ACTIVE + timeout → SESSION_CLOSED
457
+ SESSION_ACTIVE + crash → SESSION_CLOSED
458
+ SESSION_CLOSED + any → ERR_SESSION_CLOSED
459
+ ```
460
+
461
+ ### @ref Lifecycle
462
+
463
+ 1. @refs are generated by `snapshot` and associated with DOM elements at snapshot time.
464
+ 2. @refs are valid until the next `snapshot`, navigation event, or session close.
465
+ 3. Using an expired @ref returns `ERR_REF_STALE` (never silently fails).
466
+ 4. @ref IDs are sequential within a snapshot (`@e1`, `@e2`, ...) and reset on each new snapshot.
467
+
468
+ ---
469
+
470
+ ## 10. Failure Handling Strategy
471
+
472
+ | Failure Class | Behavior | Caller Recovery |
473
+ |---------------|----------|-----------------|
474
+ | Element not found | Return `ERR_REF_NOT_FOUND` | Re-snapshot, obtain new @refs |
475
+ | Element not interactable | Return `ERR_NOT_INTERACTABLE` | Wait, re-snapshot, retry |
476
+ | Navigation timeout | Return `ERR_TIMEOUT` | Check URL, increase timeout, retry |
477
+ | Browser crash | Return `ERR_BROWSER_CRASH` | Create new session |
478
+ | Session expired | Return `ERR_SESSION_CLOSED` | Create new session |
479
+ | Invalid command | Return `ERR_INVALID_COMMAND` | Fix command syntax |
480
+ | Recording conflict | Return `ERR_RECORDING_ACTIVE` or `ERR_NO_RECORDING` | Check recording state |
481
+
482
+ **Invariant:** Every failure returns a structured error. No command fails silently.
483
+
484
+ **Auto-Recovery Protocol (Self-Healing):**
485
+ Agents MUST implement deterministic self-healing when encountering `ERR_REF_STALE` or `ERR_REF_NOT_FOUND`:
486
+ 1. **Never** fail immediately or prompt the user for help on stale refs.
487
+ 2. **Auto-Recover**: The agent must automatically trigger `snapshot -i` to force the `session_manager` to evaluate the new DOM layout and retrieve fresh `@refs`.
488
+ 3. Retry the intended action with the newly mapped `@ref`.
489
+
490
+ ---
491
+
492
+ ## 11. Error Taxonomy
493
+
494
+ | Code | Category | Phase | Recoverable | Description |
495
+ |------|----------|-------|-------------|-------------|
496
+ | `ERR_SESSION_CLOSED` | Session | Any | No | Session does not exist or was closed |
497
+ | `ERR_BROWSER_CRASH` | Infrastructure | Any | No | Browser process terminated unexpectedly |
498
+ | `ERR_NO_BROWSER` | Infrastructure | Navigate | No | Playwright or browser binary not installed |
499
+ | `ERR_TIMEOUT` | Network | Navigate | Yes | Page did not reach `wait_for` state within `timeout_ms` |
500
+ | `ERR_INVALID_URL` | Validation | Navigate | No | URL is malformed or uses disallowed protocol |
501
+ | `ERR_REF_NOT_FOUND` | Interaction | Interact | Yes | @ref does not map to a current DOM element |
502
+ | `ERR_REF_STALE` | Interaction | Interact | Yes | @ref was from a previous snapshot and is expired |
503
+ | `ERR_NOT_INTERACTABLE` | Interaction | Interact | Yes | Element exists but is hidden, disabled, or obscured |
504
+ | `ERR_INVALID_COMMAND` | Validation | Any | No | Command name or arguments are malformed |
505
+ | `ERR_RECORDING_ACTIVE` | State | Any | No | `record start` called while recording is in progress |
506
+ | `ERR_NO_RECORDING` | State | Any | No | `record stop` called with no active recording |
507
+ | `ERR_SCREENSHOT_WRITE` | IO | Verify | Yes | Failed to write screenshot to disk (permissions, disk space) |
508
+
509
+ ---
510
+
511
+ ## 12. Timeout & Retry Policy
512
+
513
+ | Parameter | Default | Min | Max | Unit |
514
+ |-----------|---------|-----|-----|------|
515
+ | `page_load_timeout` | 30,000 | 1,000 | 120,000 | ms |
516
+ | `element_wait_timeout` | 5,000 | 500 | 30,000 | ms |
517
+ | `session_timeout` | 300,000 | 30,000 | 1,800,000 | ms |
518
+ | `screenshot_timeout` | 10,000 | 1,000 | 30,000 | ms |
519
+
520
+ **Retry policy:** Zero internal retries. All retry logic is the caller's responsibility. This is a deliberate design decision to prevent hidden execution loops and maintain deterministic behavior.
521
+
522
+ ---
523
+
524
+ ## 13. Observability & Logging Schema
525
+
526
+ ### OpenTelemetry Integration (MANDATORY)
527
+
528
+ Agent Browser MUST coordinate with `@[skills/observability]` to emit distributed traces for all operations.
529
+ - **Span Naming**: `browser/{command}` (e.g., `browser/open`, `browser/click`).
530
+ - **Context Propagation**: The `trace_id` and `session_id` MUST be injected into all log entries and traces.
531
+ - **Span Attributes**: All fields in the 'Log Entry Format' must be attached as span attributes.
532
+
533
+ ### Log Entry Format
534
+
535
+ ```json
536
+ {
537
+ "trace_id": "uuid",
538
+ "skill_name": "agent-browser",
539
+ "contract_version": "2.0.0",
540
+ "execution_id": "uuid",
541
+ "timestamp": "ISO-8601",
542
+ "session_id": "uuid",
543
+ "command": "string",
544
+ "phase": "navigate|snapshot|interact|verify",
545
+ "target": "string|null",
546
+ "duration_ms": "number",
547
+ "status": "success|error",
548
+ "error_code": "string|null",
549
+ "refs_count": "number|null",
550
+ "url": "string"
551
+ }
552
+ ```
553
+
554
+ ### Required Log Points
555
+
556
+ | Event | Log Level | Fields |
557
+ |-------|-----------|--------|
558
+ | Session created | INFO | session_id, url, timestamp |
559
+ | Command executed | INFO | All fields |
560
+ | Command failed | ERROR | All fields + error_code |
561
+ | Session closed | INFO | session_id, reason (explicit, timeout, crash), total_commands |
562
+ | @ref stale access | WARN | session_id, ref_id, snapshot_age_ms |
563
+
564
+ ### Metrics
565
+
566
+ | Metric | Type | Unit |
567
+ |--------|------|------|
568
+ | `browser.session.duration` | Histogram | ms |
569
+ | `browser.command.duration` | Histogram | ms |
570
+ | `browser.command.error_rate` | Counter | per error_code |
571
+ | `browser.snapshot.ref_count` | Gauge | count |
572
+ | `browser.snapshot.char_count` | Gauge | characters |
573
+ | `browser.session.active` | Gauge | count |
574
+
575
+ ---
576
+
577
+ ## 14. Security & Trust Model
578
+
579
+ ### URL Allowlist
580
+
581
+ | Allowed | Blocked |
582
+ |---------|---------|
583
+ | `http://` | `file://` |
584
+ | `https://` | `javascript:` |
585
+ | `localhost` | `data:` (configurable) |
586
+
587
+ Blocked protocols return `ERR_INVALID_URL`.
588
+
589
+ ### Credential Handling
590
+
591
+ - Agent Browser does not store credentials. `fill` commands pass values transiently.
592
+ - Values passed to `fill` are logged as `[REDACTED]` in all log outputs.
593
+ - Screenshots and recordings may contain sensitive data; callers are responsible for access control on output files.
594
+
595
+ ### Browser Context Isolation
596
+
597
+ - Each session uses an isolated browser context (no shared cookies, localStorage, or cache between sessions).
598
+ - Browser contexts run with Playwright's default sandboxing.
599
+ - No browser extensions are loaded.
600
+
601
+ ### Multi-Tenant Boundaries
602
+
603
+ - Sessions are identified by `session_id`. No session can access another session's browser context.
604
+ - Session IDs are UUIDs; they are not guessable or sequential.
605
+
606
+ ---
607
+
608
+ ## 15. Scalability Model
609
+
610
+ | Dimension | Constraint | Mitigation |
611
+ |-----------|-----------|------------|
612
+ | Concurrent sessions | Bound by available memory (each Chromium context ≈ 50–150 MB) | Enforce max_concurrent_sessions per node |
613
+ | Session throughput | Sequential command execution within session | Parallelism across sessions, not within |
614
+ | Snapshot size | Proportional to interactive element count | Cap at 200 elements per snapshot; truncate with warning |
615
+ | Storage (screenshots/recordings) | Disk I/O bound | Write to configurable output directory; caller manages cleanup |
616
+
617
+ ### Capacity Planning
618
+
619
+ | Metric | Per Session | Per Node (16 GB RAM) |
620
+ |--------|-------------|---------------------|
621
+ | Memory | 50–150 MB | ~100 concurrent sessions |
622
+ | CPU | 1 core per active session | Bound by core count |
623
+ | Disk | ~2 MB/screenshot, ~5 MB/min recording | Caller-managed cleanup |
624
+
625
+ ---
626
+
627
+ ## 16. Concurrency Model
628
+
629
+ | Scope | Model | Behavior |
630
+ |-------|-------|----------|
631
+ | Within session | Sequential | Commands execute in FIFO order; concurrent calls are undefined behavior |
632
+ | Across sessions | Parallel | Independent sessions run concurrently with no shared state |
633
+ | Recording | Exclusive | One active recording per session; second `record start` returns error |
634
+
635
+ **Undefined behavior:** Sending commands to the same session from multiple agents concurrently. The skill does not queue or serialize concurrent calls to the same session. Callers must serialize access.
636
+
637
+ ---
638
+
639
+ ## 17. Resource Lifecycle Management
640
+
641
+ | Resource | Created By | Destroyed By | Max Lifetime |
642
+ |----------|-----------|-------------|--------------|
643
+ | Browser context | `open` | `close`, timeout, or crash | `session_timeout` (default: 5 min) |
644
+ | @ref bindings | `snapshot` | Next `snapshot`, navigation, or session close | Until next snapshot |
645
+ | Screenshot files | `screenshot` | Caller (manual cleanup) | Indefinite until deleted |
646
+ | Recording files | `record stop` | Caller (manual cleanup) | Indefinite until deleted |
647
+ | Temp buffers | `record start` | `record stop` or session close | Session lifetime |
648
+
649
+ **Leak prevention:**
650
+ - Sessions that exceed `session_timeout` without commands are closed automatically.
651
+ - Active recordings are finalized on session close (timeout or explicit).
652
+ - Browser processes orphaned by crashes are detected and killed on next session creation.
653
+
654
+ ---
655
+
656
+ ## 18. Performance Constraints
657
+
658
+ | Operation | P50 Target | P99 Target | Hard Limit |
659
+ |-----------|-----------|-----------|------------|
660
+ | `open` (cached page) | < 2,000 ms | < 5,000 ms | `page_load_timeout` |
661
+ | `snapshot` (50 elements) | < 200 ms | < 500 ms | `element_wait_timeout` |
662
+ | `click` | < 100 ms | < 500 ms | `element_wait_timeout` |
663
+ | `fill` (100 chars) | < 200 ms | < 1,000 ms | `element_wait_timeout` |
664
+ | `screenshot` (1920x1080) | < 500 ms | < 2,000 ms | `screenshot_timeout` |
665
+ | Snapshot output size | ≤ 280 chars | ≤ 500 chars | 2,000 chars |
666
+
667
+ ---
668
+
669
+ ## 19. Operational Risks
670
+
671
+ | Risk | Likelihood | Impact | Mitigation |
672
+ |------|-----------|--------|------------|
673
+ | Browser memory leak | Medium | Session degradation | `session_timeout` auto-close; max session lifetime |
674
+ | Stale @ref usage | High | Command failure | `ERR_REF_STALE` error; callers must re-snapshot |
675
+ | Playwright version incompatibility | Low | Skill non-functional | Pin Playwright version in prerequisites |
676
+ | Disk full (screenshots/recordings) | Medium | Write failure | `ERR_SCREENSHOT_WRITE`; caller monitors disk |
677
+ | Headless mode detection by sites | Medium | Navigation failure | Caller responsibility; out of skill scope |
678
+ | Session timeout during long flows | Medium | Work loss | Increase `session_timeout`; checkpoint with screenshots |
679
+
680
+ ---
681
+
682
+ ## 20. Compliance with skill-design-guide.md
683
+
684
+ | Requirement | Status | Evidence |
685
+ |-------------|--------|----------|
686
+ | YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
687
+ | SKILL.md < 200 lines | ✅ | Entry point SKILL.md under 200 lines; details in rules/ |
688
+ | Prerequisites documented | ✅ | Node.js 18+, Playwright, optional Browserbase |
689
+ | When to Use section | ✅ | Decision matrix vs chrome-devtools |
690
+ | Quick Reference with commands | ✅ | 4-step workflow with copy-paste commands |
691
+ | Core content matches skill type | ✅ | Automation type: commands table, @ref system, execution model |
692
+ | Troubleshooting section | ✅ | Problem/solution table |
693
+ | Related section | ✅ | Cross-links to e2e-automation, chrome-devtools, test-architect |
694
+ | Content Map for multi-file | ✅ | Links to rules/engineering-spec.md |
695
+ | Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
696
+ | Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
697
+
698
+ ---
699
+
700
+ ## 21. Production Readiness Checklist
701
+
702
+ | Category | Check | Status |
703
+ |----------|-------|--------|
704
+ | **Functionality** | All 7 commands (open, snapshot, click, fill, screenshot, record, close) specified | ✅ |
705
+ | **Functionality** | @ref lifecycle defined with explicit invalidation rules | ✅ |
706
+ | **Contracts** | Input/output/error schemas defined | ✅ |
707
+ | **Contracts** | Agent assumptions and non-assumptions documented | ✅ |
708
+ | **Contracts** | Workflow invocation pattern specified | ✅ |
709
+ | **Failure** | Error taxonomy with 12 categorized error codes | ✅ |
710
+ | **Failure** | No silent failures; every error returns structured response | ✅ |
711
+ | **Failure** | Retry policy: zero internal retries, caller-owned | ✅ |
712
+ | **Timeouts** | 4 timeout parameters with defaults, min, max bounds | ✅ |
713
+ | **Security** | URL allowlist with blocked protocols | ✅ |
714
+ | **Security** | Credential redaction in logs | ✅ |
715
+ | **Security** | Session isolation with UUID identifiers | ✅ |
716
+ | **Observability** | Structured log schema with 5 log points | ✅ |
717
+ | **Observability** | 6 metrics defined with types and units | ✅ |
718
+ | **Performance** | P50/P99 targets for all operations | ✅ |
719
+ | **Scalability** | Capacity planning per session and per node | ✅ |
720
+ | **Concurrency** | Sequential within session, parallel across sessions | ✅ |
721
+ | **Resources** | Lifecycle for 5 resource types with destruction triggers | ✅ |
722
+ | **Idempotency** | Per-command idempotency classification | ✅ |
723
+ | **Determinism** | 5 deterministic design principles enforced | ✅ |
724
+ | **Compliance** | All skill-design-guide.md sections present | ✅ |
725
+
726
+ ---
727
+
728
+ ⚡ PikaKit v3.9.134