codexkit 1.0.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 (655) hide show
  1. package/.codex/.env.example +27 -0
  2. package/.codex/.template-manifest.json +631 -0
  3. package/.codex/.version +1 -0
  4. package/.codex/agents/builder.toml +104 -0
  5. package/.codex/agents/debugger.toml +67 -0
  6. package/.codex/agents/general.toml +41 -0
  7. package/.codex/agents/painter.toml +40 -0
  8. package/.codex/agents/planner.toml +60 -0
  9. package/.codex/agents/refactorer.toml +76 -0
  10. package/.codex/agents/reviewer.toml +60 -0
  11. package/.codex/agents/runner.toml +40 -0
  12. package/.codex/agents/scout.toml +133 -0
  13. package/.codex/agents/shipper.toml +69 -0
  14. package/.codex/agents/vision.toml +69 -0
  15. package/.codex/config.toml +146 -0
  16. package/.codex/context/architecture.md +66 -0
  17. package/.codex/context/conventions.md +98 -0
  18. package/.codex/context/current-priorities.md +33 -0
  19. package/.codex/context/decision-log.md +93 -0
  20. package/.codex/context/gotchas.md +42 -0
  21. package/.codex/context/index.md +21 -0
  22. package/.codex/context/session-context.md +11 -0
  23. package/.codex/context/worklog.md +9 -0
  24. package/.codex/hooks/README.md +17 -0
  25. package/.codex/hooks/after_agent.sh +11 -0
  26. package/.codex/hooks/after_tool_use.sh +10 -0
  27. package/.codex/hooks/post_commit.sh +10 -0
  28. package/.codex/hooks/pre_commit.sh +6 -0
  29. package/.codex/hooks/session_start.sh +18 -0
  30. package/.codex/hooks/stop.sh +10 -0
  31. package/.codex/mcp/README.md +143 -0
  32. package/.codex/mcp/basic-memory.toml.example +10 -0
  33. package/.codex/mcp/context7.toml.example +13 -0
  34. package/.codex/mcp/exa.toml.example +12 -0
  35. package/.codex/mcp/memory-bridge.toml.example +15 -0
  36. package/.codex/mcp/memory.toml.example +6 -0
  37. package/.codex/mcp/ref.toml.example +13 -0
  38. package/.codex/mcp/tilth.toml.example +10 -0
  39. package/.codex/memory/README.md +29 -0
  40. package/.codex/memory/_templates/README.md +26 -0
  41. package/.codex/memory/_templates/design.md +15 -0
  42. package/.codex/memory/_templates/gotcha.md +9 -0
  43. package/.codex/memory/_templates/handoff.md +9 -0
  44. package/.codex/memory/_templates/prd.md +13 -0
  45. package/.codex/memory/_templates/project.md +9 -0
  46. package/.codex/memory/_templates/proposal.md +13 -0
  47. package/.codex/memory/_templates/research.md +9 -0
  48. package/.codex/memory/_templates/roadmap.md +11 -0
  49. package/.codex/memory/_templates/session-context.md +7 -0
  50. package/.codex/memory/_templates/state.md +11 -0
  51. package/.codex/memory/_templates/tasks.md +9 -0
  52. package/.codex/memory/_templates/tech-stack.md +9 -0
  53. package/.codex/memory/_templates/user.md +7 -0
  54. package/.codex/memory/project/gotchas.md +5 -0
  55. package/.codex/memory/project/project.md +12 -0
  56. package/.codex/memory/project/roadmap.md +15 -0
  57. package/.codex/memory/project/state.md +22 -0
  58. package/.codex/memory/project/tech-stack.md +19 -0
  59. package/.codex/memory/project/user.md +10 -0
  60. package/.codex/memory/research/.gitkeep +1 -0
  61. package/.codex/memory/session-context.md +18 -0
  62. package/.codex/plans/README.md +7 -0
  63. package/.codex/prompts/compound.md +154 -0
  64. package/.codex/prompts/create.md +238 -0
  65. package/.codex/prompts/design.md +90 -0
  66. package/.codex/prompts/handoff.md +184 -0
  67. package/.codex/prompts/init-context.md +185 -0
  68. package/.codex/prompts/init-user.md +93 -0
  69. package/.codex/prompts/init.md +103 -0
  70. package/.codex/prompts/lfg.md +140 -0
  71. package/.codex/prompts/plan.md +140 -0
  72. package/.codex/prompts/pr.md +150 -0
  73. package/.codex/prompts/research.md +137 -0
  74. package/.codex/prompts/resume.md +105 -0
  75. package/.codex/prompts/review-codebase.md +147 -0
  76. package/.codex/prompts/ship.md +334 -0
  77. package/.codex/prompts/start.md +141 -0
  78. package/.codex/prompts/status.md +102 -0
  79. package/.codex/prompts/ui-inspire.md +151 -0
  80. package/.codex/prompts/ui-review.md +86 -0
  81. package/.codex/prompts/verify.md +181 -0
  82. package/.codex/scripts/append_worklog.sh +20 -0
  83. package/.codex/scripts/apply_worklog_archive.sh +48 -0
  84. package/.codex/scripts/audit_memory_hygiene.sh +102 -0
  85. package/.codex/scripts/build_memory_index.sh +167 -0
  86. package/.codex/scripts/build_prior_related_work.sh +127 -0
  87. package/.codex/scripts/build_startup_brief.sh +52 -0
  88. package/.codex/scripts/close_bead.sh +103 -0
  89. package/.codex/scripts/detect_changed_files.sh +38 -0
  90. package/.codex/scripts/ensure_beads.sh +14 -0
  91. package/.codex/scripts/memory_search.sh +292 -0
  92. package/.codex/scripts/prepare_worklog_archive.sh +115 -0
  93. package/.codex/scripts/search_bead_context.sh +214 -0
  94. package/.codex/scripts/start_bead.sh +129 -0
  95. package/.codex/scripts/sync_bead_context.sh +288 -0
  96. package/.codex/scripts/validate_memory_docs.sh +44 -0
  97. package/.codex/scripts/verify_bead.sh +154 -0
  98. package/.codex/skills/accessibility-audit/SKILL.md +191 -0
  99. package/.codex/skills/agent-browser/SKILL.md +413 -0
  100. package/.codex/skills/agent-teams/SKILL.md +268 -0
  101. package/.codex/skills/augment-context-engine/SKILL.md +115 -0
  102. package/.codex/skills/augment-context-engine/mcp.json +6 -0
  103. package/.codex/skills/beads/SKILL.md +181 -0
  104. package/.codex/skills/beads/references/BEST_PRACTICES.md +27 -0
  105. package/.codex/skills/beads/references/BOUNDARIES.md +219 -0
  106. package/.codex/skills/beads/references/DEPENDENCIES.md +124 -0
  107. package/.codex/skills/beads/references/EXAMPLES.md +45 -0
  108. package/.codex/skills/beads/references/FILE_CLAIMING.md +101 -0
  109. package/.codex/skills/beads/references/GIT_SYNC.md +25 -0
  110. package/.codex/skills/beads/references/HIERARCHY.md +71 -0
  111. package/.codex/skills/beads/references/MULTI_AGENT.md +40 -0
  112. package/.codex/skills/beads/references/RESUMABILITY.md +177 -0
  113. package/.codex/skills/beads/references/SESSION_PROTOCOL.md +61 -0
  114. package/.codex/skills/beads/references/TASK_CREATION.md +38 -0
  115. package/.codex/skills/beads/references/TROUBLESHOOTING.md +38 -0
  116. package/.codex/skills/beads/references/WORKFLOWS.md +226 -0
  117. package/.codex/skills/beads-bridge/SKILL.md +321 -0
  118. package/.codex/skills/brainstorming/SKILL.md +114 -0
  119. package/.codex/skills/bug-triage/SKILL.md +191 -0
  120. package/.codex/skills/chrome-devtools/SKILL.md +76 -0
  121. package/.codex/skills/chrome-devtools/mcp.json +19 -0
  122. package/.codex/skills/cloudflare/SKILL.md +253 -0
  123. package/.codex/skills/cloudflare/references/agents-sdk/README.md +35 -0
  124. package/.codex/skills/cloudflare/references/agents-sdk/api.md +100 -0
  125. package/.codex/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
  126. package/.codex/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
  127. package/.codex/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
  128. package/.codex/skills/cloudflare/references/ai-gateway/README.md +695 -0
  129. package/.codex/skills/cloudflare/references/ai-search/README.md +14 -0
  130. package/.codex/skills/cloudflare/references/ai-search/api.md +38 -0
  131. package/.codex/skills/cloudflare/references/ai-search/configuration.md +52 -0
  132. package/.codex/skills/cloudflare/references/ai-search/gotchas.md +41 -0
  133. package/.codex/skills/cloudflare/references/ai-search/patterns.md +45 -0
  134. package/.codex/skills/cloudflare/references/analytics-engine/README.md +14 -0
  135. package/.codex/skills/cloudflare/references/analytics-engine/api.md +27 -0
  136. package/.codex/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
  137. package/.codex/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
  138. package/.codex/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
  139. package/.codex/skills/cloudflare/references/api/README.md +21 -0
  140. package/.codex/skills/cloudflare/references/api/api.md +31 -0
  141. package/.codex/skills/cloudflare/references/api/configuration.md +20 -0
  142. package/.codex/skills/cloudflare/references/api/gotchas.md +28 -0
  143. package/.codex/skills/cloudflare/references/api/patterns.md +47 -0
  144. package/.codex/skills/cloudflare/references/api-shield/README.md +20 -0
  145. package/.codex/skills/cloudflare/references/api-shield/api.md +78 -0
  146. package/.codex/skills/cloudflare/references/api-shield/configuration.md +128 -0
  147. package/.codex/skills/cloudflare/references/api-shield/gotchas.md +51 -0
  148. package/.codex/skills/cloudflare/references/api-shield/patterns.md +145 -0
  149. package/.codex/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
  150. package/.codex/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
  151. package/.codex/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  152. package/.codex/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  153. package/.codex/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  154. package/.codex/skills/cloudflare/references/bindings/README.md +14 -0
  155. package/.codex/skills/cloudflare/references/bindings/api.md +3 -0
  156. package/.codex/skills/cloudflare/references/bindings/configuration.md +58 -0
  157. package/.codex/skills/cloudflare/references/bindings/gotchas.md +35 -0
  158. package/.codex/skills/cloudflare/references/bindings/patterns.md +37 -0
  159. package/.codex/skills/cloudflare/references/bot-management/README.md +71 -0
  160. package/.codex/skills/cloudflare/references/bot-management/api.md +168 -0
  161. package/.codex/skills/cloudflare/references/bot-management/configuration.md +114 -0
  162. package/.codex/skills/cloudflare/references/bot-management/gotchas.md +99 -0
  163. package/.codex/skills/cloudflare/references/bot-management/patterns.md +125 -0
  164. package/.codex/skills/cloudflare/references/browser-rendering/README.md +16 -0
  165. package/.codex/skills/cloudflare/references/browser-rendering/api.md +54 -0
  166. package/.codex/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
  167. package/.codex/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
  168. package/.codex/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
  169. package/.codex/skills/cloudflare/references/c3/README.md +264 -0
  170. package/.codex/skills/cloudflare/references/cache-reserve/README.md +93 -0
  171. package/.codex/skills/cloudflare/references/cache-reserve/api.md +176 -0
  172. package/.codex/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
  173. package/.codex/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
  174. package/.codex/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
  175. package/.codex/skills/cloudflare/references/containers/README.md +16 -0
  176. package/.codex/skills/cloudflare/references/containers/api.md +43 -0
  177. package/.codex/skills/cloudflare/references/containers/configuration.md +56 -0
  178. package/.codex/skills/cloudflare/references/containers/gotchas.md +21 -0
  179. package/.codex/skills/cloudflare/references/containers/patterns.md +40 -0
  180. package/.codex/skills/cloudflare/references/cron-triggers/README.md +85 -0
  181. package/.codex/skills/cloudflare/references/cron-triggers/api.md +198 -0
  182. package/.codex/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
  183. package/.codex/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
  184. package/.codex/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
  185. package/.codex/skills/cloudflare/references/d1/README.md +92 -0
  186. package/.codex/skills/cloudflare/references/d1/api.md +141 -0
  187. package/.codex/skills/cloudflare/references/d1/configuration.md +127 -0
  188. package/.codex/skills/cloudflare/references/d1/gotchas.md +70 -0
  189. package/.codex/skills/cloudflare/references/d1/patterns.md +144 -0
  190. package/.codex/skills/cloudflare/references/ddos/README.md +34 -0
  191. package/.codex/skills/cloudflare/references/ddos/api.md +136 -0
  192. package/.codex/skills/cloudflare/references/ddos/configuration.md +67 -0
  193. package/.codex/skills/cloudflare/references/ddos/gotchas.md +114 -0
  194. package/.codex/skills/cloudflare/references/ddos/patterns.md +158 -0
  195. package/.codex/skills/cloudflare/references/do-storage/README.md +62 -0
  196. package/.codex/skills/cloudflare/references/do-storage/api.md +89 -0
  197. package/.codex/skills/cloudflare/references/do-storage/configuration.md +116 -0
  198. package/.codex/skills/cloudflare/references/do-storage/gotchas.md +93 -0
  199. package/.codex/skills/cloudflare/references/do-storage/patterns.md +112 -0
  200. package/.codex/skills/cloudflare/references/durable-objects/README.md +125 -0
  201. package/.codex/skills/cloudflare/references/durable-objects/api.md +152 -0
  202. package/.codex/skills/cloudflare/references/durable-objects/configuration.md +148 -0
  203. package/.codex/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
  204. package/.codex/skills/cloudflare/references/durable-objects/patterns.md +255 -0
  205. package/.codex/skills/cloudflare/references/email-routing/README.md +18 -0
  206. package/.codex/skills/cloudflare/references/email-routing/api.md +46 -0
  207. package/.codex/skills/cloudflare/references/email-routing/configuration.md +63 -0
  208. package/.codex/skills/cloudflare/references/email-routing/gotchas.md +16 -0
  209. package/.codex/skills/cloudflare/references/email-routing/patterns.md +46 -0
  210. package/.codex/skills/cloudflare/references/email-workers/README.md +598 -0
  211. package/.codex/skills/cloudflare/references/hyperdrive/README.md +62 -0
  212. package/.codex/skills/cloudflare/references/hyperdrive/api.md +137 -0
  213. package/.codex/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
  214. package/.codex/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
  215. package/.codex/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
  216. package/.codex/skills/cloudflare/references/images/README.md +14 -0
  217. package/.codex/skills/cloudflare/references/images/api.md +3 -0
  218. package/.codex/skills/cloudflare/references/images/configuration.md +45 -0
  219. package/.codex/skills/cloudflare/references/images/gotchas.md +23 -0
  220. package/.codex/skills/cloudflare/references/images/patterns.md +31 -0
  221. package/.codex/skills/cloudflare/references/kv/README.md +60 -0
  222. package/.codex/skills/cloudflare/references/kv/api.md +114 -0
  223. package/.codex/skills/cloudflare/references/kv/configuration.md +92 -0
  224. package/.codex/skills/cloudflare/references/kv/gotchas.md +117 -0
  225. package/.codex/skills/cloudflare/references/kv/patterns.md +139 -0
  226. package/.codex/skills/cloudflare/references/miniflare/README.md +64 -0
  227. package/.codex/skills/cloudflare/references/miniflare/api.md +144 -0
  228. package/.codex/skills/cloudflare/references/miniflare/configuration.md +203 -0
  229. package/.codex/skills/cloudflare/references/miniflare/gotchas.md +187 -0
  230. package/.codex/skills/cloudflare/references/miniflare/patterns.md +211 -0
  231. package/.codex/skills/cloudflare/references/network-interconnect/README.md +60 -0
  232. package/.codex/skills/cloudflare/references/network-interconnect/api.md +240 -0
  233. package/.codex/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
  234. package/.codex/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
  235. package/.codex/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
  236. package/.codex/skills/cloudflare/references/observability/README.md +18 -0
  237. package/.codex/skills/cloudflare/references/observability/api.md +51 -0
  238. package/.codex/skills/cloudflare/references/observability/configuration.md +60 -0
  239. package/.codex/skills/cloudflare/references/observability/gotchas.md +36 -0
  240. package/.codex/skills/cloudflare/references/observability/patterns.md +42 -0
  241. package/.codex/skills/cloudflare/references/pages/README.md +76 -0
  242. package/.codex/skills/cloudflare/references/pages/api.md +200 -0
  243. package/.codex/skills/cloudflare/references/pages/configuration.md +228 -0
  244. package/.codex/skills/cloudflare/references/pages/gotchas.md +161 -0
  245. package/.codex/skills/cloudflare/references/pages/patterns.md +145 -0
  246. package/.codex/skills/cloudflare/references/pages-functions/README.md +57 -0
  247. package/.codex/skills/cloudflare/references/pages-functions/api.md +201 -0
  248. package/.codex/skills/cloudflare/references/pages-functions/configuration.md +159 -0
  249. package/.codex/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
  250. package/.codex/skills/cloudflare/references/pages-functions/patterns.md +190 -0
  251. package/.codex/skills/cloudflare/references/pipelines/README.md +664 -0
  252. package/.codex/skills/cloudflare/references/pulumi/README.md +107 -0
  253. package/.codex/skills/cloudflare/references/pulumi/api.md +194 -0
  254. package/.codex/skills/cloudflare/references/pulumi/configuration.md +216 -0
  255. package/.codex/skills/cloudflare/references/pulumi/gotchas.md +223 -0
  256. package/.codex/skills/cloudflare/references/pulumi/patterns.md +139 -0
  257. package/.codex/skills/cloudflare/references/queues/README.md +69 -0
  258. package/.codex/skills/cloudflare/references/queues/api.md +138 -0
  259. package/.codex/skills/cloudflare/references/queues/configuration.md +125 -0
  260. package/.codex/skills/cloudflare/references/queues/gotchas.md +112 -0
  261. package/.codex/skills/cloudflare/references/queues/patterns.md +155 -0
  262. package/.codex/skills/cloudflare/references/r2/README.md +61 -0
  263. package/.codex/skills/cloudflare/references/r2/api.md +127 -0
  264. package/.codex/skills/cloudflare/references/r2/configuration.md +76 -0
  265. package/.codex/skills/cloudflare/references/r2/gotchas.md +94 -0
  266. package/.codex/skills/cloudflare/references/r2/patterns.md +127 -0
  267. package/.codex/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
  268. package/.codex/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
  269. package/.codex/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  270. package/.codex/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  271. package/.codex/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  272. package/.codex/skills/cloudflare/references/r2-sql/README.md +512 -0
  273. package/.codex/skills/cloudflare/references/realtime-sfu/README.md +21 -0
  274. package/.codex/skills/cloudflare/references/realtime-sfu/api.md +135 -0
  275. package/.codex/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
  276. package/.codex/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  277. package/.codex/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
  278. package/.codex/skills/cloudflare/references/realtimekit/README.md +81 -0
  279. package/.codex/skills/cloudflare/references/realtimekit/api.md +164 -0
  280. package/.codex/skills/cloudflare/references/realtimekit/configuration.md +147 -0
  281. package/.codex/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
  282. package/.codex/skills/cloudflare/references/realtimekit/patterns.md +155 -0
  283. package/.codex/skills/cloudflare/references/sandbox/README.md +90 -0
  284. package/.codex/skills/cloudflare/references/sandbox/api.md +178 -0
  285. package/.codex/skills/cloudflare/references/sandbox/configuration.md +131 -0
  286. package/.codex/skills/cloudflare/references/sandbox/gotchas.md +156 -0
  287. package/.codex/skills/cloudflare/references/sandbox/patterns.md +203 -0
  288. package/.codex/skills/cloudflare/references/secrets-store/README.md +58 -0
  289. package/.codex/skills/cloudflare/references/secrets-store/api.md +182 -0
  290. package/.codex/skills/cloudflare/references/secrets-store/configuration.md +140 -0
  291. package/.codex/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
  292. package/.codex/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  293. package/.codex/skills/cloudflare/references/smart-placement/README.md +91 -0
  294. package/.codex/skills/cloudflare/references/smart-placement/api.md +139 -0
  295. package/.codex/skills/cloudflare/references/smart-placement/configuration.md +129 -0
  296. package/.codex/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
  297. package/.codex/skills/cloudflare/references/smart-placement/patterns.md +135 -0
  298. package/.codex/skills/cloudflare/references/snippets/README.md +15 -0
  299. package/.codex/skills/cloudflare/references/snippets/api.md +47 -0
  300. package/.codex/skills/cloudflare/references/snippets/configuration.md +33 -0
  301. package/.codex/skills/cloudflare/references/snippets/gotchas.md +21 -0
  302. package/.codex/skills/cloudflare/references/snippets/patterns.md +34 -0
  303. package/.codex/skills/cloudflare/references/spectrum/README.md +16 -0
  304. package/.codex/skills/cloudflare/references/spectrum/api.md +24 -0
  305. package/.codex/skills/cloudflare/references/spectrum/configuration.md +43 -0
  306. package/.codex/skills/cloudflare/references/spectrum/gotchas.md +42 -0
  307. package/.codex/skills/cloudflare/references/spectrum/patterns.md +40 -0
  308. package/.codex/skills/cloudflare/references/static-assets/README.md +14 -0
  309. package/.codex/skills/cloudflare/references/static-assets/api.md +3 -0
  310. package/.codex/skills/cloudflare/references/static-assets/configuration.md +47 -0
  311. package/.codex/skills/cloudflare/references/static-assets/gotchas.md +44 -0
  312. package/.codex/skills/cloudflare/references/static-assets/patterns.md +42 -0
  313. package/.codex/skills/cloudflare/references/stream/README.md +103 -0
  314. package/.codex/skills/cloudflare/references/stream/api.md +204 -0
  315. package/.codex/skills/cloudflare/references/stream/configuration.md +127 -0
  316. package/.codex/skills/cloudflare/references/stream/gotchas.md +131 -0
  317. package/.codex/skills/cloudflare/references/stream/patterns.md +152 -0
  318. package/.codex/skills/cloudflare/references/tail-workers/README.md +640 -0
  319. package/.codex/skills/cloudflare/references/terraform/README.md +76 -0
  320. package/.codex/skills/cloudflare/references/terraform/api.md +159 -0
  321. package/.codex/skills/cloudflare/references/terraform/configuration.md +156 -0
  322. package/.codex/skills/cloudflare/references/terraform/gotchas.md +207 -0
  323. package/.codex/skills/cloudflare/references/terraform/patterns.md +135 -0
  324. package/.codex/skills/cloudflare/references/tunnel/README.md +82 -0
  325. package/.codex/skills/cloudflare/references/tunnel/api.md +105 -0
  326. package/.codex/skills/cloudflare/references/tunnel/configuration.md +113 -0
  327. package/.codex/skills/cloudflare/references/tunnel/gotchas.md +115 -0
  328. package/.codex/skills/cloudflare/references/tunnel/patterns.md +157 -0
  329. package/.codex/skills/cloudflare/references/turn/README.md +699 -0
  330. package/.codex/skills/cloudflare/references/turnstile/README.md +14 -0
  331. package/.codex/skills/cloudflare/references/turnstile/api.md +3 -0
  332. package/.codex/skills/cloudflare/references/turnstile/configuration.md +19 -0
  333. package/.codex/skills/cloudflare/references/turnstile/gotchas.md +27 -0
  334. package/.codex/skills/cloudflare/references/turnstile/patterns.md +41 -0
  335. package/.codex/skills/cloudflare/references/vectorize/README.md +682 -0
  336. package/.codex/skills/cloudflare/references/waf/README.md +14 -0
  337. package/.codex/skills/cloudflare/references/waf/api.md +3 -0
  338. package/.codex/skills/cloudflare/references/waf/configuration.md +44 -0
  339. package/.codex/skills/cloudflare/references/waf/gotchas.md +24 -0
  340. package/.codex/skills/cloudflare/references/waf/patterns.md +29 -0
  341. package/.codex/skills/cloudflare/references/web-analytics/README.md +19 -0
  342. package/.codex/skills/cloudflare/references/web-analytics/api.md +52 -0
  343. package/.codex/skills/cloudflare/references/web-analytics/configuration.md +31 -0
  344. package/.codex/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
  345. package/.codex/skills/cloudflare/references/web-analytics/patterns.md +52 -0
  346. package/.codex/skills/cloudflare/references/workerd/README.md +47 -0
  347. package/.codex/skills/cloudflare/references/workerd/api.md +199 -0
  348. package/.codex/skills/cloudflare/references/workerd/configuration.md +185 -0
  349. package/.codex/skills/cloudflare/references/workerd/gotchas.md +203 -0
  350. package/.codex/skills/cloudflare/references/workerd/patterns.md +216 -0
  351. package/.codex/skills/cloudflare/references/workers/README.md +96 -0
  352. package/.codex/skills/cloudflare/references/workers/api.md +137 -0
  353. package/.codex/skills/cloudflare/references/workers/configuration.md +147 -0
  354. package/.codex/skills/cloudflare/references/workers/gotchas.md +99 -0
  355. package/.codex/skills/cloudflare/references/workers/patterns.md +149 -0
  356. package/.codex/skills/cloudflare/references/workers-ai/README.md +116 -0
  357. package/.codex/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
  358. package/.codex/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
  359. package/.codex/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  360. package/.codex/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  361. package/.codex/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  362. package/.codex/skills/cloudflare/references/workers-playground/README.md +16 -0
  363. package/.codex/skills/cloudflare/references/workers-playground/api.md +20 -0
  364. package/.codex/skills/cloudflare/references/workers-playground/configuration.md +3 -0
  365. package/.codex/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
  366. package/.codex/skills/cloudflare/references/workers-playground/patterns.md +42 -0
  367. package/.codex/skills/cloudflare/references/workers-vpc/README.md +579 -0
  368. package/.codex/skills/cloudflare/references/workflows/README.md +62 -0
  369. package/.codex/skills/cloudflare/references/workflows/api.md +125 -0
  370. package/.codex/skills/cloudflare/references/workflows/configuration.md +177 -0
  371. package/.codex/skills/cloudflare/references/workflows/gotchas.md +136 -0
  372. package/.codex/skills/cloudflare/references/workflows/patterns.md +132 -0
  373. package/.codex/skills/cloudflare/references/wrangler/README.md +90 -0
  374. package/.codex/skills/cloudflare/references/wrangler/api.md +140 -0
  375. package/.codex/skills/cloudflare/references/wrangler/configuration.md +128 -0
  376. package/.codex/skills/cloudflare/references/wrangler/gotchas.md +93 -0
  377. package/.codex/skills/cloudflare/references/wrangler/patterns.md +150 -0
  378. package/.codex/skills/cloudflare/references/zaraz/README.md +360 -0
  379. package/.codex/skills/code-navigation/SKILL.md +130 -0
  380. package/.codex/skills/code-review/SKILL.md +208 -0
  381. package/.codex/skills/compaction/SKILL.md +317 -0
  382. package/.codex/skills/condition-based-waiting/SKILL.md +123 -0
  383. package/.codex/skills/condition-based-waiting/example.ts +158 -0
  384. package/.codex/skills/context-engineering/SKILL.md +176 -0
  385. package/.codex/skills/context-initialization/SKILL.md +70 -0
  386. package/.codex/skills/context-management/SKILL.md +163 -0
  387. package/.codex/skills/core-data-expert/SKILL.md +93 -0
  388. package/.codex/skills/core-data-expert/references/batch-operations.md +543 -0
  389. package/.codex/skills/core-data-expert/references/cloudkit-integration.md +259 -0
  390. package/.codex/skills/core-data-expert/references/concurrency.md +522 -0
  391. package/.codex/skills/core-data-expert/references/fetch-requests.md +643 -0
  392. package/.codex/skills/core-data-expert/references/glossary.md +233 -0
  393. package/.codex/skills/core-data-expert/references/migration.md +393 -0
  394. package/.codex/skills/core-data-expert/references/model-configuration.md +597 -0
  395. package/.codex/skills/core-data-expert/references/performance.md +300 -0
  396. package/.codex/skills/core-data-expert/references/persistent-history.md +553 -0
  397. package/.codex/skills/core-data-expert/references/project-audit.md +60 -0
  398. package/.codex/skills/core-data-expert/references/saving.md +574 -0
  399. package/.codex/skills/core-data-expert/references/stack-setup.md +625 -0
  400. package/.codex/skills/core-data-expert/references/testing.md +300 -0
  401. package/.codex/skills/core-data-expert/references/threading.md +589 -0
  402. package/.codex/skills/debugging/SKILL.md +203 -0
  403. package/.codex/skills/deep-research/SKILL.md +384 -0
  404. package/.codex/skills/defense-in-depth/SKILL.md +166 -0
  405. package/.codex/skills/dependency-upgrades/SKILL.md +198 -0
  406. package/.codex/skills/design-system-audit/SKILL.md +153 -0
  407. package/.codex/skills/development-lifecycle/SKILL.md +356 -0
  408. package/.codex/skills/dispatching-parallel-agents/SKILL.md +191 -0
  409. package/.codex/skills/docs-handoff/SKILL.md +175 -0
  410. package/.codex/skills/executing-plans/SKILL.md +247 -0
  411. package/.codex/skills/figma/SKILL.md +224 -0
  412. package/.codex/skills/figma/mcp.json +6 -0
  413. package/.codex/skills/finishing-a-development-branch/SKILL.md +357 -0
  414. package/.codex/skills/frontend-design/SKILL.md +176 -0
  415. package/.codex/skills/gemini-large-context/SKILL.md +216 -0
  416. package/.codex/skills/git-pr-prep/SKILL.md +179 -0
  417. package/.codex/skills/index-knowledge/SKILL.md +413 -0
  418. package/.codex/skills/jira/SKILL.md +283 -0
  419. package/.codex/skills/jira/mcp.json +6 -0
  420. package/.codex/skills/memory-system/SKILL.md +93 -0
  421. package/.codex/skills/mockup-to-code/SKILL.md +184 -0
  422. package/.codex/skills/mqdh/SKILL.md +171 -0
  423. package/.codex/skills/obsidian/SKILL.md +187 -0
  424. package/.codex/skills/obsidian/mcp.json +22 -0
  425. package/.codex/skills/opensrc/SKILL.md +127 -0
  426. package/.codex/skills/opensrc/references/architecture.md +176 -0
  427. package/.codex/skills/opensrc/references/cli-usage.md +176 -0
  428. package/.codex/skills/opensrc/references/registry-support.md +137 -0
  429. package/.codex/skills/pdf-extract/SKILL.md +438 -0
  430. package/.codex/skills/playwright/SKILL.md +320 -0
  431. package/.codex/skills/playwright/mcp.json +16 -0
  432. package/.codex/skills/playwriter/SKILL.md +158 -0
  433. package/.codex/skills/polar/SKILL.md +102 -0
  434. package/.codex/skills/prd/SKILL.md +146 -0
  435. package/.codex/skills/prd-task/SKILL.md +182 -0
  436. package/.codex/skills/prd-task/references/prd-schema.json +124 -0
  437. package/.codex/skills/prompt-leverage/SKILL.md +69 -0
  438. package/.codex/skills/prompt-leverage/agents/openai.yaml +4 -0
  439. package/.codex/skills/prompt-leverage/references/framework.md +91 -0
  440. package/.codex/skills/prompt-leverage/scripts/augment_prompt.py +114 -0
  441. package/.codex/skills/ralph/SKILL.md +296 -0
  442. package/.codex/skills/react-best-practices/AGENTS.md +2410 -0
  443. package/.codex/skills/react-best-practices/README.md +123 -0
  444. package/.codex/skills/react-best-practices/SKILL.md +133 -0
  445. package/.codex/skills/react-best-practices/metadata.json +15 -0
  446. package/.codex/skills/react-best-practices/rules/_sections.md +46 -0
  447. package/.codex/skills/react-best-practices/rules/_template.md +28 -0
  448. package/.codex/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  449. package/.codex/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  450. package/.codex/skills/react-best-practices/rules/async-api-routes.md +38 -0
  451. package/.codex/skills/react-best-practices/rules/async-defer-await.md +80 -0
  452. package/.codex/skills/react-best-practices/rules/async-dependencies.md +36 -0
  453. package/.codex/skills/react-best-practices/rules/async-parallel.md +28 -0
  454. package/.codex/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  455. package/.codex/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  456. package/.codex/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  457. package/.codex/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  458. package/.codex/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  459. package/.codex/skills/react-best-practices/rules/bundle-preload.md +50 -0
  460. package/.codex/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  461. package/.codex/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  462. package/.codex/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  463. package/.codex/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  464. package/.codex/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  465. package/.codex/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  466. package/.codex/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  467. package/.codex/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  468. package/.codex/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  469. package/.codex/skills/react-best-practices/rules/js-early-exit.md +50 -0
  470. package/.codex/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  471. package/.codex/skills/react-best-practices/rules/js-index-maps.md +37 -0
  472. package/.codex/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  473. package/.codex/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  474. package/.codex/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  475. package/.codex/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  476. package/.codex/skills/react-best-practices/rules/rendering-activity.md +26 -0
  477. package/.codex/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  478. package/.codex/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  479. package/.codex/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  480. package/.codex/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  481. package/.codex/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  482. package/.codex/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  483. package/.codex/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  484. package/.codex/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  485. package/.codex/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  486. package/.codex/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  487. package/.codex/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  488. package/.codex/skills/react-best-practices/rules/rerender-memo.md +44 -0
  489. package/.codex/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  490. package/.codex/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  491. package/.codex/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  492. package/.codex/skills/react-best-practices/rules/server-cache-react.md +76 -0
  493. package/.codex/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  494. package/.codex/skills/react-best-practices/rules/server-serialization.md +38 -0
  495. package/.codex/skills/receiving-code-review/SKILL.md +252 -0
  496. package/.codex/skills/refactoring/SKILL.md +217 -0
  497. package/.codex/skills/repo-orientation/SKILL.md +156 -0
  498. package/.codex/skills/requesting-code-review/SKILL.md +397 -0
  499. package/.codex/skills/resend/SKILL.md +177 -0
  500. package/.codex/skills/resend/references/react-email.md +287 -0
  501. package/.codex/skills/resend/references/receive-email.md +248 -0
  502. package/.codex/skills/resend/references/send-email.md +318 -0
  503. package/.codex/skills/root-cause-tracing/SKILL.md +192 -0
  504. package/.codex/skills/root-cause-tracing/find-polluter.sh +63 -0
  505. package/.codex/skills/safe-implementation/SKILL.md +205 -0
  506. package/.codex/skills/session-management/SKILL.md +10 -0
  507. package/.codex/skills/sharing-skills/SKILL.md +214 -0
  508. package/.codex/skills/skill-creator/SKILL.md +156 -0
  509. package/.codex/skills/source-code-research/SKILL.md +293 -0
  510. package/.codex/skills/source-code-research/references/analysis-tips.md +43 -0
  511. package/.codex/skills/source-code-research/references/anti-patterns.md +36 -0
  512. package/.codex/skills/source-code-research/references/common-patterns.md +57 -0
  513. package/.codex/skills/source-code-research/references/example-workflow.md +60 -0
  514. package/.codex/skills/source-code-research/references/further-reading.md +5 -0
  515. package/.codex/skills/source-code-research/references/source-structure.md +45 -0
  516. package/.codex/skills/stitch/SKILL.md +147 -0
  517. package/.codex/skills/stitch/mcp.json +9 -0
  518. package/.codex/skills/structured-edit/SKILL.md +181 -0
  519. package/.codex/skills/subagent-driven-development/SKILL.md +237 -0
  520. package/.codex/skills/supabase/SKILL.md +130 -0
  521. package/.codex/skills/supabase/mcp.json +27 -0
  522. package/.codex/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
  523. package/.codex/skills/supabase-postgres-best-practices/SKILL.md +65 -0
  524. package/.codex/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  525. package/.codex/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  526. package/.codex/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  527. package/.codex/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
  528. package/.codex/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
  529. package/.codex/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  530. package/.codex/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
  531. package/.codex/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
  532. package/.codex/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
  533. package/.codex/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
  534. package/.codex/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
  535. package/.codex/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  536. package/.codex/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
  537. package/.codex/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
  538. package/.codex/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  539. package/.codex/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  540. package/.codex/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  541. package/.codex/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
  542. package/.codex/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
  543. package/.codex/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
  544. package/.codex/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
  545. package/.codex/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
  546. package/.codex/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
  547. package/.codex/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  548. package/.codex/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  549. package/.codex/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
  550. package/.codex/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
  551. package/.codex/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
  552. package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
  553. package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
  554. package/.codex/skills/swarm-coordination/SKILL.md +179 -0
  555. package/.codex/skills/swarm-coordination/references/architecture.md +39 -0
  556. package/.codex/skills/swarm-coordination/references/delegation-worker-protocol.md +145 -0
  557. package/.codex/skills/swarm-coordination/references/dependency-graph.md +50 -0
  558. package/.codex/skills/swarm-coordination/references/drift-check.md +90 -0
  559. package/.codex/skills/swarm-coordination/references/integration-beads.md +20 -0
  560. package/.codex/skills/swarm-coordination/references/launch-flow.md +186 -0
  561. package/.codex/skills/swarm-coordination/references/reconciler.md +172 -0
  562. package/.codex/skills/swarm-coordination/references/tier-enforcement.md +78 -0
  563. package/.codex/skills/swarm-coordination/references/tmux-integration.md +134 -0
  564. package/.codex/skills/swift-concurrency/SKILL.md +266 -0
  565. package/.codex/skills/swift-concurrency/references/actors.md +640 -0
  566. package/.codex/skills/swift-concurrency/references/async-algorithms.md +822 -0
  567. package/.codex/skills/swift-concurrency/references/async-await-basics.md +249 -0
  568. package/.codex/skills/swift-concurrency/references/async-sequences.md +670 -0
  569. package/.codex/skills/swift-concurrency/references/core-data.md +533 -0
  570. package/.codex/skills/swift-concurrency/references/glossary.md +128 -0
  571. package/.codex/skills/swift-concurrency/references/linting.md +142 -0
  572. package/.codex/skills/swift-concurrency/references/memory-management.md +542 -0
  573. package/.codex/skills/swift-concurrency/references/migration.md +1076 -0
  574. package/.codex/skills/swift-concurrency/references/performance.md +574 -0
  575. package/.codex/skills/swift-concurrency/references/sendable.md +578 -0
  576. package/.codex/skills/swift-concurrency/references/tasks.md +604 -0
  577. package/.codex/skills/swift-concurrency/references/testing.md +565 -0
  578. package/.codex/skills/swift-concurrency/references/threading.md +452 -0
  579. package/.codex/skills/swiftui-expert-skill/SKILL.md +329 -0
  580. package/.codex/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
  581. package/.codex/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  582. package/.codex/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  583. package/.codex/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
  584. package/.codex/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  585. package/.codex/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
  586. package/.codex/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
  587. package/.codex/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
  588. package/.codex/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
  589. package/.codex/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  590. package/.codex/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  591. package/.codex/skills/swiftui-expert-skill/references/state-management.md +447 -0
  592. package/.codex/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
  593. package/.codex/skills/swiftui-expert-skill/references/view-structure.md +276 -0
  594. package/.codex/skills/systematic-debugging/SKILL.md +402 -0
  595. package/.codex/skills/task-planning/SKILL.md +205 -0
  596. package/.codex/skills/test-driven-development/SKILL.md +388 -0
  597. package/.codex/skills/test-strategy/SKILL.md +186 -0
  598. package/.codex/skills/testing-anti-patterns/SKILL.md +320 -0
  599. package/.codex/skills/testing-skills-with-subagents/SKILL.md +405 -0
  600. package/.codex/skills/tilth-cli/SKILL.md +180 -0
  601. package/.codex/skills/tool-priority/SKILL.md +299 -0
  602. package/.codex/skills/ui-inspiration-scout/SKILL.md +203 -0
  603. package/.codex/skills/ui-ux-research/SKILL.md +35 -0
  604. package/.codex/skills/using-git-worktrees/SKILL.md +259 -0
  605. package/.codex/skills/using-skills/SKILL.md +117 -0
  606. package/.codex/skills/v0/SKILL.md +158 -0
  607. package/.codex/skills/v0/mcp.json +6 -0
  608. package/.codex/skills/v1-run/SKILL.md +175 -0
  609. package/.codex/skills/v1-run/mcp.json +6 -0
  610. package/.codex/skills/vercel-deploy-claimable/SKILL.md +124 -0
  611. package/.codex/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  612. package/.codex/skills/verification/SKILL.md +191 -0
  613. package/.codex/skills/verification-before-completion/SKILL.md +236 -0
  614. package/.codex/skills/visual-analysis/SKILL.md +154 -0
  615. package/.codex/skills/web-design-guidelines/SKILL.md +46 -0
  616. package/.codex/skills/writing-plans/SKILL.md +320 -0
  617. package/.codex/skills/writing-skills/SKILL.md +287 -0
  618. package/.codex/skills/writing-skills/anthropic-best-practices.md +1173 -0
  619. package/.codex/skills/writing-skills/graphviz-conventions.dot +172 -0
  620. package/.codex/skills/writing-skills/persuasion-principles.md +220 -0
  621. package/.codex/skills/writing-skills/references/anti-patterns.md +25 -0
  622. package/.codex/skills/writing-skills/references/claude-search-optimization.md +140 -0
  623. package/.codex/skills/writing-skills/references/discovery-workflow.md +11 -0
  624. package/.codex/skills/writing-skills/references/file-organization.md +32 -0
  625. package/.codex/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
  626. package/.codex/skills/writing-skills/references/rationalization-hardening.md +75 -0
  627. package/.codex/skills/writing-skills/references/testing-skill-types.md +52 -0
  628. package/.template-manifest.json +631 -0
  629. package/AGENTS.md +719 -0
  630. package/AGENTS.override.md.example +7 -0
  631. package/CHANGELOG.md +28 -0
  632. package/LICENSE +21 -0
  633. package/README.md +641 -0
  634. package/bin/codexkit +148 -0
  635. package/install/bead-close.sh +20 -0
  636. package/install/bead-search.sh +18 -0
  637. package/install/bead-start.sh +20 -0
  638. package/install/bead-sync.sh +19 -0
  639. package/install/bead-verify.sh +20 -0
  640. package/install/generate-manifest.sh +55 -0
  641. package/install/install-global.sh +150 -0
  642. package/install/install-project.sh +704 -0
  643. package/install/install-remote.sh +152 -0
  644. package/install/patch.sh +478 -0
  645. package/install/plugin.sh +565 -0
  646. package/install/run-codex.sh +68 -0
  647. package/install/template.sh +620 -0
  648. package/install/validate.sh +653 -0
  649. package/package.json +39 -0
  650. package/templates/global/.codex-config-template.toml +87 -0
  651. package/templates/global/AGENTS.override.md +18 -0
  652. package/templates/global/README.md +29 -0
  653. package/templates/project/.codex-config-template.toml +26 -0
  654. package/templates/project/AGENTS.md.template +27 -0
  655. package/templates/project/README.md +24 -0
