@vodailoc/kilo-kit-mcp 1.1.0 → 1.2.0

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 (582) hide show
  1. package/.mcp/kilo-kit.codex-windows.toml +5 -0
  2. package/LICENSE +190 -190
  3. package/QUICKSTART.md +265 -255
  4. package/README.md +321 -267
  5. package/mcp/README.md +64 -12
  6. package/mcp/dist/formatters.js +142 -1
  7. package/mcp/dist/orchestration-audit.js +20 -0
  8. package/mcp/dist/orchestration-memory.js +258 -0
  9. package/mcp/dist/orchestration-types.js +1 -0
  10. package/mcp/dist/orchestrator.js +222 -0
  11. package/mcp/dist/question-templates.js +249 -0
  12. package/mcp/dist/route-analytics.js +149 -0
  13. package/mcp/dist/router.js +75 -82
  14. package/mcp/dist/routing-policy-data.js +241 -0
  15. package/mcp/dist/routing-policy.js +145 -0
  16. package/mcp/dist/server.js +93 -4
  17. package/mcp/dist/smoke-env.js +18 -0
  18. package/mcp/dist/smoke.js +68 -1
  19. package/mcp/package.json +1 -2
  20. package/package.json +3 -2
  21. package/skills/README.md +647 -647
  22. package/skills/SKILLS_INDEX.md +139 -139
  23. package/skills/ai-media/ai-multimodal/.env.example +97 -97
  24. package/skills/ai-media/ai-multimodal/SKILL.md +357 -357
  25. package/skills/ai-media/ai-multimodal/references/audio-processing.md +373 -373
  26. package/skills/ai-media/ai-multimodal/references/image-generation.md +558 -558
  27. package/skills/ai-media/ai-multimodal/references/video-analysis.md +502 -502
  28. package/skills/ai-media/ai-multimodal/references/vision-understanding.md +483 -483
  29. package/skills/ai-media/ai-multimodal/scripts/document_converter.py +395 -395
  30. package/skills/ai-media/ai-multimodal/scripts/gemini_batch_process.py +480 -480
  31. package/skills/ai-media/ai-multimodal/scripts/media_optimizer.py +506 -506
  32. package/skills/ai-media/ai-multimodal/scripts/requirements.txt +26 -26
  33. package/skills/ai-media/ai-multimodal/scripts/tests/requirements.txt +20 -20
  34. package/skills/ai-media/ai-multimodal/scripts/tests/test_document_converter.py +299 -299
  35. package/skills/ai-media/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -362
  36. package/skills/ai-media/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -373
  37. package/skills/ai-media/media-processing/SKILL.md +358 -358
  38. package/skills/ai-media/media-processing/references/ffmpeg-encoding.md +358 -358
  39. package/skills/ai-media/media-processing/references/ffmpeg-filters.md +503 -503
  40. package/skills/ai-media/media-processing/references/ffmpeg-streaming.md +403 -403
  41. package/skills/ai-media/media-processing/references/format-compatibility.md +375 -375
  42. package/skills/ai-media/media-processing/references/imagemagick-batch.md +612 -612
  43. package/skills/ai-media/media-processing/references/imagemagick-editing.md +623 -623
  44. package/skills/ai-media/media-processing/scripts/batch_resize.py +342 -342
  45. package/skills/ai-media/media-processing/scripts/media_convert.py +311 -311
  46. package/skills/ai-media/media-processing/scripts/requirements.txt +24 -24
  47. package/skills/ai-media/media-processing/scripts/tests/requirements.txt +2 -2
  48. package/skills/ai-media/media-processing/scripts/tests/test_batch_resize.py +372 -372
  49. package/skills/ai-media/media-processing/scripts/tests/test_media_convert.py +259 -259
  50. package/skills/ai-media/media-processing/scripts/tests/test_video_optimize.py +397 -397
  51. package/skills/ai-media/media-processing/scripts/video_optimize.py +414 -414
  52. package/skills/ai-media/screenshot/LICENSE.txt +201 -201
  53. package/skills/ai-media/screenshot/SKILL.md +267 -267
  54. package/skills/ai-media/screenshot/agents/openai.yaml +6 -6
  55. package/skills/ai-media/screenshot/assets/screenshot-small.svg +5 -5
  56. package/skills/ai-media/screenshot/scripts/ensure_macos_permissions.sh +54 -54
  57. package/skills/ai-media/screenshot/scripts/macos_display_info.swift +22 -22
  58. package/skills/ai-media/screenshot/scripts/macos_permissions.swift +40 -40
  59. package/skills/ai-media/screenshot/scripts/macos_window_info.swift +126 -126
  60. package/skills/ai-media/screenshot/scripts/take_screenshot.ps1 +163 -163
  61. package/skills/ai-media/screenshot/scripts/take_screenshot.py +585 -585
  62. package/skills/ai-media/sora/LICENSE.txt +201 -201
  63. package/skills/ai-media/sora/SKILL.md +153 -153
  64. package/skills/ai-media/sora/agents/openai.yaml +6 -6
  65. package/skills/ai-media/sora/assets/sora-small.svg +4 -4
  66. package/skills/ai-media/sora/references/cinematic-shots.md +53 -53
  67. package/skills/ai-media/sora/references/cli.md +248 -248
  68. package/skills/ai-media/sora/references/codex-network.md +28 -28
  69. package/skills/ai-media/sora/references/prompting.md +137 -137
  70. package/skills/ai-media/sora/references/sample-prompts.md +95 -95
  71. package/skills/ai-media/sora/references/social-ads.md +42 -42
  72. package/skills/ai-media/sora/references/troubleshooting.md +58 -58
  73. package/skills/ai-media/sora/references/video-api.md +45 -45
  74. package/skills/ai-media/sora/scripts/sora.py +970 -970
  75. package/skills/design/aesthetic/SKILL.md +121 -121
  76. package/skills/design/aesthetic/assets/design-guideline-template.md +163 -163
  77. package/skills/design/aesthetic/assets/design-story-template.md +135 -135
  78. package/skills/design/aesthetic/references/design-principles.md +62 -62
  79. package/skills/design/aesthetic/references/design-resources.md +75 -75
  80. package/skills/design/aesthetic/references/micro-interactions.md +53 -53
  81. package/skills/design/aesthetic/references/storytelling-design.md +50 -50
  82. package/skills/design/figma/LICENSE.txt +202 -202
  83. package/skills/design/figma/SKILL.md +42 -42
  84. package/skills/design/figma/agents/openai.yaml +14 -14
  85. package/skills/design/figma/assets/figma-small.svg +3 -3
  86. package/skills/design/figma/assets/icon.svg +28 -28
  87. package/skills/design/figma/references/figma-mcp-config.md +35 -35
  88. package/skills/design/figma/references/figma-tools-and-prompts.md +34 -34
  89. package/skills/design/figma-implement-design/LICENSE.txt +202 -202
  90. package/skills/design/figma-implement-design/SKILL.md +264 -264
  91. package/skills/design/figma-implement-design/agents/openai.yaml +14 -14
  92. package/skills/design/figma-implement-design/assets/figma-small.svg +3 -3
  93. package/skills/design/figma-implement-design/assets/icon.svg +28 -28
  94. package/skills/design/frontend-design/SKILL.md +41 -41
  95. package/skills/design/frontend-design/references/animejs.md +395 -395
  96. package/skills/design/ui-styling/LICENSE.txt +201 -201
  97. package/skills/design/ui-styling/SKILL.md +321 -321
  98. package/skills/design/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -93
  99. package/skills/design/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -93
  100. package/skills/design/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -93
  101. package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -93
  102. package/skills/design/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -93
  103. package/skills/design/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -93
  104. package/skills/design/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -94
  105. package/skills/design/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -93
  106. package/skills/design/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -93
  107. package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -93
  108. package/skills/design/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -93
  109. package/skills/design/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -93
  110. package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -93
  111. package/skills/design/ui-styling/canvas-fonts/Jura-OFL.txt +93 -93
  112. package/skills/design/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -93
  113. package/skills/design/ui-styling/canvas-fonts/Lora-OFL.txt +93 -93
  114. package/skills/design/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -93
  115. package/skills/design/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -93
  116. package/skills/design/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -93
  117. package/skills/design/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -93
  118. package/skills/design/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -93
  119. package/skills/design/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -93
  120. package/skills/design/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -93
  121. package/skills/design/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -93
  122. package/skills/design/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -93
  123. package/skills/design/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -93
  124. package/skills/design/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -93
  125. package/skills/design/ui-styling/references/canvas-design-system.md +320 -320
  126. package/skills/design/ui-styling/references/shadcn-accessibility.md +471 -471
  127. package/skills/design/ui-styling/references/shadcn-components.md +424 -424
  128. package/skills/design/ui-styling/references/shadcn-theming.md +373 -373
  129. package/skills/design/ui-styling/references/tailwind-customization.md +483 -483
  130. package/skills/design/ui-styling/references/tailwind-responsive.md +382 -382
  131. package/skills/design/ui-styling/references/tailwind-utilities.md +455 -455
  132. package/skills/design/ui-styling/scripts/requirements.txt +17 -17
  133. package/skills/design/ui-styling/scripts/shadcn_add.py +292 -292
  134. package/skills/design/ui-styling/scripts/tailwind_config_gen.py +456 -456
  135. package/skills/design/ui-styling/scripts/tests/requirements.txt +3 -3
  136. package/skills/design/ui-styling/scripts/tests/test_shadcn_add.py +266 -266
  137. package/skills/design/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -336
  138. package/skills/engineering/aspnet-core/LICENSE.txt +201 -201
  139. package/skills/engineering/aspnet-core/SKILL.md +61 -61
  140. package/skills/engineering/aspnet-core/agents/openai.yaml +5 -5
  141. package/skills/engineering/aspnet-core/references/_sections.md +40 -40
  142. package/skills/engineering/aspnet-core/references/apis-minimal-and-controllers.md +81 -81
  143. package/skills/engineering/aspnet-core/references/data-state-and-services.md +69 -69
  144. package/skills/engineering/aspnet-core/references/program-and-pipeline.md +103 -103
  145. package/skills/engineering/aspnet-core/references/realtime-grpc-and-background-work.md +58 -58
  146. package/skills/engineering/aspnet-core/references/security-and-identity.md +75 -75
  147. package/skills/engineering/aspnet-core/references/source-map.md +43 -43
  148. package/skills/engineering/aspnet-core/references/stack-selection.md +63 -63
  149. package/skills/engineering/aspnet-core/references/testing-performance-and-operations.md +92 -92
  150. package/skills/engineering/aspnet-core/references/ui-blazor.md +53 -53
  151. package/skills/engineering/aspnet-core/references/ui-mvc.md +56 -56
  152. package/skills/engineering/aspnet-core/references/ui-razor-pages.md +55 -55
  153. package/skills/engineering/aspnet-core/references/versioning-and-upgrades.md +51 -51
  154. package/skills/engineering/backend-development/SKILL.md +95 -95
  155. package/skills/engineering/backend-development/references/backend-api-design.md +495 -495
  156. package/skills/engineering/backend-development/references/backend-architecture.md +454 -454
  157. package/skills/engineering/backend-development/references/backend-authentication.md +338 -338
  158. package/skills/engineering/backend-development/references/backend-code-quality.md +659 -659
  159. package/skills/engineering/backend-development/references/backend-debugging.md +904 -904
  160. package/skills/engineering/backend-development/references/backend-devops.md +494 -494
  161. package/skills/engineering/backend-development/references/backend-mindset.md +387 -387
  162. package/skills/engineering/backend-development/references/backend-performance.md +397 -397
  163. package/skills/engineering/backend-development/references/backend-security.md +290 -290
  164. package/skills/engineering/backend-development/references/backend-technologies.md +256 -256
  165. package/skills/engineering/backend-development/references/backend-testing.md +429 -429
  166. package/skills/engineering/better-auth/SKILL.md +204 -204
  167. package/skills/engineering/better-auth/references/advanced-features.md +553 -553
  168. package/skills/engineering/better-auth/references/database-integration.md +577 -577
  169. package/skills/engineering/better-auth/references/email-password-auth.md +416 -416
  170. package/skills/engineering/better-auth/references/oauth-providers.md +430 -430
  171. package/skills/engineering/better-auth/scripts/better_auth_init.py +521 -521
  172. package/skills/engineering/better-auth/scripts/requirements.txt +15 -15
  173. package/skills/engineering/better-auth/scripts/tests/test_better_auth_init.py +421 -421
  174. package/skills/engineering/code-review/SKILL.md +140 -140
  175. package/skills/engineering/code-review/references/code-review-reception.md +208 -208
  176. package/skills/engineering/code-review/references/requesting-code-review.md +104 -104
  177. package/skills/engineering/code-review/references/verification-before-completion.md +138 -138
  178. package/skills/engineering/context-engineering/SKILL.md +86 -86
  179. package/skills/engineering/context-engineering/references/context-compression.md +84 -84
  180. package/skills/engineering/context-engineering/references/context-degradation.md +93 -93
  181. package/skills/engineering/context-engineering/references/context-fundamentals.md +75 -75
  182. package/skills/engineering/context-engineering/references/context-optimization.md +82 -82
  183. package/skills/engineering/context-engineering/references/evaluation.md +89 -89
  184. package/skills/engineering/context-engineering/references/memory-systems.md +88 -88
  185. package/skills/engineering/context-engineering/references/multi-agent-patterns.md +90 -90
  186. package/skills/engineering/context-engineering/references/project-development.md +97 -97
  187. package/skills/engineering/context-engineering/references/tool-design.md +86 -86
  188. package/skills/engineering/context-engineering/scripts/compression_evaluator.py +329 -329
  189. package/skills/engineering/context-engineering/scripts/context_analyzer.py +294 -294
  190. package/skills/engineering/databases/SKILL.md +232 -232
  191. package/skills/engineering/databases/references/mongodb-aggregation.md +447 -447
  192. package/skills/engineering/databases/references/mongodb-atlas.md +465 -465
  193. package/skills/engineering/databases/references/mongodb-crud.md +408 -408
  194. package/skills/engineering/databases/references/mongodb-indexing.md +442 -442
  195. package/skills/engineering/databases/references/postgresql-administration.md +594 -594
  196. package/skills/engineering/databases/references/postgresql-performance.md +527 -527
  197. package/skills/engineering/databases/references/postgresql-psql-cli.md +467 -467
  198. package/skills/engineering/databases/references/postgresql-queries.md +475 -475
  199. package/skills/engineering/databases/scripts/db_backup.py +502 -502
  200. package/skills/engineering/databases/scripts/db_migrate.py +414 -414
  201. package/skills/engineering/databases/scripts/db_performance_check.py +444 -444
  202. package/skills/engineering/databases/scripts/requirements.txt +20 -20
  203. package/skills/engineering/databases/scripts/tests/requirements.txt +4 -4
  204. package/skills/engineering/databases/scripts/tests/test_db_backup.py +340 -340
  205. package/skills/engineering/databases/scripts/tests/test_db_migrate.py +277 -277
  206. package/skills/engineering/databases/scripts/tests/test_db_performance_check.py +370 -370
  207. package/skills/engineering/diagnose/SKILL.md +117 -117
  208. package/skills/engineering/diagnose/scripts/hitl-loop.template.sh +41 -41
  209. package/skills/engineering/docs-seeker/SKILL.md +207 -207
  210. package/skills/engineering/docs-seeker/WORKFLOWS.md +505 -505
  211. package/skills/engineering/docs-seeker/references/best-practices.md +632 -632
  212. package/skills/engineering/docs-seeker/references/documentation-sources.md +461 -461
  213. package/skills/engineering/docs-seeker/references/error-handling.md +621 -621
  214. package/skills/engineering/docs-seeker/references/limitations.md +821 -821
  215. package/skills/engineering/docs-seeker/references/performance.md +574 -574
  216. package/skills/engineering/docs-seeker/references/tool-selection.md +262 -262
  217. package/skills/engineering/frontend-development/SKILL.md +398 -398
  218. package/skills/engineering/frontend-development/resources/common-patterns.md +330 -330
  219. package/skills/engineering/frontend-development/resources/complete-examples.md +871 -871
  220. package/skills/engineering/frontend-development/resources/component-patterns.md +501 -501
  221. package/skills/engineering/frontend-development/resources/data-fetching.md +766 -766
  222. package/skills/engineering/frontend-development/resources/file-organization.md +501 -501
  223. package/skills/engineering/frontend-development/resources/loading-and-error-states.md +500 -500
  224. package/skills/engineering/frontend-development/resources/performance.md +405 -405
  225. package/skills/engineering/frontend-development/resources/routing-guide.md +363 -363
  226. package/skills/engineering/frontend-development/resources/styling-guide.md +427 -427
  227. package/skills/engineering/frontend-development/resources/typescript-standards.md +417 -417
  228. package/skills/engineering/improve-codebase-architecture/DEEPENING.md +37 -37
  229. package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -44
  230. package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +53 -53
  231. package/skills/engineering/improve-codebase-architecture/SKILL.md +71 -71
  232. package/skills/engineering/openai-docs/LICENSE.txt +201 -201
  233. package/skills/engineering/openai-docs/SKILL.md +69 -69
  234. package/skills/engineering/openai-docs/agents/openai.yaml +14 -14
  235. package/skills/engineering/openai-docs/assets/openai-small.svg +3 -3
  236. package/skills/engineering/openai-docs/references/gpt-5p4-prompting-guide.md +433 -433
  237. package/skills/engineering/openai-docs/references/latest-model.md +35 -35
  238. package/skills/engineering/openai-docs/references/upgrading-to-gpt-5p4.md +164 -164
  239. package/skills/engineering/playwright/LICENSE.txt +201 -201
  240. package/skills/engineering/playwright/NOTICE.txt +14 -14
  241. package/skills/engineering/playwright/SKILL.md +147 -147
  242. package/skills/engineering/playwright/agents/openai.yaml +6 -6
  243. package/skills/engineering/playwright/assets/playwright-small.svg +3 -3
  244. package/skills/engineering/playwright/references/cli.md +116 -116
  245. package/skills/engineering/playwright/references/workflows.md +95 -95
  246. package/skills/engineering/playwright/scripts/playwright_cli.sh +25 -25
  247. package/skills/engineering/playwright-interactive/LICENSE.txt +201 -201
  248. package/skills/engineering/playwright-interactive/NOTICE.txt +13 -13
  249. package/skills/engineering/playwright-interactive/SKILL.md +689 -689
  250. package/skills/engineering/playwright-interactive/agents/openai.yaml +6 -6
  251. package/skills/engineering/playwright-interactive/assets/playwright-small.svg +3 -3
  252. package/skills/engineering/render-deploy/LICENSE.txt +201 -201
  253. package/skills/engineering/render-deploy/SKILL.md +479 -479
  254. package/skills/engineering/render-deploy/agents/openai.yaml +14 -14
  255. package/skills/engineering/render-deploy/assets/docker.yaml +62 -62
  256. package/skills/engineering/render-deploy/assets/go-api.yaml +35 -35
  257. package/skills/engineering/render-deploy/assets/nextjs-postgres.yaml +35 -35
  258. package/skills/engineering/render-deploy/assets/node-express.yaml +25 -25
  259. package/skills/engineering/render-deploy/assets/python-django.yaml +89 -89
  260. package/skills/engineering/render-deploy/assets/render-small.svg +3 -3
  261. package/skills/engineering/render-deploy/assets/static-site.yaml +54 -54
  262. package/skills/engineering/render-deploy/references/blueprint-spec.md +718 -718
  263. package/skills/engineering/render-deploy/references/codebase-analysis.md +49 -49
  264. package/skills/engineering/render-deploy/references/configuration-guide.md +603 -603
  265. package/skills/engineering/render-deploy/references/deployment-details.md +224 -224
  266. package/skills/engineering/render-deploy/references/direct-creation.md +113 -113
  267. package/skills/engineering/render-deploy/references/error-patterns.md +13 -13
  268. package/skills/engineering/render-deploy/references/post-deploy-checks.md +36 -36
  269. package/skills/engineering/render-deploy/references/runtimes.md +473 -473
  270. package/skills/engineering/render-deploy/references/service-types.md +450 -450
  271. package/skills/engineering/render-deploy/references/troubleshooting-basics.md +36 -36
  272. package/skills/engineering/repomix/SKILL.md +215 -215
  273. package/skills/engineering/repomix/references/configuration.md +211 -211
  274. package/skills/engineering/repomix/references/usage-patterns.md +232 -232
  275. package/skills/engineering/repomix/scripts/README.md +179 -179
  276. package/skills/engineering/repomix/scripts/repomix_batch.py +455 -455
  277. package/skills/engineering/repomix/scripts/repos.example.json +15 -15
  278. package/skills/engineering/repomix/scripts/requirements.txt +15 -15
  279. package/skills/engineering/repomix/scripts/tests/test_repomix_batch.py +531 -531
  280. package/skills/engineering/setup-matt-pocock-skills/SKILL.md +121 -121
  281. package/skills/engineering/setup-matt-pocock-skills/domain.md +51 -51
  282. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +22 -22
  283. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +23 -23
  284. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +19 -19
  285. package/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -15
  286. package/skills/engineering/shopify/README.md +66 -66
  287. package/skills/engineering/shopify/SKILL.md +319 -319
  288. package/skills/engineering/shopify/references/app-development.md +470 -470
  289. package/skills/engineering/shopify/references/extensions.md +493 -493
  290. package/skills/engineering/shopify/references/themes.md +498 -498
  291. package/skills/engineering/shopify/scripts/requirements.txt +19 -19
  292. package/skills/engineering/shopify/scripts/shopify_init.py +423 -423
  293. package/skills/engineering/shopify/scripts/tests/test_shopify_init.py +385 -385
  294. package/skills/engineering/tdd/SKILL.md +109 -109
  295. package/skills/engineering/tdd/deep-modules.md +33 -33
  296. package/skills/engineering/tdd/interface-design.md +31 -31
  297. package/skills/engineering/tdd/mocking.md +59 -59
  298. package/skills/engineering/tdd/refactoring.md +10 -10
  299. package/skills/engineering/tdd/tests.md +61 -61
  300. package/skills/engineering/to-issues/SKILL.md +81 -81
  301. package/skills/engineering/to-prd/SKILL.md +74 -74
  302. package/skills/engineering/triage/AGENT-BRIEF.md +168 -168
  303. package/skills/engineering/triage/OUT-OF-SCOPE.md +101 -101
  304. package/skills/engineering/triage/SKILL.md +103 -103
  305. package/skills/engineering/web-frameworks/SKILL.md +324 -324
  306. package/skills/engineering/web-frameworks/references/nextjs-app-router.md +465 -465
  307. package/skills/engineering/web-frameworks/references/nextjs-data-fetching.md +459 -459
  308. package/skills/engineering/web-frameworks/references/nextjs-optimization.md +511 -511
  309. package/skills/engineering/web-frameworks/references/nextjs-server-components.md +495 -495
  310. package/skills/engineering/web-frameworks/references/remix-icon-integration.md +603 -603
  311. package/skills/engineering/web-frameworks/references/turborepo-caching.md +551 -551
  312. package/skills/engineering/web-frameworks/references/turborepo-pipelines.md +517 -517
  313. package/skills/engineering/web-frameworks/references/turborepo-setup.md +542 -542
  314. package/skills/engineering/web-frameworks/scripts/nextjs_init.py +547 -547
  315. package/skills/engineering/web-frameworks/scripts/requirements.txt +16 -16
  316. package/skills/engineering/web-frameworks/scripts/tests/requirements.txt +3 -3
  317. package/skills/engineering/web-frameworks/scripts/tests/test_nextjs_init.py +319 -319
  318. package/skills/engineering/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -374
  319. package/skills/engineering/web-frameworks/scripts/turborepo_migrate.py +394 -394
  320. package/skills/engineering/write-a-skill/SKILL.md +117 -117
  321. package/skills/kilo-kit/SKILL.md +346 -346
  322. package/skills/kilo-kit/_template/SKILL.md +185 -185
  323. package/skills/kilo-kit/debugging/root-cause/SKILL.md +360 -360
  324. package/skills/kilo-kit/debugging/systematic/SKILL.md +339 -339
  325. package/skills/kilo-kit/debugging/verification/SKILL.md +424 -424
  326. package/skills/kilo-kit/development/backend/SKILL.md +540 -540
  327. package/skills/kilo-kit/development/security/SKILL.md +529 -529
  328. package/skills/kilo-kit/quality/code-review/SKILL.md +297 -297
  329. package/skills/kilo-kit/quality/testing/SKILL.md +540 -540
  330. package/skills/kilo-kit/references/output-formats.md +204 -204
  331. package/skills/kilo-kit/references/patterns.md +156 -156
  332. package/skills/kilo-kit/references/performance-benchmarks.md +90 -90
  333. package/skills/operations/chrome-devtools/SKILL.md +392 -392
  334. package/skills/operations/chrome-devtools/references/cdp-domains.md +694 -694
  335. package/skills/operations/chrome-devtools/references/performance-guide.md +940 -940
  336. package/skills/operations/chrome-devtools/references/puppeteer-reference.md +953 -953
  337. package/skills/operations/chrome-devtools/scripts/PERSISTENT-BROWSER.md +107 -107
  338. package/skills/operations/chrome-devtools/scripts/README.md +213 -213
  339. package/skills/operations/chrome-devtools/scripts/__tests__/selector.test.js +210 -210
  340. package/skills/operations/chrome-devtools/scripts/click.js +79 -79
  341. package/skills/operations/chrome-devtools/scripts/close-persistent.js +36 -36
  342. package/skills/operations/chrome-devtools/scripts/console.js +75 -75
  343. package/skills/operations/chrome-devtools/scripts/evaluate.js +49 -49
  344. package/skills/operations/chrome-devtools/scripts/fill.js +72 -72
  345. package/skills/operations/chrome-devtools/scripts/install-deps.sh +181 -181
  346. package/skills/operations/chrome-devtools/scripts/install.sh +83 -83
  347. package/skills/operations/chrome-devtools/scripts/launch-persistent.js +71 -71
  348. package/skills/operations/chrome-devtools/scripts/lib/browser.js +144 -144
  349. package/skills/operations/chrome-devtools/scripts/lib/selector.js +178 -178
  350. package/skills/operations/chrome-devtools/scripts/navigate.js +46 -46
  351. package/skills/operations/chrome-devtools/scripts/network.js +102 -102
  352. package/skills/operations/chrome-devtools/scripts/package-lock.json +1206 -1206
  353. package/skills/operations/chrome-devtools/scripts/package.json +15 -15
  354. package/skills/operations/chrome-devtools/scripts/performance.js +145 -145
  355. package/skills/operations/chrome-devtools/scripts/screenshot.js +180 -180
  356. package/skills/operations/chrome-devtools/scripts/snapshot.js +131 -131
  357. package/skills/operations/devops/.env.example +76 -76
  358. package/skills/operations/devops/SKILL.md +285 -285
  359. package/skills/operations/devops/references/browser-rendering.md +305 -305
  360. package/skills/operations/devops/references/cloudflare-d1-kv.md +123 -123
  361. package/skills/operations/devops/references/cloudflare-platform.md +271 -271
  362. package/skills/operations/devops/references/cloudflare-r2-storage.md +280 -280
  363. package/skills/operations/devops/references/cloudflare-workers-advanced.md +312 -312
  364. package/skills/operations/devops/references/cloudflare-workers-apis.md +309 -309
  365. package/skills/operations/devops/references/cloudflare-workers-basics.md +418 -418
  366. package/skills/operations/devops/references/docker-basics.md +297 -297
  367. package/skills/operations/devops/references/docker-compose.md +292 -292
  368. package/skills/operations/devops/references/gcloud-platform.md +297 -297
  369. package/skills/operations/devops/references/gcloud-services.md +304 -304
  370. package/skills/operations/devops/scripts/cloudflare_deploy.py +269 -269
  371. package/skills/operations/devops/scripts/docker_optimize.py +320 -320
  372. package/skills/operations/devops/scripts/requirements.txt +20 -20
  373. package/skills/operations/devops/scripts/tests/requirements.txt +3 -3
  374. package/skills/operations/devops/scripts/tests/test_cloudflare_deploy.py +285 -285
  375. package/skills/operations/devops/scripts/tests/test_docker_optimize.py +436 -436
  376. package/skills/operations/mcp-builder/LICENSE.txt +201 -201
  377. package/skills/operations/mcp-builder/SKILL.md +328 -328
  378. package/skills/operations/mcp-builder/reference/evaluation.md +601 -601
  379. package/skills/operations/mcp-builder/reference/mcp_best_practices.md +915 -915
  380. package/skills/operations/mcp-builder/reference/node_mcp_server.md +915 -915
  381. package/skills/operations/mcp-builder/reference/python_mcp_server.md +751 -751
  382. package/skills/operations/mcp-builder/scripts/connections.py +151 -151
  383. package/skills/operations/mcp-builder/scripts/evaluation.py +373 -373
  384. package/skills/operations/mcp-builder/scripts/example_evaluation.xml +22 -22
  385. package/skills/operations/mcp-builder/scripts/requirements.txt +2 -2
  386. package/skills/operations/mcp-management/README.md +219 -219
  387. package/skills/operations/mcp-management/SKILL.md +175 -175
  388. package/skills/operations/mcp-management/assets/tools.json +3043 -3043
  389. package/skills/operations/mcp-management/references/configuration.md +114 -114
  390. package/skills/operations/mcp-management/references/gemini-cli-integration.md +201 -201
  391. package/skills/operations/mcp-management/references/mcp-protocol.md +116 -116
  392. package/skills/operations/mcp-management/scripts/.env.example +10 -10
  393. package/skills/operations/mcp-management/scripts/cli.ts +155 -155
  394. package/skills/operations/mcp-management/scripts/dist/analyze-tools.js +70 -70
  395. package/skills/operations/mcp-management/scripts/dist/cli.js +131 -131
  396. package/skills/operations/mcp-management/scripts/dist/mcp-client.js +115 -115
  397. package/skills/operations/mcp-management/scripts/mcp-client.ts +163 -163
  398. package/skills/operations/mcp-management/scripts/package.json +18 -18
  399. package/skills/operations/mcp-management/scripts/tsconfig.json +15 -15
  400. package/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -62
  401. package/skills/problem-solving/defense-in-depth/SKILL.md +130 -130
  402. package/skills/problem-solving/inversion-exercise/SKILL.md +58 -58
  403. package/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -54
  404. package/skills/problem-solving/root-cause-tracing/SKILL.md +177 -177
  405. package/skills/problem-solving/root-cause-tracing/find-polluter.sh +63 -63
  406. package/skills/problem-solving/scale-game/SKILL.md +63 -63
  407. package/skills/problem-solving/sequential-thinking/README.md +118 -118
  408. package/skills/problem-solving/sequential-thinking/SKILL.md +93 -93
  409. package/skills/problem-solving/sequential-thinking/references/advanced.md +122 -122
  410. package/skills/problem-solving/sequential-thinking/references/examples.md +274 -274
  411. package/skills/problem-solving/simplification-cascades/SKILL.md +76 -76
  412. package/skills/problem-solving/when-stuck/SKILL.md +88 -88
  413. package/skills/productivity/caveman/SKILL.md +49 -49
  414. package/skills/productivity/grill-me/SKILL.md +10 -10
  415. package/skills/productivity/grill-with-docs/ADR-FORMAT.md +47 -47
  416. package/skills/productivity/grill-with-docs/CONTEXT-FORMAT.md +77 -77
  417. package/skills/productivity/grill-with-docs/SKILL.md +88 -88
  418. package/skills/productivity/writing-skills/graphviz-conventions.dot +171 -171
  419. package/skills/productivity/zoom-out/SKILL.md +7 -7
  420. package/skills/writing-docs/doc/LICENSE.txt +201 -201
  421. package/skills/writing-docs/doc/SKILL.md +80 -80
  422. package/skills/writing-docs/doc/agents/openai.yaml +6 -6
  423. package/skills/writing-docs/doc/assets/doc-small.svg +3 -3
  424. package/skills/writing-docs/doc/scripts/render_docx.py +296 -296
  425. package/skills/writing-docs/docx/LICENSE.txt +30 -30
  426. package/skills/writing-docs/docx/SKILL.md +196 -196
  427. package/skills/writing-docs/docx/docx-js.md +349 -349
  428. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
  429. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
  430. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
  431. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
  432. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
  433. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
  434. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
  435. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
  436. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
  437. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
  438. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
  439. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
  440. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
  441. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
  442. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
  443. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
  444. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
  445. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
  446. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
  447. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
  448. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
  449. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
  450. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
  451. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
  452. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
  453. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
  454. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
  455. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
  456. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
  457. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
  458. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
  459. package/skills/writing-docs/docx/ooxml/schemas/mce/mc.xsd +75 -75
  460. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
  461. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
  462. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
  463. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
  464. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
  465. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
  466. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
  467. package/skills/writing-docs/docx/ooxml/scripts/pack.py +159 -159
  468. package/skills/writing-docs/docx/ooxml/scripts/unpack.py +29 -29
  469. package/skills/writing-docs/docx/ooxml/scripts/validate.py +69 -69
  470. package/skills/writing-docs/docx/ooxml/scripts/validation/__init__.py +15 -15
  471. package/skills/writing-docs/docx/ooxml/scripts/validation/base.py +951 -951
  472. package/skills/writing-docs/docx/ooxml/scripts/validation/docx.py +274 -274
  473. package/skills/writing-docs/docx/ooxml/scripts/validation/pptx.py +315 -315
  474. package/skills/writing-docs/docx/ooxml/scripts/validation/redlining.py +279 -279
  475. package/skills/writing-docs/docx/ooxml.md +609 -609
  476. package/skills/writing-docs/docx/scripts/__init__.py +1 -1
  477. package/skills/writing-docs/docx/scripts/document.py +1276 -1276
  478. package/skills/writing-docs/docx/scripts/templates/comments.xml +2 -2
  479. package/skills/writing-docs/docx/scripts/templates/commentsExtended.xml +2 -2
  480. package/skills/writing-docs/docx/scripts/templates/commentsExtensible.xml +2 -2
  481. package/skills/writing-docs/docx/scripts/templates/commentsIds.xml +2 -2
  482. package/skills/writing-docs/docx/scripts/templates/people.xml +2 -2
  483. package/skills/writing-docs/docx/scripts/utilities.py +374 -374
  484. package/skills/writing-docs/mermaidjs-v11/SKILL.md +115 -115
  485. package/skills/writing-docs/mermaidjs-v11/references/cli-usage.md +228 -228
  486. package/skills/writing-docs/mermaidjs-v11/references/configuration.md +232 -232
  487. package/skills/writing-docs/mermaidjs-v11/references/diagram-types.md +315 -315
  488. package/skills/writing-docs/mermaidjs-v11/references/examples.md +344 -344
  489. package/skills/writing-docs/mermaidjs-v11/references/integration.md +310 -310
  490. package/skills/writing-docs/pdf/LICENSE.txt +30 -30
  491. package/skills/writing-docs/pdf/SKILL.md +294 -294
  492. package/skills/writing-docs/pdf/forms.md +205 -205
  493. package/skills/writing-docs/pdf/reference.md +611 -611
  494. package/skills/writing-docs/pdf/scripts/check_bounding_boxes.py +70 -70
  495. package/skills/writing-docs/pdf/scripts/check_bounding_boxes_test.py +226 -226
  496. package/skills/writing-docs/pdf/scripts/check_fillable_fields.py +12 -12
  497. package/skills/writing-docs/pdf/scripts/convert_pdf_to_images.py +35 -35
  498. package/skills/writing-docs/pdf/scripts/create_validation_image.py +41 -41
  499. package/skills/writing-docs/pdf/scripts/extract_form_field_info.py +152 -152
  500. package/skills/writing-docs/pdf/scripts/fill_fillable_fields.py +114 -114
  501. package/skills/writing-docs/pdf/scripts/fill_pdf_form_with_annotations.py +107 -107
  502. package/skills/writing-docs/pptx/LICENSE.txt +30 -30
  503. package/skills/writing-docs/pptx/SKILL.md +483 -483
  504. package/skills/writing-docs/pptx/html2pptx.md +624 -624
  505. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
  506. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
  507. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
  508. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
  509. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
  510. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
  511. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
  512. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
  513. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
  514. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
  515. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
  516. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
  517. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
  518. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
  519. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
  520. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
  521. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
  522. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
  523. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
  524. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
  525. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
  526. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
  527. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
  528. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
  529. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
  530. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
  531. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
  532. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
  533. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
  534. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
  535. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
  536. package/skills/writing-docs/pptx/ooxml/schemas/mce/mc.xsd +75 -75
  537. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
  538. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
  539. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
  540. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
  541. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
  542. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
  543. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
  544. package/skills/writing-docs/pptx/ooxml/scripts/pack.py +159 -159
  545. package/skills/writing-docs/pptx/ooxml/scripts/unpack.py +29 -29
  546. package/skills/writing-docs/pptx/ooxml/scripts/validate.py +69 -69
  547. package/skills/writing-docs/pptx/ooxml/scripts/validation/__init__.py +15 -15
  548. package/skills/writing-docs/pptx/ooxml/scripts/validation/base.py +951 -951
  549. package/skills/writing-docs/pptx/ooxml/scripts/validation/docx.py +274 -274
  550. package/skills/writing-docs/pptx/ooxml/scripts/validation/pptx.py +315 -315
  551. package/skills/writing-docs/pptx/ooxml/scripts/validation/redlining.py +279 -279
  552. package/skills/writing-docs/pptx/ooxml.md +426 -426
  553. package/skills/writing-docs/pptx/scripts/html2pptx.js +978 -978
  554. package/skills/writing-docs/pptx/scripts/inventory.py +1020 -1020
  555. package/skills/writing-docs/pptx/scripts/rearrange.py +231 -231
  556. package/skills/writing-docs/pptx/scripts/replace.py +385 -385
  557. package/skills/writing-docs/pptx/scripts/thumbnail.py +450 -450
  558. package/skills/writing-docs/slides/LICENSE.txt +201 -201
  559. package/skills/writing-docs/slides/SKILL.md +71 -71
  560. package/skills/writing-docs/slides/agents/openai.yaml +6 -6
  561. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/code.js +104 -104
  562. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/image.js +333 -333
  563. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/index.js +33 -33
  564. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/latex.js +51 -51
  565. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout.js +643 -643
  566. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout_builders.js +358 -358
  567. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/svg.js +36 -36
  568. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/text.js +789 -789
  569. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/util.js +24 -24
  570. package/skills/writing-docs/slides/assets/slides-small.svg +3 -3
  571. package/skills/writing-docs/slides/references/pptxgenjs-helpers.md +61 -61
  572. package/skills/writing-docs/slides/scripts/create_montage.py +300 -300
  573. package/skills/writing-docs/slides/scripts/detect_font.py +873 -873
  574. package/skills/writing-docs/slides/scripts/ensure_raster_image.py +202 -202
  575. package/skills/writing-docs/slides/scripts/render_slides.py +273 -273
  576. package/skills/writing-docs/slides/scripts/slides_test.py +201 -201
  577. package/skills/writing-docs/template-skill/SKILL.md +26 -26
  578. package/skills/writing-docs/xlsx/LICENSE.txt +30 -30
  579. package/skills/writing-docs/xlsx/SKILL.md +288 -288
  580. package/skills/writing-docs/xlsx/recalc.py +177 -177
  581. package/src/core/KILO_MASTER.md +448 -448
  582. package/src/tools/validate-skill.js +421 -421
