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,249 @@
1
+ #!/bin/bash
2
+
3
+ # Vercel Deployment Script (via claimable deploy endpoint)
4
+ # Usage: ./deploy.sh [project-path]
5
+ # Returns: JSON with previewUrl, claimUrl, deploymentId, projectId
6
+
7
+ set -e
8
+
9
+ DEPLOY_ENDPOINT="https://claude-skills-deploy.vercel.com/api/deploy"
10
+
11
+ # Detect framework from package.json
12
+ detect_framework() {
13
+ local pkg_json="$1"
14
+
15
+ if [ ! -f "$pkg_json" ]; then
16
+ echo "null"
17
+ return
18
+ fi
19
+
20
+ local content=$(cat "$pkg_json")
21
+
22
+ # Helper to check if a package exists in dependencies or devDependencies
23
+ has_dep() {
24
+ echo "$content" | grep -q "\"$1\""
25
+ }
26
+
27
+ # Order matters - check more specific frameworks first
28
+
29
+ # Blitz
30
+ if has_dep "blitz"; then echo "blitzjs"; return; fi
31
+
32
+ # Next.js
33
+ if has_dep "next"; then echo "nextjs"; return; fi
34
+
35
+ # Gatsby
36
+ if has_dep "gatsby"; then echo "gatsby"; return; fi
37
+
38
+ # Remix
39
+ if has_dep "@remix-run/"; then echo "remix"; return; fi
40
+
41
+ # React Router (v7 framework mode)
42
+ if has_dep "@react-router/"; then echo "react-router"; return; fi
43
+
44
+ # TanStack Start
45
+ if has_dep "@tanstack/start"; then echo "tanstack-start"; return; fi
46
+
47
+ # Astro
48
+ if has_dep "astro"; then echo "astro"; return; fi
49
+
50
+ # Hydrogen (Shopify)
51
+ if has_dep "@shopify/hydrogen"; then echo "hydrogen"; return; fi
52
+
53
+ # SvelteKit
54
+ if has_dep "@sveltejs/kit"; then echo "sveltekit-1"; return; fi
55
+
56
+ # Svelte (standalone)
57
+ if has_dep "svelte"; then echo "svelte"; return; fi
58
+
59
+ # Nuxt
60
+ if has_dep "nuxt"; then echo "nuxtjs"; return; fi
61
+
62
+ # Vue with Vitepress
63
+ if has_dep "vitepress"; then echo "vitepress"; return; fi
64
+
65
+ # Vue with Vuepress
66
+ if has_dep "vuepress"; then echo "vuepress"; return; fi
67
+
68
+ # Gridsome
69
+ if has_dep "gridsome"; then echo "gridsome"; return; fi
70
+
71
+ # SolidStart
72
+ if has_dep "@solidjs/start"; then echo "solidstart-1"; return; fi
73
+
74
+ # Docusaurus
75
+ if has_dep "@docusaurus/core"; then echo "docusaurus-2"; return; fi
76
+
77
+ # RedwoodJS
78
+ if has_dep "@redwoodjs/"; then echo "redwoodjs"; return; fi
79
+
80
+ # Hexo
81
+ if has_dep "hexo"; then echo "hexo"; return; fi
82
+
83
+ # Eleventy
84
+ if has_dep "@11ty/eleventy"; then echo "eleventy"; return; fi
85
+
86
+ # Angular / Ionic Angular
87
+ if has_dep "@ionic/angular"; then echo "ionic-angular"; return; fi
88
+ if has_dep "@angular/core"; then echo "angular"; return; fi
89
+
90
+ # Ionic React
91
+ if has_dep "@ionic/react"; then echo "ionic-react"; return; fi
92
+
93
+ # Create React App
94
+ if has_dep "react-scripts"; then echo "create-react-app"; return; fi
95
+
96
+ # Ember
97
+ if has_dep "ember-cli" || has_dep "ember-source"; then echo "ember"; return; fi
98
+
99
+ # Dojo
100
+ if has_dep "@dojo/framework"; then echo "dojo"; return; fi
101
+
102
+ # Polymer
103
+ if has_dep "@polymer/"; then echo "polymer"; return; fi
104
+
105
+ # Preact
106
+ if has_dep "preact"; then echo "preact"; return; fi
107
+
108
+ # Stencil
109
+ if has_dep "@stencil/core"; then echo "stencil"; return; fi
110
+
111
+ # UmiJS
112
+ if has_dep "umi"; then echo "umijs"; return; fi
113
+
114
+ # Sapper (legacy Svelte)
115
+ if has_dep "sapper"; then echo "sapper"; return; fi
116
+
117
+ # Saber
118
+ if has_dep "saber"; then echo "saber"; return; fi
119
+
120
+ # Sanity
121
+ if has_dep "sanity"; then echo "sanity-v3"; return; fi
122
+ if has_dep "@sanity/"; then echo "sanity"; return; fi
123
+
124
+ # Storybook
125
+ if has_dep "@storybook/"; then echo "storybook"; return; fi
126
+
127
+ # NestJS
128
+ if has_dep "@nestjs/core"; then echo "nestjs"; return; fi
129
+
130
+ # Elysia
131
+ if has_dep "elysia"; then echo "elysia"; return; fi
132
+
133
+ # Hono
134
+ if has_dep "hono"; then echo "hono"; return; fi
135
+
136
+ # Fastify
137
+ if has_dep "fastify"; then echo "fastify"; return; fi
138
+
139
+ # h3
140
+ if has_dep "h3"; then echo "h3"; return; fi
141
+
142
+ # Nitro
143
+ if has_dep "nitropack"; then echo "nitro"; return; fi
144
+
145
+ # Express
146
+ if has_dep "express"; then echo "express"; return; fi
147
+
148
+ # Vite (generic - check last among JS frameworks)
149
+ if has_dep "vite"; then echo "vite"; return; fi
150
+
151
+ # Parcel
152
+ if has_dep "parcel"; then echo "parcel"; return; fi
153
+
154
+ # No framework detected
155
+ echo "null"
156
+ }
157
+
158
+ # Parse arguments
159
+ INPUT_PATH="${1:-.}"
160
+
161
+ # Create temp directory for packaging
162
+ TEMP_DIR=$(mktemp -d)
163
+ TARBALL="$TEMP_DIR/project.tgz"
164
+ CLEANUP_TEMP=true
165
+
166
+ cleanup() {
167
+ if [ "$CLEANUP_TEMP" = true ]; then
168
+ rm -rf "$TEMP_DIR"
169
+ fi
170
+ }
171
+ trap cleanup EXIT
172
+
173
+ echo "Preparing deployment..." >&2
174
+
175
+ # Check if input is a .tgz file or a directory
176
+ FRAMEWORK="null"
177
+
178
+ if [ -f "$INPUT_PATH" ] && [[ "$INPUT_PATH" == *.tgz ]]; then
179
+ # Input is already a tarball, use it directly
180
+ echo "Using provided tarball..." >&2
181
+ TARBALL="$INPUT_PATH"
182
+ CLEANUP_TEMP=false
183
+ # Can't detect framework from tarball, leave as null
184
+ elif [ -d "$INPUT_PATH" ]; then
185
+ # Input is a directory, need to tar it
186
+ PROJECT_PATH=$(cd "$INPUT_PATH" && pwd)
187
+
188
+ # Detect framework from package.json
189
+ FRAMEWORK=$(detect_framework "$PROJECT_PATH/package.json")
190
+
191
+ # Check if this is a static HTML project (no package.json)
192
+ if [ ! -f "$PROJECT_PATH/package.json" ]; then
193
+ # Find HTML files in root
194
+ HTML_FILES=$(find "$PROJECT_PATH" -maxdepth 1 -name "*.html" -type f)
195
+ HTML_COUNT=$(echo "$HTML_FILES" | grep -c . || echo 0)
196
+
197
+ # If there's exactly one HTML file and it's not index.html, rename it
198
+ if [ "$HTML_COUNT" -eq 1 ]; then
199
+ HTML_FILE=$(echo "$HTML_FILES" | head -1)
200
+ BASENAME=$(basename "$HTML_FILE")
201
+ if [ "$BASENAME" != "index.html" ]; then
202
+ echo "Renaming $BASENAME to index.html..." >&2
203
+ mv "$HTML_FILE" "$PROJECT_PATH/index.html"
204
+ fi
205
+ fi
206
+ fi
207
+
208
+ # Create tarball of the project (excluding node_modules and .git)
209
+ echo "Creating deployment package..." >&2
210
+ tar -czf "$TARBALL" -C "$PROJECT_PATH" --exclude='node_modules' --exclude='.git' .
211
+ else
212
+ echo "Error: Input must be a directory or a .tgz file" >&2
213
+ exit 1
214
+ fi
215
+
216
+ if [ "$FRAMEWORK" != "null" ]; then
217
+ echo "Detected framework: $FRAMEWORK" >&2
218
+ fi
219
+
220
+ # Deploy
221
+ echo "Deploying..." >&2
222
+ RESPONSE=$(curl -s -X POST "$DEPLOY_ENDPOINT" -F "file=@$TARBALL" -F "framework=$FRAMEWORK")
223
+
224
+ # Check for error in response
225
+ if echo "$RESPONSE" | grep -q '"error"'; then
226
+ ERROR_MSG=$(echo "$RESPONSE" | grep -o '"error":"[^"]*"' | cut -d'"' -f4)
227
+ echo "Error: $ERROR_MSG" >&2
228
+ exit 1
229
+ fi
230
+
231
+ # Extract URLs from response
232
+ PREVIEW_URL=$(echo "$RESPONSE" | grep -o '"previewUrl":"[^"]*"' | cut -d'"' -f4)
233
+ CLAIM_URL=$(echo "$RESPONSE" | grep -o '"claimUrl":"[^"]*"' | cut -d'"' -f4)
234
+
235
+ if [ -z "$PREVIEW_URL" ]; then
236
+ echo "Error: Could not extract preview URL from response" >&2
237
+ echo "$RESPONSE" >&2
238
+ exit 1
239
+ fi
240
+
241
+ echo "" >&2
242
+ echo "Deployment successful!" >&2
243
+ echo "" >&2
244
+ echo "Preview URL: $PREVIEW_URL" >&2
245
+ echo "Claim URL: $CLAIM_URL" >&2
246
+ echo "" >&2
247
+
248
+ # Output JSON for programmatic use
249
+ echo "$RESPONSE"
@@ -0,0 +1,236 @@
1
+ ---
2
+ name: verification-before-completion
3
+ description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
4
+ version: 1.0.0
5
+ tags: [workflow, code-quality]
6
+ dependencies: []
7
+ ---
8
+
9
+ # Verification Before Completion
10
+
11
+ ## When to Use
12
+
13
+ - Before claiming tests/lint/build pass or a bug is fixed
14
+ - Before committing, opening PRs, or stating completion in a status update
15
+
16
+ ## When NOT to Use
17
+
18
+ - While still actively coding without a completion claim
19
+ - When you cannot run verification commands yet (e.g., missing dependencies) — resolve first
20
+
21
+ ## Overview
22
+
23
+ Claiming work is complete without verification is dishonesty, not efficiency.
24
+
25
+ **Core principle:** Evidence before claims, always.
26
+
27
+ **Violating the letter of this rule is violating the spirit of this rule.**
28
+
29
+ ## The Iron Law
30
+
31
+ ```
32
+ NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
33
+ ```
34
+
35
+ If you haven't run the verification command in this message, you cannot claim it passes.
36
+
37
+ ## The Gate Function
38
+
39
+ ```
40
+ BEFORE claiming any status or expressing satisfaction:
41
+
42
+ 1. IDENTIFY: What command proves this claim?
43
+ 2. RUN: Execute the FULL command (fresh, complete)
44
+ 3. READ: Full output, check exit code, count failures
45
+ 4. VERIFY: Does output confirm the claim?
46
+ - If NO: State actual status with evidence
47
+ - If YES: State claim WITH evidence
48
+ 5. ONLY THEN: Make the claim
49
+
50
+ Skip any step = lying, not verifying
51
+
52
+ ```
53
+
54
+ ## Verification Checklist
55
+
56
+ - [ ] Identify the exact command that proves the claim
57
+ - [ ] Run the full command (fresh)
58
+ - [ ] Read the full output and exit code
59
+ - [ ] Confirm the output matches the claim
60
+ - [ ] Only then state the completion claim with evidence
61
+
62
+ ## Common Failures
63
+
64
+ | Claim | Requires | Not Sufficient |
65
+ | --------------------- | ------------------------------- | ------------------------------ |
66
+ | Tests pass | Test command output: 0 failures | Previous run, "should pass" |
67
+ | Linter clean | Linter output: 0 errors | Partial check, extrapolation |
68
+ | Build succeeds | Build command: exit 0 | Linter passing, logs look good |
69
+ | Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
70
+ | Regression test works | Red-green cycle verified | Test passes once |
71
+ | Agent completed | VCS diff shows changes | Agent reports "success" |
72
+ | Requirements met | Line-by-line checklist | Tests passing |
73
+
74
+ ## Red Flags - STOP
75
+
76
+ - Using "should", "probably", "seems to"
77
+ - Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
78
+ - About to commit/push/PR without verification
79
+ - Trusting agent success reports
80
+ - Relying on partial verification
81
+ - Thinking "just this once"
82
+ - Tired and wanting work over
83
+ - **ANY wording implying success without having run verification**
84
+
85
+ ## Rationalization Prevention
86
+
87
+ | Excuse | Reality |
88
+ | --------------------------------------- | ---------------------- |
89
+ | "Should work now" | RUN the verification |
90
+ | "I'm confident" | Confidence ≠ evidence |
91
+ | "Just this once" | No exceptions |
92
+ | "Linter passed" | Linter ≠ compiler |
93
+ | "Agent said success" | Verify independently |
94
+ | "I'm tired" | Exhaustion ≠ excuse |
95
+ | "Partial check is enough" | Partial proves nothing |
96
+ | "Different words so rule doesn't apply" | Spirit over letter |
97
+
98
+ ## Key Patterns
99
+
100
+ **Tests:**
101
+
102
+ ```
103
+ ✅ [Run test command] [See: 34/34 pass] "All tests pass"
104
+ ❌ "Should pass now" / "Looks correct"
105
+ ```
106
+
107
+ **Regression tests (TDD Red-Green):**
108
+
109
+ ```
110
+ ✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
111
+ ❌ "I've written a regression test" (without red-green verification)
112
+ ```
113
+
114
+ **Build:**
115
+
116
+ ```
117
+ ✅ [Run build] [See: exit 0] "Build passes"
118
+ ❌ "Linter passed" (linter doesn't check compilation)
119
+ ```
120
+
121
+ **Requirements:**
122
+
123
+ ```
124
+ ✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
125
+ ❌ "Tests pass, phase complete"
126
+ ```
127
+
128
+ **Agent delegation:**
129
+
130
+ ```
131
+ ✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
132
+ ❌ Trust agent report
133
+ ```
134
+
135
+ ## Smart Verification
136
+
137
+ The Iron Law demands evidence, but evidence should be gathered efficiently.
138
+
139
+ ### Incremental by Default
140
+
141
+ Unless shipping or `--full` is passed, verify only what changed:
142
+
143
+ - **Lint**: `oxlint <changed-files>` instead of linting the entire codebase
144
+ - **Test**: `vitest run --changed` instead of running all tests
145
+ - **Typecheck**: always full (type errors propagate across files)
146
+
147
+ See the [Verification Protocol](./references/VERIFICATION_PROTOCOL.md) for exact commands.
148
+
149
+ ### Parallel Execution
150
+
151
+ Run independent gates simultaneously to reduce wall-clock time:
152
+
153
+ ```
154
+ Parallel: typecheck + lint → both must pass
155
+ Sequential: test → build (ship only)
156
+ ```
157
+
158
+ Total time = max(typecheck, lint) + test, not typecheck + lint + test.
159
+
160
+ ### Verification Cache
161
+
162
+ If you just verified and nothing changed, don't re-verify:
163
+
164
+ 1. After gates pass, record a stamp in `.beads/verify.log`
165
+ 2. Before running gates, compare current state to last stamp
166
+ 3. If match → report cached PASS, skip redundant work
167
+ 4. Cache is always bypassed for `--full` and ship/release
168
+
169
+ This matters when other commands need verification (e.g., closing beads, `/ship`). If you verified 30 seconds ago and made no changes, the cache lets you skip.
170
+
171
+ ## Enforcement Gates
172
+
173
+ Prompt-level rules get ignored under pressure. These gates are **hard blocks** — they must be checked at the tool/action level, not just remembered.
174
+
175
+ ### Gate 1: Completion Claims Require verify.log
176
+
177
+ Before ANY completion claim (bead close, PR creation, `/ship`, task completion):
178
+
179
+ 1. Check `.beads/verify.log` exists and contains a recent `PASS` stamp
180
+ 2. If verify.log is missing or stale (older than last file change) → **BLOCK** — run verification first
181
+ 3. If verify.log shows `FAIL` → **BLOCK** — do not proceed
182
+
183
+ ```
184
+ ✅ verify.log exists, PASS within last edit window → proceed
185
+ ❌ verify.log missing → STOP: "Run verification first"
186
+ ❌ verify.log shows FAIL → STOP: "Verification failed, fix before claiming complete"
187
+ ❌ verify.log stale (files changed since last PASS) → STOP: "Re-run verification"
188
+ ```
189
+
190
+ ### Gate 2: Agent Delegation Requires Post-Verification
191
+
192
+ After ANY `task()` subagent returns with "success", follow the **Worker Distrust Protocol** from AGENTS.md — read changed files, run verification, check acceptance criteria. Do not trust agent self-reports.
193
+
194
+ ### Enforcement Principle
195
+
196
+ > **Prompt rules fail under pressure. Gates fail safe.**
197
+ >
198
+ > When a constraint matters enough to be an iron law, enforce it at the action level:
199
+ > check a file, verify a condition, reject if unmet. Don't rely on the agent
200
+ > "remembering" to follow the rule.
201
+
202
+ ## Why This Matters
203
+
204
+ From 24 failure memories:
205
+
206
+ - your human partner said "I don't believe you" - trust broken
207
+ - Undefined functions shipped - would crash
208
+ - Missing requirements shipped - incomplete features
209
+ - Time wasted on false completion → redirect → rework
210
+ - Violates: "Honesty is a core value. If you lie, you'll be replaced."
211
+
212
+ ## When To Apply
213
+
214
+ **ALWAYS before:**
215
+
216
+ - ANY variation of success/completion claims
217
+ - ANY expression of satisfaction
218
+ - ANY positive statement about work state
219
+ - Committing, PR creation, task completion
220
+ - Moving to next task
221
+ - Delegating to agents
222
+
223
+ **Rule applies to:**
224
+
225
+ - Exact phrases
226
+ - Paraphrases and synonyms
227
+ - Implications of success
228
+ - ANY communication suggesting completion/correctness
229
+
230
+ ## The Bottom Line
231
+
232
+ **No shortcuts for verification.**
233
+
234
+ Run the command. Read the output. THEN claim the result.
235
+
236
+ This is non-negotiable.
@@ -0,0 +1,171 @@
1
+ # Verification Protocol
2
+
3
+ ## Default: Incremental Mode
4
+
5
+ **Incremental is the default.** Only switch to full mode when:
6
+
7
+ - `--full` flag is explicitly passed
8
+ - Shipping/releasing (pre-merge, CI pipeline)
9
+ - More than 20 files changed
10
+
11
+ ### Changed Files Detection
12
+
13
+ ```bash
14
+ # Get changed files (uncommitted + staged + untracked)
15
+ CHANGED=$({
16
+ git diff --name-only --diff-filter=d HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'
17
+ git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx'
18
+ } | sort -u)
19
+
20
+ # If in a bead worktree, diff against the branch point:
21
+ # CHANGED=$({
22
+ # git diff --name-only --diff-filter=d main...HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'
23
+ # git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx'
24
+ # } | sort -u)
25
+
26
+ # Count for mode decision
27
+ FILE_COUNT=$(echo "$CHANGED" | grep -c .)
28
+ # > 20 files → switch to full mode automatically
29
+ ```
30
+
31
+ ## Standard Gates
32
+
33
+ ### Gate Execution Order
34
+
35
+ ```
36
+ ┌─────────────────────────────────────┐
37
+ │ Parallel (run simultaneously) │
38
+ │ ┌─────────────┐ ┌───────────────┐ │
39
+ │ │ Typecheck │ │ Lint │ │
40
+ │ │ (always │ │ (changed │ │
41
+ │ │ full) │ │ files only) │ │
42
+ │ └──────┬──────┘ └──────┬────────┘ │
43
+ │ └───────┬───────┘ │
44
+ │ both must pass │
45
+ ├─────────────────────────────────────┤
46
+ │ Sequential (after parallel passes) │
47
+ │ ┌─────────────┐ ┌───────────────┐ │
48
+ │ │ Test │ │ Build │ │
49
+ │ │ (--changed │ │ (ship/release│ │
50
+ │ │ or full) │ │ only) │ │
51
+ │ └─────────────┘ └───────────────┘ │
52
+ └─────────────────────────────────────┘
53
+ ```
54
+
55
+ ### Parallel Group (independent — run simultaneously)
56
+
57
+ ```bash
58
+ # Gate 1: Typecheck (always full — type errors propagate across files)
59
+ npm run typecheck 2>&1 &
60
+ PID_TC=$!
61
+
62
+ # Gate 2: Lint
63
+ # Incremental (default): lint only changed files
64
+ npx oxlint $CHANGED 2>&1 &
65
+ # Full mode: lint everything
66
+ # npm run lint 2>&1 &
67
+ PID_LINT=$!
68
+
69
+ wait $PID_TC $PID_LINT
70
+ ```
71
+
72
+ ### Sequential Group (depends on parallel group passing)
73
+
74
+ ```bash
75
+ # Gate 3: Tests
76
+ # Incremental (default): only tests affected by changed files
77
+ npx vitest run --changed
78
+ # Full mode: run all tests
79
+ # npm test
80
+
81
+ # Gate 4: Build (only if shipping/releasing)
82
+ # npm run build
83
+ ```
84
+
85
+ ### Gate Commands Summary
86
+
87
+ | Gate | Incremental (default) | Full (`--full`) | When |
88
+ | --------- | ---------------------------- | ------------------- | ----------------- |
89
+ | Typecheck | `npm run typecheck` | `npm run typecheck` | Always (parallel) |
90
+ | Lint | `npx oxlint <changed-files>` | `npm run lint` | Always (parallel) |
91
+ | Test | `npx vitest run --changed` | `npm test` | Always |
92
+ | Build | Skip | `npm run build` | Ship/release only |
93
+
94
+ ## Verification Cache
95
+
96
+ Avoid redundant verification when nothing changed since the last successful run.
97
+
98
+ ### Cache Protocol
99
+
100
+ After all gates pass, record a verification stamp:
101
+
102
+ ```bash
103
+ # Compute fingerprint: commit hash + full diff content + untracked files
104
+ # This ensures the stamp changes on ANY code change (commit, edit, or new file)
105
+ STAMP=$(printf '%s\n%s\n%s' \
106
+ "$(git rev-parse HEAD)" \
107
+ "$(git diff HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx')" \
108
+ "$(git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx' | xargs cat 2>/dev/null)" \
109
+ | shasum -a 256 | cut -d' ' -f1)
110
+
111
+ echo "$STAMP $(date -u +%Y-%m-%dT%H:%M:%SZ) PASS" >> .beads/verify.log
112
+ ```
113
+
114
+ ### Skip Check (before running gates)
115
+
116
+ ```bash
117
+ # Read last verification stamp
118
+ LAST_STAMP=$(tail -1 .beads/verify.log 2>/dev/null | awk '{print $1}')
119
+
120
+ # Recompute current fingerprint (same formula as recording)
121
+ CURRENT_STAMP=$(printf '%s\n%s\n%s' \
122
+ "$(git rev-parse HEAD)" \
123
+ "$(git diff HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx')" \
124
+ "$(git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx' | xargs cat 2>/dev/null)" \
125
+ | shasum -a 256 | cut -d' ' -f1)
126
+
127
+ if [ "$LAST_STAMP" = "$CURRENT_STAMP" ]; then
128
+ echo "Verification cached: no changes since last PASS"
129
+ # Skip gates — report cached result
130
+ else
131
+ # Run gates normally
132
+ fi
133
+ ```
134
+
135
+ ### When Cache is Invalidated
136
+
137
+ - Any file edited, staged, or committed since last verification
138
+ - `--full` flag always bypasses cache
139
+ - Manual `--no-cache` flag bypasses cache
140
+ - Different bead context (bead ID changed)
141
+
142
+ ### Agent Behavior
143
+
144
+ When another command needs verification (e.g., closing a bead, `/ship`):
145
+
146
+ 1. **Check cache first** — if clean, report `"Verification: cached PASS (no changes since <timestamp>)"`
147
+ 2. **If cache miss** — run incremental gates normally
148
+ 3. **Always record** — append to `verify.log` after successful run
149
+ 4. **Never skip on ship/release** — always run full mode regardless of cache
150
+
151
+ ## Gate Results Format
152
+
153
+ Report results as:
154
+
155
+ ```text
156
+ | Gate | Status | Mode | Time |
157
+ |-----------|--------|-------------|--------|
158
+ | Typecheck | PASS | full | 2.1s |
159
+ | Lint | PASS | incremental | 0.3s |
160
+ | Test | PASS | incremental | 1.2s |
161
+ | Build | SKIP | — | — |
162
+ ```
163
+
164
+ Include the mode column so it's clear whether incremental or full was used.
165
+
166
+ ## Failure Handling
167
+
168
+ - If any gate fails, stop and fix before proceeding
169
+ - Show the FULL error output for failed gates
170
+ - After fixing, re-run ONLY the failed gate(s) + any downstream gates
171
+ - Cache is NOT written on failure — next run will execute gates normally