memory-journal-mcp 7.7.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +126 -56
  2. package/dist/chunk-6OHRCNYW.js +3231 -0
  3. package/dist/chunk-JFMITANR.js +5168 -0
  4. package/dist/{chunk-6LPTBIB6.js → chunk-MWNLAEHR.js} +309 -4332
  5. package/dist/{chunk-ARLYSFSI.js → chunk-UHSO65A4.js} +4242 -6092
  6. package/dist/cli.js +21 -3
  7. package/dist/index.d.ts +16 -13
  8. package/dist/index.js +4 -2
  9. package/dist/resources-IJVKDFGS.js +2 -0
  10. package/dist/tools-44DGXE3V.js +2 -0
  11. package/dist/worker-script.js +201 -20
  12. package/package.json +6 -4
  13. package/skills/README.md +62 -25
  14. package/skills/adversarial-performance/SKILL.md +139 -0
  15. package/skills/adversarial-performance/references/audit-categories.md +462 -0
  16. package/skills/adversarial-performance/references/copilot-performance-prompts.md +44 -0
  17. package/skills/adversarial-performance/references/copilot-usage.md +16 -0
  18. package/skills/adversarial-performance/references/feedback-loop.md +177 -0
  19. package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +398 -0
  20. package/skills/adversarial-planner/SKILL.md +23 -54
  21. package/skills/adversarial-planner/references/copilot-integration.md +25 -40
  22. package/skills/adversarial-planner/references/copilot-usage.md +16 -0
  23. package/skills/adversarial-planner/references/multi-pass-protocol.md +4 -0
  24. package/skills/adversarial-security/SKILL.md +149 -0
  25. package/skills/adversarial-security/references/adversarial-base-protocol.md +44 -0
  26. package/skills/adversarial-security/references/audit-categories.md +723 -0
  27. package/skills/adversarial-security/references/copilot-security-prompts.md +142 -0
  28. package/skills/adversarial-security/references/copilot-usage.md +16 -0
  29. package/skills/adversarial-security/references/feedback-loop.md +206 -0
  30. package/skills/adversarial-security/references/journal-opt-out.md +7 -0
  31. package/skills/adversarial-security/references/multi-pass-security-protocol.md +403 -0
  32. package/skills/adversarial-skill-audit/SKILL.md +118 -0
  33. package/skills/adversarial-skill-audit/references/audit-categories.md +308 -0
  34. package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +68 -0
  35. package/skills/adversarial-skill-audit/references/copilot-usage.md +16 -0
  36. package/skills/adversarial-skill-audit/references/feedback-loop.md +155 -0
  37. package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +367 -0
  38. package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +48 -0
  39. package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +52 -0
  40. package/skills/adversarial-workflow-audit/SKILL.md +82 -0
  41. package/skills/adversarial-workflow-audit/references/audit-categories.md +28 -0
  42. package/skills/adversarial-workflow-audit/references/copilot-usage.md +16 -0
  43. package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +24 -0
  44. package/skills/agents-sdk/SKILL.md +220 -0
  45. package/skills/agents-sdk/references/callable.md +92 -0
  46. package/skills/agents-sdk/references/codemode.md +209 -0
  47. package/skills/agents-sdk/references/email.md +144 -0
  48. package/skills/agents-sdk/references/mcp/SKILL.md +65 -0
  49. package/skills/agents-sdk/references/mcp/code-mode-reference.md +245 -0
  50. package/skills/agents-sdk/references/mcp/oauth-reference.md +359 -0
  51. package/skills/agents-sdk/references/mcp/references/architecture-reference.md +208 -0
  52. package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +156 -0
  53. package/skills/agents-sdk/references/mcp/references/error-handling.md +343 -0
  54. package/skills/agents-sdk/references/mcp/references/http-security.md +164 -0
  55. package/skills/agents-sdk/references/mcp/references/implementation-guide.md +507 -0
  56. package/skills/agents-sdk/references/mcp/references/testing-reference.md +171 -0
  57. package/skills/agents-sdk/references/mcp.md +157 -0
  58. package/skills/agents-sdk/references/state-scheduling.md +164 -0
  59. package/skills/agents-sdk/references/streaming-chat.md +168 -0
  60. package/skills/agents-sdk/references/workflows.md +136 -0
  61. package/skills/auth-identity/SKILL.md +48 -0
  62. package/skills/autonomous-dev/SKILL.md +46 -23
  63. package/skills/autonomous-dev/references/workflow_orchestration.md +22 -0
  64. package/skills/aws/SKILL.md +39 -0
  65. package/skills/azure/SKILL.md +38 -0
  66. package/skills/bin/sync.js +7 -1
  67. package/skills/biome/SKILL.md +59 -0
  68. package/skills/bun/SKILL.md +8 -2
  69. package/skills/cloudflare/SKILL.md +37 -0
  70. package/skills/cloudflare/references/agents-sdk/README.md +95 -0
  71. package/skills/cloudflare/references/agents-sdk/api.md +195 -0
  72. package/skills/cloudflare/references/agents-sdk/configuration.md +178 -0
  73. package/skills/cloudflare/references/agents-sdk/gotchas.md +173 -0
  74. package/skills/cloudflare/references/agents-sdk/patterns.md +215 -0
  75. package/skills/cloudflare/references/ai-gateway/README.md +176 -0
  76. package/skills/cloudflare/references/ai-gateway/configuration.md +117 -0
  77. package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +88 -0
  78. package/skills/cloudflare/references/ai-gateway/features.md +96 -0
  79. package/skills/cloudflare/references/ai-gateway/sdk-integration.md +110 -0
  80. package/skills/cloudflare/references/ai-gateway/troubleshooting.md +90 -0
  81. package/skills/cloudflare/references/ai-search/README.md +145 -0
  82. package/skills/cloudflare/references/ai-search/api.md +87 -0
  83. package/skills/cloudflare/references/ai-search/configuration.md +91 -0
  84. package/skills/cloudflare/references/ai-search/gotchas.md +92 -0
  85. package/skills/cloudflare/references/ai-search/patterns.md +87 -0
  86. package/skills/cloudflare/references/analytics-engine/README.md +96 -0
  87. package/skills/cloudflare/references/analytics-engine/api.md +112 -0
  88. package/skills/cloudflare/references/analytics-engine/configuration.md +107 -0
  89. package/skills/cloudflare/references/analytics-engine/gotchas.md +87 -0
  90. package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
  91. package/skills/cloudflare/references/api/README.md +66 -0
  92. package/skills/cloudflare/references/api/api.md +205 -0
  93. package/skills/cloudflare/references/api/configuration.md +158 -0
  94. package/skills/cloudflare/references/api/gotchas.md +231 -0
  95. package/skills/cloudflare/references/api/patterns.md +208 -0
  96. package/skills/cloudflare/references/api-shield/README.md +44 -0
  97. package/skills/cloudflare/references/api-shield/api.md +153 -0
  98. package/skills/cloudflare/references/api-shield/configuration.md +210 -0
  99. package/skills/cloudflare/references/api-shield/gotchas.md +132 -0
  100. package/skills/cloudflare/references/api-shield/patterns.md +185 -0
  101. package/skills/cloudflare/references/argo-smart-routing/README.md +96 -0
  102. package/skills/cloudflare/references/argo-smart-routing/api.md +253 -0
  103. package/skills/cloudflare/references/argo-smart-routing/configuration.md +205 -0
  104. package/skills/cloudflare/references/argo-smart-routing/gotchas.md +115 -0
  105. package/skills/cloudflare/references/argo-smart-routing/patterns.md +107 -0
  106. package/skills/cloudflare/references/bindings/README.md +127 -0
  107. package/skills/cloudflare/references/bindings/api.md +214 -0
  108. package/skills/cloudflare/references/bindings/configuration.md +200 -0
  109. package/skills/cloudflare/references/bindings/gotchas.md +210 -0
  110. package/skills/cloudflare/references/bindings/patterns.md +205 -0
  111. package/skills/cloudflare/references/bot-management/README.md +95 -0
  112. package/skills/cloudflare/references/bot-management/api.md +175 -0
  113. package/skills/cloudflare/references/bot-management/configuration.md +175 -0
  114. package/skills/cloudflare/references/bot-management/gotchas.md +116 -0
  115. package/skills/cloudflare/references/bot-management/patterns.md +181 -0
  116. package/skills/cloudflare/references/browser-rendering/README.md +84 -0
  117. package/skills/cloudflare/references/browser-rendering/api.md +108 -0
  118. package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
  119. package/skills/cloudflare/references/browser-rendering/gotchas.md +91 -0
  120. package/skills/cloudflare/references/browser-rendering/patterns.md +93 -0
  121. package/skills/cloudflare/references/c3/README.md +111 -0
  122. package/skills/cloudflare/references/c3/api.md +71 -0
  123. package/skills/cloudflare/references/c3/configuration.md +85 -0
  124. package/skills/cloudflare/references/c3/gotchas.md +97 -0
  125. package/skills/cloudflare/references/c3/patterns.md +84 -0
  126. package/skills/cloudflare/references/cache-reserve/README.md +150 -0
  127. package/skills/cloudflare/references/cache-reserve/api.md +184 -0
  128. package/skills/cloudflare/references/cache-reserve/configuration.md +170 -0
  129. package/skills/cloudflare/references/cache-reserve/gotchas.md +136 -0
  130. package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
  131. package/skills/cloudflare/references/containers/README.md +87 -0
  132. package/skills/cloudflare/references/containers/api.md +197 -0
  133. package/skills/cloudflare/references/containers/configuration.md +191 -0
  134. package/skills/cloudflare/references/containers/gotchas.md +182 -0
  135. package/skills/cloudflare/references/containers/patterns.md +204 -0
  136. package/skills/cloudflare/references/cron-triggers/README.md +101 -0
  137. package/skills/cloudflare/references/cron-triggers/api.md +224 -0
  138. package/skills/cloudflare/references/cron-triggers/configuration.md +190 -0
  139. package/skills/cloudflare/references/cron-triggers/gotchas.md +207 -0
  140. package/skills/cloudflare/references/cron-triggers/patterns.md +274 -0
  141. package/skills/cloudflare/references/d1/README.md +137 -0
  142. package/skills/cloudflare/references/d1/api.md +213 -0
  143. package/skills/cloudflare/references/d1/configuration.md +198 -0
  144. package/skills/cloudflare/references/d1/gotchas.md +98 -0
  145. package/skills/cloudflare/references/d1/patterns.md +240 -0
  146. package/skills/cloudflare/references/ddos/README.md +42 -0
  147. package/skills/cloudflare/references/ddos/api.md +158 -0
  148. package/skills/cloudflare/references/ddos/configuration.md +94 -0
  149. package/skills/cloudflare/references/ddos/gotchas.md +114 -0
  150. package/skills/cloudflare/references/ddos/patterns.md +220 -0
  151. package/skills/cloudflare/references/decision-trees.md +95 -0
  152. package/skills/cloudflare/references/do-storage/README.md +79 -0
  153. package/skills/cloudflare/references/do-storage/api.md +107 -0
  154. package/skills/cloudflare/references/do-storage/configuration.md +114 -0
  155. package/skills/cloudflare/references/do-storage/gotchas.md +153 -0
  156. package/skills/cloudflare/references/do-storage/patterns.md +210 -0
  157. package/skills/cloudflare/references/do-storage/testing.md +186 -0
  158. package/skills/cloudflare/references/durable-objects/README.md +194 -0
  159. package/skills/cloudflare/references/durable-objects/api.md +205 -0
  160. package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
  161. package/skills/cloudflare/references/durable-objects/gotchas.md +200 -0
  162. package/skills/cloudflare/references/durable-objects/patterns.md +205 -0
  163. package/skills/cloudflare/references/email-routing/README.md +89 -0
  164. package/skills/cloudflare/references/email-routing/api.md +192 -0
  165. package/skills/cloudflare/references/email-routing/configuration.md +187 -0
  166. package/skills/cloudflare/references/email-routing/gotchas.md +203 -0
  167. package/skills/cloudflare/references/email-routing/patterns.md +241 -0
  168. package/skills/cloudflare/references/email-workers/README.md +153 -0
  169. package/skills/cloudflare/references/email-workers/api.md +227 -0
  170. package/skills/cloudflare/references/email-workers/configuration.md +115 -0
  171. package/skills/cloudflare/references/email-workers/gotchas.md +133 -0
  172. package/skills/cloudflare/references/email-workers/patterns.md +108 -0
  173. package/skills/cloudflare/references/graphql-api/README.md +147 -0
  174. package/skills/cloudflare/references/graphql-api/api.md +175 -0
  175. package/skills/cloudflare/references/graphql-api/configuration.md +151 -0
  176. package/skills/cloudflare/references/graphql-api/gotchas.md +111 -0
  177. package/skills/cloudflare/references/graphql-api/patterns.md +276 -0
  178. package/skills/cloudflare/references/hyperdrive/README.md +84 -0
  179. package/skills/cloudflare/references/hyperdrive/api.md +149 -0
  180. package/skills/cloudflare/references/hyperdrive/configuration.md +166 -0
  181. package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
  182. package/skills/cloudflare/references/hyperdrive/patterns.md +203 -0
  183. package/skills/cloudflare/references/images/README.md +65 -0
  184. package/skills/cloudflare/references/images/api.md +101 -0
  185. package/skills/cloudflare/references/images/configuration.md +206 -0
  186. package/skills/cloudflare/references/images/gotchas.md +106 -0
  187. package/skills/cloudflare/references/images/patterns.md +126 -0
  188. package/skills/cloudflare/references/kv/README.md +90 -0
  189. package/skills/cloudflare/references/kv/api.md +163 -0
  190. package/skills/cloudflare/references/kv/configuration.md +148 -0
  191. package/skills/cloudflare/references/kv/gotchas.md +133 -0
  192. package/skills/cloudflare/references/kv/patterns.md +195 -0
  193. package/skills/cloudflare/references/miniflare/README.md +113 -0
  194. package/skills/cloudflare/references/miniflare/api.md +204 -0
  195. package/skills/cloudflare/references/miniflare/configuration.md +174 -0
  196. package/skills/cloudflare/references/miniflare/gotchas.md +179 -0
  197. package/skills/cloudflare/references/miniflare/patterns.md +187 -0
  198. package/skills/cloudflare/references/network-interconnect/README.md +104 -0
  199. package/skills/cloudflare/references/network-interconnect/api.md +220 -0
  200. package/skills/cloudflare/references/network-interconnect/configuration.md +123 -0
  201. package/skills/cloudflare/references/network-interconnect/gotchas.md +175 -0
  202. package/skills/cloudflare/references/network-interconnect/patterns.md +174 -0
  203. package/skills/cloudflare/references/observability/README.md +93 -0
  204. package/skills/cloudflare/references/observability/api.md +168 -0
  205. package/skills/cloudflare/references/observability/configuration.md +178 -0
  206. package/skills/cloudflare/references/observability/gotchas.md +125 -0
  207. package/skills/cloudflare/references/observability/patterns.md +105 -0
  208. package/skills/cloudflare/references/pages/README.md +92 -0
  209. package/skills/cloudflare/references/pages/api.md +205 -0
  210. package/skills/cloudflare/references/pages/configuration.md +216 -0
  211. package/skills/cloudflare/references/pages/gotchas.md +218 -0
  212. package/skills/cloudflare/references/pages/patterns.md +215 -0
  213. package/skills/cloudflare/references/pages-functions/README.md +104 -0
  214. package/skills/cloudflare/references/pages-functions/api.md +159 -0
  215. package/skills/cloudflare/references/pages-functions/configuration.md +130 -0
  216. package/skills/cloudflare/references/pages-functions/gotchas.md +102 -0
  217. package/skills/cloudflare/references/pages-functions/patterns.md +148 -0
  218. package/skills/cloudflare/references/pipelines/README.md +109 -0
  219. package/skills/cloudflare/references/pipelines/api.md +214 -0
  220. package/skills/cloudflare/references/pipelines/configuration.md +98 -0
  221. package/skills/cloudflare/references/pipelines/gotchas.md +84 -0
  222. package/skills/cloudflare/references/pipelines/patterns.md +87 -0
  223. package/skills/cloudflare/references/product-index.md +112 -0
  224. package/skills/cloudflare/references/pulumi/README.md +113 -0
  225. package/skills/cloudflare/references/pulumi/api.md +230 -0
  226. package/skills/cloudflare/references/pulumi/configuration.md +213 -0
  227. package/skills/cloudflare/references/pulumi/gotchas.md +205 -0
  228. package/skills/cloudflare/references/pulumi/patterns.md +260 -0
  229. package/skills/cloudflare/references/queues/README.md +99 -0
  230. package/skills/cloudflare/references/queues/api.md +211 -0
  231. package/skills/cloudflare/references/queues/configuration.md +151 -0
  232. package/skills/cloudflare/references/queues/gotchas.md +210 -0
  233. package/skills/cloudflare/references/queues/patterns.md +220 -0
  234. package/skills/cloudflare/references/r2/README.md +97 -0
  235. package/skills/cloudflare/references/r2/api.md +235 -0
  236. package/skills/cloudflare/references/r2/configuration.md +176 -0
  237. package/skills/cloudflare/references/r2/gotchas.md +190 -0
  238. package/skills/cloudflare/references/r2/patterns.md +203 -0
  239. package/skills/cloudflare/references/r2-data-catalog/README.md +157 -0
  240. package/skills/cloudflare/references/r2-data-catalog/api.md +199 -0
  241. package/skills/cloudflare/references/r2-data-catalog/configuration.md +205 -0
  242. package/skills/cloudflare/references/r2-data-catalog/gotchas.md +170 -0
  243. package/skills/cloudflare/references/r2-data-catalog/patterns.md +191 -0
  244. package/skills/cloudflare/references/r2-sql/README.md +138 -0
  245. package/skills/cloudflare/references/r2-sql/SKILL.md.backup +512 -0
  246. package/skills/cloudflare/references/r2-sql/api.md +159 -0
  247. package/skills/cloudflare/references/r2-sql/configuration.md +152 -0
  248. package/skills/cloudflare/references/r2-sql/gotchas.md +228 -0
  249. package/skills/cloudflare/references/r2-sql/patterns.md +230 -0
  250. package/skills/cloudflare/references/realtime-sfu/README.md +66 -0
  251. package/skills/cloudflare/references/realtime-sfu/api.md +164 -0
  252. package/skills/cloudflare/references/realtime-sfu/configuration.md +141 -0
  253. package/skills/cloudflare/references/realtime-sfu/gotchas.md +138 -0
  254. package/skills/cloudflare/references/realtime-sfu/patterns.md +187 -0
  255. package/skills/cloudflare/references/realtimekit/README.md +118 -0
  256. package/skills/cloudflare/references/realtimekit/api.md +234 -0
  257. package/skills/cloudflare/references/realtimekit/configuration.md +226 -0
  258. package/skills/cloudflare/references/realtimekit/gotchas.md +206 -0
  259. package/skills/cloudflare/references/realtimekit/patterns.md +240 -0
  260. package/skills/cloudflare/references/sandbox/README.md +104 -0
  261. package/skills/cloudflare/references/sandbox/api.md +200 -0
  262. package/skills/cloudflare/references/sandbox/configuration.md +154 -0
  263. package/skills/cloudflare/references/sandbox/gotchas.md +201 -0
  264. package/skills/cloudflare/references/sandbox/patterns.md +195 -0
  265. package/skills/cloudflare/references/secrets-store/README.md +77 -0
  266. package/skills/cloudflare/references/secrets-store/api.md +199 -0
  267. package/skills/cloudflare/references/secrets-store/configuration.md +187 -0
  268. package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
  269. package/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  270. package/skills/cloudflare/references/smart-placement/README.md +143 -0
  271. package/skills/cloudflare/references/smart-placement/api.md +192 -0
  272. package/skills/cloudflare/references/smart-placement/configuration.md +202 -0
  273. package/skills/cloudflare/references/smart-placement/gotchas.md +180 -0
  274. package/skills/cloudflare/references/smart-placement/patterns.md +190 -0
  275. package/skills/cloudflare/references/snippets/README.md +74 -0
  276. package/skills/cloudflare/references/snippets/api.md +214 -0
  277. package/skills/cloudflare/references/snippets/configuration.md +239 -0
  278. package/skills/cloudflare/references/snippets/gotchas.md +104 -0
  279. package/skills/cloudflare/references/snippets/patterns.md +135 -0
  280. package/skills/cloudflare/references/spectrum/README.md +52 -0
  281. package/skills/cloudflare/references/spectrum/api.md +184 -0
  282. package/skills/cloudflare/references/spectrum/configuration.md +203 -0
  283. package/skills/cloudflare/references/spectrum/gotchas.md +155 -0
  284. package/skills/cloudflare/references/spectrum/patterns.md +206 -0
  285. package/skills/cloudflare/references/static-assets/README.md +65 -0
  286. package/skills/cloudflare/references/static-assets/api.md +201 -0
  287. package/skills/cloudflare/references/static-assets/configuration.md +186 -0
  288. package/skills/cloudflare/references/static-assets/gotchas.md +164 -0
  289. package/skills/cloudflare/references/static-assets/patterns.md +189 -0
  290. package/skills/cloudflare/references/stream/README.md +123 -0
  291. package/skills/cloudflare/references/stream/api-live.md +202 -0
  292. package/skills/cloudflare/references/stream/api.md +206 -0
  293. package/skills/cloudflare/references/stream/configuration.md +151 -0
  294. package/skills/cloudflare/references/stream/gotchas.md +139 -0
  295. package/skills/cloudflare/references/stream/patterns.md +217 -0
  296. package/skills/cloudflare/references/tail-workers/README.md +92 -0
  297. package/skills/cloudflare/references/tail-workers/api.md +203 -0
  298. package/skills/cloudflare/references/tail-workers/configuration.md +178 -0
  299. package/skills/cloudflare/references/tail-workers/gotchas.md +206 -0
  300. package/skills/cloudflare/references/tail-workers/patterns.md +190 -0
  301. package/skills/cloudflare/references/terraform/README.md +100 -0
  302. package/skills/cloudflare/references/terraform/api.md +178 -0
  303. package/skills/cloudflare/references/terraform/configuration.md +197 -0
  304. package/skills/cloudflare/references/terraform/gotchas.md +150 -0
  305. package/skills/cloudflare/references/terraform/patterns.md +174 -0
  306. package/skills/cloudflare/references/tunnel/README.md +137 -0
  307. package/skills/cloudflare/references/tunnel/api.md +205 -0
  308. package/skills/cloudflare/references/tunnel/configuration.md +163 -0
  309. package/skills/cloudflare/references/tunnel/gotchas.md +159 -0
  310. package/skills/cloudflare/references/tunnel/networking.md +174 -0
  311. package/skills/cloudflare/references/tunnel/patterns.md +199 -0
  312. package/skills/cloudflare/references/turn/README.md +86 -0
  313. package/skills/cloudflare/references/turn/api.md +236 -0
  314. package/skills/cloudflare/references/turn/configuration.md +181 -0
  315. package/skills/cloudflare/references/turn/gotchas.md +236 -0
  316. package/skills/cloudflare/references/turn/patterns.md +228 -0
  317. package/skills/cloudflare/references/turnstile/README.md +102 -0
  318. package/skills/cloudflare/references/turnstile/api.md +253 -0
  319. package/skills/cloudflare/references/turnstile/configuration.md +242 -0
  320. package/skills/cloudflare/references/turnstile/gotchas.md +253 -0
  321. package/skills/cloudflare/references/turnstile/patterns.md +195 -0
  322. package/skills/cloudflare/references/vectorize/README.md +133 -0
  323. package/skills/cloudflare/references/vectorize/api.md +89 -0
  324. package/skills/cloudflare/references/vectorize/configuration.md +91 -0
  325. package/skills/cloudflare/references/vectorize/gotchas.md +83 -0
  326. package/skills/cloudflare/references/vectorize/patterns.md +92 -0
  327. package/skills/cloudflare/references/waf/README.md +125 -0
  328. package/skills/cloudflare/references/waf/api.md +203 -0
  329. package/skills/cloudflare/references/waf/configuration.md +215 -0
  330. package/skills/cloudflare/references/waf/gotchas.md +208 -0
  331. package/skills/cloudflare/references/waf/patterns.md +236 -0
  332. package/skills/cloudflare/references/web-analytics/README.md +149 -0
  333. package/skills/cloudflare/references/web-analytics/configuration.md +81 -0
  334. package/skills/cloudflare/references/web-analytics/gotchas.md +86 -0
  335. package/skills/cloudflare/references/web-analytics/integration.md +63 -0
  336. package/skills/cloudflare/references/web-analytics/patterns.md +98 -0
  337. package/skills/cloudflare/references/workerd/README.md +85 -0
  338. package/skills/cloudflare/references/workerd/api.md +219 -0
  339. package/skills/cloudflare/references/workerd/configuration.md +200 -0
  340. package/skills/cloudflare/references/workerd/gotchas.md +151 -0
  341. package/skills/cloudflare/references/workerd/patterns.md +205 -0
  342. package/skills/cloudflare/references/workers/README.md +110 -0
  343. package/skills/cloudflare/references/workers/api.md +197 -0
  344. package/skills/cloudflare/references/workers/configuration.md +184 -0
  345. package/skills/cloudflare/references/workers/frameworks.md +200 -0
  346. package/skills/cloudflare/references/workers/gotchas.md +145 -0
  347. package/skills/cloudflare/references/workers/patterns.md +220 -0
  348. package/skills/cloudflare/references/workers-ai/README.md +206 -0
  349. package/skills/cloudflare/references/workers-ai/api.md +115 -0
  350. package/skills/cloudflare/references/workers-ai/configuration.md +98 -0
  351. package/skills/cloudflare/references/workers-ai/gotchas.md +130 -0
  352. package/skills/cloudflare/references/workers-ai/patterns.md +122 -0
  353. package/skills/cloudflare/references/workers-for-platforms/README.md +95 -0
  354. package/skills/cloudflare/references/workers-for-platforms/api.md +212 -0
  355. package/skills/cloudflare/references/workers-for-platforms/configuration.md +178 -0
  356. package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
  357. package/skills/cloudflare/references/workers-for-platforms/patterns.md +210 -0
  358. package/skills/cloudflare/references/workers-playground/README.md +131 -0
  359. package/skills/cloudflare/references/workers-playground/api.md +101 -0
  360. package/skills/cloudflare/references/workers-playground/configuration.md +169 -0
  361. package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
  362. package/skills/cloudflare/references/workers-playground/patterns.md +134 -0
  363. package/skills/cloudflare/references/workers-vpc/README.md +130 -0
  364. package/skills/cloudflare/references/workers-vpc/api.md +196 -0
  365. package/skills/cloudflare/references/workers-vpc/configuration.md +151 -0
  366. package/skills/cloudflare/references/workers-vpc/gotchas.md +171 -0
  367. package/skills/cloudflare/references/workers-vpc/patterns.md +235 -0
  368. package/skills/cloudflare/references/workflows/README.md +72 -0
  369. package/skills/cloudflare/references/workflows/api.md +237 -0
  370. package/skills/cloudflare/references/workflows/configuration.md +158 -0
  371. package/skills/cloudflare/references/workflows/gotchas.md +97 -0
  372. package/skills/cloudflare/references/workflows/patterns.md +245 -0
  373. package/skills/cloudflare/references/wrangler/README.md +143 -0
  374. package/skills/cloudflare/references/wrangler/api.md +188 -0
  375. package/skills/cloudflare/references/wrangler/configuration.md +198 -0
  376. package/skills/cloudflare/references/wrangler/gotchas.md +212 -0
  377. package/skills/cloudflare/references/wrangler/patterns.md +211 -0
  378. package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +131 -0
  379. package/skills/cloudflare/references/zaraz/README.md +114 -0
  380. package/skills/cloudflare/references/zaraz/api.md +118 -0
  381. package/skills/cloudflare/references/zaraz/configuration.md +94 -0
  382. package/skills/cloudflare/references/zaraz/gotchas.md +88 -0
  383. package/skills/cloudflare/references/zaraz/patterns.md +77 -0
  384. package/skills/docker/SKILL.md +7 -101
  385. package/skills/docker/references/advanced-examples.md +71 -0
  386. package/skills/docker/references/templates.md +34 -0
  387. package/skills/docs-marketer/SKILL.md +178 -0
  388. package/skills/docs-marketer/references/audit-categories.md +328 -0
  389. package/skills/docs-marketer/references/copilot-docs-prompts.md +88 -0
  390. package/skills/docs-marketer/references/copilot-usage.md +16 -0
  391. package/skills/docs-marketer/references/feedback-loop.md +155 -0
  392. package/skills/docs-marketer/references/multi-pass-docs-protocol.md +410 -0
  393. package/skills/drizzle-orm/SKILL.md +82 -0
  394. package/skills/durable-objects/SKILL.md +167 -0
  395. package/skills/durable-objects/references/advanced_features.md +29 -0
  396. package/skills/durable-objects/references/rules.md +300 -0
  397. package/skills/durable-objects/references/testing.md +261 -0
  398. package/skills/durable-objects/references/workers.md +336 -0
  399. package/skills/gcp/SKILL.md +37 -0
  400. package/skills/github-actions/SKILL.md +5 -58
  401. package/skills/github-actions/references/templates.md +65 -0
  402. package/skills/github-commander/SKILL.md +13 -21
  403. package/skills/github-commander/workflows/copilot-audit.md +12 -12
  404. package/skills/github-copilot-cli/SKILL.md +21 -26
  405. package/skills/github-repo-setup/SKILL.md +136 -0
  406. package/skills/github-repo-setup/references/community-standards.md +136 -0
  407. package/skills/github-repo-setup/references/github-automation.md +490 -0
  408. package/skills/github-repo-setup/references/inline-templates.md +205 -0
  409. package/skills/github-repo-setup/references/project-config.md +320 -0
  410. package/skills/gitlab/SKILL.md +7 -2
  411. package/skills/gitlab/package-lock.json +389 -389
  412. package/skills/golang/SKILL.md +8 -1
  413. package/skills/graphql/SKILL.md +30 -0
  414. package/skills/hono/SKILL.md +82 -0
  415. package/skills/journal-optimizer/SKILL.md +206 -0
  416. package/skills/journal-optimizer/references/optimizer-scripts.md +169 -0
  417. package/skills/llm-app-engineering/SKILL.md +18 -0
  418. package/skills/monorepo/SKILL.md +56 -0
  419. package/skills/multi-agent-orchestration/SKILL.md +14 -0
  420. package/skills/mysql/SKILL.md +6 -2
  421. package/skills/next-best-practices/SKILL.md +86 -0
  422. package/skills/next-best-practices/references/cache-components-examples.md +234 -0
  423. package/skills/next-best-practices/references/cache-components.md +210 -0
  424. package/skills/next-best-practices/references/upgrade-decision-tree.md +33 -0
  425. package/skills/next-best-practices/references/upgrade.md +43 -0
  426. package/skills/next-cache-components/SKILL.md +441 -0
  427. package/skills/next-upgrade/SKILL.md +43 -0
  428. package/skills/next-upgrade/references/decision-tree.md +33 -0
  429. package/skills/nodejs/SKILL.md +46 -0
  430. package/skills/opentelemetry/SKILL.md +62 -0
  431. package/skills/package.json +39 -4
  432. package/skills/playwright-standard/SKILL.md +6 -11
  433. package/skills/playwright-standard/references/locators.md +7 -0
  434. package/skills/postgres/SKILL.md +6 -1
  435. package/skills/python/SKILL.md +8 -70
  436. package/skills/python/references/advanced-patterns.md +37 -0
  437. package/skills/python/references/config-templates.md +48 -0
  438. package/skills/rag-pipelines/SKILL.md +14 -0
  439. package/skills/redis/SKILL.md +31 -0
  440. package/skills/render/SKILL.md +35 -0
  441. package/skills/rust/SKILL.md +15 -25
  442. package/skills/rust/references/borrow-checker.md +13 -0
  443. package/skills/rust/references/ecosystem.md +11 -0
  444. package/skills/sandbox-sdk/SKILL.md +186 -0
  445. package/skills/sandbox-sdk/references/api-quick-ref.md +113 -0
  446. package/skills/sandbox-sdk/references/examples.md +52 -0
  447. package/skills/shadcn-ui/SKILL.md +22 -57
  448. package/skills/skill-builder/SKILL.md +23 -424
  449. package/skills/skill-builder/references/tutorial.md +457 -0
  450. package/skills/sqlite/SKILL.md +16 -5
  451. package/skills/table.md +59 -0
  452. package/skills/tailwind-css/SKILL.md +11 -60
  453. package/skills/tailwind-css/references/component-patterns.md +52 -0
  454. package/skills/trpc/SKILL.md +56 -0
  455. package/skills/typescript/SKILL.md +30 -433
  456. package/skills/typescript/references/tutorial.md +453 -0
  457. package/skills/vercel-ai-sdk/SKILL.md +48 -0
  458. package/skills/vitest-standard/SKILL.md +5 -11
  459. package/skills/vitest-standard/references/assertions.md +11 -0
  460. package/skills/web-perf/SKILL.md +207 -0
  461. package/skills/workers-best-practices/SKILL.md +120 -0
  462. package/skills/workers-best-practices/references/anti-patterns.md +18 -0
  463. package/skills/workers-best-practices/references/review.md +174 -0
  464. package/skills/workers-best-practices/references/rules.md +485 -0
  465. package/skills/wrangler/SKILL.md +43 -0
  466. package/skills/wrangler/references/cli-commands.md +861 -0
  467. package/skills/zod/SKILL.md +48 -0
  468. package/dist/tools-P4VGG4FH.js +0 -1
  469. package/skills/react-best-practices/AGENTS.md +0 -2883
  470. package/skills/react-best-practices/SKILL.md +0 -138
  471. /package/skills/{react-best-practices → next-best-practices}/README.md +0 -0
  472. /package/skills/{react-best-practices → next-best-practices}/metadata.json +0 -0
  473. /package/skills/{react-best-practices → next-best-practices}/rules/_sections.md +0 -0
  474. /package/skills/{react-best-practices → next-best-practices}/rules/_template.md +0 -0
  475. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-event-handler-refs.md +0 -0
  476. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-init-once.md +0 -0
  477. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-use-latest.md +0 -0
  478. /package/skills/{react-best-practices → next-best-practices}/rules/async-api-routes.md +0 -0
  479. /package/skills/{react-best-practices → next-best-practices}/rules/async-defer-await.md +0 -0
  480. /package/skills/{react-best-practices → next-best-practices}/rules/async-dependencies.md +0 -0
  481. /package/skills/{react-best-practices → next-best-practices}/rules/async-parallel.md +0 -0
  482. /package/skills/{react-best-practices → next-best-practices}/rules/async-suspense-boundaries.md +0 -0
  483. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-barrel-imports.md +0 -0
  484. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-conditional.md +0 -0
  485. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-defer-third-party.md +0 -0
  486. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-dynamic-imports.md +0 -0
  487. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-preload.md +0 -0
  488. /package/skills/{react-best-practices → next-best-practices}/rules/client-event-listeners.md +0 -0
  489. /package/skills/{react-best-practices → next-best-practices}/rules/client-localstorage-schema.md +0 -0
  490. /package/skills/{react-best-practices → next-best-practices}/rules/client-passive-event-listeners.md +0 -0
  491. /package/skills/{react-best-practices → next-best-practices}/rules/client-swr-dedup.md +0 -0
  492. /package/skills/{react-best-practices → next-best-practices}/rules/js-batch-dom-css.md +0 -0
  493. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-function-results.md +0 -0
  494. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-property-access.md +0 -0
  495. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-storage.md +0 -0
  496. /package/skills/{react-best-practices → next-best-practices}/rules/js-combine-iterations.md +0 -0
  497. /package/skills/{react-best-practices → next-best-practices}/rules/js-early-exit.md +0 -0
  498. /package/skills/{react-best-practices → next-best-practices}/rules/js-hoist-regexp.md +0 -0
  499. /package/skills/{react-best-practices → next-best-practices}/rules/js-index-maps.md +0 -0
  500. /package/skills/{react-best-practices → next-best-practices}/rules/js-length-check-first.md +0 -0
  501. /package/skills/{react-best-practices → next-best-practices}/rules/js-min-max-loop.md +0 -0
  502. /package/skills/{react-best-practices → next-best-practices}/rules/js-set-map-lookups.md +0 -0
  503. /package/skills/{react-best-practices → next-best-practices}/rules/js-tosorted-immutable.md +0 -0
  504. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-activity.md +0 -0
  505. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-animate-svg-wrapper.md +0 -0
  506. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-conditional-render.md +0 -0
  507. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-content-visibility.md +0 -0
  508. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hoist-jsx.md +0 -0
  509. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-no-flicker.md +0 -0
  510. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-suppress-warning.md +0 -0
  511. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-svg-precision.md +0 -0
  512. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-usetransition-loading.md +0 -0
  513. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-defer-reads.md +0 -0
  514. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-dependencies.md +0 -0
  515. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state-no-effect.md +0 -0
  516. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state.md +0 -0
  517. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-functional-setstate.md +0 -0
  518. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-lazy-state-init.md +0 -0
  519. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo-with-default-value.md +0 -0
  520. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo.md +0 -0
  521. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-move-effect-to-event.md +0 -0
  522. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-simple-expression-in-memo.md +0 -0
  523. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-transitions.md +0 -0
  524. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-use-ref-transient-values.md +0 -0
  525. /package/skills/{react-best-practices → next-best-practices}/rules/server-after-nonblocking.md +0 -0
  526. /package/skills/{react-best-practices → next-best-practices}/rules/server-auth-actions.md +0 -0
  527. /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-lru.md +0 -0
  528. /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-react.md +0 -0
  529. /package/skills/{react-best-practices → next-best-practices}/rules/server-dedup-props.md +0 -0
  530. /package/skills/{react-best-practices → next-best-practices}/rules/server-parallel-fetching.md +0 -0
  531. /package/skills/{react-best-practices → next-best-practices}/rules/server-serialization.md +0 -0
