opencode-starterkit 1.0.1

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 (656) hide show
  1. package/README.md +47 -0
  2. package/baseline/.env.example +196 -0
  3. package/baseline/.template-manifest.json +646 -0
  4. package/baseline/.version +1 -0
  5. package/baseline/AGENTS.md +410 -0
  6. package/baseline/AGENT_ALIGNMENT.md +564 -0
  7. package/baseline/README.md +79 -0
  8. package/baseline/agent/build.md +373 -0
  9. package/baseline/agent/explore.md +96 -0
  10. package/baseline/agent/general.md +186 -0
  11. package/baseline/agent/painter.md +74 -0
  12. package/baseline/agent/plan.md +435 -0
  13. package/baseline/agent/review.md +243 -0
  14. package/baseline/agent/runner.md +79 -0
  15. package/baseline/agent/scout.md +100 -0
  16. package/baseline/agent/vision.md +91 -0
  17. package/baseline/command/compound.md +143 -0
  18. package/baseline/command/create.md +213 -0
  19. package/baseline/command/design.md +112 -0
  20. package/baseline/command/handoff.md +147 -0
  21. package/baseline/command/init-context.md +273 -0
  22. package/baseline/command/init-user.md +105 -0
  23. package/baseline/command/init.md +117 -0
  24. package/baseline/command/lfg.md +170 -0
  25. package/baseline/command/plan.md +355 -0
  26. package/baseline/command/pr.md +161 -0
  27. package/baseline/command/research.md +125 -0
  28. package/baseline/command/resume.md +87 -0
  29. package/baseline/command/review-codebase.md +131 -0
  30. package/baseline/command/ship.md +342 -0
  31. package/baseline/command/start.md +158 -0
  32. package/baseline/command/status.md +117 -0
  33. package/baseline/command/ui-review.md +92 -0
  34. package/baseline/command/ui-slop-check.md +146 -0
  35. package/baseline/command/verify.md +160 -0
  36. package/baseline/context/README.md +29 -0
  37. package/baseline/dcp.jsonc +72 -0
  38. package/baseline/memory/README.md +89 -0
  39. package/baseline/memory/_templates/design.md +59 -0
  40. package/baseline/memory/_templates/prd.md +192 -0
  41. package/baseline/memory/_templates/project.md +58 -0
  42. package/baseline/memory/_templates/proposal.md +38 -0
  43. package/baseline/memory/_templates/roadmap.md +93 -0
  44. package/baseline/memory/_templates/state.md +89 -0
  45. package/baseline/memory/_templates/tasks.md +198 -0
  46. package/baseline/memory/_templates/tech-stack.md +85 -0
  47. package/baseline/memory/_templates/user.md +26 -0
  48. package/baseline/memory/project/gotchas.md +67 -0
  49. package/baseline/memory/project/project.md +92 -0
  50. package/baseline/memory/project/roadmap.md +142 -0
  51. package/baseline/memory/project/state.md +84 -0
  52. package/baseline/memory/project/tech-stack.md +53 -0
  53. package/baseline/memory/project/user.md +38 -0
  54. package/baseline/memory/research/benchmark-framework.md +162 -0
  55. package/baseline/memory/research/ccpm-analysis.md +334 -0
  56. package/baseline/memory/research/context-management-analysis.md +685 -0
  57. package/baseline/memory/research/effectiveness-audit.md +213 -0
  58. package/baseline/memory/research/opencode-mcp-bug-report.md +129 -0
  59. package/baseline/memory/research/openspec-analysis.md +226 -0
  60. package/baseline/memory/session-context.md +40 -0
  61. package/baseline/opencode.json +1431 -0
  62. package/baseline/opencode.json.tui-migration.bak +1380 -0
  63. package/baseline/package-lock.json +87 -0
  64. package/baseline/package.json +21 -0
  65. package/baseline/plans/1768385996691-silent-wizard.md +247 -0
  66. package/baseline/plans/1770006237537-mighty-otter.md +418 -0
  67. package/baseline/plans/1770006913647-glowing-forest.md +170 -0
  68. package/baseline/plans/1770013678126-witty-planet.md +278 -0
  69. package/baseline/plans/1770112267595-shiny-rocket.md +258 -0
  70. package/baseline/plans/swarm-protocol.md +123 -0
  71. package/baseline/plugin/README.md +70 -0
  72. package/baseline/plugin/copilot-auth.ts +607 -0
  73. package/baseline/plugin/lib/capture.ts +177 -0
  74. package/baseline/plugin/lib/context.ts +198 -0
  75. package/baseline/plugin/lib/curator.ts +234 -0
  76. package/baseline/plugin/lib/db/maintenance.ts +312 -0
  77. package/baseline/plugin/lib/db/observations.ts +299 -0
  78. package/baseline/plugin/lib/db/pipeline.ts +520 -0
  79. package/baseline/plugin/lib/db/schema.ts +356 -0
  80. package/baseline/plugin/lib/db/types.ts +211 -0
  81. package/baseline/plugin/lib/distill.ts +376 -0
  82. package/baseline/plugin/lib/inject.ts +126 -0
  83. package/baseline/plugin/lib/memory-admin-tools.ts +188 -0
  84. package/baseline/plugin/lib/memory-db.ts +58 -0
  85. package/baseline/plugin/lib/memory-helpers.ts +111 -0
  86. package/baseline/plugin/lib/memory-hooks.ts +195 -0
  87. package/baseline/plugin/lib/memory-tools.ts +341 -0
  88. package/baseline/plugin/lib/notify.ts +81 -0
  89. package/baseline/plugin/memory.ts +89 -0
  90. package/baseline/plugin/notification.ts.bak +64 -0
  91. package/baseline/plugin/package.json +7 -0
  92. package/baseline/plugin/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +178 -0
  93. package/baseline/plugin/sdk/copilot/chat/get-response-metadata.ts +15 -0
  94. package/baseline/plugin/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +19 -0
  95. package/baseline/plugin/sdk/copilot/chat/openai-compatible-api-types.ts +72 -0
  96. package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-language-model.ts +833 -0
  97. package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-options.ts +30 -0
  98. package/baseline/plugin/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +48 -0
  99. package/baseline/plugin/sdk/copilot/chat/openai-compatible-prepare-tools.ts +92 -0
  100. package/baseline/plugin/sdk/copilot/copilot-provider.ts +94 -0
  101. package/baseline/plugin/sdk/copilot/index.ts +5 -0
  102. package/baseline/plugin/sdk/copilot/openai-compatible-error.ts +30 -0
  103. package/baseline/plugin/sessions.ts +428 -0
  104. package/baseline/plugin/skill-mcp.ts +618 -0
  105. package/baseline/plugin/tsconfig.json +16 -0
  106. package/baseline/skill/accessibility-audit/SKILL.md +191 -0
  107. package/baseline/skill/agent-browser/SKILL.md +413 -0
  108. package/baseline/skill/agent-teams/SKILL.md +268 -0
  109. package/baseline/skill/augment-context-engine/SKILL.md +122 -0
  110. package/baseline/skill/augment-context-engine/mcp.json +6 -0
  111. package/baseline/skill/beads/SKILL.md +181 -0
  112. package/baseline/skill/beads/references/BEST_PRACTICES.md +27 -0
  113. package/baseline/skill/beads/references/BOUNDARIES.md +219 -0
  114. package/baseline/skill/beads/references/DEPENDENCIES.md +124 -0
  115. package/baseline/skill/beads/references/EXAMPLES.md +45 -0
  116. package/baseline/skill/beads/references/FILE_CLAIMING.md +101 -0
  117. package/baseline/skill/beads/references/GIT_SYNC.md +25 -0
  118. package/baseline/skill/beads/references/HIERARCHY.md +71 -0
  119. package/baseline/skill/beads/references/MULTI_AGENT.md +40 -0
  120. package/baseline/skill/beads/references/RESUMABILITY.md +177 -0
  121. package/baseline/skill/beads/references/SESSION_PROTOCOL.md +61 -0
  122. package/baseline/skill/beads/references/TASK_CREATION.md +38 -0
  123. package/baseline/skill/beads/references/TROUBLESHOOTING.md +38 -0
  124. package/baseline/skill/beads/references/WORKFLOWS.md +226 -0
  125. package/baseline/skill/beads-bridge/SKILL.md +321 -0
  126. package/baseline/skill/brainstorming/SKILL.md +114 -0
  127. package/baseline/skill/chrome-devtools/SKILL.md +76 -0
  128. package/baseline/skill/chrome-devtools/mcp.json +19 -0
  129. package/baseline/skill/cloudflare/SKILL.md +253 -0
  130. package/baseline/skill/cloudflare/references/agents-sdk/README.md +35 -0
  131. package/baseline/skill/cloudflare/references/agents-sdk/api.md +100 -0
  132. package/baseline/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
  133. package/baseline/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
  134. package/baseline/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
  135. package/baseline/skill/cloudflare/references/ai-gateway/README.md +695 -0
  136. package/baseline/skill/cloudflare/references/ai-search/README.md +14 -0
  137. package/baseline/skill/cloudflare/references/ai-search/api.md +38 -0
  138. package/baseline/skill/cloudflare/references/ai-search/configuration.md +52 -0
  139. package/baseline/skill/cloudflare/references/ai-search/gotchas.md +41 -0
  140. package/baseline/skill/cloudflare/references/ai-search/patterns.md +45 -0
  141. package/baseline/skill/cloudflare/references/analytics-engine/README.md +14 -0
  142. package/baseline/skill/cloudflare/references/analytics-engine/api.md +27 -0
  143. package/baseline/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
  144. package/baseline/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
  145. package/baseline/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
  146. package/baseline/skill/cloudflare/references/api/README.md +21 -0
  147. package/baseline/skill/cloudflare/references/api/api.md +31 -0
  148. package/baseline/skill/cloudflare/references/api/configuration.md +20 -0
  149. package/baseline/skill/cloudflare/references/api/gotchas.md +28 -0
  150. package/baseline/skill/cloudflare/references/api/patterns.md +47 -0
  151. package/baseline/skill/cloudflare/references/api-shield/README.md +20 -0
  152. package/baseline/skill/cloudflare/references/api-shield/api.md +78 -0
  153. package/baseline/skill/cloudflare/references/api-shield/configuration.md +128 -0
  154. package/baseline/skill/cloudflare/references/api-shield/gotchas.md +51 -0
  155. package/baseline/skill/cloudflare/references/api-shield/patterns.md +145 -0
  156. package/baseline/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
  157. package/baseline/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
  158. package/baseline/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  159. package/baseline/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  160. package/baseline/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  161. package/baseline/skill/cloudflare/references/bindings/README.md +14 -0
  162. package/baseline/skill/cloudflare/references/bindings/api.md +3 -0
  163. package/baseline/skill/cloudflare/references/bindings/configuration.md +58 -0
  164. package/baseline/skill/cloudflare/references/bindings/gotchas.md +35 -0
  165. package/baseline/skill/cloudflare/references/bindings/patterns.md +37 -0
  166. package/baseline/skill/cloudflare/references/bot-management/README.md +71 -0
  167. package/baseline/skill/cloudflare/references/bot-management/api.md +168 -0
  168. package/baseline/skill/cloudflare/references/bot-management/configuration.md +114 -0
  169. package/baseline/skill/cloudflare/references/bot-management/gotchas.md +99 -0
  170. package/baseline/skill/cloudflare/references/bot-management/patterns.md +125 -0
  171. package/baseline/skill/cloudflare/references/browser-rendering/README.md +16 -0
  172. package/baseline/skill/cloudflare/references/browser-rendering/api.md +54 -0
  173. package/baseline/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
  174. package/baseline/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
  175. package/baseline/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
  176. package/baseline/skill/cloudflare/references/c3/README.md +264 -0
  177. package/baseline/skill/cloudflare/references/cache-reserve/README.md +93 -0
  178. package/baseline/skill/cloudflare/references/cache-reserve/api.md +176 -0
  179. package/baseline/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
  180. package/baseline/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
  181. package/baseline/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
  182. package/baseline/skill/cloudflare/references/containers/README.md +16 -0
  183. package/baseline/skill/cloudflare/references/containers/api.md +43 -0
  184. package/baseline/skill/cloudflare/references/containers/configuration.md +56 -0
  185. package/baseline/skill/cloudflare/references/containers/gotchas.md +21 -0
  186. package/baseline/skill/cloudflare/references/containers/patterns.md +40 -0
  187. package/baseline/skill/cloudflare/references/cron-triggers/README.md +85 -0
  188. package/baseline/skill/cloudflare/references/cron-triggers/api.md +198 -0
  189. package/baseline/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
  190. package/baseline/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
  191. package/baseline/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
  192. package/baseline/skill/cloudflare/references/d1/README.md +92 -0
  193. package/baseline/skill/cloudflare/references/d1/api.md +141 -0
  194. package/baseline/skill/cloudflare/references/d1/configuration.md +127 -0
  195. package/baseline/skill/cloudflare/references/d1/gotchas.md +70 -0
  196. package/baseline/skill/cloudflare/references/d1/patterns.md +144 -0
  197. package/baseline/skill/cloudflare/references/ddos/README.md +34 -0
  198. package/baseline/skill/cloudflare/references/ddos/api.md +136 -0
  199. package/baseline/skill/cloudflare/references/ddos/configuration.md +67 -0
  200. package/baseline/skill/cloudflare/references/ddos/gotchas.md +114 -0
  201. package/baseline/skill/cloudflare/references/ddos/patterns.md +158 -0
  202. package/baseline/skill/cloudflare/references/do-storage/README.md +62 -0
  203. package/baseline/skill/cloudflare/references/do-storage/api.md +89 -0
  204. package/baseline/skill/cloudflare/references/do-storage/configuration.md +116 -0
  205. package/baseline/skill/cloudflare/references/do-storage/gotchas.md +93 -0
  206. package/baseline/skill/cloudflare/references/do-storage/patterns.md +112 -0
  207. package/baseline/skill/cloudflare/references/durable-objects/README.md +125 -0
  208. package/baseline/skill/cloudflare/references/durable-objects/api.md +152 -0
  209. package/baseline/skill/cloudflare/references/durable-objects/configuration.md +148 -0
  210. package/baseline/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
  211. package/baseline/skill/cloudflare/references/durable-objects/patterns.md +255 -0
  212. package/baseline/skill/cloudflare/references/email-routing/README.md +18 -0
  213. package/baseline/skill/cloudflare/references/email-routing/api.md +46 -0
  214. package/baseline/skill/cloudflare/references/email-routing/configuration.md +63 -0
  215. package/baseline/skill/cloudflare/references/email-routing/gotchas.md +16 -0
  216. package/baseline/skill/cloudflare/references/email-routing/patterns.md +46 -0
  217. package/baseline/skill/cloudflare/references/email-workers/README.md +598 -0
  218. package/baseline/skill/cloudflare/references/hyperdrive/README.md +62 -0
  219. package/baseline/skill/cloudflare/references/hyperdrive/api.md +137 -0
  220. package/baseline/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
  221. package/baseline/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
  222. package/baseline/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
  223. package/baseline/skill/cloudflare/references/images/README.md +14 -0
  224. package/baseline/skill/cloudflare/references/images/api.md +3 -0
  225. package/baseline/skill/cloudflare/references/images/configuration.md +45 -0
  226. package/baseline/skill/cloudflare/references/images/gotchas.md +23 -0
  227. package/baseline/skill/cloudflare/references/images/patterns.md +31 -0
  228. package/baseline/skill/cloudflare/references/kv/README.md +60 -0
  229. package/baseline/skill/cloudflare/references/kv/api.md +114 -0
  230. package/baseline/skill/cloudflare/references/kv/configuration.md +92 -0
  231. package/baseline/skill/cloudflare/references/kv/gotchas.md +117 -0
  232. package/baseline/skill/cloudflare/references/kv/patterns.md +139 -0
  233. package/baseline/skill/cloudflare/references/miniflare/README.md +64 -0
  234. package/baseline/skill/cloudflare/references/miniflare/api.md +144 -0
  235. package/baseline/skill/cloudflare/references/miniflare/configuration.md +203 -0
  236. package/baseline/skill/cloudflare/references/miniflare/gotchas.md +187 -0
  237. package/baseline/skill/cloudflare/references/miniflare/patterns.md +211 -0
  238. package/baseline/skill/cloudflare/references/network-interconnect/README.md +60 -0
  239. package/baseline/skill/cloudflare/references/network-interconnect/api.md +240 -0
  240. package/baseline/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
  241. package/baseline/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
  242. package/baseline/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
  243. package/baseline/skill/cloudflare/references/observability/README.md +18 -0
  244. package/baseline/skill/cloudflare/references/observability/api.md +51 -0
  245. package/baseline/skill/cloudflare/references/observability/configuration.md +60 -0
  246. package/baseline/skill/cloudflare/references/observability/gotchas.md +36 -0
  247. package/baseline/skill/cloudflare/references/observability/patterns.md +42 -0
  248. package/baseline/skill/cloudflare/references/pages/README.md +76 -0
  249. package/baseline/skill/cloudflare/references/pages/api.md +200 -0
  250. package/baseline/skill/cloudflare/references/pages/configuration.md +228 -0
  251. package/baseline/skill/cloudflare/references/pages/gotchas.md +161 -0
  252. package/baseline/skill/cloudflare/references/pages/patterns.md +145 -0
  253. package/baseline/skill/cloudflare/references/pages-functions/README.md +57 -0
  254. package/baseline/skill/cloudflare/references/pages-functions/api.md +201 -0
  255. package/baseline/skill/cloudflare/references/pages-functions/configuration.md +159 -0
  256. package/baseline/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
  257. package/baseline/skill/cloudflare/references/pages-functions/patterns.md +190 -0
  258. package/baseline/skill/cloudflare/references/pipelines/README.md +664 -0
  259. package/baseline/skill/cloudflare/references/pulumi/README.md +107 -0
  260. package/baseline/skill/cloudflare/references/pulumi/api.md +194 -0
  261. package/baseline/skill/cloudflare/references/pulumi/configuration.md +216 -0
  262. package/baseline/skill/cloudflare/references/pulumi/gotchas.md +223 -0
  263. package/baseline/skill/cloudflare/references/pulumi/patterns.md +139 -0
  264. package/baseline/skill/cloudflare/references/queues/README.md +69 -0
  265. package/baseline/skill/cloudflare/references/queues/api.md +138 -0
  266. package/baseline/skill/cloudflare/references/queues/configuration.md +125 -0
  267. package/baseline/skill/cloudflare/references/queues/gotchas.md +112 -0
  268. package/baseline/skill/cloudflare/references/queues/patterns.md +155 -0
  269. package/baseline/skill/cloudflare/references/r2/README.md +61 -0
  270. package/baseline/skill/cloudflare/references/r2/api.md +127 -0
  271. package/baseline/skill/cloudflare/references/r2/configuration.md +76 -0
  272. package/baseline/skill/cloudflare/references/r2/gotchas.md +94 -0
  273. package/baseline/skill/cloudflare/references/r2/patterns.md +127 -0
  274. package/baseline/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
  275. package/baseline/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
  276. package/baseline/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  277. package/baseline/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  278. package/baseline/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  279. package/baseline/skill/cloudflare/references/r2-sql/README.md +512 -0
  280. package/baseline/skill/cloudflare/references/realtime-sfu/README.md +21 -0
  281. package/baseline/skill/cloudflare/references/realtime-sfu/api.md +135 -0
  282. package/baseline/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
  283. package/baseline/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  284. package/baseline/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
  285. package/baseline/skill/cloudflare/references/realtimekit/README.md +81 -0
  286. package/baseline/skill/cloudflare/references/realtimekit/api.md +164 -0
  287. package/baseline/skill/cloudflare/references/realtimekit/configuration.md +147 -0
  288. package/baseline/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
  289. package/baseline/skill/cloudflare/references/realtimekit/patterns.md +155 -0
  290. package/baseline/skill/cloudflare/references/sandbox/README.md +90 -0
  291. package/baseline/skill/cloudflare/references/sandbox/api.md +178 -0
  292. package/baseline/skill/cloudflare/references/sandbox/configuration.md +131 -0
  293. package/baseline/skill/cloudflare/references/sandbox/gotchas.md +156 -0
  294. package/baseline/skill/cloudflare/references/sandbox/patterns.md +203 -0
  295. package/baseline/skill/cloudflare/references/secrets-store/README.md +58 -0
  296. package/baseline/skill/cloudflare/references/secrets-store/api.md +182 -0
  297. package/baseline/skill/cloudflare/references/secrets-store/configuration.md +140 -0
  298. package/baseline/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
  299. package/baseline/skill/cloudflare/references/secrets-store/patterns.md +218 -0
  300. package/baseline/skill/cloudflare/references/smart-placement/README.md +91 -0
  301. package/baseline/skill/cloudflare/references/smart-placement/api.md +139 -0
  302. package/baseline/skill/cloudflare/references/smart-placement/configuration.md +129 -0
  303. package/baseline/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
  304. package/baseline/skill/cloudflare/references/smart-placement/patterns.md +135 -0
  305. package/baseline/skill/cloudflare/references/snippets/README.md +15 -0
  306. package/baseline/skill/cloudflare/references/snippets/api.md +47 -0
  307. package/baseline/skill/cloudflare/references/snippets/configuration.md +33 -0
  308. package/baseline/skill/cloudflare/references/snippets/gotchas.md +21 -0
  309. package/baseline/skill/cloudflare/references/snippets/patterns.md +34 -0
  310. package/baseline/skill/cloudflare/references/spectrum/README.md +16 -0
  311. package/baseline/skill/cloudflare/references/spectrum/api.md +24 -0
  312. package/baseline/skill/cloudflare/references/spectrum/configuration.md +43 -0
  313. package/baseline/skill/cloudflare/references/spectrum/gotchas.md +42 -0
  314. package/baseline/skill/cloudflare/references/spectrum/patterns.md +40 -0
  315. package/baseline/skill/cloudflare/references/static-assets/README.md +14 -0
  316. package/baseline/skill/cloudflare/references/static-assets/api.md +3 -0
  317. package/baseline/skill/cloudflare/references/static-assets/configuration.md +47 -0
  318. package/baseline/skill/cloudflare/references/static-assets/gotchas.md +44 -0
  319. package/baseline/skill/cloudflare/references/static-assets/patterns.md +42 -0
  320. package/baseline/skill/cloudflare/references/stream/README.md +103 -0
  321. package/baseline/skill/cloudflare/references/stream/api.md +204 -0
  322. package/baseline/skill/cloudflare/references/stream/configuration.md +127 -0
  323. package/baseline/skill/cloudflare/references/stream/gotchas.md +131 -0
  324. package/baseline/skill/cloudflare/references/stream/patterns.md +152 -0
  325. package/baseline/skill/cloudflare/references/tail-workers/README.md +640 -0
  326. package/baseline/skill/cloudflare/references/terraform/README.md +76 -0
  327. package/baseline/skill/cloudflare/references/terraform/api.md +159 -0
  328. package/baseline/skill/cloudflare/references/terraform/configuration.md +156 -0
  329. package/baseline/skill/cloudflare/references/terraform/gotchas.md +207 -0
  330. package/baseline/skill/cloudflare/references/terraform/patterns.md +135 -0
  331. package/baseline/skill/cloudflare/references/tunnel/README.md +82 -0
  332. package/baseline/skill/cloudflare/references/tunnel/api.md +105 -0
  333. package/baseline/skill/cloudflare/references/tunnel/configuration.md +113 -0
  334. package/baseline/skill/cloudflare/references/tunnel/gotchas.md +115 -0
  335. package/baseline/skill/cloudflare/references/tunnel/patterns.md +157 -0
  336. package/baseline/skill/cloudflare/references/turn/README.md +699 -0
  337. package/baseline/skill/cloudflare/references/turnstile/README.md +14 -0
  338. package/baseline/skill/cloudflare/references/turnstile/api.md +3 -0
  339. package/baseline/skill/cloudflare/references/turnstile/configuration.md +19 -0
  340. package/baseline/skill/cloudflare/references/turnstile/gotchas.md +27 -0
  341. package/baseline/skill/cloudflare/references/turnstile/patterns.md +41 -0
  342. package/baseline/skill/cloudflare/references/vectorize/README.md +682 -0
  343. package/baseline/skill/cloudflare/references/waf/README.md +14 -0
  344. package/baseline/skill/cloudflare/references/waf/api.md +3 -0
  345. package/baseline/skill/cloudflare/references/waf/configuration.md +44 -0
  346. package/baseline/skill/cloudflare/references/waf/gotchas.md +24 -0
  347. package/baseline/skill/cloudflare/references/waf/patterns.md +29 -0
  348. package/baseline/skill/cloudflare/references/web-analytics/README.md +19 -0
  349. package/baseline/skill/cloudflare/references/web-analytics/api.md +52 -0
  350. package/baseline/skill/cloudflare/references/web-analytics/configuration.md +31 -0
  351. package/baseline/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
  352. package/baseline/skill/cloudflare/references/web-analytics/patterns.md +52 -0
  353. package/baseline/skill/cloudflare/references/workerd/README.md +47 -0
  354. package/baseline/skill/cloudflare/references/workerd/api.md +199 -0
  355. package/baseline/skill/cloudflare/references/workerd/configuration.md +185 -0
  356. package/baseline/skill/cloudflare/references/workerd/gotchas.md +203 -0
  357. package/baseline/skill/cloudflare/references/workerd/patterns.md +216 -0
  358. package/baseline/skill/cloudflare/references/workers/README.md +96 -0
  359. package/baseline/skill/cloudflare/references/workers/api.md +137 -0
  360. package/baseline/skill/cloudflare/references/workers/configuration.md +147 -0
  361. package/baseline/skill/cloudflare/references/workers/gotchas.md +99 -0
  362. package/baseline/skill/cloudflare/references/workers/patterns.md +149 -0
  363. package/baseline/skill/cloudflare/references/workers-ai/README.md +116 -0
  364. package/baseline/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
  365. package/baseline/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
  366. package/baseline/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  367. package/baseline/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  368. package/baseline/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  369. package/baseline/skill/cloudflare/references/workers-playground/README.md +16 -0
  370. package/baseline/skill/cloudflare/references/workers-playground/api.md +20 -0
  371. package/baseline/skill/cloudflare/references/workers-playground/configuration.md +3 -0
  372. package/baseline/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
  373. package/baseline/skill/cloudflare/references/workers-playground/patterns.md +42 -0
  374. package/baseline/skill/cloudflare/references/workers-vpc/README.md +579 -0
  375. package/baseline/skill/cloudflare/references/workflows/README.md +62 -0
  376. package/baseline/skill/cloudflare/references/workflows/api.md +125 -0
  377. package/baseline/skill/cloudflare/references/workflows/configuration.md +177 -0
  378. package/baseline/skill/cloudflare/references/workflows/gotchas.md +136 -0
  379. package/baseline/skill/cloudflare/references/workflows/patterns.md +132 -0
  380. package/baseline/skill/cloudflare/references/wrangler/README.md +90 -0
  381. package/baseline/skill/cloudflare/references/wrangler/api.md +140 -0
  382. package/baseline/skill/cloudflare/references/wrangler/configuration.md +128 -0
  383. package/baseline/skill/cloudflare/references/wrangler/gotchas.md +93 -0
  384. package/baseline/skill/cloudflare/references/wrangler/patterns.md +150 -0
  385. package/baseline/skill/cloudflare/references/zaraz/README.md +360 -0
  386. package/baseline/skill/code-navigation/SKILL.md +130 -0
  387. package/baseline/skill/compaction/SKILL.md +317 -0
  388. package/baseline/skill/condition-based-waiting/SKILL.md +123 -0
  389. package/baseline/skill/condition-based-waiting/example.ts +158 -0
  390. package/baseline/skill/context-engineering/SKILL.md +176 -0
  391. package/baseline/skill/context-initialization/SKILL.md +70 -0
  392. package/baseline/skill/context-management/SKILL.md +163 -0
  393. package/baseline/skill/core-data-expert/SKILL.md +93 -0
  394. package/baseline/skill/core-data-expert/references/batch-operations.md +543 -0
  395. package/baseline/skill/core-data-expert/references/cloudkit-integration.md +259 -0
  396. package/baseline/skill/core-data-expert/references/concurrency.md +522 -0
  397. package/baseline/skill/core-data-expert/references/fetch-requests.md +643 -0
  398. package/baseline/skill/core-data-expert/references/glossary.md +233 -0
  399. package/baseline/skill/core-data-expert/references/migration.md +393 -0
  400. package/baseline/skill/core-data-expert/references/model-configuration.md +597 -0
  401. package/baseline/skill/core-data-expert/references/performance.md +300 -0
  402. package/baseline/skill/core-data-expert/references/persistent-history.md +553 -0
  403. package/baseline/skill/core-data-expert/references/project-audit.md +60 -0
  404. package/baseline/skill/core-data-expert/references/saving.md +574 -0
  405. package/baseline/skill/core-data-expert/references/stack-setup.md +625 -0
  406. package/baseline/skill/core-data-expert/references/testing.md +300 -0
  407. package/baseline/skill/core-data-expert/references/threading.md +589 -0
  408. package/baseline/skill/deep-research/SKILL.md +384 -0
  409. package/baseline/skill/defense-in-depth/SKILL.md +166 -0
  410. package/baseline/skill/design-system-audit/SKILL.md +153 -0
  411. package/baseline/skill/development-lifecycle/SKILL.md +356 -0
  412. package/baseline/skill/dispatching-parallel-agents/SKILL.md +191 -0
  413. package/baseline/skill/executing-plans/SKILL.md +247 -0
  414. package/baseline/skill/figma/SKILL.md +224 -0
  415. package/baseline/skill/finishing-a-development-branch/SKILL.md +357 -0
  416. package/baseline/skill/frontend-design/SKILL.md +235 -0
  417. package/baseline/skill/frontend-design/references/animation/motion-advanced.md +224 -0
  418. package/baseline/skill/frontend-design/references/animation/motion-core.md +181 -0
  419. package/baseline/skill/frontend-design/references/canvas/execution.md +90 -0
  420. package/baseline/skill/frontend-design/references/canvas/philosophy.md +94 -0
  421. package/baseline/skill/frontend-design/references/design/color-system.md +111 -0
  422. package/baseline/skill/frontend-design/references/design/interaction.md +149 -0
  423. package/baseline/skill/frontend-design/references/design/typography-rules.md +106 -0
  424. package/baseline/skill/frontend-design/references/design/ux-writing.md +99 -0
  425. package/baseline/skill/frontend-design/references/shadcn/accessibility.md +132 -0
  426. package/baseline/skill/frontend-design/references/shadcn/core-components.md +153 -0
  427. package/baseline/skill/frontend-design/references/shadcn/form-components.md +158 -0
  428. package/baseline/skill/frontend-design/references/shadcn/setup.md +69 -0
  429. package/baseline/skill/frontend-design/references/shadcn/theming.md +152 -0
  430. package/baseline/skill/frontend-design/references/tailwind/responsive.md +112 -0
  431. package/baseline/skill/frontend-design/references/tailwind/utilities-layout.md +134 -0
  432. package/baseline/skill/frontend-design/references/tailwind/utilities-styling.md +165 -0
  433. package/baseline/skill/frontend-design/references/tailwind/v4-config.md +147 -0
  434. package/baseline/skill/frontend-design/references/tailwind/v4-features.md +128 -0
  435. package/baseline/skill/gemini-large-context/SKILL.md +216 -0
  436. package/baseline/skill/index-knowledge/SKILL.md +413 -0
  437. package/baseline/skill/jira/SKILL.md +283 -0
  438. package/baseline/skill/jira/mcp.json +6 -0
  439. package/baseline/skill/memory-system/SKILL.md +84 -0
  440. package/baseline/skill/mockup-to-code/SKILL.md +184 -0
  441. package/baseline/skill/mqdh/SKILL.md +171 -0
  442. package/baseline/skill/obsidian/SKILL.md +192 -0
  443. package/baseline/skill/obsidian/mcp.json +22 -0
  444. package/baseline/skill/opensrc/SKILL.md +127 -0
  445. package/baseline/skill/opensrc/references/architecture.md +176 -0
  446. package/baseline/skill/opensrc/references/cli-usage.md +176 -0
  447. package/baseline/skill/opensrc/references/registry-support.md +137 -0
  448. package/baseline/skill/pdf-extract/SKILL.md +438 -0
  449. package/baseline/skill/playwright/SKILL.md +320 -0
  450. package/baseline/skill/playwright/mcp.json +16 -0
  451. package/baseline/skill/playwriter/SKILL.md +158 -0
  452. package/baseline/skill/polar/SKILL.md +102 -0
  453. package/baseline/skill/prd/SKILL.md +146 -0
  454. package/baseline/skill/prd-task/SKILL.md +182 -0
  455. package/baseline/skill/prd-task/references/prd-schema.json +124 -0
  456. package/baseline/skill/ralph/SKILL.md +296 -0
  457. package/baseline/skill/react-best-practices/AGENTS.md +2410 -0
  458. package/baseline/skill/react-best-practices/README.md +123 -0
  459. package/baseline/skill/react-best-practices/SKILL.md +133 -0
  460. package/baseline/skill/react-best-practices/metadata.json +15 -0
  461. package/baseline/skill/react-best-practices/rules/_sections.md +46 -0
  462. package/baseline/skill/react-best-practices/rules/_template.md +28 -0
  463. package/baseline/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  464. package/baseline/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
  465. package/baseline/skill/react-best-practices/rules/async-api-routes.md +38 -0
  466. package/baseline/skill/react-best-practices/rules/async-defer-await.md +80 -0
  467. package/baseline/skill/react-best-practices/rules/async-dependencies.md +36 -0
  468. package/baseline/skill/react-best-practices/rules/async-parallel.md +28 -0
  469. package/baseline/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  470. package/baseline/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  471. package/baseline/skill/react-best-practices/rules/bundle-conditional.md +31 -0
  472. package/baseline/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  473. package/baseline/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  474. package/baseline/skill/react-best-practices/rules/bundle-preload.md +50 -0
  475. package/baseline/skill/react-best-practices/rules/client-event-listeners.md +74 -0
  476. package/baseline/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
  477. package/baseline/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  478. package/baseline/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
  479. package/baseline/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
  480. package/baseline/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
  481. package/baseline/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
  482. package/baseline/skill/react-best-practices/rules/js-cache-storage.md +70 -0
  483. package/baseline/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
  484. package/baseline/skill/react-best-practices/rules/js-early-exit.md +50 -0
  485. package/baseline/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
  486. package/baseline/skill/react-best-practices/rules/js-index-maps.md +37 -0
  487. package/baseline/skill/react-best-practices/rules/js-length-check-first.md +49 -0
  488. package/baseline/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
  489. package/baseline/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
  490. package/baseline/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  491. package/baseline/skill/react-best-practices/rules/rendering-activity.md +26 -0
  492. package/baseline/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  493. package/baseline/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
  494. package/baseline/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
  495. package/baseline/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  496. package/baseline/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  497. package/baseline/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
  498. package/baseline/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
  499. package/baseline/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
  500. package/baseline/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
  501. package/baseline/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  502. package/baseline/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  503. package/baseline/skill/react-best-practices/rules/rerender-memo.md +44 -0
  504. package/baseline/skill/react-best-practices/rules/rerender-transitions.md +40 -0
  505. package/baseline/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
  506. package/baseline/skill/react-best-practices/rules/server-cache-lru.md +41 -0
  507. package/baseline/skill/react-best-practices/rules/server-cache-react.md +76 -0
  508. package/baseline/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
  509. package/baseline/skill/react-best-practices/rules/server-serialization.md +38 -0
  510. package/baseline/skill/receiving-code-review/SKILL.md +252 -0
  511. package/baseline/skill/requesting-code-review/SKILL.md +397 -0
  512. package/baseline/skill/requesting-code-review/review.md +160 -0
  513. package/baseline/skill/resend/SKILL.md +177 -0
  514. package/baseline/skill/resend/references/react-email.md +287 -0
  515. package/baseline/skill/resend/references/receive-email.md +248 -0
  516. package/baseline/skill/resend/references/send-email.md +318 -0
  517. package/baseline/skill/root-cause-tracing/SKILL.md +192 -0
  518. package/baseline/skill/root-cause-tracing/find-polluter.sh +63 -0
  519. package/baseline/skill/session-management/SKILL.md +9 -0
  520. package/baseline/skill/sharing-skills/SKILL.md +214 -0
  521. package/baseline/skill/skill-creator/SKILL.md +156 -0
  522. package/baseline/skill/source-code-research/SKILL.md +293 -0
  523. package/baseline/skill/source-code-research/references/analysis-tips.md +43 -0
  524. package/baseline/skill/source-code-research/references/anti-patterns.md +36 -0
  525. package/baseline/skill/source-code-research/references/common-patterns.md +57 -0
  526. package/baseline/skill/source-code-research/references/example-workflow.md +60 -0
  527. package/baseline/skill/source-code-research/references/further-reading.md +5 -0
  528. package/baseline/skill/source-code-research/references/source-structure.md +45 -0
  529. package/baseline/skill/stitch/SKILL.md +147 -0
  530. package/baseline/skill/stitch/mcp.json +9 -0
  531. package/baseline/skill/structured-edit/SKILL.md +181 -0
  532. package/baseline/skill/subagent-driven-development/SKILL.md +237 -0
  533. package/baseline/skill/supabase/SKILL.md +130 -0
  534. package/baseline/skill/supabase/mcp.json +27 -0
  535. package/baseline/skill/supabase-postgres-best-practices/AGENTS.md +1490 -0
  536. package/baseline/skill/supabase-postgres-best-practices/SKILL.md +65 -0
  537. package/baseline/skill/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  538. package/baseline/skill/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  539. package/baseline/skill/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  540. package/baseline/skill/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
  541. package/baseline/skill/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
  542. package/baseline/skill/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  543. package/baseline/skill/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
  544. package/baseline/skill/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
  545. package/baseline/skill/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
  546. package/baseline/skill/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
  547. package/baseline/skill/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
  548. package/baseline/skill/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  549. package/baseline/skill/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
  550. package/baseline/skill/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
  551. package/baseline/skill/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  552. package/baseline/skill/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  553. package/baseline/skill/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  554. package/baseline/skill/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
  555. package/baseline/skill/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
  556. package/baseline/skill/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
  557. package/baseline/skill/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
  558. package/baseline/skill/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
  559. package/baseline/skill/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
  560. package/baseline/skill/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  561. package/baseline/skill/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  562. package/baseline/skill/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
  563. package/baseline/skill/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
  564. package/baseline/skill/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
  565. package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
  566. package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
  567. package/baseline/skill/swarm-coordination/SKILL.md +179 -0
  568. package/baseline/skill/swarm-coordination/references/architecture.md +39 -0
  569. package/baseline/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
  570. package/baseline/skill/swarm-coordination/references/dependency-graph.md +50 -0
  571. package/baseline/skill/swarm-coordination/references/drift-check.md +90 -0
  572. package/baseline/skill/swarm-coordination/references/integration-beads.md +20 -0
  573. package/baseline/skill/swarm-coordination/references/launch-flow.md +186 -0
  574. package/baseline/skill/swarm-coordination/references/reconciler.md +172 -0
  575. package/baseline/skill/swarm-coordination/references/tier-enforcement.md +78 -0
  576. package/baseline/skill/swarm-coordination/references/tmux-integration.md +134 -0
  577. package/baseline/skill/swift-concurrency/SKILL.md +266 -0
  578. package/baseline/skill/swift-concurrency/references/actors.md +640 -0
  579. package/baseline/skill/swift-concurrency/references/async-algorithms.md +822 -0
  580. package/baseline/skill/swift-concurrency/references/async-await-basics.md +249 -0
  581. package/baseline/skill/swift-concurrency/references/async-sequences.md +670 -0
  582. package/baseline/skill/swift-concurrency/references/core-data.md +533 -0
  583. package/baseline/skill/swift-concurrency/references/glossary.md +128 -0
  584. package/baseline/skill/swift-concurrency/references/linting.md +142 -0
  585. package/baseline/skill/swift-concurrency/references/memory-management.md +542 -0
  586. package/baseline/skill/swift-concurrency/references/migration.md +1076 -0
  587. package/baseline/skill/swift-concurrency/references/performance.md +574 -0
  588. package/baseline/skill/swift-concurrency/references/sendable.md +578 -0
  589. package/baseline/skill/swift-concurrency/references/tasks.md +604 -0
  590. package/baseline/skill/swift-concurrency/references/testing.md +565 -0
  591. package/baseline/skill/swift-concurrency/references/threading.md +452 -0
  592. package/baseline/skill/swiftui-expert-skill/SKILL.md +329 -0
  593. package/baseline/skill/swiftui-expert-skill/references/animation-advanced.md +351 -0
  594. package/baseline/skill/swiftui-expert-skill/references/animation-basics.md +284 -0
  595. package/baseline/skill/swiftui-expert-skill/references/animation-transitions.md +326 -0
  596. package/baseline/skill/swiftui-expert-skill/references/image-optimization.md +286 -0
  597. package/baseline/skill/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  598. package/baseline/skill/swiftui-expert-skill/references/liquid-glass.md +377 -0
  599. package/baseline/skill/swiftui-expert-skill/references/list-patterns.md +153 -0
  600. package/baseline/skill/swiftui-expert-skill/references/modern-apis.md +400 -0
  601. package/baseline/skill/swiftui-expert-skill/references/performance-patterns.md +377 -0
  602. package/baseline/skill/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  603. package/baseline/skill/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  604. package/baseline/skill/swiftui-expert-skill/references/state-management.md +447 -0
  605. package/baseline/skill/swiftui-expert-skill/references/text-formatting.md +285 -0
  606. package/baseline/skill/swiftui-expert-skill/references/view-structure.md +276 -0
  607. package/baseline/skill/systematic-debugging/SKILL.md +402 -0
  608. package/baseline/skill/test-driven-development/SKILL.md +388 -0
  609. package/baseline/skill/testing-anti-patterns/SKILL.md +333 -0
  610. package/baseline/skill/testing-skills-with-subagents/SKILL.md +405 -0
  611. package/baseline/skill/tilth-cli/SKILL.md +180 -0
  612. package/baseline/skill/tool-priority/SKILL.md +299 -0
  613. package/baseline/skill/ui-ux-research/SKILL.md +9 -0
  614. package/baseline/skill/using-git-worktrees/SKILL.md +259 -0
  615. package/baseline/skill/using-skills/SKILL.md +117 -0
  616. package/baseline/skill/v0/SKILL.md +158 -0
  617. package/baseline/skill/v1-run/SKILL.md +175 -0
  618. package/baseline/skill/v1-run/mcp.json +6 -0
  619. package/baseline/skill/vercel-deploy-claimable/SKILL.md +124 -0
  620. package/baseline/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  621. package/baseline/skill/verification-before-completion/SKILL.md +236 -0
  622. package/baseline/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +171 -0
  623. package/baseline/skill/visual-analysis/SKILL.md +154 -0
  624. package/baseline/skill/web-design-guidelines/SKILL.md +46 -0
  625. package/baseline/skill/writing-plans/SKILL.md +320 -0
  626. package/baseline/skill/writing-skills/SKILL.md +287 -0
  627. package/baseline/skill/writing-skills/anthropic-best-practices.md +1173 -0
  628. package/baseline/skill/writing-skills/graphviz-conventions.dot +172 -0
  629. package/baseline/skill/writing-skills/persuasion-principles.md +220 -0
  630. package/baseline/skill/writing-skills/references/anti-patterns.md +25 -0
  631. package/baseline/skill/writing-skills/references/claude-search-optimization.md +140 -0
  632. package/baseline/skill/writing-skills/references/discovery-workflow.md +11 -0
  633. package/baseline/skill/writing-skills/references/file-organization.md +32 -0
  634. package/baseline/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
  635. package/baseline/skill/writing-skills/references/rationalization-hardening.md +75 -0
  636. package/baseline/skill/writing-skills/references/testing-skill-types.md +52 -0
  637. package/baseline/tool/context7.ts +191 -0
  638. package/baseline/tool/grepsearch.ts +143 -0
  639. package/baseline/tsconfig.json +21 -0
  640. package/baseline/tui.json +15 -0
  641. package/bin/mrc-opc.mjs +25 -0
  642. package/bin/ocp.mjs +25 -0
  643. package/bin/opc.mjs +25 -0
  644. package/bin/opencode-starterkit.mjs +25 -0
  645. package/docs/reports/2026-03-18-memory-db-architecture-note.md +47 -0
  646. package/docs/reports/2026-03-18-vat-opencode-classification-matrix.md +180 -0
  647. package/package.json +25 -0
  648. package/src/cli.mjs +41 -0
  649. package/src/config-merge.mjs +61 -0
  650. package/src/constants.mjs +58 -0
  651. package/src/fs-utils.mjs +46 -0
  652. package/src/install-global.mjs +102 -0
  653. package/src/install-project.mjs +81 -0
  654. package/src/memory-bootstrap.mjs +29 -0
  655. package/src/prompt.mjs +31 -0
  656. package/src/templates.mjs +31 -0