@@ -0,0 +1,574 @@
1
+ # Saving in Core Data
2
+
3
+ Saving data efficiently is crucial for app performance and user experience. This guide covers best practices for when, how, and where to save your Core Data changes.
4
+
5
+ ## The Problem with Always Saving
6
+
7
+ Calling `save()` unconditionally has performance costs:
8
+
9
+ ```swift
10
+ // ❌ Bad: Always saving, even when nothing changed
11
+ func updateUI() {
12
+ article.lastViewed = Date()
13
+ try? context.save() // Expensive even if nothing changed!
14
+ }
15
+ ```
16
+
17
+ **Problems:**
18
+ - Writes to disk even when no changes exist
19
+ - Triggers merge notifications unnecessarily
20
+ - Wastes CPU and battery
21
+ - Slows down your app
22
+
23
+ ## Conditional Saving with hasChanges
24
+
25
+ The first improvement is checking `hasChanges`:
26
+
27
+ ```swift
28
+ // ✅ Better: Only save if there are changes
29
+ if context.hasChanges {
30
+ try context.save()
31
+ }
32
+ ```
33
+
34
+ **Benefits:**
35
+ - Avoids unnecessary disk writes
36
+ - Faster performance
37
+ - Still simple to use
38
+
39
+ **Limitation:**
40
+ - `hasChanges` returns `true` for transient properties too
41
+ - Transient changes don't need to be persisted
42
+
43
+ ## Best Practice: hasPersistentChanges
44
+
45
+ Check for **persistent** changes only, excluding transient properties:
46
+
47
+ ```swift
48
+ extension NSManagedObjectContext {
49
+ var hasPersistentChanges: Bool {
50
+ return !insertedObjects.isEmpty ||
51
+ !deletedObjects.isEmpty ||
52
+ updatedObjects.contains(where: { $0.hasPersistentChangedValues })
53
+ }
54
+
55
+ func saveIfNeeded() throws {
56
+ guard hasPersistentChanges else { return }
57
+ try save()
58
+ }
59
+ }
60
+
61
+ // Usage
62
+ try context.saveIfNeeded()
63
+ ```
64
+
65
+ **Why this is better:**
66
+ - Excludes transient property changes
67
+ - Only saves when data actually needs persisting
68
+ - Most efficient approach
69
+
70
+ ### Understanding hasPersistentChangedValues
71
+
72
+ ```swift
73
+ extension NSManagedObject {
74
+ var hasPersistentChangedValues: Bool {
75
+ return !changedValues().isEmpty
76
+ }
77
+ }
78
+ ```
79
+
80
+ This checks if the object has **any** changed values. For more granular control:
81
+
82
+ ```swift
83
+ extension NSManagedObject {
84
+ var hasPersistentChangedValues: Bool {
85
+ let changedKeys = Set(changedValues().keys)
86
+ let persistentKeys = Set(entity.attributesByName.keys)
87
+ .union(entity.relationshipsByName.keys)
88
+ .subtracting(entity.transientAttributeNames)
89
+ return !changedKeys.intersection(persistentKeys).isEmpty
90
+ }
91
+ }
92
+
93
+ extension NSEntityDescription {
94
+ var transientAttributeNames: Set<String> {
95
+ return Set(attributesByName.filter { $0.value.isTransient }.map { $0.key })
96
+ }
97
+ }
98
+ ```
99
+
100
+ ## When to Save
101
+
102
+ ### Save on App Lifecycle Events
103
+
104
+ ```swift
105
+ // AppDelegate or SceneDelegate
106
+ func applicationWillTerminate(_ application: UIApplication) {
107
+ try? CoreDataStack.shared.viewContext.saveIfNeeded()
108
+ }
109
+
110
+ func sceneDidEnterBackground(_ scene: UIScene) {
111
+ try? CoreDataStack.shared.viewContext.saveIfNeeded()
112
+ }
113
+ ```
114
+
115
+ ### Save After User Actions
116
+
117
+ ```swift
118
+ // After user completes an action
119
+ @IBAction func saveButtonTapped(_ sender: UIButton) {
120
+ article.name = nameTextField.text
121
+ article.content = contentTextView.text
122
+
123
+ do {
124
+ try context.saveIfNeeded()
125
+ dismiss(animated: true)
126
+ } catch {
127
+ // Handle error
128
+ showError(error)
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### Save Periodically for Long-Running Operations
134
+
135
+ ```swift
136
+ func importLargeDataset() {
137
+ let context = container.newBackgroundContext()
138
+ context.perform {
139
+ for (index, data) in largeDataset.enumerated() {
140
+ let article = Article(context: context)
141
+ article.name = data.name
142
+
143
+ // Save every 100 objects
144
+ if index % 100 == 0 {
145
+ try? context.saveIfNeeded()
146
+ }
147
+ }
148
+
149
+ // Final save
150
+ try? context.saveIfNeeded()
151
+ }
152
+ }
153
+ ```
154
+
155
+ ### Don't Save Too Frequently
156
+
157
+ ```swift
158
+ // ❌ Bad: Saving on every keystroke
159
+ func textFieldDidChange(_ textField: UITextField) {
160
+ article.name = textField.text
161
+ try? context.save() // Too frequent!
162
+ }
163
+
164
+ // ✅ Better: Save when editing ends
165
+ func textFieldDidEndEditing(_ textField: UITextField) {
166
+ article.name = textField.text
167
+ try? context.saveIfNeeded()
168
+ }
169
+
170
+ // ✅ Best: Use debouncing for auto-save
171
+ private var saveWorkItem: DispatchWorkItem?
172
+
173
+ func textFieldDidChange(_ textField: UITextField) {
174
+ article.name = textField.text
175
+
176
+ // Cancel previous save
177
+ saveWorkItem?.cancel()
178
+
179
+ // Schedule new save after 2 seconds of inactivity
180
+ let workItem = DispatchWorkItem { [weak self] in
181
+ try? self?.context.saveIfNeeded()
182
+ }
183
+ saveWorkItem = workItem
184
+ DispatchQueue.main.asyncAfter(deadline: .now() + 2, execute: workItem)
185
+ }
186
+ ```
187
+
188
+ ## Error Handling
189
+
190
+ ### Basic Error Handling
191
+
192
+ ```swift
193
+ do {
194
+ try context.save()
195
+ } catch {
196
+ print("Failed to save: \(error)")
197
+ }
198
+ ```
199
+
200
+ ### Detailed Error Handling
201
+
202
+ ```swift
203
+ do {
204
+ try context.save()
205
+ } catch let error as NSError {
206
+ print("Failed to save context: \(error)")
207
+ print("User info: \(error.userInfo)")
208
+
209
+ // Check for specific errors
210
+ if error.domain == NSCocoaErrorDomain {
211
+ switch error.code {
212
+ case NSValidationStringTooShortError:
213
+ print("String too short")
214
+ case NSValidationStringTooLongError:
215
+ print("String too long")
216
+ case NSManagedObjectValidationError:
217
+ print("Validation error")
218
+ case NSManagedObjectConstraintValidationError:
219
+ print("Constraint violation")
220
+ default:
221
+ print("Other error: \(error.code)")
222
+ }
223
+ }
224
+ }
225
+ ```
226
+
227
+ ### User-Friendly Error Messages
228
+
229
+ ```swift
230
+ extension NSError {
231
+ var userFriendlyMessage: String {
232
+ guard domain == NSCocoaErrorDomain else {
233
+ return localizedDescription
234
+ }
235
+
236
+ switch code {
237
+ case NSValidationStringTooShortError:
238
+ return "The text is too short. Please enter at least 3 characters."
239
+ case NSValidationStringTooLongError:
240
+ return "The text is too long. Please keep it under 100 characters."
241
+ case NSManagedObjectConstraintValidationError:
242
+ return "This item already exists. Please use a different name."
243
+ case NSManagedObjectValidationError:
244
+ return "Please check your input and try again."
245
+ default:
246
+ return "Failed to save: \(localizedDescription)"
247
+ }
248
+ }
249
+ }
250
+
251
+ // Usage
252
+ do {
253
+ try context.save()
254
+ } catch let error as NSError {
255
+ showAlert(message: error.userFriendlyMessage)
256
+ }
257
+ ```
258
+
259
+ ## Saving in Different Contexts
260
+
261
+ ### View Context (Main Thread)
262
+
263
+ ```swift
264
+ // Always on main thread
265
+ let context = container.viewContext
266
+
267
+ // Simple save
268
+ try? context.saveIfNeeded()
269
+
270
+ // With error handling
271
+ do {
272
+ try context.saveIfNeeded()
273
+ } catch {
274
+ print("Failed to save: \(error)")
275
+ }
276
+ ```
277
+
278
+ ### Background Context
279
+
280
+ ```swift
281
+ let context = container.newBackgroundContext()
282
+ context.perform {
283
+ // Make changes
284
+ let article = Article(context: context)
285
+ article.name = "New Article"
286
+
287
+ // Save within perform block
288
+ do {
289
+ try context.saveIfNeeded()
290
+ } catch {
291
+ print("Failed to save: \(error)")
292
+ }
293
+ }
294
+ ```
295
+
296
+ ### Nested Contexts (Advanced)
297
+
298
+ ```swift
299
+ // Parent context (view context)
300
+ let parentContext = container.viewContext
301
+
302
+ // Child context for editing
303
+ let childContext = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
304
+ childContext.parent = parentContext
305
+
306
+ // Make changes in child
307
+ let article = childContext.object(with: articleID) as! Article
308
+ article.name = "Updated"
309
+
310
+ // Save child (pushes to parent, not to disk)
311
+ try? childContext.save()
312
+
313
+ // Save parent to persist to disk
314
+ try? parentContext.save()
315
+ ```
316
+
317
+ **Use nested contexts for:**
318
+ - Cancellable editing (discard child without saving parent)
319
+ - Temporary changes
320
+ - Complex forms
321
+
322
+ ## Saving with Validation
323
+
324
+ Core Data validates objects before saving. Handle validation errors appropriately:
325
+
326
+ ```swift
327
+ do {
328
+ try context.save()
329
+ } catch let error as NSError {
330
+ if error.code == NSValidationMultipleErrorsError {
331
+ // Multiple validation errors
332
+ if let errors = error.userInfo[NSDetailedErrorsKey] as? [NSError] {
333
+ for validationError in errors {
334
+ print("Validation error: \(validationError.localizedDescription)")
335
+
336
+ // Get the object that failed validation
337
+ if let object = validationError.userInfo[NSValidationObjectErrorKey] as? NSManagedObject {
338
+ print("Failed object: \(object)")
339
+ }
340
+
341
+ // Get the property that failed
342
+ if let key = validationError.userInfo[NSValidationKeyErrorKey] as? String {
343
+ print("Failed property: \(key)")
344
+ }
345
+ }
346
+ }
347
+ }
348
+ }
349
+ ```
350
+
351
+ ## Optimizing Save Performance
352
+
353
+ ### Batch Saves During Import
354
+
355
+ ```swift
356
+ func importArticles(_ articles: [ArticleData]) {
357
+ let context = container.newBackgroundContext()
358
+ context.perform {
359
+ for (index, data) in articles.enumerated() {
360
+ let article = Article(context: context)
361
+ article.name = data.name
362
+ article.content = data.content
363
+
364
+ // Save every 100 objects to avoid memory buildup
365
+ if index % 100 == 0 && context.hasChanges {
366
+ try? context.save()
367
+ context.reset() // Clear memory
368
+ }
369
+ }
370
+
371
+ // Final save
372
+ try? context.save()
373
+ }
374
+ }
375
+ ```
376
+
377
+ ### Avoid Saving in Loops
378
+
379
+ ```swift
380
+ // ❌ Bad: Saving inside loop
381
+ for data in dataArray {
382
+ let article = Article(context: context)
383
+ article.name = data.name
384
+ try? context.save() // Very slow!
385
+ }
386
+
387
+ // ✅ Good: Save once after loop
388
+ for data in dataArray {
389
+ let article = Article(context: context)
390
+ article.name = data.name
391
+ }
392
+ try? context.save() // Much faster!
393
+ ```
394
+
395
+ ### Use Batch Operations for Bulk Changes
396
+
397
+ For large-scale operations, use batch requests instead of saving individual objects:
398
+
399
+ ```swift
400
+ // Instead of:
401
+ for article in articles {
402
+ article.isRead = true
403
+ }
404
+ try? context.save()
405
+
406
+ // Use batch update:
407
+ let batchUpdate = NSBatchUpdateRequest(entityName: "Article")
408
+ batchUpdate.predicate = NSPredicate(format: "isRead == NO")
409
+ batchUpdate.propertiesToUpdate = ["isRead": true]
410
+ try? context.execute(batchUpdate)
411
+ ```
412
+
413
+ See `batch-operations.md` for more details.
414
+
415
+ ## Checking for Unsaved Changes
416
+
417
+ ### Before Dismissing a View
418
+
419
+ ```swift
420
+ func dismiss() {
421
+ if context.hasChanges {
422
+ let alert = UIAlertController(
423
+ title: "Unsaved Changes",
424
+ message: "Do you want to save your changes?",
425
+ preferredStyle: .alert
426
+ )
427
+
428
+ alert.addAction(UIAlertAction(title: "Save", style: .default) { _ in
429
+ try? self.context.save()
430
+ self.dismissView()
431
+ })
432
+
433
+ alert.addAction(UIAlertAction(title: "Discard", style: .destructive) { _ in
434
+ self.context.rollback()
435
+ self.dismissView()
436
+ })
437
+
438
+ alert.addAction(UIAlertAction(title: "Cancel", style: .cancel))
439
+
440
+ present(alert, animated: true)
441
+ } else {
442
+ dismissView()
443
+ }
444
+ }
445
+ ```
446
+
447
+ ### Rollback Unsaved Changes
448
+
449
+ ```swift
450
+ // Discard all unsaved changes
451
+ context.rollback()
452
+
453
+ // Refresh a specific object to discard its changes
454
+ context.refresh(article, mergeChanges: false)
455
+ ```
456
+
457
+ ## Save Notifications
458
+
459
+ Observe save notifications to respond to changes:
460
+
461
+ ```swift
462
+ NotificationCenter.default.addObserver(
463
+ self,
464
+ selector: #selector(contextDidSave),
465
+ name: .NSManagedObjectContextDidSave,
466
+ object: context
467
+ )
468
+
469
+ @objc func contextDidSave(_ notification: Notification) {
470
+ guard let userInfo = notification.userInfo else { return }
471
+
472
+ if let inserts = userInfo[NSInsertedObjectsKey] as? Set<NSManagedObject> {
473
+ print("Inserted: \(inserts.count) objects")
474
+ }
475
+
476
+ if let updates = userInfo[NSUpdatedObjectsKey] as? Set<NSManagedObject> {
477
+ print("Updated: \(updates.count) objects")
478
+ }
479
+
480
+ if let deletes = userInfo[NSDeletedObjectsKey] as? Set<NSManagedObject> {
481
+ print("Deleted: \(deletes.count) objects")
482
+ }
483
+ }
484
+ ```
485
+
486
+ ## Testing Saves
487
+
488
+ ### In Unit Tests
489
+
490
+ ```swift
491
+ func testSaveArticle() throws {
492
+ let context = testContainer.viewContext
493
+
494
+ let article = Article(context: context)
495
+ article.name = "Test Article"
496
+
497
+ XCTAssertTrue(context.hasChanges)
498
+
499
+ try context.save()
500
+
501
+ XCTAssertFalse(context.hasChanges)
502
+
503
+ // Verify saved
504
+ let fetchRequest = Article.fetchRequest()
505
+ let results = try context.fetch(fetchRequest)
506
+ XCTAssertEqual(results.count, 1)
507
+ XCTAssertEqual(results.first?.name, "Test Article")
508
+ }
509
+ ```
510
+
511
+ ## Common Pitfalls
512
+
513
+ ### ❌ Not Checking for Changes
514
+
515
+ ```swift
516
+ // Wastes resources
517
+ try? context.save()
518
+ ```
519
+
520
+ ### ❌ Saving Too Frequently
521
+
522
+ ```swift
523
+ // In a loop - very slow
524
+ for item in items {
525
+ item.processed = true
526
+ try? context.save()
527
+ }
528
+ ```
529
+
530
+ ### ❌ Ignoring Errors
531
+
532
+ ```swift
533
+ // Silent failures
534
+ try? context.save()
535
+ ```
536
+
537
+ ### ❌ Saving on Wrong Thread
538
+
539
+ ```swift
540
+ // Crash! Background context on main thread
541
+ let context = container.newBackgroundContext()
542
+ try? context.save() // Not in perform block!
543
+ ```
544
+
545
+ ### ✅ Correct Approach
546
+
547
+ ```swift
548
+ // Check for changes
549
+ guard context.hasPersistentChanges else { return }
550
+
551
+ // Handle errors
552
+ do {
553
+ try context.save()
554
+ } catch {
555
+ print("Save failed: \(error)")
556
+ // Handle appropriately
557
+ }
558
+
559
+ // Use correct thread
560
+ context.perform {
561
+ try? context.save()
562
+ }
563
+ ```
564
+
565
+ ## Summary
566
+
567
+ 1. **Use `saveIfNeeded()` with `hasPersistentChanges`** - Most efficient approach
568
+ 2. **Save at appropriate times** - App lifecycle events, after user actions, periodically
569
+ 3. **Don't save too frequently** - Debounce auto-saves, avoid saving in loops
570
+ 4. **Handle errors properly** - Don't ignore save failures
571
+ 5. **Use correct context type** - View context for UI, background for heavy work
572
+ 6. **Always use `perform` with background contexts** - Thread safety
573
+ 7. **Consider batch operations** - For large-scale updates
574
+ 8. **Test your saves** - Verify data persists correctly