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,132 @@
1
+ # Gotchas & Troubleshooting
2
+
3
+ ## Common Errors
4
+
5
+ ### "Schema Validation 2.0 not working after migration"
6
+
7
+ **Cause:** Classic rules still active, conflicting with new system
8
+ **Solution:**
9
+
10
+ 1. Delete ALL Classic schema validation rules
11
+ 2. Clear Cloudflare cache (wait 5 min)
12
+ 3. Re-upload schema via new Schema Validation 2.0 interface
13
+ 4. Verify in Security > Events
14
+ 5. Check action is set (Log/Block)
15
+
16
+ ### "Schema validation blocking valid requests"
17
+
18
+ **Cause:** Schema too restrictive, missing fields, or incorrect types
19
+ **Solution:**
20
+
21
+ 1. Check Firewall Events for violation details
22
+ 2. Review schema in Settings
23
+ 3. Test schema in Swagger Editor
24
+ 4. Use Log mode to validate before blocking
25
+ 5. Update schema with correct specifications
26
+ 6. Ensure Schema Validation 2.0 (not Classic)
27
+
28
+ ### "JWT validation failing"
29
+
30
+ **Cause:** JWKS mismatch with IdP, expired token, wrong header/cookie name, or clock skew
31
+ **Solution:**
32
+
33
+ 1. Verify JWKS matches IdP configuration
34
+ 2. Check token `exp` claim is valid
35
+ 3. Confirm header/cookie name matches config
36
+ 4. Test token at jwt.io
37
+ 5. Account for clock skew (±5 min tolerance)
38
+ 6. Use modern syntax: `is_jwt_valid(http.request.jwt.payload["{config_id}"][0])`
39
+
40
+ ### "BOLA detection false positives"
41
+
42
+ **Cause:** Legitimate sequential access patterns, bulk operations, or sensitivity too high
43
+ **Solution:**
44
+
45
+ 1. Review BOLA events in Security > Events
46
+ 2. Lower sensitivity threshold (High → Medium → Low)
47
+ 3. Exclude legitimate bulk operations from detection
48
+ 4. Ensure session identifiers uniquely identify users
49
+ 5. Verify minimum traffic requirements met (1000+ req/day)
50
+
51
+ ### "Risk labels not appearing in firewall rules"
52
+
53
+ **Cause:** Feature not enabled, insufficient traffic, or missing session identifiers
54
+ **Solution:**
55
+
56
+ 1. Verify Schema Validation 2.0 enabled
57
+ 2. Enable BOLA Detection in schema settings
58
+ 3. Configure session identifiers (required for BOLA)
59
+ 4. Wait 24-48h for ML model training
60
+ 5. Check minimum traffic thresholds met
61
+
62
+ ### "Endpoint discovery not finding APIs"
63
+
64
+ **Cause:** Insufficient traffic (<500 reqs/10d), non-2xx responses, Worker direct requests, or incorrect session ID config
65
+ **Solution:** Ensure 500+ requests in 10 days, 2xx responses from edge (not Workers direct), configure session IDs correctly. ML updates daily.
66
+
67
+ ### "Sequence detection false positives"
68
+
69
+ **Cause:** Lookback window issues, non-unique session IDs, or model sensitivity
70
+ **Solution:**
71
+
72
+ 1. Review lookback settings (10 reqs to managed endpoints, 10min window)
73
+ 2. Ensure session ID uniqueness per user (not shared tokens)
74
+ 3. Adjust positive/negative model balance
75
+ 4. Exclude legitimate workflows from detection
76
+
77
+ ### "GraphQL protection blocking valid queries"
78
+
79
+ **Cause:** Query depth/size limits too restrictive, complex but legitimate queries
80
+ **Solution:**
81
+
82
+ 1. Review blocked query patterns in Security > Events
83
+ 2. Increase max_depth (default: 10) if needed
84
+ 3. Increase max_size (default: 100KB) for complex queries
85
+ 4. Whitelist specific query signatures
86
+ 5. Use Log mode to tune before blocking
87
+
88
+ ### "Token invalid"
89
+
90
+ **Cause:** Configuration error, JWKS mismatch, or expired token
91
+ **Solution:** Verify config matches IdP, update JWKS, check token expiration
92
+
93
+ ### "Schema violation"
94
+
95
+ **Cause:** Missing required fields, wrong data types, or spec mismatch
96
+ **Solution:** Review schema against actual requests, ensure all required fields present, validate types match spec
97
+
98
+ ### "Fallthrough"
99
+
100
+ **Cause:** Unknown endpoint or pattern mismatch
101
+ **Solution:** Update schema with all endpoints, check path pattern matching
102
+
103
+ ### "mTLS failed"
104
+
105
+ **Cause:** Certificate untrusted/expired or wrong CA
106
+ **Solution:** Verify cert chain, check expiration, confirm correct CA uploaded
107
+
108
+ ## Limits (2026)
109
+
110
+ | Resource/Limit | Value | Notes |
111
+ | ------------------------- | ----------------------- | ---------------------------------- |
112
+ | OpenAPI version | v3.0.x only | No external refs, must be valid |
113
+ | Schema operations | 10K (Enterprise) | Contact for higher limits |
114
+ | JWT validation sources | Headers/cookies only | No query params/body |
115
+ | Endpoint discovery | 500+ reqs/10d | Minimum for ML model |
116
+ | Path normalization | Automatic | `/profile/238` → `/profile/{var1}` |
117
+ | Schema parameters | No `content` field | No object param validation |
118
+ | BOLA detection | 1000+ reqs/day/endpoint | Per-endpoint minimum |
119
+ | Session ID uniqueness | Required | BOLA/Sequence need unique IDs |
120
+ | GraphQL max depth | 1-50 | Default: 10 |
121
+ | GraphQL max size | 1KB-1MB | Default: 100KB |
122
+ | JWT claim nesting | 10 levels max | Use dot notation |
123
+ | mTLS CA certificates | 5 custom max | CF-managed unlimited |
124
+ | Schema upload size | 5MB max | Compressed OpenAPI spec |
125
+ | Volumetric abuse baseline | 7 days training | Initial ML period |
126
+ | Auth Posture refresh | Daily | Updated nightly |
127
+
128
+ ## See Also
129
+
130
+ - [configuration.md](configuration.md) - Setup guides to avoid common issues
131
+ - [patterns.md](patterns.md) - Best practices and progressive rollout
132
+ - [API Shield Docs](https://developers.cloudflare.com/api-shield/)
@@ -0,0 +1,185 @@
1
+ # Patterns & Use Cases
2
+
3
+ ## Protect API with Schema + JWT
4
+
5
+ ```bash
6
+ # 1. Upload OpenAPI schema
7
+ POST /zones/{zone_id}/api_gateway/user_schemas
8
+
9
+ # 2. Configure JWT validation
10
+ POST /zones/{zone_id}/api_gateway/token_validation
11
+ {
12
+ "name": "Auth0",
13
+ "location": {"header": "Authorization"},
14
+ "jwks": "{...}"
15
+ }
16
+
17
+ # 3. Create JWT rule
18
+ POST /zones/{zone_id}/api_gateway/jwt_validation_rules
19
+
20
+ # 4. Set schema validation action
21
+ PUT /zones/{zone_id}/api_gateway/settings/schema_validation
22
+ {"validation_default_mitigation_action": "block"}
23
+ ```
24
+
25
+ ## Progressive Rollout
26
+
27
+ ```
28
+ 1. Log mode: Observe false positives
29
+ - Schema: Action = Log
30
+ - JWT: Action = Log
31
+
32
+ 2. Block subset: Protect critical endpoints
33
+ - Change specific endpoint actions to Block
34
+ - Monitor firewall events
35
+
36
+ 3. Full enforcement: Block all violations
37
+ - Change default action to Block
38
+ - Handle fallthrough with custom rule
39
+ ```
40
+
41
+ ## BOLA Detection
42
+
43
+ ### Enumeration Detection
44
+
45
+ Detects sequential resource access (e.g., `/users/1`, `/users/2`, `/users/3`).
46
+
47
+ ```javascript
48
+ // Block BOLA enumeration attempts
49
+ (cf.api_gateway.cf-risk-bola-enumeration and http.host eq "api.example.com")
50
+ // Action: Block or Challenge
51
+ ```
52
+
53
+ ### Parameter Pollution
54
+
55
+ Detects duplicate/excessive parameters in requests.
56
+
57
+ ```javascript
58
+ // Block parameter pollution
59
+ (cf.api_gateway.cf-risk-bola-pollution and http.host eq "api.example.com")
60
+ // Action: Block
61
+ ```
62
+
63
+ ### Combined BOLA Protection
64
+
65
+ ```javascript
66
+ // Comprehensive BOLA rule
67
+ (cf.api_gateway.cf-risk-bola-enumeration or cf.api_gateway.cf-risk-bola-pollution)
68
+ and http.host eq "api.example.com"
69
+ // Action: Block
70
+ ```
71
+
72
+ ## Authentication Posture
73
+
74
+ ### Detect Missing Auth
75
+
76
+ ```javascript
77
+ // Log endpoints lacking authentication
78
+ (cf.api_gateway.cf-risk-missing-auth and http.host eq "api.example.com")
79
+ // Action: Log (for audit)
80
+ ```
81
+
82
+ ### Detect Mixed Auth
83
+
84
+ ```javascript
85
+ // Alert on inconsistent auth patterns
86
+ (cf.api_gateway.cf-risk-mixed-auth and http.host eq "api.example.com")
87
+ // Action: Log (review required)
88
+ ```
89
+
90
+ ## Fallthrough Detection (Shadow APIs)
91
+
92
+ ```javascript
93
+ // WAF Custom Rule
94
+ (cf.api_gateway.fallthrough_triggered and http.host eq "api.example.com")
95
+ // Action: Log (discover unknown) or Block (strict)
96
+ ```
97
+
98
+ ## Rate Limiting by User
99
+
100
+ ```javascript
101
+ // Rate Limiting Rule (modern syntax)
102
+ (http.host eq "api.example.com" and
103
+ is_jwt_valid(http.request.jwt.payload["{config_id}"][0]))
104
+
105
+ // Rate: 100 req/60s
106
+ // Counting expression: lookup_json_string(http.request.jwt.payload["{config_id}"][0], "sub")
107
+ ```
108
+
109
+ ## Volumetric Abuse Response
110
+
111
+ ```javascript
112
+ // Detect abnormal traffic spikes
113
+ (cf.api_gateway.volumetric_abuse_detected and http.host eq "api.example.com")
114
+ // Action: Challenge or Rate Limit
115
+
116
+ // Combined with rate limiting
117
+ (cf.api_gateway.volumetric_abuse_detected or
118
+ cf.threat_score gt 50) and http.host eq "api.example.com"
119
+ // Action: JS Challenge
120
+ ```
121
+
122
+ ## GraphQL Protection
123
+
124
+ ```javascript
125
+ // Block oversized queries
126
+ (http.request.uri.path eq "/graphql" and
127
+ cf.api_gateway.graphql_query_size gt 100000)
128
+ // Action: Block
129
+
130
+ // Block deep nested queries
131
+ (http.request.uri.path eq "/graphql" and
132
+ cf.api_gateway.graphql_query_depth gt 10)
133
+ // Action: Block
134
+ ```
135
+
136
+ ## Architecture Patterns
137
+
138
+ **Public API:** Discovery + Schema Validation 2.0 + JWT + Rate Limiting + Bot Management
139
+ **Partner API:** mTLS + Schema Validation + Sequence Mitigation
140
+ **Internal API:** Discovery + Schema Learning + Auth Posture
141
+
142
+ ## OWASP API Security Top 10 Mapping (2026)
143
+
144
+ | OWASP Issue | API Shield Solutions |
145
+ | ------------------------------------------- | --------------------------------------------------------------------------------------------- |
146
+ | API1:2023 Broken Object Level Authorization | **BOLA Detection** (enumeration + pollution), Sequence mitigation, Schema, JWT, Rate Limiting |
147
+ | API2:2023 Broken Authentication | **Auth Posture**, mTLS, JWT validation, Bot Management |
148
+ | API3:2023 Broken Object Property Auth | Schema validation, JWT validation |
149
+ | API4:2023 Unrestricted Resource Access | Rate Limiting, **Volumetric Abuse Detection**, **GraphQL Protection**, Bot Management |
150
+ | API5:2023 Broken Function Level Auth | Schema validation, JWT validation, Auth Posture |
151
+ | API6:2023 Unrestricted Business Flows | Sequence mitigation, Bot Management |
152
+ | API7:2023 SSRF | Schema validation, WAF managed rules |
153
+ | API8:2023 Security Misconfiguration | **Schema Validation 2.0**, Auth Posture, WAF rules |
154
+ | API9:2023 Improper Inventory Management | **API Discovery**, Schema learning, Auth Posture |
155
+ | API10:2023 Unsafe API Consumption | JWT validation, Schema validation, WAF managed |
156
+
157
+ ## Monitoring
158
+
159
+ **Security Events:** `Security > Events` → Filter: Action = block, Service = API Shield
160
+ **Firewall Analytics:** `Analytics > Security` → Filter by `cf.api_gateway.*` fields
161
+ **Logpush fields:** APIGatewayAuthIDPresent, APIGatewayRequestViolatesSchema, APIGatewayFallthroughDetected, JWTValidationResult
162
+
163
+ ## Availability (2026)
164
+
165
+ | Feature | Availability | Notes |
166
+ | -------------------------- | ----------------- | -------------------- |
167
+ | mTLS (CF-managed CA) | All plans | Self-service |
168
+ | Endpoint Management | All plans | Limited operations |
169
+ | Schema Validation 2.0 | All plans | Limited operations |
170
+ | API Discovery | Enterprise | 10K+ ops |
171
+ | JWT Validation | Enterprise add-on | Full validation |
172
+ | BOLA Detection | Enterprise add-on | Requires session IDs |
173
+ | Auth Posture | Enterprise add-on | Security audit |
174
+ | Volumetric Abuse Detection | Enterprise add-on | Traffic analysis |
175
+ | GraphQL Protection | Enterprise add-on | Query limits |
176
+ | Sequence Mitigation | Enterprise (beta) | Contact team |
177
+ | Full Suite | Enterprise add-on | All features |
178
+
179
+ **Enterprise limits:** 10K operations (contact for higher). Preview access available for non-contract evaluation.
180
+
181
+ ## See Also
182
+
183
+ - [configuration.md](configuration.md) - Setup all features before creating rules
184
+ - [api.md](api.md) - Firewall field reference and API endpoints
185
+ - [gotchas.md](gotchas.md) - Common issues and limits
@@ -0,0 +1,96 @@
1
+ # Cloudflare Argo Smart Routing Skill Reference
2
+
3
+ ## Overview
4
+
5
+ Cloudflare Argo Smart Routing is a performance optimization service that detects real-time network issues and routes web traffic across the most efficient network path. It continuously monitors network conditions and intelligently routes traffic through the fastest, most reliable routes in Cloudflare's network.
6
+
7
+ **Note on Smart Shield:** Argo Smart Routing is being integrated into Cloudflare's Smart Shield product for enhanced DDoS protection and performance. Existing Argo customers maintain full functionality with gradual migration to Smart Shield features.
8
+
9
+ ## Quick Start
10
+
11
+ ### Enable via cURL
12
+
13
+ ```bash
14
+ curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \
15
+ -H "Authorization: Bearer YOUR_API_TOKEN" \
16
+ -H "Content-Type: application/json" \
17
+ -d '{"value": "on"}'
18
+ ```
19
+
20
+ ### Enable via TypeScript SDK
21
+
22
+ ```typescript
23
+ import Cloudflare from 'cloudflare'
24
+
25
+ const client = new Cloudflare({ apiToken: process.env.CLOUDFLARE_API_TOKEN })
26
+
27
+ const result = await client.argo.smartRouting.edit({
28
+ zone_id: 'your-zone-id',
29
+ value: 'on',
30
+ })
31
+
32
+ console.log(`Argo enabled: ${result.value}`)
33
+ ```
34
+
35
+ ## Core Concepts
36
+
37
+ ### What It Does
38
+
39
+ - **Intelligent routing**: Detects congestion, outages, packet loss in real-time
40
+ - **Global optimization**: Routes across 300+ Cloudflare data centers
41
+ - **Automatic failover**: Switches paths when issues detected (typically <1s)
42
+ - **Works with existing setup**: No origin changes required
43
+
44
+ ### Billing Model
45
+
46
+ - Usage-based: Charged per GB of traffic (excluding DDoS/WAF mitigated traffic)
47
+ - Requires billing configuration before enabling
48
+ - Available on Enterprise+ plans (check zone eligibility)
49
+
50
+ ### When to Use
51
+
52
+ - **High-traffic production sites** with global user base
53
+ - **Latency-sensitive applications** (APIs, real-time services)
54
+ - **Sites behind Cloudflare proxy** (orange-clouded DNS records)
55
+ - **Combined with Tiered Cache** for maximum performance gains
56
+
57
+ ### When NOT to Use
58
+
59
+ - Development/staging environments (cost control)
60
+ - Low-traffic sites (<1TB/month) where cost may exceed benefit
61
+ - Sites with primarily single-region traffic
62
+
63
+ ## Should I Enable Argo?
64
+
65
+ | Your Situation | Recommendation |
66
+ | ----------------------------------------- | ----------------------------------- |
67
+ | Global production app, >1TB/month traffic | ✅ Enable - likely ROI positive |
68
+ | Enterprise plan, latency-critical APIs | ✅ Enable - performance matters |
69
+ | Regional site, <100GB/month traffic | ⚠️ Evaluate - cost may not justify |
70
+ | Development/staging environment | ❌ Disable - use in production only |
71
+ | Not yet configured billing | ❌ Configure billing first |
72
+
73
+ ## Reading Order by Task
74
+
75
+ | Your Goal | Start With | Then Read |
76
+ | ----------------------------- | -------------------------------------------------------- | -------------------------- |
77
+ | Enable Argo for first time | Quick Start above → [configuration.md](configuration.md) | [gotchas.md](gotchas.md) |
78
+ | Use TypeScript/Python SDK | [api.md](api.md) | [patterns.md](patterns.md) |
79
+ | Terraform/IaC setup | [configuration.md](configuration.md) | - |
80
+ | Enable for Spectrum TCP app | [patterns.md](patterns.md) → Spectrum section | [api.md](api.md) |
81
+ | Troubleshoot enablement issue | [gotchas.md](gotchas.md) | [api.md](api.md) |
82
+ | Manage billing/usage | [patterns.md](patterns.md) → Billing section | [gotchas.md](gotchas.md) |
83
+
84
+ ## In This Reference
85
+
86
+ - **[api.md](api.md)** - API endpoints, SDK methods, error handling, Python/TypeScript examples
87
+ - **[configuration.md](configuration.md)** - Terraform setup, environment config, billing configuration
88
+ - **[patterns.md](patterns.md)** - Tiered Cache integration, Spectrum TCP apps, billing management, validation patterns
89
+ - **[gotchas.md](gotchas.md)** - Common errors, permission issues, limits, best practices
90
+
91
+ ## See Also
92
+
93
+ - [Cloudflare Argo Smart Routing Docs](https://developers.cloudflare.com/argo-smart-routing/)
94
+ - [Cloudflare Smart Shield](https://developers.cloudflare.com/smart-shield/)
95
+ - [Spectrum Documentation](https://developers.cloudflare.com/spectrum/)
96
+ - [Tiered Cache](https://developers.cloudflare.com/cache/how-to/tiered-cache/)
@@ -0,0 +1,253 @@
1
+ ## API Reference
2
+
3
+ **Note on Smart Shield:** Argo Smart Routing is being integrated into Cloudflare's Smart Shield product. API endpoints remain stable; existing integrations continue to work without changes.
4
+
5
+ ### Base Endpoint
6
+
7
+ ```
8
+ https://api.cloudflare.com/client/v4
9
+ ```
10
+
11
+ ### Authentication
12
+
13
+ Use API tokens with Zone:Argo Smart Routing:Edit permissions:
14
+
15
+ ```bash
16
+ # Headers required
17
+ X-Auth-Email: user@example.com
18
+ Authorization: Bearer YOUR_API_TOKEN
19
+ ```
20
+
21
+ ### Get Argo Smart Routing Status
22
+
23
+ **Endpoint:** `GET /zones/{zone_id}/argo/smart_routing`
24
+
25
+ **Description:** Retrieves current Argo Smart Routing enablement status.
26
+
27
+ **cURL Example:**
28
+
29
+ ```bash
30
+ curl -X GET "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \
31
+ -H "Authorization: Bearer YOUR_API_TOKEN" \
32
+ -H "Content-Type: application/json"
33
+ ```
34
+
35
+ **Response:**
36
+
37
+ ```json
38
+ {
39
+ "result": {
40
+ "id": "smart_routing",
41
+ "value": "on",
42
+ "editable": true,
43
+ "modified_on": "2024-01-11T12:00:00Z"
44
+ },
45
+ "success": true,
46
+ "errors": [],
47
+ "messages": []
48
+ }
49
+ ```
50
+
51
+ **TypeScript SDK Example:**
52
+
53
+ ```typescript
54
+ import Cloudflare from 'cloudflare'
55
+
56
+ const client = new Cloudflare({
57
+ apiToken: process.env.CLOUDFLARE_API_TOKEN,
58
+ })
59
+
60
+ const status = await client.argo.smartRouting.get({ zone_id: 'your-zone-id' })
61
+ console.log(`Argo status: ${status.value}, editable: ${status.editable}`)
62
+ ```
63
+
64
+ **Python SDK Example:**
65
+
66
+ ```python
67
+ from cloudflare import Cloudflare
68
+
69
+ client = Cloudflare(api_token=os.environ.get('CLOUDFLARE_API_TOKEN'))
70
+
71
+ status = client.argo.smart_routing.get(zone_id='your-zone-id')
72
+ print(f"Argo status: {status.value}, editable: {status.editable}")
73
+ ```
74
+
75
+ ### Update Argo Smart Routing Status
76
+
77
+ **Endpoint:** `PATCH /zones/{zone_id}/argo/smart_routing`
78
+
79
+ **Description:** Enable or disable Argo Smart Routing for a zone.
80
+
81
+ **Request Body:**
82
+
83
+ ```json
84
+ {
85
+ "value": "on" // or "off"
86
+ }
87
+ ```
88
+
89
+ **cURL Example:**
90
+
91
+ ```bash
92
+ curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \
93
+ -H "Authorization: Bearer YOUR_API_TOKEN" \
94
+ -H "Content-Type: application/json" \
95
+ -d '{"value": "on"}'
96
+ ```
97
+
98
+ **TypeScript SDK Example:**
99
+
100
+ ```typescript
101
+ const result = await client.argo.smartRouting.edit({
102
+ zone_id: 'your-zone-id',
103
+ value: 'on',
104
+ })
105
+ console.log(`Updated: ${result.value} at ${result.modified_on}`)
106
+ ```
107
+
108
+ **Python SDK Example:**
109
+
110
+ ```python
111
+ result = client.argo.smart_routing.edit(
112
+ zone_id='your-zone-id',
113
+ value='on'
114
+ )
115
+ print(f"Updated: {result.value} at {result.modified_on}")
116
+ ```
117
+
118
+ ## Checking Editability Before Updates
119
+
120
+ **Critical:** Always check the `editable` field before attempting to enable/disable Argo. When `editable: false`, the zone has restrictions (billing not configured, insufficient permissions, or plan limitations).
121
+
122
+ **Pattern:**
123
+
124
+ ```typescript
125
+ async function safelyEnableArgo(client: Cloudflare, zoneId: string): Promise<boolean> {
126
+ const status = await client.argo.smartRouting.get({ zone_id: zoneId })
127
+
128
+ if (!status.editable) {
129
+ console.error('Cannot modify Argo: editable=false (check billing/permissions)')
130
+ return false
131
+ }
132
+
133
+ if (status.value === 'on') {
134
+ console.log('Argo already enabled')
135
+ return true
136
+ }
137
+
138
+ await client.argo.smartRouting.edit({ zone_id: zoneId, value: 'on' })
139
+ console.log('Argo enabled successfully')
140
+ return true
141
+ }
142
+ ```
143
+
144
+ **Python Pattern:**
145
+
146
+ ```python
147
+ def safely_enable_argo(client: Cloudflare, zone_id: str) -> bool:
148
+ status = client.argo.smart_routing.get(zone_id=zone_id)
149
+
150
+ if not status.editable:
151
+ print('Cannot modify Argo: editable=false (check billing/permissions)')
152
+ return False
153
+
154
+ if status.value == 'on':
155
+ print('Argo already enabled')
156
+ return True
157
+
158
+ client.argo.smart_routing.edit(zone_id=zone_id, value='on')
159
+ print('Argo enabled successfully')
160
+ return True
161
+ ```
162
+
163
+ ## Error Handling
164
+
165
+ The TypeScript SDK provides typed error classes for robust error handling:
166
+
167
+ ```typescript
168
+ import Cloudflare from 'cloudflare'
169
+ import { APIError, APIConnectionError, RateLimitError } from 'cloudflare'
170
+
171
+ async function enableArgoWithErrorHandling(client: Cloudflare, zoneId: string) {
172
+ try {
173
+ const result = await client.argo.smartRouting.edit({
174
+ zone_id: zoneId,
175
+ value: 'on',
176
+ })
177
+ return result
178
+ } catch (error) {
179
+ if (error instanceof RateLimitError) {
180
+ console.error('Rate limited. Retry after:', error.response?.headers.get('retry-after'))
181
+ // Implement exponential backoff
182
+ } else if (error instanceof APIError) {
183
+ console.error('API error:', error.status, error.message)
184
+ if (error.status === 403) {
185
+ console.error('Permission denied - check API token scopes')
186
+ } else if (error.status === 400) {
187
+ console.error('Bad request - verify zone_id and payload')
188
+ }
189
+ } else if (error instanceof APIConnectionError) {
190
+ console.error('Connection failed:', error.message)
191
+ // Retry with exponential backoff
192
+ } else {
193
+ console.error('Unexpected error:', error)
194
+ }
195
+ throw error
196
+ }
197
+ }
198
+ ```
199
+
200
+ **Python Error Handling:**
201
+
202
+ ```python
203
+ from cloudflare import Cloudflare, APIError, RateLimitError
204
+
205
+ def enable_argo_with_error_handling(client: Cloudflare, zone_id: str):
206
+ try:
207
+ result = client.argo.smart_routing.edit(zone_id=zone_id, value='on')
208
+ return result
209
+ except RateLimitError as e:
210
+ print(f"Rate limited. Retry after: {e.response.headers.get('retry-after')}")
211
+ raise
212
+ except APIError as e:
213
+ print(f"API error: {e.status} - {e.message}")
214
+ if e.status == 403:
215
+ print('Permission denied - check API token scopes')
216
+ elif e.status == 400:
217
+ print('Bad request - verify zone_id and payload')
218
+ raise
219
+ except Exception as e:
220
+ print(f"Unexpected error: {e}")
221
+ raise
222
+ ```
223
+
224
+ ## Response Schema
225
+
226
+ All Argo Smart Routing API responses follow this structure:
227
+
228
+ ```typescript
229
+ interface ArgoSmartRoutingResponse {
230
+ result: {
231
+ id: 'smart_routing'
232
+ value: 'on' | 'off'
233
+ editable: boolean
234
+ modified_on: string // ISO 8601 timestamp
235
+ }
236
+ success: boolean
237
+ errors: Array<{
238
+ code: number
239
+ message: string
240
+ }>
241
+ messages: Array<string>
242
+ }
243
+ ```
244
+
245
+ ## Key Response Fields
246
+
247
+ | Field | Type | Description |
248
+ | ------------- | --------------- | ------------------------------------------------ |
249
+ | `value` | `"on" \| "off"` | Current enablement status |
250
+ | `editable` | `boolean` | Whether changes are allowed (check before PATCH) |
251
+ | `modified_on` | `string` | ISO timestamp of last modification |
252
+ | `success` | `boolean` | Whether request succeeded |
253
+ | `errors` | `Array` | Error details if `success: false` |