@@ -1,694 +1,694 @@
1
- # Chrome DevTools Protocol (CDP) Domains Reference
2
-
3
- Complete reference of CDP domains and their capabilities for browser automation and debugging.
4
-
5
- ## Overview
6
-
7
- CDP is organized into **47 domains**, each providing specific browser capabilities. Domains are grouped by functionality:
8
-
9
- - **Core** - Fundamental browser control
10
- - **DOM & Styling** - Page structure and styling
11
- - **Network & Fetch** - HTTP traffic management
12
- - **Page & Navigation** - Page lifecycle control
13
- - **Storage & Data** - Browser storage APIs
14
- - **Performance & Profiling** - Metrics and analysis
15
- - **Emulation & Simulation** - Device and network emulation
16
- - **Worker & Service** - Background tasks
17
- - **Developer Tools** - Debugging support
18
-
19
- ---
20
-
21
- ## Core Domains
22
-
23
- ### Runtime
24
- **Purpose:** Execute JavaScript, manage objects, handle promises
25
-
26
- **Key Commands:**
27
- - `Runtime.evaluate(expression)` - Execute JavaScript
28
- - `Runtime.callFunctionOn(functionDeclaration, objectId)` - Call function on object
29
- - `Runtime.getProperties(objectId)` - Get object properties
30
- - `Runtime.awaitPromise(promiseObjectId)` - Wait for promise resolution
31
-
32
- **Key Events:**
33
- - `Runtime.consoleAPICalled` - Console message logged
34
- - `Runtime.exceptionThrown` - Uncaught exception
35
-
36
- **Use Cases:**
37
- - Execute custom JavaScript
38
- - Access page data
39
- - Monitor console output
40
- - Handle exceptions
41
-
42
- ---
43
-
44
- ### Debugger
45
- **Purpose:** JavaScript debugging, breakpoints, stack traces
46
-
47
- **Key Commands:**
48
- - `Debugger.enable()` - Enable debugger
49
- - `Debugger.setBreakpoint(location)` - Set breakpoint
50
- - `Debugger.pause()` - Pause execution
51
- - `Debugger.resume()` - Resume execution
52
- - `Debugger.stepOver/stepInto/stepOut()` - Step through code
53
-
54
- **Key Events:**
55
- - `Debugger.paused` - Execution paused
56
- - `Debugger.resumed` - Execution resumed
57
- - `Debugger.scriptParsed` - Script loaded
58
-
59
- **Use Cases:**
60
- - Debug JavaScript errors
61
- - Inspect call stacks
62
- - Set conditional breakpoints
63
- - Source map support
64
-
65
- ---
66
-
67
- ### Console (Deprecated - Use Runtime/Log)
68
- **Purpose:** Legacy console message access
69
-
70
- **Note:** Use `Runtime.consoleAPICalled` event instead for new implementations.
71
-
72
- ---
73
-
74
- ## DOM & Styling Domains
75
-
76
- ### DOM
77
- **Purpose:** Access and manipulate DOM tree
78
-
79
- **Key Commands:**
80
- - `DOM.getDocument()` - Get root document node
81
- - `DOM.querySelector(nodeId, selector)` - Query selector
82
- - `DOM.querySelectorAll(nodeId, selector)` - Query all
83
- - `DOM.getAttributes(nodeId)` - Get element attributes
84
- - `DOM.setOuterHTML(nodeId, outerHTML)` - Replace element
85
- - `DOM.getBoxModel(nodeId)` - Get element layout box
86
- - `DOM.focus(nodeId)` - Focus element
87
-
88
- **Key Events:**
89
- - `DOM.documentUpdated` - Document changed
90
- - `DOM.setChildNodes` - Child nodes updated
91
-
92
- **Use Cases:**
93
- - Navigate DOM tree
94
- - Query elements
95
- - Modify DOM structure
96
- - Get element positions
97
-
98
- ---
99
-
100
- ### CSS
101
- **Purpose:** Inspect and modify CSS styles
102
-
103
- **Key Commands:**
104
- - `CSS.enable()` - Enable CSS domain
105
- - `CSS.getComputedStyleForNode(nodeId)` - Get computed styles
106
- - `CSS.getInlineStylesForNode(nodeId)` - Get inline styles
107
- - `CSS.getMatchedStylesForNode(nodeId)` - Get matched CSS rules
108
- - `CSS.setStyleTexts(edits)` - Modify styles
109
-
110
- **Key Events:**
111
- - `CSS.styleSheetAdded` - Stylesheet added
112
- - `CSS.styleSheetChanged` - Stylesheet modified
113
-
114
- **Use Cases:**
115
- - Inspect element styles
116
- - Debug CSS issues
117
- - Modify styles dynamically
118
- - Extract stylesheet data
119
-
120
- ---
121
-
122
- ### Accessibility
123
- **Purpose:** Access accessibility tree
124
-
125
- **Key Commands:**
126
- - `Accessibility.enable()` - Enable accessibility
127
- - `Accessibility.getFullAXTree()` - Get complete AX tree
128
- - `Accessibility.getPartialAXTree(nodeId)` - Get node subtree
129
- - `Accessibility.queryAXTree(nodeId, role, name)` - Query AX tree
130
-
131
- **Use Cases:**
132
- - Accessibility testing
133
- - Screen reader simulation
134
- - ARIA attribute inspection
135
- - AX tree analysis
136
-
137
- ---
138
-
139
- ## Network & Fetch Domains
140
-
141
- ### Network
142
- **Purpose:** Monitor and control HTTP traffic
143
-
144
- **Key Commands:**
145
- - `Network.enable()` - Enable network tracking
146
- - `Network.setCacheDisabled(cacheDisabled)` - Disable cache
147
- - `Network.setExtraHTTPHeaders(headers)` - Add custom headers
148
- - `Network.getCookies(urls)` - Get cookies
149
- - `Network.setCookie(name, value, domain)` - Set cookie
150
- - `Network.getResponseBody(requestId)` - Get response body
151
- - `Network.emulateNetworkConditions(offline, latency, downloadThroughput, uploadThroughput)` - Throttle network
152
-
153
- **Key Events:**
154
- - `Network.requestWillBeSent` - Request starting
155
- - `Network.responseReceived` - Response received
156
- - `Network.loadingFinished` - Request completed
157
- - `Network.loadingFailed` - Request failed
158
-
159
- **Use Cases:**
160
- - Monitor API calls
161
- - Intercept requests
162
- - Analyze response data
163
- - Simulate slow networks
164
- - Manage cookies
165
-
166
- ---
167
-
168
- ### Fetch
169
- **Purpose:** Intercept and modify network requests
170
-
171
- **Key Commands:**
172
- - `Fetch.enable(patterns)` - Enable request interception
173
- - `Fetch.continueRequest(requestId, url, method, headers)` - Continue/modify request
174
- - `Fetch.fulfillRequest(requestId, responseCode, headers, body)` - Mock response
175
- - `Fetch.failRequest(requestId, errorReason)` - Fail request
176
-
177
- **Key Events:**
178
- - `Fetch.requestPaused` - Request intercepted
179
-
180
- **Use Cases:**
181
- - Mock API responses
182
- - Block requests
183
- - Modify request/response
184
- - Test error scenarios
185
-
186
- ---
187
-
188
- ## Page & Navigation Domains
189
-
190
- ### Page
191
- **Purpose:** Control page lifecycle and navigation
192
-
193
- **Key Commands:**
194
- - `Page.enable()` - Enable page domain
195
- - `Page.navigate(url)` - Navigate to URL
196
- - `Page.reload(ignoreCache)` - Reload page
197
- - `Page.goBack()/goForward()` - Navigate history
198
- - `Page.captureScreenshot(format, quality)` - Take screenshot
199
- - `Page.printToPDF(landscape, displayHeaderFooter)` - Generate PDF
200
- - `Page.getLayoutMetrics()` - Get page dimensions
201
- - `Page.createIsolatedWorld(frameId)` - Create isolated context
202
- - `Page.handleJavaScriptDialog(accept, promptText)` - Handle alerts/confirms
203
-
204
- **Key Events:**
205
- - `Page.loadEventFired` - Page loaded
206
- - `Page.domContentEventFired` - DOM ready
207
- - `Page.frameNavigated` - Frame navigated
208
- - `Page.javascriptDialogOpening` - Alert/confirm shown
209
-
210
- **Use Cases:**
211
- - Navigate pages
212
- - Capture screenshots
213
- - Generate PDFs
214
- - Handle popups
215
- - Monitor page lifecycle
216
-
217
- ---
218
-
219
- ### Target
220
- **Purpose:** Manage browser targets (tabs, workers, frames)
221
-
222
- **Key Commands:**
223
- - `Target.getTargets()` - List all targets
224
- - `Target.createTarget(url)` - Open new tab
225
- - `Target.closeTarget(targetId)` - Close tab
226
- - `Target.attachToTarget(targetId)` - Attach debugger
227
- - `Target.detachFromTarget(sessionId)` - Detach debugger
228
- - `Target.setDiscoverTargets(discover)` - Auto-discover targets
229
-
230
- **Key Events:**
231
- - `Target.targetCreated` - New target created
232
- - `Target.targetDestroyed` - Target closed
233
- - `Target.targetInfoChanged` - Target updated
234
-
235
- **Use Cases:**
236
- - Multi-tab automation
237
- - Service worker debugging
238
- - Frame inspection
239
- - Extension debugging
240
-
241
- ---
242
-
243
- ### Input
244
- **Purpose:** Simulate user input
245
-
246
- **Key Commands:**
247
- - `Input.dispatchKeyEvent(type, key, code)` - Keyboard input
248
- - `Input.dispatchMouseEvent(type, x, y, button)` - Mouse input
249
- - `Input.dispatchTouchEvent(type, touchPoints)` - Touch input
250
- - `Input.synthesizePinchGesture(x, y, scaleFactor)` - Pinch gesture
251
- - `Input.synthesizeScrollGesture(x, y, xDistance, yDistance)` - Scroll
252
-
253
- **Use Cases:**
254
- - Simulate clicks
255
- - Type text
256
- - Drag and drop
257
- - Touch gestures
258
- - Scroll pages
259
-
260
- ---
261
-
262
- ## Storage & Data Domains
263
-
264
- ### Storage
265
- **Purpose:** Manage browser storage
266
-
267
- **Key Commands:**
268
- - `Storage.getCookies(browserContextId)` - Get cookies
269
- - `Storage.setCookies(cookies)` - Set cookies
270
- - `Storage.clearCookies(browserContextId)` - Clear cookies
271
- - `Storage.clearDataForOrigin(origin, storageTypes)` - Clear storage
272
- - `Storage.getUsageAndQuota(origin)` - Get storage usage
273
-
274
- **Storage Types:**
275
- - appcache, cookies, file_systems, indexeddb, local_storage, shader_cache, websql, service_workers, cache_storage
276
-
277
- **Use Cases:**
278
- - Cookie management
279
- - Clear browser data
280
- - Inspect storage usage
281
- - Test quota limits
282
-
283
- ---
284
-
285
- ### DOMStorage
286
- **Purpose:** Access localStorage/sessionStorage
287
-
288
- **Key Commands:**
289
- - `DOMStorage.enable()` - Enable storage tracking
290
- - `DOMStorage.getDOMStorageItems(storageId)` - Get items
291
- - `DOMStorage.setDOMStorageItem(storageId, key, value)` - Set item
292
- - `DOMStorage.removeDOMStorageItem(storageId, key)` - Remove item
293
-
294
- **Key Events:**
295
- - `DOMStorage.domStorageItemsCleared` - Storage cleared
296
- - `DOMStorage.domStorageItemAdded/Updated/Removed` - Item changed
297
-
298
- ---
299
-
300
- ### IndexedDB
301
- **Purpose:** Query IndexedDB databases
302
-
303
- **Key Commands:**
304
- - `IndexedDB.requestDatabaseNames(securityOrigin)` - List databases
305
- - `IndexedDB.requestDatabase(securityOrigin, databaseName)` - Get DB structure
306
- - `IndexedDB.requestData(securityOrigin, databaseName, objectStoreName)` - Query data
307
-
308
- **Use Cases:**
309
- - Inspect IndexedDB data
310
- - Debug database issues
311
- - Extract stored data
312
-
313
- ---
314
-
315
- ### CacheStorage
316
- **Purpose:** Manage Cache API
317
-
318
- **Key Commands:**
319
- - `CacheStorage.requestCacheNames(securityOrigin)` - List caches
320
- - `CacheStorage.requestCachedResponses(cacheId, securityOrigin)` - List cached responses
321
- - `CacheStorage.deleteCache(cacheId)` - Delete cache
322
-
323
- **Use Cases:**
324
- - Service worker cache inspection
325
- - Offline functionality testing
326
-
327
- ---
328
-
329
- ## Performance & Profiling Domains
330
-
331
- ### Performance
332
- **Purpose:** Collect performance metrics
333
-
334
- **Key Commands:**
335
- - `Performance.enable()` - Enable performance tracking
336
- - `Performance.disable()` - Disable tracking
337
- - `Performance.getMetrics()` - Get current metrics
338
-
339
- **Metrics:**
340
- - Timestamp, Documents, Frames, JSEventListeners, Nodes, LayoutCount, RecalcStyleCount, LayoutDuration, RecalcStyleDuration, ScriptDuration, TaskDuration, JSHeapUsedSize, JSHeapTotalSize
341
-
342
- **Use Cases:**
343
- - Monitor page metrics
344
- - Track memory usage
345
- - Measure render times
346
-
347
- ---
348
-
349
- ### PerformanceTimeline
350
- **Purpose:** Access Performance Timeline API
351
-
352
- **Key Commands:**
353
- - `PerformanceTimeline.enable(eventTypes)` - Subscribe to events
354
-
355
- **Event Types:**
356
- - mark, measure, navigation, resource, longtask, paint, layout-shift
357
-
358
- **Key Events:**
359
- - `PerformanceTimeline.timelineEventAdded` - New performance entry
360
-
361
- ---
362
-
363
- ### Tracing
364
- **Purpose:** Record Chrome trace
365
-
366
- **Key Commands:**
367
- - `Tracing.start(categories, options)` - Start recording
368
- - `Tracing.end()` - Stop recording
369
- - `Tracing.requestMemoryDump()` - Capture memory snapshot
370
-
371
- **Trace Categories:**
372
- - blink, cc, devtools, gpu, loading, navigation, rendering, v8, disabled-by-default-*
373
-
374
- **Key Events:**
375
- - `Tracing.dataCollected` - Trace chunk received
376
- - `Tracing.tracingComplete` - Recording finished
377
-
378
- **Use Cases:**
379
- - Deep performance analysis
380
- - Frame rendering profiling
381
- - CPU flame graphs
382
- - Memory profiling
383
-
384
- ---
385
-
386
- ### Profiler
387
- **Purpose:** CPU profiling
388
-
389
- **Key Commands:**
390
- - `Profiler.enable()` - Enable profiler
391
- - `Profiler.start()` - Start CPU profiling
392
- - `Profiler.stop()` - Stop and get profile
393
-
394
- **Use Cases:**
395
- - Find CPU bottlenecks
396
- - Optimize JavaScript
397
- - Generate flame graphs
398
-
399
- ---
400
-
401
- ### HeapProfiler (via Memory domain)
402
- **Purpose:** Memory profiling
403
-
404
- **Key Commands:**
405
- - `Memory.getDOMCounters()` - Get DOM object counts
406
- - `Memory.prepareForLeakDetection()` - Prepare leak detection
407
- - `Memory.forciblyPurgeJavaScriptMemory()` - Force GC
408
- - `Memory.setPressureNotificationsSuppressed(suppressed)` - Control memory warnings
409
- - `Memory.simulatePressureNotification(level)` - Simulate memory pressure
410
-
411
- **Use Cases:**
412
- - Detect memory leaks
413
- - Analyze heap snapshots
414
- - Monitor object counts
415
-
416
- ---
417
-
418
- ## Emulation & Simulation Domains
419
-
420
- ### Emulation
421
- **Purpose:** Emulate device conditions
422
-
423
- **Key Commands:**
424
- - `Emulation.setDeviceMetricsOverride(width, height, deviceScaleFactor, mobile)` - Emulate device
425
- - `Emulation.setGeolocationOverride(latitude, longitude, accuracy)` - Fake location
426
- - `Emulation.setEmulatedMedia(media, features)` - Emulate media type
427
- - `Emulation.setTimezoneOverride(timezoneId)` - Override timezone
428
- - `Emulation.setLocaleOverride(locale)` - Override language
429
- - `Emulation.setUserAgentOverride(userAgent)` - Change user agent
430
-
431
- **Use Cases:**
432
- - Mobile device testing
433
- - Geolocation testing
434
- - Print media emulation
435
- - Timezone/locale testing
436
-
437
- ---
438
-
439
- ### DeviceOrientation
440
- **Purpose:** Simulate device orientation
441
-
442
- **Key Commands:**
443
- - `DeviceOrientation.setDeviceOrientationOverride(alpha, beta, gamma)` - Set orientation
444
-
445
- **Use Cases:**
446
- - Test accelerometer features
447
- - Orientation-dependent layouts
448
-
449
- ---
450
-
451
- ## Worker & Service Domains
452
-
453
- ### ServiceWorker
454
- **Purpose:** Manage service workers
455
-
456
- **Key Commands:**
457
- - `ServiceWorker.enable()` - Enable tracking
458
- - `ServiceWorker.unregister(scopeURL)` - Unregister worker
459
- - `ServiceWorker.startWorker(scopeURL)` - Start worker
460
- - `ServiceWorker.stopWorker(versionId)` - Stop worker
461
- - `ServiceWorker.inspectWorker(versionId)` - Debug worker
462
-
463
- **Key Events:**
464
- - `ServiceWorker.workerRegistrationUpdated` - Registration changed
465
- - `ServiceWorker.workerVersionUpdated` - Version updated
466
-
467
- ---
468
-
469
- ### WebAuthn
470
- **Purpose:** Simulate WebAuthn/FIDO2
471
-
472
- **Key Commands:**
473
- - `WebAuthn.enable()` - Enable virtual authenticators
474
- - `WebAuthn.addVirtualAuthenticator(options)` - Add virtual device
475
- - `WebAuthn.removeVirtualAuthenticator(authenticatorId)` - Remove device
476
- - `WebAuthn.addCredential(authenticatorId, credential)` - Add credential
477
-
478
- **Use Cases:**
479
- - Test WebAuthn flows
480
- - Simulate biometric auth
481
- - Test security keys
482
-
483
- ---
484
-
485
- ## Developer Tools Support
486
-
487
- ### Inspector
488
- **Purpose:** Protocol-level debugging
489
-
490
- **Key Events:**
491
- - `Inspector.detached` - Debugger disconnected
492
- - `Inspector.targetCrashed` - Target crashed
493
-
494
- ---
495
-
496
- ### Log
497
- **Purpose:** Collect browser logs
498
-
499
- **Key Commands:**
500
- - `Log.enable()` - Enable log collection
501
- - `Log.clear()` - Clear logs
502
-
503
- **Key Events:**
504
- - `Log.entryAdded` - New log entry
505
-
506
- **Use Cases:**
507
- - Collect console logs
508
- - Monitor violations
509
- - Track deprecations
510
-
511
- ---
512
-
513
- ### DOMDebugger
514
- **Purpose:** DOM-level debugging
515
-
516
- **Key Commands:**
517
- - `DOMDebugger.setDOMBreakpoint(nodeId, type)` - Break on DOM changes
518
- - `DOMDebugger.setEventListenerBreakpoint(eventName)` - Break on event
519
- - `DOMDebugger.setXHRBreakpoint(url)` - Break on XHR
520
-
521
- **Breakpoint Types:**
522
- - subtree-modified, attribute-modified, node-removed
523
-
524
- ---
525
-
526
- ### DOMSnapshot
527
- **Purpose:** Capture complete DOM snapshot
528
-
529
- **Key Commands:**
530
- - `DOMSnapshot.captureSnapshot(computedStyles)` - Capture full DOM
531
-
532
- **Use Cases:**
533
- - Export page structure
534
- - Offline analysis
535
- - DOM diffing
536
-
537
- ---
538
-
539
- ### Audits (Lighthouse Integration)
540
- **Purpose:** Run automated audits
541
-
542
- **Key Commands:**
543
- - `Audits.enable()` - Enable audits
544
- - `Audits.getEncodingIssues()` - Check encoding issues
545
-
546
- ---
547
-
548
- ### LayerTree
549
- **Purpose:** Inspect rendering layers
550
-
551
- **Key Commands:**
552
- - `LayerTree.enable()` - Enable layer tracking
553
- - `LayerTree.compositingReasons(layerId)` - Get why layer created
554
-
555
- **Key Events:**
556
- - `LayerTree.layerTreeDidChange` - Layers changed
557
-
558
- **Use Cases:**
559
- - Debug rendering performance
560
- - Identify layer creation
561
- - Optimize compositing
562
-
563
- ---
564
-
565
- ## Other Domains
566
-
567
- ### Browser
568
- **Purpose:** Browser-level control
569
-
570
- **Key Commands:**
571
- - `Browser.getVersion()` - Get browser info
572
- - `Browser.getBrowserCommandLine()` - Get launch args
573
- - `Browser.setPermission(permission, setting, origin)` - Set permissions
574
- - `Browser.grantPermissions(permissions, origin)` - Grant permissions
575
-
576
- **Permissions:**
577
- - geolocation, midi, notifications, push, camera, microphone, background-sync, sensors, accessibility-events, clipboard-read, clipboard-write, payment-handler
578
-
579
- ---
580
-
581
- ### IO
582
- **Purpose:** File I/O operations
583
-
584
- **Key Commands:**
585
- - `IO.read(handle, offset, size)` - Read stream
586
- - `IO.close(handle)` - Close stream
587
-
588
- **Use Cases:**
589
- - Read large response bodies
590
- - Process binary data
591
-
592
- ---
593
-
594
- ### Media
595
- **Purpose:** Inspect media players
596
-
597
- **Key Commands:**
598
- - `Media.enable()` - Track media players
599
-
600
- **Key Events:**
601
- - `Media.playerPropertiesChanged` - Player state changed
602
- - `Media.playerEventsAdded` - Player events
603
-
604
- ---
605
-
606
- ### BackgroundService
607
- **Purpose:** Track background services
608
-
609
- **Key Commands:**
610
- - `BackgroundService.startObserving(service)` - Track service
611
-
612
- **Services:**
613
- - backgroundFetch, backgroundSync, pushMessaging, notifications, paymentHandler, periodicBackgroundSync
614
-
615
- ---
616
-
617
- ## Domain Dependencies
618
-
619
- Some domains depend on others and must be enabled in order:
620
-
621
- ```
622
- Runtime (no dependencies)
623
-
624
- DOM (depends on Runtime)
625
-
626
- CSS (depends on DOM)
627
-
628
- Network (no dependencies)
629
-
630
- Page (depends on Runtime)
631
-
632
- Target (depends on Page)
633
-
634
- Debugger (depends on Runtime)
635
- ```
636
-
637
- ## Quick Command Reference
638
-
639
- ### Most Common Commands
640
-
641
- ```javascript
642
- // Navigation
643
- Page.navigate(url)
644
- Page.reload()
645
-
646
- // JavaScript Execution
647
- Runtime.evaluate(expression)
648
-
649
- // DOM Access
650
- DOM.getDocument()
651
- DOM.querySelector(nodeId, selector)
652
-
653
- // Screenshots
654
- Page.captureScreenshot(format, quality)
655
-
656
- // Network Monitoring
657
- Network.enable()
658
- // Listen for Network.requestWillBeSent events
659
-
660
- // Console Messages
661
- // Listen for Runtime.consoleAPICalled events
662
-
663
- // Cookies
664
- Network.getCookies(urls)
665
- Network.setCookie(...)
666
-
667
- // Device Emulation
668
- Emulation.setDeviceMetricsOverride(width, height, ...)
669
-
670
- // Performance
671
- Performance.getMetrics()
672
- Tracing.start(categories)
673
- Tracing.end()
674
- ```
675
-
676
- ---
677
-
678
- ## Best Practices
679
-
680
- 1. **Enable domains before use:** Always call `.enable()` for stateful domains
681
- 2. **Handle events:** Subscribe to events for real-time updates
682
- 3. **Clean up:** Disable domains when done to reduce overhead
683
- 4. **Use sessions:** Attach to specific targets for isolated debugging
684
- 5. **Handle errors:** Implement proper error handling for command failures
685
- 6. **Version awareness:** Check browser version for experimental API support
686
-
687
- ---
688
-
689
- ## Additional Resources
690
-
691
- - [Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/) - Interactive domain browser
692
- - [Protocol JSON](https://chromedevtools.github.io/devtools-protocol/tot/json) - Machine-readable specification
693
- - [Getting Started with CDP](https://github.com/aslushnikov/getting-started-with-cdp)
694
- - [devtools-protocol NPM](https://www.npmjs.com/package/devtools-protocol) - TypeScript definitions
1
+ # Chrome DevTools Protocol (CDP) Domains Reference
2
+
3
+ Complete reference of CDP domains and their capabilities for browser automation and debugging.
4
+
5
+ ## Overview
6
+
7
+ CDP is organized into **47 domains**, each providing specific browser capabilities. Domains are grouped by functionality:
8
+
9
+ - **Core** - Fundamental browser control
10
+ - **DOM & Styling** - Page structure and styling
11
+ - **Network & Fetch** - HTTP traffic management
12
+ - **Page & Navigation** - Page lifecycle control
13
+ - **Storage & Data** - Browser storage APIs
14
+ - **Performance & Profiling** - Metrics and analysis
15
+ - **Emulation & Simulation** - Device and network emulation
16
+ - **Worker & Service** - Background tasks
17
+ - **Developer Tools** - Debugging support
18
+
19
+ ---
20
+
21
+ ## Core Domains
22
+
23
+ ### Runtime
24
+ **Purpose:** Execute JavaScript, manage objects, handle promises
25
+
26
+ **Key Commands:**
27
+ - `Runtime.evaluate(expression)` - Execute JavaScript
28
+ - `Runtime.callFunctionOn(functionDeclaration, objectId)` - Call function on object
29
+ - `Runtime.getProperties(objectId)` - Get object properties
30
+ - `Runtime.awaitPromise(promiseObjectId)` - Wait for promise resolution
31
+
32
+ **Key Events:**
33
+ - `Runtime.consoleAPICalled` - Console message logged
34
+ - `Runtime.exceptionThrown` - Uncaught exception
35
+
36
+ **Use Cases:**
37
+ - Execute custom JavaScript
38
+ - Access page data
39
+ - Monitor console output
40
+ - Handle exceptions
41
+
42
+ ---
43
+
44
+ ### Debugger
45
+ **Purpose:** JavaScript debugging, breakpoints, stack traces
46
+
47
+ **Key Commands:**
48
+ - `Debugger.enable()` - Enable debugger
49
+ - `Debugger.setBreakpoint(location)` - Set breakpoint
50
+ - `Debugger.pause()` - Pause execution
51
+ - `Debugger.resume()` - Resume execution
52
+ - `Debugger.stepOver/stepInto/stepOut()` - Step through code
53
+
54
+ **Key Events:**
55
+ - `Debugger.paused` - Execution paused
56
+ - `Debugger.resumed` - Execution resumed
57
+ - `Debugger.scriptParsed` - Script loaded
58
+
59
+ **Use Cases:**
60
+ - Debug JavaScript errors
61
+ - Inspect call stacks
62
+ - Set conditional breakpoints
63
+ - Source map support
64
+
65
+ ---
66
+
67
+ ### Console (Deprecated - Use Runtime/Log)
68
+ **Purpose:** Legacy console message access
69
+
70
+ **Note:** Use `Runtime.consoleAPICalled` event instead for new implementations.
71
+
72
+ ---
73
+
74
+ ## DOM & Styling Domains
75
+
76
+ ### DOM
77
+ **Purpose:** Access and manipulate DOM tree
78
+
79
+ **Key Commands:**
80
+ - `DOM.getDocument()` - Get root document node
81
+ - `DOM.querySelector(nodeId, selector)` - Query selector
82
+ - `DOM.querySelectorAll(nodeId, selector)` - Query all
83
+ - `DOM.getAttributes(nodeId)` - Get element attributes
84
+ - `DOM.setOuterHTML(nodeId, outerHTML)` - Replace element
85
+ - `DOM.getBoxModel(nodeId)` - Get element layout box
86
+ - `DOM.focus(nodeId)` - Focus element
87
+
88
+ **Key Events:**
89
+ - `DOM.documentUpdated` - Document changed
90
+ - `DOM.setChildNodes` - Child nodes updated
91
+
92
+ **Use Cases:**
93
+ - Navigate DOM tree
94
+ - Query elements
95
+ - Modify DOM structure
96
+ - Get element positions
97
+
98
+ ---
99
+
100
+ ### CSS
101
+ **Purpose:** Inspect and modify CSS styles
102
+
103
+ **Key Commands:**
104
+ - `CSS.enable()` - Enable CSS domain
105
+ - `CSS.getComputedStyleForNode(nodeId)` - Get computed styles
106
+ - `CSS.getInlineStylesForNode(nodeId)` - Get inline styles
107
+ - `CSS.getMatchedStylesForNode(nodeId)` - Get matched CSS rules
108
+ - `CSS.setStyleTexts(edits)` - Modify styles
109
+
110
+ **Key Events:**
111
+ - `CSS.styleSheetAdded` - Stylesheet added
112
+ - `CSS.styleSheetChanged` - Stylesheet modified
113
+
114
+ **Use Cases:**
115
+ - Inspect element styles
116
+ - Debug CSS issues
117
+ - Modify styles dynamically
118
+ - Extract stylesheet data
119
+
120
+ ---
121
+
122
+ ### Accessibility
123
+ **Purpose:** Access accessibility tree
124
+
125
+ **Key Commands:**
126
+ - `Accessibility.enable()` - Enable accessibility
127
+ - `Accessibility.getFullAXTree()` - Get complete AX tree
128
+ - `Accessibility.getPartialAXTree(nodeId)` - Get node subtree
129
+ - `Accessibility.queryAXTree(nodeId, role, name)` - Query AX tree
130
+
131
+ **Use Cases:**
132
+ - Accessibility testing
133
+ - Screen reader simulation
134
+ - ARIA attribute inspection
135
+ - AX tree analysis
136
+
137
+ ---
138
+
139
+ ## Network & Fetch Domains
140
+
141
+ ### Network
142
+ **Purpose:** Monitor and control HTTP traffic
143
+
144
+ **Key Commands:**
145
+ - `Network.enable()` - Enable network tracking
146
+ - `Network.setCacheDisabled(cacheDisabled)` - Disable cache
147
+ - `Network.setExtraHTTPHeaders(headers)` - Add custom headers
148
+ - `Network.getCookies(urls)` - Get cookies
149
+ - `Network.setCookie(name, value, domain)` - Set cookie
150
+ - `Network.getResponseBody(requestId)` - Get response body
151
+ - `Network.emulateNetworkConditions(offline, latency, downloadThroughput, uploadThroughput)` - Throttle network
152
+
153
+ **Key Events:**
154
+ - `Network.requestWillBeSent` - Request starting
155
+ - `Network.responseReceived` - Response received
156
+ - `Network.loadingFinished` - Request completed
157
+ - `Network.loadingFailed` - Request failed
158
+
159
+ **Use Cases:**
160
+ - Monitor API calls
161
+ - Intercept requests
162
+ - Analyze response data
163
+ - Simulate slow networks
164
+ - Manage cookies
165
+
166
+ ---
167
+
168
+ ### Fetch
169
+ **Purpose:** Intercept and modify network requests
170
+
171
+ **Key Commands:**
172
+ - `Fetch.enable(patterns)` - Enable request interception
173
+ - `Fetch.continueRequest(requestId, url, method, headers)` - Continue/modify request
174
+ - `Fetch.fulfillRequest(requestId, responseCode, headers, body)` - Mock response
175
+ - `Fetch.failRequest(requestId, errorReason)` - Fail request
176
+
177
+ **Key Events:**
178
+ - `Fetch.requestPaused` - Request intercepted
179
+
180
+ **Use Cases:**
181
+ - Mock API responses
182
+ - Block requests
183
+ - Modify request/response
184
+ - Test error scenarios
185
+
186
+ ---
187
+
188
+ ## Page & Navigation Domains
189
+
190
+ ### Page
191
+ **Purpose:** Control page lifecycle and navigation
192
+
193
+ **Key Commands:**
194
+ - `Page.enable()` - Enable page domain
195
+ - `Page.navigate(url)` - Navigate to URL
196
+ - `Page.reload(ignoreCache)` - Reload page
197
+ - `Page.goBack()/goForward()` - Navigate history
198
+ - `Page.captureScreenshot(format, quality)` - Take screenshot
199
+ - `Page.printToPDF(landscape, displayHeaderFooter)` - Generate PDF
200
+ - `Page.getLayoutMetrics()` - Get page dimensions
201
+ - `Page.createIsolatedWorld(frameId)` - Create isolated context
202
+ - `Page.handleJavaScriptDialog(accept, promptText)` - Handle alerts/confirms
203
+
204
+ **Key Events:**
205
+ - `Page.loadEventFired` - Page loaded
206
+ - `Page.domContentEventFired` - DOM ready
207
+ - `Page.frameNavigated` - Frame navigated
208
+ - `Page.javascriptDialogOpening` - Alert/confirm shown
209
+
210
+ **Use Cases:**
211
+ - Navigate pages
212
+ - Capture screenshots
213
+ - Generate PDFs
214
+ - Handle popups
215
+ - Monitor page lifecycle
216
+
217
+ ---
218
+
219
+ ### Target
220
+ **Purpose:** Manage browser targets (tabs, workers, frames)
221
+
222
+ **Key Commands:**
223
+ - `Target.getTargets()` - List all targets
224
+ - `Target.createTarget(url)` - Open new tab
225
+ - `Target.closeTarget(targetId)` - Close tab
226
+ - `Target.attachToTarget(targetId)` - Attach debugger
227
+ - `Target.detachFromTarget(sessionId)` - Detach debugger
228
+ - `Target.setDiscoverTargets(discover)` - Auto-discover targets
229
+
230
+ **Key Events:**
231
+ - `Target.targetCreated` - New target created
232
+ - `Target.targetDestroyed` - Target closed
233
+ - `Target.targetInfoChanged` - Target updated
234
+
235
+ **Use Cases:**
236
+ - Multi-tab automation
237
+ - Service worker debugging
238
+ - Frame inspection
239
+ - Extension debugging
240
+
241
+ ---
242
+
243
+ ### Input
244
+ **Purpose:** Simulate user input
245
+
246
+ **Key Commands:**
247
+ - `Input.dispatchKeyEvent(type, key, code)` - Keyboard input
248
+ - `Input.dispatchMouseEvent(type, x, y, button)` - Mouse input
249
+ - `Input.dispatchTouchEvent(type, touchPoints)` - Touch input
250
+ - `Input.synthesizePinchGesture(x, y, scaleFactor)` - Pinch gesture
251
+ - `Input.synthesizeScrollGesture(x, y, xDistance, yDistance)` - Scroll
252
+
253
+ **Use Cases:**
254
+ - Simulate clicks
255
+ - Type text
256
+ - Drag and drop
257
+ - Touch gestures
258
+ - Scroll pages
259
+
260
+ ---
261
+
262
+ ## Storage & Data Domains
263
+
264
+ ### Storage
265
+ **Purpose:** Manage browser storage
266
+
267
+ **Key Commands:**
268
+ - `Storage.getCookies(browserContextId)` - Get cookies
269
+ - `Storage.setCookies(cookies)` - Set cookies
270
+ - `Storage.clearCookies(browserContextId)` - Clear cookies
271
+ - `Storage.clearDataForOrigin(origin, storageTypes)` - Clear storage
272
+ - `Storage.getUsageAndQuota(origin)` - Get storage usage
273
+
274
+ **Storage Types:**
275
+ - appcache, cookies, file_systems, indexeddb, local_storage, shader_cache, websql, service_workers, cache_storage
276
+
277
+ **Use Cases:**
278
+ - Cookie management
279
+ - Clear browser data
280
+ - Inspect storage usage
281
+ - Test quota limits
282
+
283
+ ---
284
+
285
+ ### DOMStorage
286
+ **Purpose:** Access localStorage/sessionStorage
287
+
288
+ **Key Commands:**
289
+ - `DOMStorage.enable()` - Enable storage tracking
290
+ - `DOMStorage.getDOMStorageItems(storageId)` - Get items
291
+ - `DOMStorage.setDOMStorageItem(storageId, key, value)` - Set item
292
+ - `DOMStorage.removeDOMStorageItem(storageId, key)` - Remove item
293
+
294
+ **Key Events:**
295
+ - `DOMStorage.domStorageItemsCleared` - Storage cleared
296
+ - `DOMStorage.domStorageItemAdded/Updated/Removed` - Item changed
297
+
298
+ ---
299
+
300
+ ### IndexedDB
301
+ **Purpose:** Query IndexedDB databases
302
+
303
+ **Key Commands:**
304
+ - `IndexedDB.requestDatabaseNames(securityOrigin)` - List databases
305
+ - `IndexedDB.requestDatabase(securityOrigin, databaseName)` - Get DB structure
306
+ - `IndexedDB.requestData(securityOrigin, databaseName, objectStoreName)` - Query data
307
+
308
+ **Use Cases:**
309
+ - Inspect IndexedDB data
310
+ - Debug database issues
311
+ - Extract stored data
312
+
313
+ ---
314
+
315
+ ### CacheStorage
316
+ **Purpose:** Manage Cache API
317
+
318
+ **Key Commands:**
319
+ - `CacheStorage.requestCacheNames(securityOrigin)` - List caches
320
+ - `CacheStorage.requestCachedResponses(cacheId, securityOrigin)` - List cached responses
321
+ - `CacheStorage.deleteCache(cacheId)` - Delete cache
322
+
323
+ **Use Cases:**
324
+ - Service worker cache inspection
325
+ - Offline functionality testing
326
+
327
+ ---
328
+
329
+ ## Performance & Profiling Domains
330
+
331
+ ### Performance
332
+ **Purpose:** Collect performance metrics
333
+
334
+ **Key Commands:**
335
+ - `Performance.enable()` - Enable performance tracking
336
+ - `Performance.disable()` - Disable tracking
337
+ - `Performance.getMetrics()` - Get current metrics
338
+
339
+ **Metrics:**
340
+ - Timestamp, Documents, Frames, JSEventListeners, Nodes, LayoutCount, RecalcStyleCount, LayoutDuration, RecalcStyleDuration, ScriptDuration, TaskDuration, JSHeapUsedSize, JSHeapTotalSize
341
+
342
+ **Use Cases:**
343
+ - Monitor page metrics
344
+ - Track memory usage
345
+ - Measure render times
346
+
347
+ ---
348
+
349
+ ### PerformanceTimeline
350
+ **Purpose:** Access Performance Timeline API
351
+
352
+ **Key Commands:**
353
+ - `PerformanceTimeline.enable(eventTypes)` - Subscribe to events
354
+
355
+ **Event Types:**
356
+ - mark, measure, navigation, resource, longtask, paint, layout-shift
357
+
358
+ **Key Events:**
359
+ - `PerformanceTimeline.timelineEventAdded` - New performance entry
360
+
361
+ ---
362
+
363
+ ### Tracing
364
+ **Purpose:** Record Chrome trace
365
+
366
+ **Key Commands:**
367
+ - `Tracing.start(categories, options)` - Start recording
368
+ - `Tracing.end()` - Stop recording
369
+ - `Tracing.requestMemoryDump()` - Capture memory snapshot
370
+
371
+ **Trace Categories:**
372
+ - blink, cc, devtools, gpu, loading, navigation, rendering, v8, disabled-by-default-*
373
+
374
+ **Key Events:**
375
+ - `Tracing.dataCollected` - Trace chunk received
376
+ - `Tracing.tracingComplete` - Recording finished
377
+
378
+ **Use Cases:**
379
+ - Deep performance analysis
380
+ - Frame rendering profiling
381
+ - CPU flame graphs
382
+ - Memory profiling
383
+
384
+ ---
385
+
386
+ ### Profiler
387
+ **Purpose:** CPU profiling
388
+
389
+ **Key Commands:**
390
+ - `Profiler.enable()` - Enable profiler
391
+ - `Profiler.start()` - Start CPU profiling
392
+ - `Profiler.stop()` - Stop and get profile
393
+
394
+ **Use Cases:**
395
+ - Find CPU bottlenecks
396
+ - Optimize JavaScript
397
+ - Generate flame graphs
398
+
399
+ ---
400
+
401
+ ### HeapProfiler (via Memory domain)
402
+ **Purpose:** Memory profiling
403
+
404
+ **Key Commands:**
405
+ - `Memory.getDOMCounters()` - Get DOM object counts
406
+ - `Memory.prepareForLeakDetection()` - Prepare leak detection
407
+ - `Memory.forciblyPurgeJavaScriptMemory()` - Force GC
408
+ - `Memory.setPressureNotificationsSuppressed(suppressed)` - Control memory warnings
409
+ - `Memory.simulatePressureNotification(level)` - Simulate memory pressure
410
+
411
+ **Use Cases:**
412
+ - Detect memory leaks
413
+ - Analyze heap snapshots
414
+ - Monitor object counts
415
+
416
+ ---
417
+
418
+ ## Emulation & Simulation Domains
419
+
420
+ ### Emulation
421
+ **Purpose:** Emulate device conditions
422
+
423
+ **Key Commands:**
424
+ - `Emulation.setDeviceMetricsOverride(width, height, deviceScaleFactor, mobile)` - Emulate device
425
+ - `Emulation.setGeolocationOverride(latitude, longitude, accuracy)` - Fake location
426
+ - `Emulation.setEmulatedMedia(media, features)` - Emulate media type
427
+ - `Emulation.setTimezoneOverride(timezoneId)` - Override timezone
428
+ - `Emulation.setLocaleOverride(locale)` - Override language
429
+ - `Emulation.setUserAgentOverride(userAgent)` - Change user agent
430
+
431
+ **Use Cases:**
432
+ - Mobile device testing
433
+ - Geolocation testing
434
+ - Print media emulation
435
+ - Timezone/locale testing
436
+
437
+ ---
438
+
439
+ ### DeviceOrientation
440
+ **Purpose:** Simulate device orientation
441
+
442
+ **Key Commands:**
443
+ - `DeviceOrientation.setDeviceOrientationOverride(alpha, beta, gamma)` - Set orientation
444
+
445
+ **Use Cases:**
446
+ - Test accelerometer features
447
+ - Orientation-dependent layouts
448
+
449
+ ---
450
+
451
+ ## Worker & Service Domains
452
+
453
+ ### ServiceWorker
454
+ **Purpose:** Manage service workers
455
+
456
+ **Key Commands:**
457
+ - `ServiceWorker.enable()` - Enable tracking
458
+ - `ServiceWorker.unregister(scopeURL)` - Unregister worker
459
+ - `ServiceWorker.startWorker(scopeURL)` - Start worker
460
+ - `ServiceWorker.stopWorker(versionId)` - Stop worker
461
+ - `ServiceWorker.inspectWorker(versionId)` - Debug worker
462
+
463
+ **Key Events:**
464
+ - `ServiceWorker.workerRegistrationUpdated` - Registration changed
465
+ - `ServiceWorker.workerVersionUpdated` - Version updated
466
+
467
+ ---
468
+
469
+ ### WebAuthn
470
+ **Purpose:** Simulate WebAuthn/FIDO2
471
+
472
+ **Key Commands:**
473
+ - `WebAuthn.enable()` - Enable virtual authenticators
474
+ - `WebAuthn.addVirtualAuthenticator(options)` - Add virtual device
475
+ - `WebAuthn.removeVirtualAuthenticator(authenticatorId)` - Remove device
476
+ - `WebAuthn.addCredential(authenticatorId, credential)` - Add credential
477
+
478
+ **Use Cases:**
479
+ - Test WebAuthn flows
480
+ - Simulate biometric auth
481
+ - Test security keys
482
+
483
+ ---
484
+
485
+ ## Developer Tools Support
486
+
487
+ ### Inspector
488
+ **Purpose:** Protocol-level debugging
489
+
490
+ **Key Events:**
491
+ - `Inspector.detached` - Debugger disconnected
492
+ - `Inspector.targetCrashed` - Target crashed
493
+
494
+ ---
495
+
496
+ ### Log
497
+ **Purpose:** Collect browser logs
498
+
499
+ **Key Commands:**
500
+ - `Log.enable()` - Enable log collection
501
+ - `Log.clear()` - Clear logs
502
+
503
+ **Key Events:**
504
+ - `Log.entryAdded` - New log entry
505
+
506
+ **Use Cases:**
507
+ - Collect console logs
508
+ - Monitor violations
509
+ - Track deprecations
510
+
511
+ ---
512
+
513
+ ### DOMDebugger
514
+ **Purpose:** DOM-level debugging
515
+
516
+ **Key Commands:**
517
+ - `DOMDebugger.setDOMBreakpoint(nodeId, type)` - Break on DOM changes
518
+ - `DOMDebugger.setEventListenerBreakpoint(eventName)` - Break on event
519
+ - `DOMDebugger.setXHRBreakpoint(url)` - Break on XHR
520
+
521
+ **Breakpoint Types:**
522
+ - subtree-modified, attribute-modified, node-removed
523
+
524
+ ---
525
+
526
+ ### DOMSnapshot
527
+ **Purpose:** Capture complete DOM snapshot
528
+
529
+ **Key Commands:**
530
+ - `DOMSnapshot.captureSnapshot(computedStyles)` - Capture full DOM
531
+
532
+ **Use Cases:**
533
+ - Export page structure
534
+ - Offline analysis
535
+ - DOM diffing
536
+
537
+ ---
538
+
539
+ ### Audits (Lighthouse Integration)
540
+ **Purpose:** Run automated audits
541
+
542
+ **Key Commands:**
543
+ - `Audits.enable()` - Enable audits
544
+ - `Audits.getEncodingIssues()` - Check encoding issues
545
+
546
+ ---
547
+
548
+ ### LayerTree
549
+ **Purpose:** Inspect rendering layers
550
+
551
+ **Key Commands:**
552
+ - `LayerTree.enable()` - Enable layer tracking
553
+ - `LayerTree.compositingReasons(layerId)` - Get why layer created
554
+
555
+ **Key Events:**
556
+ - `LayerTree.layerTreeDidChange` - Layers changed
557
+
558
+ **Use Cases:**
559
+ - Debug rendering performance
560
+ - Identify layer creation
561
+ - Optimize compositing
562
+
563
+ ---
564
+
565
+ ## Other Domains
566
+
567
+ ### Browser
568
+ **Purpose:** Browser-level control
569
+
570
+ **Key Commands:**
571
+ - `Browser.getVersion()` - Get browser info
572
+ - `Browser.getBrowserCommandLine()` - Get launch args
573
+ - `Browser.setPermission(permission, setting, origin)` - Set permissions
574
+ - `Browser.grantPermissions(permissions, origin)` - Grant permissions
575
+
576
+ **Permissions:**
577
+ - geolocation, midi, notifications, push, camera, microphone, background-sync, sensors, accessibility-events, clipboard-read, clipboard-write, payment-handler
578
+
579
+ ---
580
+
581
+ ### IO
582
+ **Purpose:** File I/O operations
583
+
584
+ **Key Commands:**
585
+ - `IO.read(handle, offset, size)` - Read stream
586
+ - `IO.close(handle)` - Close stream
587
+
588
+ **Use Cases:**
589
+ - Read large response bodies
590
+ - Process binary data
591
+
592
+ ---
593
+
594
+ ### Media
595
+ **Purpose:** Inspect media players
596
+
597
+ **Key Commands:**
598
+ - `Media.enable()` - Track media players
599
+
600
+ **Key Events:**
601
+ - `Media.playerPropertiesChanged` - Player state changed
602
+ - `Media.playerEventsAdded` - Player events
603
+
604
+ ---
605
+
606
+ ### BackgroundService
607
+ **Purpose:** Track background services
608
+
609
+ **Key Commands:**
610
+ - `BackgroundService.startObserving(service)` - Track service
611
+
612
+ **Services:**
613
+ - backgroundFetch, backgroundSync, pushMessaging, notifications, paymentHandler, periodicBackgroundSync
614
+
615
+ ---
616
+
617
+ ## Domain Dependencies
618
+
619
+ Some domains depend on others and must be enabled in order:
620
+
621
+ ```
622
+ Runtime (no dependencies)
623
+
624
+ DOM (depends on Runtime)
625
+
626
+ CSS (depends on DOM)
627
+
628
+ Network (no dependencies)
629
+
630
+ Page (depends on Runtime)
631
+
632
+ Target (depends on Page)
633
+
634
+ Debugger (depends on Runtime)
635
+ ```
636
+
637
+ ## Quick Command Reference
638
+
639
+ ### Most Common Commands
640
+
641
+ ```javascript
642
+ // Navigation
643
+ Page.navigate(url)
644
+ Page.reload()
645
+
646
+ // JavaScript Execution
647
+ Runtime.evaluate(expression)
648
+
649
+ // DOM Access
650
+ DOM.getDocument()
651
+ DOM.querySelector(nodeId, selector)
652
+
653
+ // Screenshots
654
+ Page.captureScreenshot(format, quality)
655
+
656
+ // Network Monitoring
657
+ Network.enable()
658
+ // Listen for Network.requestWillBeSent events
659
+
660
+ // Console Messages
661
+ // Listen for Runtime.consoleAPICalled events
662
+
663
+ // Cookies
664
+ Network.getCookies(urls)
665
+ Network.setCookie(...)
666
+
667
+ // Device Emulation
668
+ Emulation.setDeviceMetricsOverride(width, height, ...)
669
+
670
+ // Performance
671
+ Performance.getMetrics()
672
+ Tracing.start(categories)
673
+ Tracing.end()
674
+ ```
675
+
676
+ ---
677
+
678
+ ## Best Practices
679
+
680
+ 1. **Enable domains before use:** Always call `.enable()` for stateful domains
681
+ 2. **Handle events:** Subscribe to events for real-time updates
682
+ 3. **Clean up:** Disable domains when done to reduce overhead
683
+ 4. **Use sessions:** Attach to specific targets for isolated debugging
684
+ 5. **Handle errors:** Implement proper error handling for command failures
685
+ 6. **Version awareness:** Check browser version for experimental API support
686
+
687
+ ---
688
+
689
+ ## Additional Resources
690
+
691
+ - [Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/) - Interactive domain browser
692
+ - [Protocol JSON](https://chromedevtools.github.io/devtools-protocol/tot/json) - Machine-readable specification
693
+ - [Getting Started with CDP](https://github.com/aslushnikov/getting-started-with-cdp)
694
+ - [devtools-protocol NPM](https://www.npmjs.com/package/devtools-protocol) - TypeScript definitions