@@ -0,0 +1,175 @@
1
+ # CNI Gotchas & Troubleshooting
2
+
3
+ ## Common Errors
4
+
5
+ ### "Status: Pending"
6
+
7
+ **Cause:** Cross-connect not installed, RX/TX fibers reversed, wrong fiber type, or low light levels
8
+ **Solution:**
9
+
10
+ 1. Verify cross-connect installed
11
+ 2. Check fiber at patch panel
12
+ 3. Swap RX/TX fibers
13
+ 4. Check light with optical power meter (target > -20 dBm)
14
+ 5. Contact account team
15
+
16
+ ### "Status: Unhealthy"
17
+
18
+ **Cause:** Physical issue, low light (<-20 dBm), optic mismatch, or dirty connectors
19
+ **Solution:**
20
+
21
+ 1. Check physical connections
22
+ 2. Clean fiber connectors
23
+ 3. Verify optic types (10GBASE-LR/100GBASE-LR4)
24
+ 4. Test with known-good optics
25
+ 5. Check patch panel
26
+ 6. Contact account team
27
+
28
+ ### "BGP Session Down"
29
+
30
+ **Cause:** Wrong IP addressing, wrong ASN, password mismatch, or firewall blocking TCP/179
31
+ **Solution:**
32
+
33
+ 1. Verify IPs match CNI object
34
+ 2. Confirm ASN correct
35
+ 3. Check BGP password
36
+ 4. Verify no firewall on TCP/179
37
+ 5. Check BGP logs
38
+ 6. Review BGP timers
39
+
40
+ ### "Low Throughput"
41
+
42
+ **Cause:** MTU mismatch, fragmentation, single GRE tunnel (v1), or routing inefficiency
43
+ **Solution:**
44
+
45
+ 1. Check MTU (1500↓/1476↑ for v1, 1500 both for v2)
46
+ 2. Test various packet sizes
47
+ 3. Add more GRE tunnels (v1)
48
+ 4. Consider upgrading to v2
49
+ 5. Review routing tables
50
+ 6. Use LACP for bundling (v1)
51
+
52
+ ## API Errors
53
+
54
+ ### 400 Bad Request: "slot_id already occupied"
55
+
56
+ **Cause:** Another interconnect already uses this slot
57
+ **Solution:** Use `occupied=false` filter when listing slots:
58
+
59
+ ```typescript
60
+ await client.networkInterconnects.slots.list({
61
+ account_id: id,
62
+ occupied: false,
63
+ facility: 'EWR1',
64
+ })
65
+ ```
66
+
67
+ ### 400 Bad Request: "invalid facility code"
68
+
69
+ **Cause:** Typo or unsupported facility
70
+ **Solution:** Check [locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-2026-01.pdf) for valid codes
71
+
72
+ ### 403 Forbidden: "Enterprise plan required"
73
+
74
+ **Cause:** Account not enterprise-level
75
+ **Solution:** Contact account team to upgrade
76
+
77
+ ### 422 Unprocessable: "validate_only request failed"
78
+
79
+ **Cause:** Dry-run validation found issues (wrong slot, invalid config)
80
+ **Solution:** Review error message details, fix config before real creation
81
+
82
+ ### Rate Limiting
83
+
84
+ **Limit:** 1200 requests/5min per token
85
+ **Solution:** Implement exponential backoff, cache slot listings
86
+
87
+ ## Cloud-Specific Issues
88
+
89
+ ### AWS Direct Connect: "VLAN not matching"
90
+
91
+ **Cause:** VLAN ID from AWS LOA doesn't match CNI config
92
+ **Solution:**
93
+
94
+ 1. Get VLAN from AWS Console after ordering
95
+ 2. Send exact VLAN to CF account team
96
+ 3. Verify match in CNI object config
97
+
98
+ ### AWS: "Connection stuck in Pending"
99
+
100
+ **Cause:** LOA not provided to CF or AWS connection not accepted
101
+ **Solution:**
102
+
103
+ 1. Verify AWS connection status is "Available"
104
+ 2. Confirm LOA sent to CF account team
105
+ 3. Wait for CF team acceptance (can take days)
106
+
107
+ ### GCP: "BGP routes not propagating"
108
+
109
+ **Cause:** BGP routes from GCP Cloud Router **ignored by design**
110
+ **Solution:** Use [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes) in Magic WAN instead
111
+
112
+ ### GCP: "Cannot query VLAN attachment status via API"
113
+
114
+ **Cause:** GCP Cloud Interconnect Dashboard-only (no API yet)
115
+ **Solution:** Check status in CF Dashboard or GCP Console
116
+
117
+ ## Partner Interconnect Issues
118
+
119
+ ### Equinix: "Virtual circuit not appearing"
120
+
121
+ **Cause:** CF hasn't accepted Equinix connection request
122
+ **Solution:**
123
+
124
+ 1. Verify VC created in Equinix Fabric Portal
125
+ 2. Contact CF account team to accept
126
+ 3. Allow 2-3 business days
127
+
128
+ ### Console Connect/Megaport: "API creation fails"
129
+
130
+ **Cause:** Partner interconnects require partner portal + CF approval
131
+ **Solution:** Cannot fully automate. Order in partner portal, notify CF account team.
132
+
133
+ ## Anti-Patterns
134
+
135
+ | Anti-Pattern | Why Bad | Solution |
136
+ | -------------------------------------- | ------------------------------------ | ------------------------------------ |
137
+ | Single interconnect for production | No SLA, single point of failure | Use ≥2 with device diversity |
138
+ | No backup Internet | CNI fails = total outage | Always maintain alternate path |
139
+ | Polling status every second | Rate limits, wastes API calls | Poll every 30-60s max |
140
+ | Using v1 for Magic WAN v2 workloads | GRE overhead, complexity | Use v2 for simplified routing |
141
+ | Assuming BGP session = traffic flowing | BGP up ≠ routes installed | Verify routing tables + test traffic |
142
+ | Not enabling maintenance alerts | Surprise downtime during maintenance | Enable notifications immediately |
143
+ | Hardcoding VLAN in automation | VLAN assigned by CF (v1) | Get VLAN from CNI object response |
144
+ | Using Direct without colocation | Can't access cross-connect | Use Partner or Cloud interconnect |
145
+
146
+ ## What's Not Queryable via API
147
+
148
+ **Cannot retrieve:**
149
+
150
+ - BGP session state (use Dashboard or BGP logs)
151
+ - Light levels (contact account team)
152
+ - Historical metrics (uptime, traffic)
153
+ - Bandwidth utilization per interconnect
154
+ - Maintenance window schedules (notifications only)
155
+ - Fiber path details
156
+ - Cross-connect installation status
157
+
158
+ **Workarounds:**
159
+
160
+ - External monitoring for BGP state
161
+ - Log aggregation for historical data
162
+ - Notifications for maintenance windows
163
+
164
+ ## Limits
165
+
166
+ | Resource/Limit | Value | Notes |
167
+ | --------------------- | ------------- | ----------------------------------- |
168
+ | Max optical distance | 10km | Physical limit |
169
+ | MTU (v1) | 1500↓ / 1476↑ | Asymmetric |
170
+ | MTU (v2) | 1500 both | Symmetric |
171
+ | GRE tunnel throughput | 1 Gbps | Per tunnel (v1) |
172
+ | Recovery time | Days | No formal SLA |
173
+ | Light level minimum | -20 dBm | Target threshold |
174
+ | API rate limit | 1200 req/5min | Per token |
175
+ | Health check delay | 6 hours | New maintenance alert subscriptions |
@@ -0,0 +1,174 @@
1
+ # CNI Patterns
2
+
3
+ See [README.md](README.md) for overview.
4
+
5
+ ## High Availability
6
+
7
+ **Critical:** Design for resilience from day one.
8
+
9
+ **Requirements:**
10
+
11
+ - Device-level diversity (separate hardware)
12
+ - Backup Internet connectivity (no SLA on CNI)
13
+ - Network-resilient locations preferred
14
+ - Regular failover testing
15
+
16
+ **Architecture:**
17
+
18
+ ```
19
+ Your Network A ──10G CNI v2──> CF CCR Device 1
20
+
21
+ Your Network B ──10G CNI v2──> CF CCR Device 2
22
+
23
+ CF Global Network (AS13335)
24
+ ```
25
+
26
+ **Capacity Planning:**
27
+
28
+ - Plan across all links
29
+ - Account for failover scenarios
30
+ - Your responsibility
31
+
32
+ ## Pattern: Magic Transit + CNI v2
33
+
34
+ **Use Case:** DDoS protection, private connectivity, no GRE overhead.
35
+
36
+ ```typescript
37
+ // 1. Create interconnect
38
+ const ic = await client.networkInterconnects.interconnects.create({
39
+ account_id: id,
40
+ type: 'direct',
41
+ facility: 'EWR1',
42
+ speed: '10G',
43
+ name: 'magic-transit-primary',
44
+ })
45
+
46
+ // 2. Poll until active
47
+ const status = await pollUntilActive(id, ic.id)
48
+
49
+ // 3. Configure Magic Transit tunnel via Dashboard/API
50
+ ```
51
+
52
+ **Benefits:** 1500 MTU both ways, simplified routing.
53
+
54
+ ## Pattern: Multi-Cloud Hybrid
55
+
56
+ **Use Case:** AWS/GCP workloads with Cloudflare.
57
+
58
+ **AWS Direct Connect:**
59
+
60
+ ```typescript
61
+ // 1. Order Direct Connect in AWS Console
62
+ // 2. Get LOA + VLAN from AWS
63
+ // 3. Send to CF account team (no API)
64
+ // 4. Configure static routes in Magic WAN
65
+
66
+ await configureStaticRoutes(id, {
67
+ prefix: '10.0.0.0/8',
68
+ nexthop: 'aws-direct-connect',
69
+ })
70
+ ```
71
+
72
+ **GCP Cloud Interconnect:**
73
+
74
+ ```
75
+ 1. Get VLAN attachment pairing key from GCP Console
76
+ 2. Create via Dashboard: Interconnects → Create → Cloud Interconnect → Google
77
+ - Enter pairing key, name, MTU, speed
78
+ 3. Configure static routes in Magic WAN (BGP routes from GCP ignored)
79
+ 4. Configure custom learned routes in GCP Cloud Router
80
+ ```
81
+
82
+ **Note:** Dashboard-only. No API/SDK support yet.
83
+
84
+ ## Pattern: Multi-Location HA
85
+
86
+ **Use Case:** 99.99%+ uptime.
87
+
88
+ ```typescript
89
+ // Primary (NY)
90
+ const primary = await client.networkInterconnects.interconnects.create({
91
+ account_id: id,
92
+ type: 'direct',
93
+ facility: 'EWR1',
94
+ speed: '10G',
95
+ name: 'primary-ewr1',
96
+ })
97
+
98
+ // Secondary (NY, different hardware)
99
+ const secondary = await client.networkInterconnects.interconnects.create({
100
+ account_id: id,
101
+ type: 'direct',
102
+ facility: 'EWR2',
103
+ speed: '10G',
104
+ name: 'secondary-ewr2',
105
+ })
106
+
107
+ // Tertiary (LA, different geography)
108
+ const tertiary = await client.networkInterconnects.interconnects.create({
109
+ account_id: id,
110
+ type: 'partner',
111
+ facility: 'LAX1',
112
+ speed: '10G',
113
+ name: 'tertiary-lax1',
114
+ })
115
+
116
+ // BGP local preferences:
117
+ // Primary: 200
118
+ // Secondary: 150
119
+ // Tertiary: 100
120
+ // Internet: Last resort
121
+ ```
122
+
123
+ ## Pattern: Partner Interconnect (Equinix)
124
+
125
+ **Use Case:** Quick deployment, no colocation.
126
+
127
+ **Setup:**
128
+
129
+ 1. Order virtual circuit in Equinix Fabric Portal
130
+ 2. Select Cloudflare as destination
131
+ 3. Choose facility
132
+ 4. Send details to CF account team
133
+ 5. CF accepts in portal
134
+ 6. Configure BGP
135
+
136
+ **No API automation** – partner portals managed separately.
137
+
138
+ ## Failover & Security
139
+
140
+ **Failover Best Practices:**
141
+
142
+ - Use BGP local preferences for priority
143
+ - Configure BFD for fast detection (v1)
144
+ - Test regularly with traffic shift
145
+ - Document runbooks
146
+
147
+ **Security:**
148
+
149
+ - BGP password authentication
150
+ - BGP route filtering
151
+ - Monitor unexpected routes
152
+ - Magic Firewall for DDoS/threats
153
+ - Minimum API token permissions
154
+ - Rotate credentials periodically
155
+
156
+ ## Decision Matrix
157
+
158
+ | Requirement | Recommended |
159
+ | ------------------ | ----------- |
160
+ | Collocated with CF | Direct |
161
+ | Not collocated | Partner |
162
+ | AWS/GCP workloads | Cloud |
163
+ | 1500 MTU both ways | v2 |
164
+ | VLAN tagging | v1 |
165
+ | Public peering | v1 |
166
+ | Simplest config | v2 |
167
+ | BFD fast failover | v1 |
168
+ | LACP bundling | v1 |
169
+
170
+ ## Resources
171
+
172
+ - [Magic Transit Docs](https://developers.cloudflare.com/magic-transit/)
173
+ - [Magic WAN Docs](https://developers.cloudflare.com/magic-wan/)
174
+ - [Argo Smart Routing](https://developers.cloudflare.com/argo/)
@@ -0,0 +1,93 @@
1
+ # Cloudflare Observability Skill Reference
2
+
3
+ **Purpose**: Comprehensive guidance for implementing observability in Cloudflare Workers, covering traces, logs, metrics, and analytics.
4
+
5
+ **Scope**: Cloudflare Observability features ONLY - Workers Logs, Traces, Analytics Engine, Logpush, Metrics & Analytics, and OpenTelemetry exports.
6
+
7
+ ---
8
+
9
+ ## Decision Tree: Which File to Load?
10
+
11
+ Use this to route to the correct file without loading all content:
12
+
13
+ ```
14
+ ├─ "How do I enable/configure X?" → configuration.md
15
+ ├─ "What's the API/method/binding for X?" → api.md
16
+ ├─ "How do I implement X pattern?" → patterns.md
17
+ │ ├─ Usage tracking/billing → patterns.md
18
+ │ ├─ Error tracking → patterns.md
19
+ │ ├─ Performance monitoring → patterns.md
20
+ │ ├─ Multi-tenant tracking → patterns.md
21
+ │ ├─ Tail Worker filtering → patterns.md
22
+ │ └─ OpenTelemetry export → patterns.md
23
+ └─ "Why isn't X working?" / "Limits?" → gotchas.md
24
+ ```
25
+
26
+ ## Reading Order
27
+
28
+ Load files in this order based on task:
29
+
30
+ | Task Type | Load Order | Reason |
31
+ | --------------------- | --------------------------------- | ---------------------------------- |
32
+ | **Initial setup** | configuration.md → gotchas.md | Setup first, avoid pitfalls |
33
+ | **Implement feature** | patterns.md → api.md → gotchas.md | Pattern → API details → edge cases |
34
+ | **Debug issue** | gotchas.md → configuration.md | Common issues first |
35
+ | **Query data** | api.md → patterns.md | API syntax → query examples |
36
+
37
+ ## Product Overview
38
+
39
+ ### Workers Logs
40
+
41
+ - **What:** Console output from Workers (console.log/warn/error)
42
+ - **Access:** Dashboard (Real-time Logs), Logpush, Tail Workers
43
+ - **Cost:** Free (included with all Workers)
44
+ - **Retention:** Real-time only (no historical storage in dashboard)
45
+
46
+ ### Workers Traces
47
+
48
+ - **What:** Execution traces with timing, CPU usage, outcome
49
+ - **Access:** Dashboard (Workers Analytics → Traces), Logpush
50
+ - **Cost:** $0.10/1M spans (GA pricing starts March 1, 2026), 10M free/month
51
+ - **Retention:** 14 days included
52
+
53
+ ### Analytics Engine
54
+
55
+ - **What:** High-cardinality event storage and SQL queries
56
+ - **Access:** SQL API, Dashboard (Analytics → Analytics Engine)
57
+ - **Cost:** $0.25/1M writes beyond 10M free/month
58
+ - **Retention:** 90 days (configurable up to 1 year)
59
+
60
+ ### Tail Workers
61
+
62
+ - **What:** Workers that receive logs/traces from other Workers
63
+ - **Use Cases:** Log filtering, transformation, external export
64
+ - **Cost:** Standard Workers pricing
65
+
66
+ ### Logpush
67
+
68
+ - **What:** Stream logs to external storage (S3, R2, Datadog, etc.)
69
+ - **Access:** Dashboard, API
70
+ - **Cost:** Requires Business/Enterprise plan
71
+
72
+ ## Pricing Summary (2026)
73
+
74
+ | Feature | Free Tier | Cost Beyond Free Tier | Plan Requirement |
75
+ | ---------------- | ---------------- | --------------------- | -------------------------------- |
76
+ | Workers Logs | Unlimited | Free | Any |
77
+ | Workers Traces | 10M spans/month | $0.10/1M spans | Paid Workers (GA: March 1, 2026) |
78
+ | Analytics Engine | 10M writes/month | $0.25/1M writes | Paid Workers |
79
+ | Logpush | N/A | Included in plan | Business/Enterprise |
80
+
81
+ ## In This Reference
82
+
83
+ - **[configuration.md](configuration.md)** - Setup, deployment, configuration (Logs, Traces, Analytics Engine, Tail Workers, Logpush)
84
+ - **[api.md](api.md)** - API endpoints, methods, interfaces (GraphQL, SQL, bindings, types)
85
+ - **[patterns.md](patterns.md)** - Common patterns, use cases, examples (billing, monitoring, error tracking, exports)
86
+ - **[gotchas.md](gotchas.md)** - Troubleshooting, best practices, limitations (common errors, performance gotchas, pricing)
87
+
88
+ ## See Also
89
+
90
+ - [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/)
91
+ - [Analytics Engine Docs](https://developers.cloudflare.com/analytics/analytics-engine/)
92
+ - [Workers Traces Docs](https://developers.cloudflare.com/workers/observability/traces/)
93
+ - [GraphQL Analytics API Reference](../graphql-api/) - Query Workers metrics, HTTP analytics, and 70+ other datasets via GraphQL
@@ -0,0 +1,168 @@
1
+ ## API Reference
2
+
3
+ ### GraphQL Analytics API
4
+
5
+ **Endpoint**: `https://api.cloudflare.com/client/v4/graphql`
6
+
7
+ **Query Workers Metrics**:
8
+
9
+ ```graphql
10
+ query {
11
+ viewer {
12
+ accounts(filter: { accountTag: $accountId }) {
13
+ workersInvocationsAdaptive(
14
+ limit: 100
15
+ filter: {
16
+ datetime_geq: "2025-01-01T00:00:00Z"
17
+ datetime_leq: "2025-01-31T23:59:59Z"
18
+ scriptName: "my-worker"
19
+ }
20
+ ) {
21
+ sum {
22
+ requests
23
+ errors
24
+ subrequests
25
+ }
26
+ quantiles {
27
+ cpuTimeP50
28
+ cpuTimeP99
29
+ wallTimeP50
30
+ wallTimeP99
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ ```
37
+
38
+ ### Analytics Engine SQL API
39
+
40
+ **Endpoint**: `https://api.cloudflare.com/client/v4/accounts/{account_id}/analytics_engine/sql`
41
+
42
+ **Authentication**: `Authorization: Bearer <API_TOKEN>` (Account Analytics Read permission)
43
+
44
+ **Common Queries**:
45
+
46
+ ```sql
47
+ -- List all datasets
48
+ SHOW TABLES;
49
+
50
+ -- Time-series aggregation (5-minute buckets)
51
+ SELECT
52
+ intDiv(toUInt32(timestamp), 300) * 300 AS time_bucket,
53
+ blob1 AS endpoint,
54
+ SUM(_sample_interval) AS total_requests,
55
+ AVG(double1) AS avg_response_time_ms
56
+ FROM api_metrics
57
+ WHERE timestamp >= NOW() - INTERVAL '24' HOUR
58
+ GROUP BY time_bucket, endpoint
59
+ ORDER BY time_bucket DESC;
60
+
61
+ -- Top customers by usage
62
+ SELECT
63
+ index1 AS customer_id,
64
+ SUM(_sample_interval * double1) AS total_api_calls,
65
+ AVG(double2) AS avg_response_time_ms
66
+ FROM api_usage
67
+ WHERE timestamp >= NOW() - INTERVAL '7' DAY
68
+ GROUP BY customer_id
69
+ ORDER BY total_api_calls DESC
70
+ LIMIT 100;
71
+
72
+ -- Error rate analysis
73
+ SELECT
74
+ blob1 AS error_type,
75
+ COUNT(*) AS occurrences,
76
+ MAX(timestamp) AS last_seen
77
+ FROM error_tracking
78
+ WHERE timestamp >= NOW() - INTERVAL '1' HOUR
79
+ GROUP BY error_type
80
+ ORDER BY occurrences DESC;
81
+ ```
82
+
83
+ ### Console Logging API
84
+
85
+ **Methods**:
86
+
87
+ ```typescript
88
+ // Standard methods (all appear in Workers Logs)
89
+ console.log('info message')
90
+ console.info('info message')
91
+ console.warn('warning message')
92
+ console.error('error message')
93
+ console.debug('debug message')
94
+
95
+ // Structured logging (recommended)
96
+ console.log({
97
+ level: 'info',
98
+ user_id: '123',
99
+ action: 'checkout',
100
+ amount: 99.99,
101
+ currency: 'USD',
102
+ })
103
+ ```
104
+
105
+ **Log Levels**: All console methods produce logs; use structured fields for filtering:
106
+
107
+ ```typescript
108
+ console.log({
109
+ level: 'error',
110
+ message: 'Payment failed',
111
+ error_code: 'CARD_DECLINED',
112
+ })
113
+ ```
114
+
115
+ ### Analytics Engine Binding Types
116
+
117
+ ```typescript
118
+ interface AnalyticsEngineDataset {
119
+ writeDataPoint(event: AnalyticsEngineDataPoint): void
120
+ }
121
+
122
+ interface AnalyticsEngineDataPoint {
123
+ // Indexed strings (use for filtering/grouping)
124
+ indexes?: string[]
125
+
126
+ // Non-indexed strings (metadata, IDs, URLs)
127
+ blobs?: string[]
128
+
129
+ // Numeric values (counts, durations, amounts)
130
+ doubles?: number[]
131
+ }
132
+ ```
133
+
134
+ **Field Limits**:
135
+
136
+ - Max 20 indexes
137
+ - Max 20 blobs
138
+ - Max 20 doubles
139
+ - Max 25 `writeDataPoint` calls per request
140
+
141
+ ### Tail Consumer Event Type
142
+
143
+ ```typescript
144
+ interface TraceItem {
145
+ event: TraceEvent
146
+ logs: TraceLog[]
147
+ exceptions: TraceException[]
148
+ scriptName?: string
149
+ }
150
+
151
+ interface TraceEvent {
152
+ outcome: 'ok' | 'exception' | 'exceededCpu' | 'exceededMemory' | 'unknown'
153
+ cpuTime: number // microseconds
154
+ wallTime: number // microseconds
155
+ }
156
+
157
+ interface TraceLog {
158
+ timestamp: number
159
+ level: 'log' | 'info' | 'debug' | 'warn' | 'error'
160
+ message: any // string or structured object
161
+ }
162
+
163
+ interface TraceException {
164
+ name: string
165
+ message: string
166
+ timestamp: number
167
+ }
168
+ ```