@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,718 +1,718 @@
1
- # Render Blueprint Specification
2
-
3
- Complete reference for render.yaml Blueprint files. Blueprints define your infrastructure as code for reproducible deployments on Render.
4
-
5
- ## Overview
6
-
7
- A Blueprint is a YAML file (typically `render.yaml`) placed in your repository root that describes:
8
- - Services (web, worker, cron, static, private)
9
- - Databases (PostgreSQL, Redis)
10
- - Environment variables and secrets
11
- - Scaling and resource configuration
12
- - Project organization
13
-
14
- ## Root-Level Structure
15
-
16
- ```yaml
17
- # Top-level fields
18
- services: [] # Array of service definitions
19
- databases: [] # Array of PostgreSQL databases
20
- envVarGroups: [] # Reusable environment variable groups (optional)
21
- projects: [] # Project organization (optional)
22
- ungrouped: [] # Resources outside projects (optional)
23
- previews: # Preview environment configuration (optional)
24
- generation: auto_preview | manual | none
25
- ```
26
-
27
- ## Service Types
28
-
29
- ### Web Services (`type: web`)
30
-
31
- HTTP services, APIs, and web applications. Publicly accessible via HTTPS.
32
-
33
- **Required fields:**
34
- - `name`: Unique service identifier
35
- - `type`: Must be `web`
36
- - `runtime`: Language/environment (see Runtimes section)
37
- - `buildCommand`: Command to build the application
38
- - `startCommand`: Command to start the server
39
-
40
- **Common optional fields:**
41
- - `plan`: Instance type (default: `free`)
42
- - `region`: Deployment region (default: `oregon`)
43
- - `branch`: Git branch to deploy (default: `main`)
44
- - `autoDeploy`: Auto-deploy on push (default: `true`)
45
- - `envVars`: Environment variables array
46
- - `healthCheckPath`: Health check endpoint (default: `/`)
47
- - `numInstances`: Number of instances (manual scaling)
48
- - `scaling`: Autoscaling configuration
49
-
50
- **Example:**
51
- ```yaml
52
- services:
53
- - type: web
54
- name: api-server
55
- runtime: node
56
- plan: free
57
- buildCommand: npm ci
58
- startCommand: npm start
59
- branch: main
60
- autoDeploy: true
61
- envVars:
62
- - key: NODE_ENV
63
- value: production
64
- - key: PORT
65
- value: 10000
66
- ```
67
-
68
- ### Worker Services (`type: worker`)
69
-
70
- Background job processors, queue consumers. Not publicly accessible.
71
-
72
- **Required fields:**
73
- - `name`: Unique service identifier
74
- - `type`: Must be `worker`
75
- - `runtime`: Language/environment
76
- - `buildCommand`: Command to build
77
- - `startCommand`: Command to start worker process
78
-
79
- **Key differences from web services:**
80
- - No public URL
81
- - No health checks
82
- - No port binding required
83
-
84
- **Example:**
85
- ```yaml
86
- services:
87
- - type: worker
88
- name: job-processor
89
- runtime: python
90
- plan: free
91
- buildCommand: pip install -r requirements.txt
92
- startCommand: celery -A tasks worker --loglevel=info
93
- envVars:
94
- - key: REDIS_URL
95
- fromDatabase:
96
- name: redis
97
- property: connectionString
98
- ```
99
-
100
- ### Cron Jobs (`type: cron`)
101
-
102
- Scheduled tasks that run on a cron schedule.
103
-
104
- **Required fields:**
105
- - `name`: Unique service identifier
106
- - `type`: Must be `cron`
107
- - `runtime`: Language/environment
108
- - `schedule`: Cron expression
109
- - `buildCommand`: Command to build
110
- - `startCommand`: Command to execute on schedule
111
-
112
- **Schedule format:** Standard cron syntax (minute hour day month weekday)
113
-
114
- **Examples:**
115
- - `0 0 * * *` - Daily at midnight UTC
116
- - `*/15 * * * *` - Every 15 minutes
117
- - `0 9 * * 1` - Every Monday at 9 AM UTC
118
-
119
- **Example:**
120
- ```yaml
121
- services:
122
- - type: cron
123
- name: daily-backup
124
- runtime: node
125
- schedule: "0 2 * * *"
126
- buildCommand: npm ci
127
- startCommand: node scripts/backup.js
128
- envVars:
129
- - key: DATABASE_URL
130
- fromDatabase:
131
- name: postgres
132
- property: connectionString
133
- ```
134
-
135
- ### Static Sites (`type: static` or `type: web` with `runtime: static`)
136
-
137
- Serve static HTML/CSS/JS files via CDN.
138
-
139
- **Required fields:**
140
- - `name`: Unique service identifier
141
- - `type`: `web`
142
- - `runtime`: `static`
143
- - `buildCommand`: Command to build static assets
144
- - `staticPublishPath`: Path to built files (e.g., `./build`, `./dist`)
145
-
146
- **Optional configuration:**
147
- - `routes`: Routing rules for SPAs
148
- - `headers`: Custom HTTP headers
149
- - `buildFilter`: Path filters for build triggers
150
-
151
- **Example:**
152
- ```yaml
153
- services:
154
- - type: web
155
- name: react-app
156
- runtime: static
157
- buildCommand: npm ci && npm run build
158
- staticPublishPath: ./dist
159
- routes:
160
- - type: rewrite
161
- source: /*
162
- destination: /index.html
163
- headers:
164
- - path: /*
165
- name: Cache-Control
166
- value: public, max-age=31536000, immutable
167
- ```
168
-
169
- ### Private Services (`type: pserv`)
170
-
171
- Internal services accessible only within your Render account.
172
-
173
- **Required fields:**
174
- - `name`: Unique service identifier
175
- - `type`: Must be `pserv`
176
- - `runtime`: Language/environment
177
- - `buildCommand`: Command to build
178
- - `startCommand`: Command to start
179
-
180
- **Use cases:**
181
- - Internal APIs
182
- - Database proxies
183
- - Microservices not exposed to internet
184
-
185
- **Example:**
186
- ```yaml
187
- services:
188
- - type: pserv
189
- name: internal-api
190
- runtime: go
191
- plan: free
192
- buildCommand: go build -o bin/app
193
- startCommand: ./bin/app
194
- ```
195
-
196
- ## Runtimes
197
-
198
- ### Native Runtimes
199
-
200
- **Node.js (`runtime: node`):**
201
- - Versions: 14, 16, 18, 20, 21
202
- - Default version: 20
203
- - Specify version in `package.json` engines field
204
-
205
- **Python (`runtime: python`):**
206
- - Versions: 3.8, 3.9, 3.10, 3.11, 3.12
207
- - Default version: 3.11
208
- - Specify version in `runtime.txt` or `Pipfile`
209
-
210
- **Go (`runtime: go`):**
211
- - Versions: 1.20, 1.21, 1.22, 1.23
212
- - Uses go modules
213
- - Version from `go.mod`
214
-
215
- **Ruby (`runtime: ruby`):**
216
- - Versions: 3.0, 3.1, 3.2, 3.3
217
- - Uses Bundler
218
- - Version from `.ruby-version` or `Gemfile`
219
-
220
- **Rust (`runtime: rust`):**
221
- - Latest stable version
222
- - Uses Cargo
223
-
224
- **Elixir (`runtime: elixir`):**
225
- - Latest stable version
226
- - Uses Mix
227
-
228
- ### Docker Runtime
229
-
230
- **Docker (`runtime: docker`):**
231
- Build from a Dockerfile in your repository.
232
-
233
- **Additional fields:**
234
- - `dockerfilePath`: Path to Dockerfile (default: `./Dockerfile`)
235
- - `dockerContext`: Build context directory (default: `.`)
236
-
237
- **Example:**
238
- ```yaml
239
- services:
240
- - type: web
241
- name: docker-app
242
- runtime: docker
243
- dockerfilePath: ./docker/Dockerfile
244
- dockerContext: .
245
- plan: free
246
- ```
247
-
248
- **Image (`runtime: image`):**
249
- Deploy pre-built Docker images from a registry.
250
-
251
- **Additional fields:**
252
- - `image`: Image URL (e.g., `registry.com/image:tag`)
253
- - `registryCredential`: Credentials for private registries
254
-
255
- **Example:**
256
- ```yaml
257
- services:
258
- - type: web
259
- name: prebuilt-app
260
- runtime: image
261
- image: myregistry.com/app:v1.2.3
262
- plan: free
263
- ```
264
-
265
- ## Service Plans
266
-
267
- Available instance types:
268
-
269
- | Plan | RAM | CPU | Price |
270
- |------|-----|-----|-------|
271
- | `free` | 512 MB | 0.5 | Free (750 hrs/mo) |
272
- | `starter` | 512 MB | 0.5 | $7/month |
273
- | `standard` | 2 GB | 1 | $25/month |
274
- | `pro` | 4 GB | 2 | $85/month |
275
- | `pro_plus` | 8 GB | 4 | $175/month |
276
-
277
- **Always default to `plan: free` unless user specifies otherwise.**
278
-
279
- ## Regions
280
-
281
- Available deployment regions:
282
-
283
- - `oregon` (US West) - Default
284
- - `ohio` (US East)
285
- - `virginia` (US East)
286
- - `frankfurt` (EU)
287
- - `singapore` (Asia)
288
-
289
- **Example:**
290
- ```yaml
291
- services:
292
- - type: web
293
- name: my-app
294
- runtime: node
295
- region: frankfurt
296
- ```
297
-
298
- ## Environment Variables
299
-
300
- Three patterns for defining environment variables:
301
-
302
- ### 1. Hardcoded Values
303
-
304
- For non-sensitive configuration:
305
-
306
- ```yaml
307
- envVars:
308
- - key: NODE_ENV
309
- value: production
310
- - key: API_URL
311
- value: https://api.example.com
312
- - key: LOG_LEVEL
313
- value: info
314
- ```
315
-
316
- ### 2. Generated Secrets
317
-
318
- Render generates a base64-encoded 256-bit random value:
319
-
320
- ```yaml
321
- envVars:
322
- - key: SESSION_SECRET
323
- generateValue: true
324
- - key: ENCRYPTION_KEY
325
- generateValue: true
326
- ```
327
-
328
- ### 3. User-Provided Secrets
329
-
330
- Prompt user for values during Blueprint creation:
331
-
332
- ```yaml
333
- envVars:
334
- - key: STRIPE_SECRET_KEY
335
- sync: false
336
- - key: JWT_SECRET
337
- sync: false
338
- - key: API_KEY
339
- sync: false
340
- ```
341
-
342
- **The `sync: false` flag means "user will fill this in the Dashboard".**
343
-
344
- ### 4. Database References
345
-
346
- Link to database connection strings:
347
-
348
- ```yaml
349
- envVars:
350
- - key: DATABASE_URL
351
- fromDatabase:
352
- name: postgres
353
- property: connectionString
354
- - key: REDIS_URL
355
- fromDatabase:
356
- name: redis
357
- property: connectionString
358
- ```
359
-
360
- **Available properties:**
361
- - `connectionString`: Full connection URL
362
- - `host`: Database host
363
- - `port`: Database port
364
- - `user`: Database username
365
- - `password`: Database password
366
- - `database`: Database name
367
- - `hostport`: Combined `host:port`
368
-
369
- ### 5. Service References
370
-
371
- Link to other services:
372
-
373
- ```yaml
374
- envVars:
375
- - key: API_URL
376
- fromService:
377
- name: api-server
378
- type: web
379
- property: host
380
- ```
381
-
382
- ### 6. Environment Variable Groups
383
-
384
- Reusable groups shared across services:
385
-
386
- ```yaml
387
- envVarGroups:
388
- - name: shared-config
389
- envVars:
390
- - key: LOG_LEVEL
391
- value: info
392
- - key: ENVIRONMENT
393
- value: production
394
-
395
- services:
396
- - type: web
397
- name: web-app
398
- runtime: node
399
- envVars:
400
- - fromGroup: shared-config
401
- - key: PORT
402
- value: 10000
403
- ```
404
-
405
- ## Databases
406
-
407
- ### PostgreSQL
408
-
409
- ```yaml
410
- databases:
411
- - name: postgres
412
- databaseName: myapp_prod
413
- user: myapp_user
414
- plan: free
415
- postgresMajorVersion: "15"
416
- ipAllowList: []
417
- ```
418
-
419
- **Plans:**
420
- - `free`: 1 GB storage, 97 MB RAM, 0.1 CPU
421
- - `basic-256mb`, `basic-512mb`, `basic-1gb`, `basic-4gb`
422
- - `pro-4gb`, `pro-8gb`, `pro-16gb`, etc.
423
- - `accelerated-4gb`, `accelerated-8gb`, etc. (SSD-backed)
424
-
425
- **Key fields:**
426
- - `name`: Identifier for references
427
- - `databaseName`: Actual PostgreSQL database name
428
- - `user`: Database username
429
- - `postgresMajorVersion`: PostgreSQL version (11-16)
430
- - `ipAllowList`: Array of CIDR blocks (empty = internal only)
431
- - `diskSizeGB`: Storage size (paid plans only)
432
-
433
- **High Availability (paid plans):**
434
- ```yaml
435
- databases:
436
- - name: postgres
437
- databaseName: myapp_prod
438
- plan: pro-4gb
439
- highAvailabilityEnabled: true
440
- ```
441
-
442
- **Read Replicas (paid plans):**
443
- ```yaml
444
- databases:
445
- - name: postgres
446
- databaseName: myapp_prod
447
- plan: pro-4gb
448
- readReplicas:
449
- - name: read-replica-1
450
- region: ohio
451
- - name: read-replica-2
452
- region: frankfurt
453
- ```
454
-
455
- ### Redis (Key-Value Store)
456
-
457
- ```yaml
458
- databases:
459
- - name: redis
460
- plan: free
461
- maxmemoryPolicy: allkeys-lru
462
- ipAllowList: []
463
- ```
464
-
465
- **Plans:** Same as PostgreSQL
466
-
467
- **maxmemoryPolicy options:**
468
- - `allkeys-lru`: Evict least recently used keys
469
- - `volatile-lru`: Evict LRU keys with TTL
470
- - `allkeys-random`: Evict random keys
471
- - `volatile-random`: Evict random keys with TTL
472
- - `volatile-ttl`: Evict keys with soonest TTL
473
- - `noeviction`: Return errors when memory full
474
-
475
- ## Scaling
476
-
477
- ### Manual Scaling
478
-
479
- Fixed number of instances:
480
-
481
- ```yaml
482
- services:
483
- - type: web
484
- name: my-app
485
- runtime: node
486
- plan: standard
487
- numInstances: 3
488
- ```
489
-
490
- ### Autoscaling
491
-
492
- Dynamic scaling based on CPU/memory (Professional workspace required):
493
-
494
- ```yaml
495
- services:
496
- - type: web
497
- name: my-app
498
- runtime: node
499
- plan: standard
500
- scaling:
501
- minInstances: 1
502
- maxInstances: 5
503
- targetCPUPercent: 60
504
- targetMemoryPercent: 70
505
- ```
506
-
507
- **Notes:**
508
- - Autoscaling disabled in preview environments
509
- - Preview environments run `minInstances` count
510
- - Requires Professional or higher workspace
511
-
512
- ## Health Checks
513
-
514
- Configure health check endpoints:
515
-
516
- ```yaml
517
- services:
518
- - type: web
519
- name: my-app
520
- runtime: node
521
- healthCheckPath: /health
522
- ```
523
-
524
- **Default:** `/` (root path)
525
-
526
- **Recommended:** Add a dedicated `/health` endpoint that returns `200 OK`.
527
-
528
- ## Build Filters
529
-
530
- Control when builds are triggered based on changed files:
531
-
532
- ```yaml
533
- services:
534
- - type: web
535
- name: frontend
536
- runtime: static
537
- buildFilter:
538
- paths:
539
- - frontend/**
540
- ignoredPaths:
541
- - frontend/README.md
542
- - frontend/**/*.test.js
543
- ```
544
-
545
- **Behavior:**
546
- - If `paths` specified: Build only when files in those paths change
547
- - If `ignoredPaths` specified: Don't build when only ignored files change
548
-
549
- ## Projects and Environments
550
-
551
- Organize services into projects with multiple environments:
552
-
553
- ```yaml
554
- projects:
555
- - name: my-application
556
- environments:
557
- - name: production
558
- services:
559
- - type: web
560
- name: prod-api
561
- runtime: node
562
- plan: pro
563
- buildCommand: npm ci
564
- startCommand: npm start
565
- databases:
566
- - name: prod-postgres
567
- plan: pro-4gb
568
- networking:
569
- isolation: enabled
570
- permissions:
571
- protection: enabled
572
-
573
- - name: staging
574
- services:
575
- - type: web
576
- name: staging-api
577
- runtime: node
578
- plan: starter
579
- buildCommand: npm ci
580
- startCommand: npm start
581
- databases:
582
- - name: staging-postgres
583
- plan: free
584
- ```
585
-
586
- **Environment features:**
587
- - `networking.isolation`: Enable network isolation between environments
588
- - `permissions.protection`: Require approval for environment changes
589
-
590
- ## Preview Environments
591
-
592
- Configure automatic preview environments for pull requests:
593
-
594
- ```yaml
595
- previews:
596
- generation: auto_preview # auto_preview | manual | none
597
- ```
598
-
599
- **Options:**
600
- - `auto_preview`: Create preview environment for each PR automatically
601
- - `manual`: User manually triggers preview creation
602
- - `none`: Disable preview environments
603
-
604
- ## Complete Example
605
-
606
- Full-featured Blueprint with multiple services and databases:
607
-
608
- ```yaml
609
- services:
610
- # Web service
611
- - type: web
612
- name: web-app
613
- runtime: node
614
- plan: free
615
- region: oregon
616
- buildCommand: npm ci && npm run build
617
- startCommand: npm start
618
- branch: main
619
- autoDeploy: true
620
- healthCheckPath: /health
621
- envVars:
622
- - key: NODE_ENV
623
- value: production
624
- - key: DATABASE_URL
625
- fromDatabase:
626
- name: postgres
627
- property: connectionString
628
- - key: REDIS_URL
629
- fromDatabase:
630
- name: redis
631
- property: connectionString
632
- - key: JWT_SECRET
633
- sync: false
634
-
635
- # Background worker
636
- - type: worker
637
- name: queue-worker
638
- runtime: node
639
- plan: free
640
- buildCommand: npm ci
641
- startCommand: node worker.js
642
- envVars:
643
- - key: REDIS_URL
644
- fromDatabase:
645
- name: redis
646
- property: connectionString
647
-
648
- # Cron job
649
- - type: cron
650
- name: daily-cleanup
651
- runtime: node
652
- schedule: "0 3 * * *"
653
- buildCommand: npm ci
654
- startCommand: node scripts/cleanup.js
655
- envVars:
656
- - key: DATABASE_URL
657
- fromDatabase:
658
- name: postgres
659
- property: connectionString
660
-
661
- # Static frontend
662
- - type: web
663
- name: frontend
664
- runtime: static
665
- buildCommand: npm ci && npm run build
666
- staticPublishPath: ./dist
667
- routes:
668
- - type: rewrite
669
- source: /*
670
- destination: /index.html
671
-
672
- databases:
673
- - name: postgres
674
- databaseName: app_production
675
- user: app_user
676
- plan: free
677
- postgresMajorVersion: "15"
678
- ipAllowList: []
679
-
680
- - name: redis
681
- plan: free
682
- maxmemoryPolicy: allkeys-lru
683
- ipAllowList: []
684
- ```
685
-
686
- ## Validation
687
-
688
- Validate your Blueprint before deploying (when CLI command is available):
689
-
690
- ```bash
691
- render blueprint validate
692
- ```
693
-
694
- **Common validation errors:**
695
- - Missing required fields
696
- - Invalid runtime values
697
- - Incorrect environment variable references
698
- - Invalid cron expressions
699
- - Invalid YAML syntax
700
-
701
- ## Best Practices
702
-
703
- 1. **Always use `plan: free` by default** - Let users upgrade if needed
704
- 2. **Mark all secrets with `sync: false`** - Never hardcode sensitive values
705
- 3. **Use `fromDatabase` for database URLs** - Automatic internal connection strings
706
- 4. **Add health check endpoints** - Faster deployment detection
707
- 5. **Use non-interactive build commands** - Prevents build hangs
708
- 6. **Bind to `0.0.0.0:$PORT`** - Required for web services
709
- 7. **Use environment variable groups** - Share config across services
710
- 8. **Enable autoDeploy: true** - Deploy automatically on push
711
- 9. **Set appropriate regions** - Choose closest to your users
712
- 10. **Use build filters** - Optimize build triggers in monorepos
713
-
714
- ## Additional Resources
715
-
716
- - Official Blueprint Specification: https://render.com/docs/blueprint-spec
717
- - Render CLI Documentation: https://render.com/docs/cli
718
- - Environment Variables Guide: https://render.com/docs/environment-variables
1
+ # Render Blueprint Specification
2
+
3
+ Complete reference for render.yaml Blueprint files. Blueprints define your infrastructure as code for reproducible deployments on Render.
4
+
5
+ ## Overview
6
+
7
+ A Blueprint is a YAML file (typically `render.yaml`) placed in your repository root that describes:
8
+ - Services (web, worker, cron, static, private)
9
+ - Databases (PostgreSQL, Redis)
10
+ - Environment variables and secrets
11
+ - Scaling and resource configuration
12
+ - Project organization
13
+
14
+ ## Root-Level Structure
15
+
16
+ ```yaml
17
+ # Top-level fields
18
+ services: [] # Array of service definitions
19
+ databases: [] # Array of PostgreSQL databases
20
+ envVarGroups: [] # Reusable environment variable groups (optional)
21
+ projects: [] # Project organization (optional)
22
+ ungrouped: [] # Resources outside projects (optional)
23
+ previews: # Preview environment configuration (optional)
24
+ generation: auto_preview | manual | none
25
+ ```
26
+
27
+ ## Service Types
28
+
29
+ ### Web Services (`type: web`)
30
+
31
+ HTTP services, APIs, and web applications. Publicly accessible via HTTPS.
32
+
33
+ **Required fields:**
34
+ - `name`: Unique service identifier
35
+ - `type`: Must be `web`
36
+ - `runtime`: Language/environment (see Runtimes section)
37
+ - `buildCommand`: Command to build the application
38
+ - `startCommand`: Command to start the server
39
+
40
+ **Common optional fields:**
41
+ - `plan`: Instance type (default: `free`)
42
+ - `region`: Deployment region (default: `oregon`)
43
+ - `branch`: Git branch to deploy (default: `main`)
44
+ - `autoDeploy`: Auto-deploy on push (default: `true`)
45
+ - `envVars`: Environment variables array
46
+ - `healthCheckPath`: Health check endpoint (default: `/`)
47
+ - `numInstances`: Number of instances (manual scaling)
48
+ - `scaling`: Autoscaling configuration
49
+
50
+ **Example:**
51
+ ```yaml
52
+ services:
53
+ - type: web
54
+ name: api-server
55
+ runtime: node
56
+ plan: free
57
+ buildCommand: npm ci
58
+ startCommand: npm start
59
+ branch: main
60
+ autoDeploy: true
61
+ envVars:
62
+ - key: NODE_ENV
63
+ value: production
64
+ - key: PORT
65
+ value: 10000
66
+ ```
67
+
68
+ ### Worker Services (`type: worker`)
69
+
70
+ Background job processors, queue consumers. Not publicly accessible.
71
+
72
+ **Required fields:**
73
+ - `name`: Unique service identifier
74
+ - `type`: Must be `worker`
75
+ - `runtime`: Language/environment
76
+ - `buildCommand`: Command to build
77
+ - `startCommand`: Command to start worker process
78
+
79
+ **Key differences from web services:**
80
+ - No public URL
81
+ - No health checks
82
+ - No port binding required
83
+
84
+ **Example:**
85
+ ```yaml
86
+ services:
87
+ - type: worker
88
+ name: job-processor
89
+ runtime: python
90
+ plan: free
91
+ buildCommand: pip install -r requirements.txt
92
+ startCommand: celery -A tasks worker --loglevel=info
93
+ envVars:
94
+ - key: REDIS_URL
95
+ fromDatabase:
96
+ name: redis
97
+ property: connectionString
98
+ ```
99
+
100
+ ### Cron Jobs (`type: cron`)
101
+
102
+ Scheduled tasks that run on a cron schedule.
103
+
104
+ **Required fields:**
105
+ - `name`: Unique service identifier
106
+ - `type`: Must be `cron`
107
+ - `runtime`: Language/environment
108
+ - `schedule`: Cron expression
109
+ - `buildCommand`: Command to build
110
+ - `startCommand`: Command to execute on schedule
111
+
112
+ **Schedule format:** Standard cron syntax (minute hour day month weekday)
113
+
114
+ **Examples:**
115
+ - `0 0 * * *` - Daily at midnight UTC
116
+ - `*/15 * * * *` - Every 15 minutes
117
+ - `0 9 * * 1` - Every Monday at 9 AM UTC
118
+
119
+ **Example:**
120
+ ```yaml
121
+ services:
122
+ - type: cron
123
+ name: daily-backup
124
+ runtime: node
125
+ schedule: "0 2 * * *"
126
+ buildCommand: npm ci
127
+ startCommand: node scripts/backup.js
128
+ envVars:
129
+ - key: DATABASE_URL
130
+ fromDatabase:
131
+ name: postgres
132
+ property: connectionString
133
+ ```
134
+
135
+ ### Static Sites (`type: static` or `type: web` with `runtime: static`)
136
+
137
+ Serve static HTML/CSS/JS files via CDN.
138
+
139
+ **Required fields:**
140
+ - `name`: Unique service identifier
141
+ - `type`: `web`
142
+ - `runtime`: `static`
143
+ - `buildCommand`: Command to build static assets
144
+ - `staticPublishPath`: Path to built files (e.g., `./build`, `./dist`)
145
+
146
+ **Optional configuration:**
147
+ - `routes`: Routing rules for SPAs
148
+ - `headers`: Custom HTTP headers
149
+ - `buildFilter`: Path filters for build triggers
150
+
151
+ **Example:**
152
+ ```yaml
153
+ services:
154
+ - type: web
155
+ name: react-app
156
+ runtime: static
157
+ buildCommand: npm ci && npm run build
158
+ staticPublishPath: ./dist
159
+ routes:
160
+ - type: rewrite
161
+ source: /*
162
+ destination: /index.html
163
+ headers:
164
+ - path: /*
165
+ name: Cache-Control
166
+ value: public, max-age=31536000, immutable
167
+ ```
168
+
169
+ ### Private Services (`type: pserv`)
170
+
171
+ Internal services accessible only within your Render account.
172
+
173
+ **Required fields:**
174
+ - `name`: Unique service identifier
175
+ - `type`: Must be `pserv`
176
+ - `runtime`: Language/environment
177
+ - `buildCommand`: Command to build
178
+ - `startCommand`: Command to start
179
+
180
+ **Use cases:**
181
+ - Internal APIs
182
+ - Database proxies
183
+ - Microservices not exposed to internet
184
+
185
+ **Example:**
186
+ ```yaml
187
+ services:
188
+ - type: pserv
189
+ name: internal-api
190
+ runtime: go
191
+ plan: free
192
+ buildCommand: go build -o bin/app
193
+ startCommand: ./bin/app
194
+ ```
195
+
196
+ ## Runtimes
197
+
198
+ ### Native Runtimes
199
+
200
+ **Node.js (`runtime: node`):**
201
+ - Versions: 14, 16, 18, 20, 21
202
+ - Default version: 20
203
+ - Specify version in `package.json` engines field
204
+
205
+ **Python (`runtime: python`):**
206
+ - Versions: 3.8, 3.9, 3.10, 3.11, 3.12
207
+ - Default version: 3.11
208
+ - Specify version in `runtime.txt` or `Pipfile`
209
+
210
+ **Go (`runtime: go`):**
211
+ - Versions: 1.20, 1.21, 1.22, 1.23
212
+ - Uses go modules
213
+ - Version from `go.mod`
214
+
215
+ **Ruby (`runtime: ruby`):**
216
+ - Versions: 3.0, 3.1, 3.2, 3.3
217
+ - Uses Bundler
218
+ - Version from `.ruby-version` or `Gemfile`
219
+
220
+ **Rust (`runtime: rust`):**
221
+ - Latest stable version
222
+ - Uses Cargo
223
+
224
+ **Elixir (`runtime: elixir`):**
225
+ - Latest stable version
226
+ - Uses Mix
227
+
228
+ ### Docker Runtime
229
+
230
+ **Docker (`runtime: docker`):**
231
+ Build from a Dockerfile in your repository.
232
+
233
+ **Additional fields:**
234
+ - `dockerfilePath`: Path to Dockerfile (default: `./Dockerfile`)
235
+ - `dockerContext`: Build context directory (default: `.`)
236
+
237
+ **Example:**
238
+ ```yaml
239
+ services:
240
+ - type: web
241
+ name: docker-app
242
+ runtime: docker
243
+ dockerfilePath: ./docker/Dockerfile
244
+ dockerContext: .
245
+ plan: free
246
+ ```
247
+
248
+ **Image (`runtime: image`):**
249
+ Deploy pre-built Docker images from a registry.
250
+
251
+ **Additional fields:**
252
+ - `image`: Image URL (e.g., `registry.com/image:tag`)
253
+ - `registryCredential`: Credentials for private registries
254
+
255
+ **Example:**
256
+ ```yaml
257
+ services:
258
+ - type: web
259
+ name: prebuilt-app
260
+ runtime: image
261
+ image: myregistry.com/app:v1.2.3
262
+ plan: free
263
+ ```
264
+
265
+ ## Service Plans
266
+
267
+ Available instance types:
268
+
269
+ | Plan | RAM | CPU | Price |
270
+ |------|-----|-----|-------|
271
+ | `free` | 512 MB | 0.5 | Free (750 hrs/mo) |
272
+ | `starter` | 512 MB | 0.5 | $7/month |
273
+ | `standard` | 2 GB | 1 | $25/month |
274
+ | `pro` | 4 GB | 2 | $85/month |
275
+ | `pro_plus` | 8 GB | 4 | $175/month |
276
+
277
+ **Always default to `plan: free` unless user specifies otherwise.**
278
+
279
+ ## Regions
280
+
281
+ Available deployment regions:
282
+
283
+ - `oregon` (US West) - Default
284
+ - `ohio` (US East)
285
+ - `virginia` (US East)
286
+ - `frankfurt` (EU)
287
+ - `singapore` (Asia)
288
+
289
+ **Example:**
290
+ ```yaml
291
+ services:
292
+ - type: web
293
+ name: my-app
294
+ runtime: node
295
+ region: frankfurt
296
+ ```
297
+
298
+ ## Environment Variables
299
+
300
+ Three patterns for defining environment variables:
301
+
302
+ ### 1. Hardcoded Values
303
+
304
+ For non-sensitive configuration:
305
+
306
+ ```yaml
307
+ envVars:
308
+ - key: NODE_ENV
309
+ value: production
310
+ - key: API_URL
311
+ value: https://api.example.com
312
+ - key: LOG_LEVEL
313
+ value: info
314
+ ```
315
+
316
+ ### 2. Generated Secrets
317
+
318
+ Render generates a base64-encoded 256-bit random value:
319
+
320
+ ```yaml
321
+ envVars:
322
+ - key: SESSION_SECRET
323
+ generateValue: true
324
+ - key: ENCRYPTION_KEY
325
+ generateValue: true
326
+ ```
327
+
328
+ ### 3. User-Provided Secrets
329
+
330
+ Prompt user for values during Blueprint creation:
331
+
332
+ ```yaml
333
+ envVars:
334
+ - key: STRIPE_SECRET_KEY
335
+ sync: false
336
+ - key: JWT_SECRET
337
+ sync: false
338
+ - key: API_KEY
339
+ sync: false
340
+ ```
341
+
342
+ **The `sync: false` flag means "user will fill this in the Dashboard".**
343
+
344
+ ### 4. Database References
345
+
346
+ Link to database connection strings:
347
+
348
+ ```yaml
349
+ envVars:
350
+ - key: DATABASE_URL
351
+ fromDatabase:
352
+ name: postgres
353
+ property: connectionString
354
+ - key: REDIS_URL
355
+ fromDatabase:
356
+ name: redis
357
+ property: connectionString
358
+ ```
359
+
360
+ **Available properties:**
361
+ - `connectionString`: Full connection URL
362
+ - `host`: Database host
363
+ - `port`: Database port
364
+ - `user`: Database username
365
+ - `password`: Database password
366
+ - `database`: Database name
367
+ - `hostport`: Combined `host:port`
368
+
369
+ ### 5. Service References
370
+
371
+ Link to other services:
372
+
373
+ ```yaml
374
+ envVars:
375
+ - key: API_URL
376
+ fromService:
377
+ name: api-server
378
+ type: web
379
+ property: host
380
+ ```
381
+
382
+ ### 6. Environment Variable Groups
383
+
384
+ Reusable groups shared across services:
385
+
386
+ ```yaml
387
+ envVarGroups:
388
+ - name: shared-config
389
+ envVars:
390
+ - key: LOG_LEVEL
391
+ value: info
392
+ - key: ENVIRONMENT
393
+ value: production
394
+
395
+ services:
396
+ - type: web
397
+ name: web-app
398
+ runtime: node
399
+ envVars:
400
+ - fromGroup: shared-config
401
+ - key: PORT
402
+ value: 10000
403
+ ```
404
+
405
+ ## Databases
406
+
407
+ ### PostgreSQL
408
+
409
+ ```yaml
410
+ databases:
411
+ - name: postgres
412
+ databaseName: myapp_prod
413
+ user: myapp_user
414
+ plan: free
415
+ postgresMajorVersion: "15"
416
+ ipAllowList: []
417
+ ```
418
+
419
+ **Plans:**
420
+ - `free`: 1 GB storage, 97 MB RAM, 0.1 CPU
421
+ - `basic-256mb`, `basic-512mb`, `basic-1gb`, `basic-4gb`
422
+ - `pro-4gb`, `pro-8gb`, `pro-16gb`, etc.
423
+ - `accelerated-4gb`, `accelerated-8gb`, etc. (SSD-backed)
424
+
425
+ **Key fields:**
426
+ - `name`: Identifier for references
427
+ - `databaseName`: Actual PostgreSQL database name
428
+ - `user`: Database username
429
+ - `postgresMajorVersion`: PostgreSQL version (11-16)
430
+ - `ipAllowList`: Array of CIDR blocks (empty = internal only)
431
+ - `diskSizeGB`: Storage size (paid plans only)
432
+
433
+ **High Availability (paid plans):**
434
+ ```yaml
435
+ databases:
436
+ - name: postgres
437
+ databaseName: myapp_prod
438
+ plan: pro-4gb
439
+ highAvailabilityEnabled: true
440
+ ```
441
+
442
+ **Read Replicas (paid plans):**
443
+ ```yaml
444
+ databases:
445
+ - name: postgres
446
+ databaseName: myapp_prod
447
+ plan: pro-4gb
448
+ readReplicas:
449
+ - name: read-replica-1
450
+ region: ohio
451
+ - name: read-replica-2
452
+ region: frankfurt
453
+ ```
454
+
455
+ ### Redis (Key-Value Store)
456
+
457
+ ```yaml
458
+ databases:
459
+ - name: redis
460
+ plan: free
461
+ maxmemoryPolicy: allkeys-lru
462
+ ipAllowList: []
463
+ ```
464
+
465
+ **Plans:** Same as PostgreSQL
466
+
467
+ **maxmemoryPolicy options:**
468
+ - `allkeys-lru`: Evict least recently used keys
469
+ - `volatile-lru`: Evict LRU keys with TTL
470
+ - `allkeys-random`: Evict random keys
471
+ - `volatile-random`: Evict random keys with TTL
472
+ - `volatile-ttl`: Evict keys with soonest TTL
473
+ - `noeviction`: Return errors when memory full
474
+
475
+ ## Scaling
476
+
477
+ ### Manual Scaling
478
+
479
+ Fixed number of instances:
480
+
481
+ ```yaml
482
+ services:
483
+ - type: web
484
+ name: my-app
485
+ runtime: node
486
+ plan: standard
487
+ numInstances: 3
488
+ ```
489
+
490
+ ### Autoscaling
491
+
492
+ Dynamic scaling based on CPU/memory (Professional workspace required):
493
+
494
+ ```yaml
495
+ services:
496
+ - type: web
497
+ name: my-app
498
+ runtime: node
499
+ plan: standard
500
+ scaling:
501
+ minInstances: 1
502
+ maxInstances: 5
503
+ targetCPUPercent: 60
504
+ targetMemoryPercent: 70
505
+ ```
506
+
507
+ **Notes:**
508
+ - Autoscaling disabled in preview environments
509
+ - Preview environments run `minInstances` count
510
+ - Requires Professional or higher workspace
511
+
512
+ ## Health Checks
513
+
514
+ Configure health check endpoints:
515
+
516
+ ```yaml
517
+ services:
518
+ - type: web
519
+ name: my-app
520
+ runtime: node
521
+ healthCheckPath: /health
522
+ ```
523
+
524
+ **Default:** `/` (root path)
525
+
526
+ **Recommended:** Add a dedicated `/health` endpoint that returns `200 OK`.
527
+
528
+ ## Build Filters
529
+
530
+ Control when builds are triggered based on changed files:
531
+
532
+ ```yaml
533
+ services:
534
+ - type: web
535
+ name: frontend
536
+ runtime: static
537
+ buildFilter:
538
+ paths:
539
+ - frontend/**
540
+ ignoredPaths:
541
+ - frontend/README.md
542
+ - frontend/**/*.test.js
543
+ ```
544
+
545
+ **Behavior:**
546
+ - If `paths` specified: Build only when files in those paths change
547
+ - If `ignoredPaths` specified: Don't build when only ignored files change
548
+
549
+ ## Projects and Environments
550
+
551
+ Organize services into projects with multiple environments:
552
+
553
+ ```yaml
554
+ projects:
555
+ - name: my-application
556
+ environments:
557
+ - name: production
558
+ services:
559
+ - type: web
560
+ name: prod-api
561
+ runtime: node
562
+ plan: pro
563
+ buildCommand: npm ci
564
+ startCommand: npm start
565
+ databases:
566
+ - name: prod-postgres
567
+ plan: pro-4gb
568
+ networking:
569
+ isolation: enabled
570
+ permissions:
571
+ protection: enabled
572
+
573
+ - name: staging
574
+ services:
575
+ - type: web
576
+ name: staging-api
577
+ runtime: node
578
+ plan: starter
579
+ buildCommand: npm ci
580
+ startCommand: npm start
581
+ databases:
582
+ - name: staging-postgres
583
+ plan: free
584
+ ```
585
+
586
+ **Environment features:**
587
+ - `networking.isolation`: Enable network isolation between environments
588
+ - `permissions.protection`: Require approval for environment changes
589
+
590
+ ## Preview Environments
591
+
592
+ Configure automatic preview environments for pull requests:
593
+
594
+ ```yaml
595
+ previews:
596
+ generation: auto_preview # auto_preview | manual | none
597
+ ```
598
+
599
+ **Options:**
600
+ - `auto_preview`: Create preview environment for each PR automatically
601
+ - `manual`: User manually triggers preview creation
602
+ - `none`: Disable preview environments
603
+
604
+ ## Complete Example
605
+
606
+ Full-featured Blueprint with multiple services and databases:
607
+
608
+ ```yaml
609
+ services:
610
+ # Web service
611
+ - type: web
612
+ name: web-app
613
+ runtime: node
614
+ plan: free
615
+ region: oregon
616
+ buildCommand: npm ci && npm run build
617
+ startCommand: npm start
618
+ branch: main
619
+ autoDeploy: true
620
+ healthCheckPath: /health
621
+ envVars:
622
+ - key: NODE_ENV
623
+ value: production
624
+ - key: DATABASE_URL
625
+ fromDatabase:
626
+ name: postgres
627
+ property: connectionString
628
+ - key: REDIS_URL
629
+ fromDatabase:
630
+ name: redis
631
+ property: connectionString
632
+ - key: JWT_SECRET
633
+ sync: false
634
+
635
+ # Background worker
636
+ - type: worker
637
+ name: queue-worker
638
+ runtime: node
639
+ plan: free
640
+ buildCommand: npm ci
641
+ startCommand: node worker.js
642
+ envVars:
643
+ - key: REDIS_URL
644
+ fromDatabase:
645
+ name: redis
646
+ property: connectionString
647
+
648
+ # Cron job
649
+ - type: cron
650
+ name: daily-cleanup
651
+ runtime: node
652
+ schedule: "0 3 * * *"
653
+ buildCommand: npm ci
654
+ startCommand: node scripts/cleanup.js
655
+ envVars:
656
+ - key: DATABASE_URL
657
+ fromDatabase:
658
+ name: postgres
659
+ property: connectionString
660
+
661
+ # Static frontend
662
+ - type: web
663
+ name: frontend
664
+ runtime: static
665
+ buildCommand: npm ci && npm run build
666
+ staticPublishPath: ./dist
667
+ routes:
668
+ - type: rewrite
669
+ source: /*
670
+ destination: /index.html
671
+
672
+ databases:
673
+ - name: postgres
674
+ databaseName: app_production
675
+ user: app_user
676
+ plan: free
677
+ postgresMajorVersion: "15"
678
+ ipAllowList: []
679
+
680
+ - name: redis
681
+ plan: free
682
+ maxmemoryPolicy: allkeys-lru
683
+ ipAllowList: []
684
+ ```
685
+
686
+ ## Validation
687
+
688
+ Validate your Blueprint before deploying (when CLI command is available):
689
+
690
+ ```bash
691
+ render blueprint validate
692
+ ```
693
+
694
+ **Common validation errors:**
695
+ - Missing required fields
696
+ - Invalid runtime values
697
+ - Incorrect environment variable references
698
+ - Invalid cron expressions
699
+ - Invalid YAML syntax
700
+
701
+ ## Best Practices
702
+
703
+ 1. **Always use `plan: free` by default** - Let users upgrade if needed
704
+ 2. **Mark all secrets with `sync: false`** - Never hardcode sensitive values
705
+ 3. **Use `fromDatabase` for database URLs** - Automatic internal connection strings
706
+ 4. **Add health check endpoints** - Faster deployment detection
707
+ 5. **Use non-interactive build commands** - Prevents build hangs
708
+ 6. **Bind to `0.0.0.0:$PORT`** - Required for web services
709
+ 7. **Use environment variable groups** - Share config across services
710
+ 8. **Enable autoDeploy: true** - Deploy automatically on push
711
+ 9. **Set appropriate regions** - Choose closest to your users
712
+ 10. **Use build filters** - Optimize build triggers in monorepos
713
+
714
+ ## Additional Resources
715
+
716
+ - Official Blueprint Specification: https://render.com/docs/blueprint-spec
717
+ - Render CLI Documentation: https://render.com/docs/cli
718
+ - Environment Variables Guide: https://render.com/docs/environment-variables