@@ -0,0 +1,578 @@
1
+ # Sendable
2
+
3
+ Type safety patterns for sharing data across concurrency boundaries.
4
+
5
+ ## What is Sendable?
6
+
7
+ `Sendable` indicates a type is safe to share across isolation domains (actors, tasks, threads). The compiler verifies thread-safety at compile time.
8
+
9
+ ```swift
10
+ public protocol Sendable {}
11
+ ```
12
+
13
+ Empty protocol, but triggers compiler verification of thread-safety.
14
+
15
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.1: Explaining the concept of Sendable in Swift](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
16
+
17
+ ## Isolation Domains
18
+
19
+ Three types of isolation in Swift Concurrency:
20
+
21
+ ### 1. Nonisolated (default)
22
+
23
+ No concurrency restrictions, but can't modify isolated state:
24
+
25
+ ```swift
26
+ func computeValue(a: Int, b: Int) -> Int {
27
+ return a + b
28
+ }
29
+ ```
30
+
31
+ ### 2. Actor-isolated
32
+
33
+ Dedicated isolation domain with serialized access:
34
+
35
+ ```swift
36
+ actor Library {
37
+ var books: [String] = []
38
+
39
+ func addBook(_ title: String) {
40
+ books.append(title)
41
+ }
42
+ }
43
+
44
+ // External access requires await
45
+ await library.addBook("Swift Concurrency")
46
+ ```
47
+
48
+ ### 3. Global actor-isolated
49
+
50
+ Shared isolation domain across types:
51
+
52
+ ```swift
53
+ @MainActor
54
+ func updateUI() {
55
+ // Runs on main thread
56
+ }
57
+ ```
58
+
59
+ ## Data Races vs Race Conditions
60
+
61
+ ### Data Race
62
+
63
+ Multiple threads access shared mutable state, at least one writes, without synchronization:
64
+
65
+ ```swift
66
+ // ⚠️ Data race
67
+ var counter = 0
68
+ DispatchQueue.global().async { counter += 1 }
69
+ DispatchQueue.global().async { counter += 1 }
70
+ ```
71
+
72
+ **Detection**: Enable Thread Sanitizer in scheme settings.
73
+
74
+ **Prevention**: Use actors or Sendable types:
75
+
76
+ ```swift
77
+ actor Counter {
78
+ private var value = 0
79
+
80
+ func increment() {
81
+ value += 1
82
+ }
83
+ }
84
+ ```
85
+
86
+ ### Race Condition
87
+
88
+ Timing-dependent behavior leading to unpredictable results:
89
+
90
+ ```swift
91
+ let counter = Counter()
92
+
93
+ for _ in 1...10 {
94
+ Task { await counter.increment() }
95
+ }
96
+
97
+ // May print inconsistent values
98
+ print(await counter.getValue())
99
+ ```
100
+
101
+ **Key difference**: Swift Concurrency prevents data races but not race conditions. You must still ensure proper sequencing.
102
+
103
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.2: Understanding Data Races vs. Race Conditions: Key Differences Explained](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
104
+
105
+ ## Value Types (Structs, Enums)
106
+
107
+ ### Implicit conformance
108
+
109
+ Non-public structs/enums with Sendable members:
110
+
111
+ ```swift
112
+ // Implicitly Sendable
113
+ struct Person {
114
+ var name: String
115
+ }
116
+ ```
117
+
118
+ ### Explicit conformance required
119
+
120
+ Public types need explicit declaration:
121
+
122
+ ```swift
123
+ public struct Person: Sendable {
124
+ var name: String
125
+ }
126
+ ```
127
+
128
+ **Why**: Compiler can't verify internal details of public types across modules.
129
+
130
+ ### Frozen types
131
+
132
+ Public frozen types can be implicitly Sendable:
133
+
134
+ ```swift
135
+ @frozen
136
+ public struct Point: Sendable {
137
+ public var x: Double
138
+ public var y: Double
139
+ }
140
+ ```
141
+
142
+ ### All members must be Sendable
143
+
144
+ ```swift
145
+ public struct Person: Sendable {
146
+ var name: String
147
+ var hometown: Location // Must also be Sendable
148
+ }
149
+
150
+ public struct Location: Sendable {
151
+ var name: String
152
+ }
153
+ ```
154
+
155
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.3: Conforming your code to the Sendable protocol](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
156
+
157
+ ### Copy-on-write makes mutability safe
158
+
159
+ ```swift
160
+ public struct Person: Sendable {
161
+ var name: String // Mutable but safe due to COW
162
+ }
163
+ ```
164
+
165
+ Each mutation creates a copy, preventing concurrent access to same instance.
166
+
167
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.4: Sendable and Value Types](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
168
+
169
+ ## Reference Types (Classes)
170
+
171
+ ### Requirements for Sendable classes
172
+
173
+ Must be:
174
+ 1. `final` (no inheritance)
175
+ 2. Immutable stored properties only
176
+ 3. All properties Sendable
177
+ 4. No superclass or `NSObject` only
178
+
179
+ ```swift
180
+ final class User: Sendable {
181
+ let name: String
182
+ let id: Int
183
+
184
+ init(name: String, id: Int) {
185
+ self.name = name
186
+ self.id = id
187
+ }
188
+ }
189
+ ```
190
+
191
+ ### Why non-final classes can't be Sendable
192
+
193
+ Child classes could introduce unsafe mutability:
194
+
195
+ ```swift
196
+ // Can't be Sendable
197
+ class Purchaser {
198
+ func purchase() { }
199
+ }
200
+
201
+ // Could introduce data races
202
+ class GamePurchaser: Purchaser {
203
+ var credits: Int = 0 // Mutable!
204
+ }
205
+ ```
206
+
207
+ ### Actor isolation makes classes Sendable
208
+
209
+ ```swift
210
+ @MainActor
211
+ class ViewModel {
212
+ var data: [Item] = [] // Safe due to actor isolation
213
+ }
214
+ // Implicitly Sendable
215
+ ```
216
+
217
+ ### Composition over inheritance
218
+
219
+ ```swift
220
+ final class Purchaser: Sendable {
221
+ func purchase() { }
222
+ }
223
+
224
+ final class GamePurchaser {
225
+ let purchaser: Purchaser = Purchaser()
226
+ // Handle credits separately
227
+ }
228
+ ```
229
+
230
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.5: Sendable and Reference Types](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
231
+
232
+ ## Functions and Closures (@Sendable)
233
+
234
+ Mark functions/closures that cross isolation domains:
235
+
236
+ ```swift
237
+ actor ContactsStore {
238
+ func removeAll(_ shouldRemove: @Sendable (Contact) -> Bool) async {
239
+ contacts.removeAll { shouldRemove($0) }
240
+ }
241
+ }
242
+ ```
243
+
244
+ ### Captured values must be Sendable
245
+
246
+ ```swift
247
+ let query = "search"
248
+
249
+ // ✅ Immutable capture
250
+ store.filter { contact in
251
+ contact.name.contains(query)
252
+ }
253
+
254
+ var query = "search"
255
+
256
+ // ❌ Mutable capture
257
+ store.filter { contact in
258
+ contact.name.contains(query) // Error
259
+ }
260
+ ```
261
+
262
+ ### Capture lists for mutable values
263
+
264
+ ```swift
265
+ var query = "search"
266
+
267
+ // ✅ Capture immutable snapshot
268
+ store.filter { [query] contact in
269
+ contact.name.contains(query)
270
+ }
271
+ ```
272
+
273
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.6: Using @Sendable with closures](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
274
+
275
+ ## @unchecked Sendable
276
+
277
+ **Use as last resort.** Tells compiler to skip verification—you guarantee thread-safety.
278
+
279
+ ### When to use
280
+
281
+ Manual locking mechanisms the compiler can't verify:
282
+
283
+ ```swift
284
+ final class Cache: @unchecked Sendable {
285
+ private let lock = NSLock()
286
+ private var items: [String: Data] = [:]
287
+
288
+ func get(_ key: String) -> Data? {
289
+ lock.lock()
290
+ defer { lock.unlock() }
291
+ return items[key]
292
+ }
293
+
294
+ func set(_ key: String, value: Data) {
295
+ lock.lock()
296
+ defer { lock.unlock() }
297
+ items[key] = value
298
+ }
299
+ }
300
+ ```
301
+
302
+ ### Risks
303
+
304
+ - No compile-time safety
305
+ - Easy to introduce data races
306
+ - Must manually ensure all access uses lock
307
+
308
+ ```swift
309
+ final class Cache: @unchecked Sendable {
310
+ private let lock = NSLock()
311
+ private var items: [String: Data] = [:]
312
+
313
+ // ⚠️ Forgot lock - data race!
314
+ var count: Int {
315
+ items.count
316
+ }
317
+ }
318
+ ```
319
+
320
+ **Better**: Use actor instead:
321
+
322
+ ```swift
323
+ actor Cache {
324
+ private var items: [String: Data] = [:]
325
+
326
+ var count: Int { items.count }
327
+
328
+ func get(_ key: String) -> Data? {
329
+ items[key]
330
+ }
331
+
332
+ func set(_ key: String, value: Data) {
333
+ items[key] = value
334
+ }
335
+ }
336
+ ```
337
+
338
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.7: Using @unchecked Sendable](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
339
+
340
+ ## Region-Based Isolation
341
+
342
+ Compiler allows non-Sendable types in same scope:
343
+
344
+ ```swift
345
+ class Article {
346
+ var title: String
347
+ init(title: String) { self.title = title }
348
+ }
349
+
350
+ func check() {
351
+ let article = Article(title: "Swift")
352
+
353
+ Task {
354
+ print(article.title) // ✅ OK - same region
355
+ }
356
+ }
357
+ ```
358
+
359
+ **Why**: No mutation after transfer, so no data race risk.
360
+
361
+ ### Breaks when accessed after transfer
362
+
363
+ ```swift
364
+ func check() {
365
+ let article = Article(title: "Swift")
366
+
367
+ Task {
368
+ print(article.title)
369
+ }
370
+
371
+ print(article.title) // ❌ Error - accessed after transfer
372
+ }
373
+ ```
374
+
375
+ ## The sending Keyword
376
+
377
+ Enforces ownership transfer for non-Sendable types:
378
+
379
+ ### Parameter values
380
+
381
+ ```swift
382
+ actor Logger {
383
+ func log(article: Article) {
384
+ print(article.title)
385
+ }
386
+ }
387
+
388
+ func printTitle(article: sending Article) async {
389
+ let logger = Logger()
390
+ await logger.log(article: article)
391
+ }
392
+
393
+ // Usage
394
+ let article = Article(title: "Swift")
395
+ await printTitle(article: article)
396
+ // article no longer accessible here
397
+ ```
398
+
399
+ ### Return values
400
+
401
+ ```swift
402
+ @SomeActor
403
+ func createArticle(title: String) -> sending Article {
404
+ return Article(title: title)
405
+ }
406
+ ```
407
+
408
+ Transfers ownership to caller's region.
409
+
410
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.8: Understanding region-based isolation and the sending keyword](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
411
+
412
+ ## Global Variables
413
+
414
+ Must be concurrency-safe since accessible from any context.
415
+
416
+ ### Problem
417
+
418
+ ```swift
419
+ class ImageCache {
420
+ static var shared = ImageCache() // ⚠️ Not concurrency-safe
421
+ }
422
+ ```
423
+
424
+ ### Solution 1: Actor isolation
425
+
426
+ ```swift
427
+ @MainActor
428
+ class ImageCache {
429
+ static var shared = ImageCache()
430
+ }
431
+ ```
432
+
433
+ ### Solution 2: Immutable + Sendable
434
+
435
+ ```swift
436
+ final class ImageCache: Sendable {
437
+ static let shared = ImageCache()
438
+ }
439
+ ```
440
+
441
+ ### Solution 3: nonisolated(unsafe)
442
+
443
+ **Last resort** - you guarantee safety:
444
+
445
+ ```swift
446
+ struct APIProvider: Sendable {
447
+ nonisolated(unsafe) static private(set) var shared: APIProvider!
448
+
449
+ static func configure(apiURL: URL) {
450
+ shared = APIProvider(apiURL: apiURL)
451
+ }
452
+ }
453
+ ```
454
+
455
+ Use `private(set)` to limit mutation points.
456
+
457
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.9: Concurrency-safe global variables](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
458
+
459
+ ## Custom Locks + Sendable
460
+
461
+ ### Legacy code with locks
462
+
463
+ ```swift
464
+ final class BankAccount: @unchecked Sendable {
465
+ private var balance: Int = 0
466
+ private let lock = NSLock()
467
+
468
+ func deposit(amount: Int) {
469
+ lock.lock()
470
+ balance += amount
471
+ lock.unlock()
472
+ }
473
+
474
+ func getBalance() -> Int {
475
+ lock.lock()
476
+ defer { lock.unlock() }
477
+ return balance
478
+ }
479
+ }
480
+ ```
481
+
482
+ ### Migration strategy
483
+
484
+ **New code**: Use actors
485
+
486
+ **Existing code**:
487
+ 1. If isolated and small scope → migrate to actor
488
+ 2. If widely used → use `@unchecked Sendable`, file migration ticket
489
+
490
+ ```swift
491
+ // Better: Migrate to actor
492
+ actor BankAccount {
493
+ private var balance: Int = 0
494
+
495
+ func deposit(amount: Int) {
496
+ balance += amount
497
+ }
498
+
499
+ func getBalance() -> Int {
500
+ balance
501
+ }
502
+ }
503
+ ```
504
+
505
+ > **Course Deep Dive**: This topic is covered in detail in [Lesson 4.10: Combining Sendable with custom Locks](https://www.swiftconcurrencycourse.com?utm_source=github&utm_medium=agent-skill&utm_campaign=lesson-reference)
506
+
507
+ ## Decision Tree
508
+
509
+ ```
510
+ Need to share type across isolation domains?
511
+ ├─ Value type (struct/enum)?
512
+ │ ├─ Public? → Add explicit Sendable
513
+ │ └─ Internal? → Implicit Sendable (if members Sendable)
514
+
515
+ ├─ Reference type (class)?
516
+ │ ├─ Can be final + immutable? → Sendable
517
+ │ ├─ Needs mutation?
518
+ │ │ ├─ Can use actor? → Use actor (automatic Sendable)
519
+ │ │ ├─ Main thread only? → @MainActor
520
+ │ │ └─ Has custom lock? → @unchecked Sendable (temporary)
521
+ │ └─ Can be struct instead? → Refactor to struct
522
+
523
+ └─ Function/closure? → @Sendable attribute
524
+ ```
525
+
526
+ ## Common Patterns
527
+
528
+ ### Restructure to avoid non-Sendable dependencies
529
+
530
+ ```swift
531
+ // Instead of storing non-Sendable type
532
+ public struct Person: Sendable {
533
+ var hometown: String // Just the name
534
+
535
+ init(hometown: Location) {
536
+ self.hometown = hometown.name
537
+ }
538
+ }
539
+ ```
540
+
541
+ ### Prefer actors for mutable state
542
+
543
+ ```swift
544
+ // Instead of @unchecked Sendable with locks
545
+ actor Cache {
546
+ private var items: [String: Data] = [:]
547
+
548
+ func get(_ key: String) -> Data? {
549
+ items[key]
550
+ }
551
+ }
552
+ ```
553
+
554
+ ### Use @MainActor for UI-bound types
555
+
556
+ ```swift
557
+ @MainActor
558
+ class ViewModel: ObservableObject {
559
+ @Published var items: [Item] = []
560
+ }
561
+ ```
562
+
563
+ ## Best Practices
564
+
565
+ 1. **Prefer value types** - structs/enums are easier to make Sendable
566
+ 2. **Use actors for mutable state** - automatic thread-safety
567
+ 3. **Avoid @unchecked Sendable** - use only for proven thread-safe code
568
+ 4. **Mark public types explicitly** - don't rely on implicit conformance
569
+ 5. **Ensure all members Sendable** - one non-Sendable breaks the chain
570
+ 6. **Use @MainActor for UI types** - simple isolation for view models
571
+ 7. **Capture immutably** - use capture lists for mutable variables
572
+ 8. **Test with Thread Sanitizer** - catches runtime data races
573
+ 9. **File migration tickets** - track @unchecked Sendable usage
574
+
575
+ ## Further Learning
576
+
577
+ For migration strategies, real-world examples, and actor patterns, see [Swift Concurrency Course](https://www.swiftconcurrencycourse.com).
578
+