memory-journal-mcp 7.7.0 → 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-QCQPAF4I.js → chunk-MWNLAEHR.js} +301 -4321
  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 +7 -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,441 @@
1
+ ---
2
+ name: next-cache-components
3
+ description: |
4
+ Next.js 16 Cache Components guidance. Use when refactoring React Server Components for performance, debugging Partial Prerendering (PPR) issues, or applying the `use cache` directive, `cacheLife`, `cacheTag`, `updateTag`, and `revalidateTag`.
5
+ Also use when deciding whether data should be static, cached, or dynamic, or when addressing stale data and cache invalidation. For general Next.js performance, adversarial-performance may also apply.
6
+ ---
7
+
8
+ # Cache Components (Next.js 16+)
9
+
10
+ > **Note:** Cache Components are available in Next.js canary. Verify `cacheComponents` is supported in your target version before applying this guidance.
11
+
12
+ Cache Components enable Partial Prerendering (PPR) - mix static, cached, and dynamic content in a single route.
13
+
14
+ ## Enable Cache Components
15
+
16
+ ```ts
17
+ // next.config.ts
18
+ import type { NextConfig } from 'next'
19
+
20
+ const nextConfig: NextConfig = {
21
+ cacheComponents: true,
22
+ }
23
+
24
+ export default nextConfig
25
+ ```
26
+
27
+ This replaces the old `experimental.ppr` flag.
28
+
29
+ ---
30
+
31
+ ## Three Content Types
32
+
33
+ With Cache Components enabled, content falls into three categories:
34
+
35
+ ### 1. Static (Auto-Prerendered)
36
+
37
+ Synchronous code, imports, pure computations - prerendered at build time:
38
+
39
+ ```tsx
40
+ export default function Page() {
41
+ return (
42
+ <header>
43
+ <h1>Our Blog</h1> {/* Static - instant */}
44
+ <nav>...</nav>
45
+ </header>
46
+ )
47
+ }
48
+ ```
49
+
50
+ ### 2. Cached (`use cache`)
51
+
52
+ Async data that doesn't need fresh fetches every request:
53
+
54
+ ```tsx
55
+ async function BlogPosts() {
56
+ 'use cache'
57
+ cacheLife('hours')
58
+
59
+ const posts = await db.posts.findMany()
60
+ return <PostList posts={posts} />
61
+ }
62
+ ```
63
+
64
+ ### 3. Dynamic (Suspense)
65
+
66
+ Runtime data that must be fresh - wrap in Suspense:
67
+
68
+ ```tsx
69
+ import { Suspense } from 'react'
70
+
71
+ export default function Page() {
72
+ return (
73
+ <>
74
+ <BlogPosts /> {/* Cached */}
75
+ <Suspense fallback={<p>Loading...</p>}>
76
+ <UserPreferences /> {/* Dynamic - streams in */}
77
+ </Suspense>
78
+ </>
79
+ )
80
+ }
81
+
82
+ async function UserPreferences() {
83
+ const theme = (await cookies()).get('theme')?.value
84
+ return <p>Theme: {theme}</p>
85
+ }
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Selection Matrix: Static vs Cached vs Dynamic
91
+
92
+ When designing a component, use this matrix to determine the correct caching strategy:
93
+
94
+ | Data Type | Frequency of Change | Strategy | Implementation |
95
+ | ---------------------------- | ----------------------- | ----------- | ---------------------------- |
96
+ | Marketing copy, Layouts, Nav | Build-time or rarely | **Static** | Default Server Component |
97
+ | Blog posts, Product catalog | Periodic / CMS-driven | **Cached** | `'use cache'` + `cacheLife` |
98
+ | User profile, Shopping cart | Per-user / Real-time | **Dynamic** | Suspense + `await cookies()` |
99
+ | Admin dashboard, Analytics | High-frequency / Secure | **Dynamic** | Suspense + `await headers()` |
100
+
101
+ ---
102
+
103
+ ## `use cache` Directive
104
+
105
+ ### File Level
106
+
107
+ ```tsx
108
+ 'use cache'
109
+
110
+ export default async function Page() {
111
+ // Entire page is cached
112
+ const data = await fetchData()
113
+ return <div>{data}</div>
114
+ }
115
+ ```
116
+
117
+ ### Component Level
118
+
119
+ ```tsx
120
+ export async function CachedComponent() {
121
+ 'use cache'
122
+ const data = await fetchData()
123
+ return <div>{data}</div>
124
+ }
125
+ ```
126
+
127
+ ### Function Level
128
+
129
+ ```tsx
130
+ export async function getData() {
131
+ 'use cache'
132
+ return db.query('SELECT * FROM posts')
133
+ }
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Cache Profiles
139
+
140
+ ### Built-in Profiles
141
+
142
+ ```tsx
143
+ 'use cache' // Default: 5m stale, 15m revalidate
144
+ ```
145
+
146
+ ```tsx
147
+ 'use cache: remote' // Platform-provided cache (Redis, KV)
148
+ ```
149
+
150
+ ```tsx
151
+ 'use cache: private' // For compliance, allows runtime APIs
152
+ ```
153
+
154
+ ### `cacheLife()` - Custom Lifetime
155
+
156
+ ```tsx
157
+ import { cacheLife } from 'next/cache'
158
+
159
+ async function getData() {
160
+ 'use cache'
161
+ cacheLife('hours') // Built-in profile
162
+ return fetch('/api/data')
163
+ }
164
+ ```
165
+
166
+ Built-in profiles: `'default'`, `'minutes'`, `'hours'`, `'days'`, `'weeks'`, `'max'`
167
+
168
+ ### Inline Configuration
169
+
170
+ ```tsx
171
+ async function getData() {
172
+ 'use cache'
173
+ cacheLife({
174
+ stale: 3600, // 1 hour - serve stale while revalidating
175
+ revalidate: 7200, // 2 hours - background revalidation interval
176
+ expire: 86400, // 1 day - hard expiration
177
+ })
178
+ return fetch('/api/data')
179
+ }
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Cache Invalidation
185
+
186
+ ### `cacheTag()` - Tag Cached Content
187
+
188
+ ```tsx
189
+ import { cacheTag } from 'next/cache'
190
+
191
+ async function getProducts() {
192
+ 'use cache'
193
+ cacheTag('products')
194
+ return db.products.findMany()
195
+ }
196
+
197
+ async function getProduct(id: string) {
198
+ 'use cache'
199
+ cacheTag('products', `product-${id}`)
200
+ return db.products.findUnique({ where: { id } })
201
+ }
202
+ ```
203
+
204
+ ### `updateTag()` - Immediate Invalidation
205
+
206
+ Use when you need the cache refreshed within the same request:
207
+
208
+ ```tsx
209
+ 'use server'
210
+
211
+ import { updateTag } from 'next/cache'
212
+
213
+ export async function updateProduct(id: string, data: FormData) {
214
+ await db.products.update({ where: { id }, data })
215
+ updateTag(`product-${id}`) // Immediate - same request sees fresh data
216
+ }
217
+ ```
218
+
219
+ ### `revalidateTag()` - Background Revalidation
220
+
221
+ Use for stale-while-revalidate behavior:
222
+
223
+ ```tsx
224
+ 'use server'
225
+
226
+ import { revalidateTag } from 'next/cache'
227
+
228
+ export async function createPost(data: FormData) {
229
+ await db.posts.create({ data })
230
+ revalidateTag('posts') // Background - next request sees fresh data
231
+ }
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Runtime Data Constraint
237
+
238
+ **Cannot** access `cookies()`, `headers()`, or `searchParams` inside `use cache`.
239
+
240
+ ### Solution: Pass as Arguments
241
+
242
+ ```tsx
243
+ // Wrong - runtime API inside use cache
244
+ async function CachedProfile() {
245
+ 'use cache'
246
+ const session = (await cookies()).get('session')?.value // Error!
247
+ return <div>{session}</div>
248
+ }
249
+
250
+ // Correct - extract outside, pass as argument
251
+ async function ProfilePage() {
252
+ const session = (await cookies()).get('session')?.value
253
+ return <CachedProfile sessionId={session} />
254
+ }
255
+
256
+ async function CachedProfile({ sessionId }: { sessionId: string }) {
257
+ 'use cache'
258
+ // sessionId becomes part of cache key automatically
259
+ const data = await fetchUserData(sessionId)
260
+ return <div>{data.name}</div>
261
+ }
262
+ ```
263
+
264
+ ### Exception: `use cache: private`
265
+
266
+ For compliance requirements when you can't refactor:
267
+
268
+ ```tsx
269
+ async function getData() {
270
+ 'use cache: private'
271
+ const session = (await cookies()).get('session')?.value // Allowed
272
+ return fetchData(session)
273
+ }
274
+ ```
275
+
276
+ ---
277
+
278
+ ## Caching Security & Auth Boundaries
279
+
280
+ > **CRITICAL FAILURE MODE:** Caching user-specific or authorization-bound data globally will leak PII (Personally Identifiable Information) across different users' sessions.
281
+
282
+ **Rules for Auth Boundaries:**
283
+
284
+ 1. **Never use standard `'use cache'` for PII:** Standard cache entries are shared globally. If a component fetches user profile data using an auth token, you MUST NOT use the standard global `'use cache'`.
285
+ 2. **Explicitly include user identities in cache keys:** If you must cache per-user data, extract the user ID in a dynamic context and pass it as an argument so it becomes part of the automatic cache key (e.g., `async function CachedProfile({ userId }) { 'use cache'; ... }`).
286
+ 3. **Use `'use cache: private'` cautiously:** This ensures data isn't shared across requests, but relies heavily on correct platform caching configuration.
287
+ 4. **Dynamic by default for Auth:** For dashboards, settings, and secure data, default to **Dynamic** (Suspense) rather than Cached.
288
+
289
+ ---
290
+
291
+ ## Cache Key Generation
292
+
293
+ Cache keys are automatic based on:
294
+
295
+ - **Build ID** - invalidates all caches on deploy
296
+ - **Function ID** - hash of function location
297
+ - **Serializable arguments** - props become part of key
298
+ - **Closure variables** - outer scope values included
299
+
300
+ ```tsx
301
+ async function Component({ userId }: { userId: string }) {
302
+ const getData = async (filter: string) => {
303
+ 'use cache'
304
+ // Cache key = userId (closure) + filter (argument)
305
+ return fetch(`/api/users/${userId}?filter=${filter}`)
306
+ }
307
+ return getData('active')
308
+ }
309
+ ```
310
+
311
+ ---
312
+
313
+ ## Complete Example
314
+
315
+ ```tsx
316
+ import { Suspense } from 'react'
317
+ import { cookies } from 'next/headers'
318
+ import { cacheLife, cacheTag } from 'next/cache'
319
+
320
+ export default function DashboardPage() {
321
+ return (
322
+ <>
323
+ {/* Static shell - instant from CDN */}
324
+ <header>
325
+ <h1>Dashboard</h1>
326
+ </header>
327
+ <nav>...</nav>
328
+
329
+ {/* Cached - fast, revalidates hourly */}
330
+ <Stats />
331
+
332
+ {/* Dynamic - streams in with fresh data */}
333
+ <Suspense fallback={<NotificationsSkeleton />}>
334
+ <Notifications />
335
+ </Suspense>
336
+ </>
337
+ )
338
+ }
339
+
340
+ async function Stats() {
341
+ 'use cache'
342
+ cacheLife('hours')
343
+ cacheTag('dashboard-stats')
344
+
345
+ const stats = await db.stats.aggregate()
346
+ return <StatsDisplay stats={stats} />
347
+ }
348
+
349
+ async function Notifications() {
350
+ const userId = (await cookies()).get('userId')?.value
351
+ const notifications = await db.notifications.findMany({
352
+ where: { userId, read: false },
353
+ })
354
+ return <NotificationList items={notifications} />
355
+ }
356
+ ```
357
+
358
+ ---
359
+
360
+ ## Migration from Previous Versions
361
+
362
+ | Old Config | Replacement |
363
+ | --------------------------- | ---------------------------------- |
364
+ | `experimental.ppr` | `cacheComponents: true` |
365
+ | `dynamic = 'force-dynamic'` | Remove (default behavior) |
366
+ | `dynamic = 'force-static'` | `'use cache'` + `cacheLife('max')` |
367
+ | `revalidate = N` | `cacheLife({ revalidate: N })` |
368
+ | `unstable_cache()` | `'use cache'` directive |
369
+
370
+ ### Migrating `unstable_cache` to `use cache`
371
+
372
+ `unstable_cache` has been replaced by the `use cache` directive in Next.js 16. When `cacheComponents` is enabled, convert `unstable_cache` calls to `use cache` functions:
373
+
374
+ **Before (`unstable_cache`):**
375
+
376
+ ```tsx
377
+ import { unstable_cache } from 'next/cache'
378
+
379
+ const getCachedUser = unstable_cache(async (id) => getUser(id), ['my-app-user'], {
380
+ tags: ['users'],
381
+ revalidate: 60,
382
+ })
383
+
384
+ export default async function Page({ params }: { params: Promise<{ id: string }> }) {
385
+ const { id } = await params
386
+ const user = await getCachedUser(id)
387
+ return <div>{user.name}</div>
388
+ }
389
+ ```
390
+
391
+ **After (`use cache`):**
392
+
393
+ ```tsx
394
+ import { cacheLife, cacheTag } from 'next/cache'
395
+
396
+ async function getCachedUser(id: string) {
397
+ 'use cache'
398
+ cacheTag('users')
399
+ cacheLife({ revalidate: 60 })
400
+ return getUser(id)
401
+ }
402
+
403
+ export default async function Page({ params }: { params: Promise<{ id: string }> }) {
404
+ const { id } = await params
405
+ const user = await getCachedUser(id)
406
+ return <div>{user.name}</div>
407
+ }
408
+ ```
409
+
410
+ Key differences:
411
+
412
+ - **No manual cache keys** - `use cache` generates keys automatically from function arguments and closures. The `keyParts` array from `unstable_cache` is no longer needed.
413
+ - **Tags** - Replace `options.tags` with `cacheTag()` calls inside the function.
414
+ - **Revalidation** - Replace `options.revalidate` with `cacheLife({ revalidate: N })` or a built-in profile like `cacheLife('minutes')`.
415
+ - **Dynamic data** - `unstable_cache` did not support `cookies()` or `headers()` inside the callback. The same restriction applies to `use cache`, but you can use `'use cache: private'` if needed.
416
+
417
+ ---
418
+
419
+ ## Limitations
420
+
421
+ - **Edge runtime not supported** - requires Node.js
422
+ - **Static export not supported** - needs server
423
+ - **Non-deterministic values** (`Math.random()`, `Date.now()`) execute once at build time inside `use cache`
424
+
425
+ For request-time randomness outside cache:
426
+
427
+ ```tsx
428
+ import { connection } from 'next/server'
429
+
430
+ async function DynamicContent() {
431
+ await connection() // Defer to request time
432
+ const id = crypto.randomUUID() // Different per request
433
+ return <div>{id}</div>
434
+ }
435
+ ```
436
+
437
+ Sources:
438
+
439
+ - [Cache Components Guide](https://nextjs.org/docs/app/getting-started/cache-components)
440
+ - [use cache Directive](https://nextjs.org/docs/app/api-reference/directives/use-cache)
441
+ - [unstable_cache (legacy)](https://nextjs.org/docs/app/api-reference/functions/unstable_cache)
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: next-upgrade
3
+ description: |
4
+ Upgrade Next.js to a specific target version using safe dependency bumps, codemods,
5
+ and diff reviews. Use when you need to execute major version bumps, resolve breaking changes,
6
+ "upgrading Next.js", "migrate to Next.js 15 or 16", or safely "run @next/codemod" against the repository before upgrading.
7
+ ---
8
+
9
+ # Upgrade Next.js
10
+
11
+ Upgrade the current project to a targeted Next.js version following official migration guides.
12
+
13
+ ## Instructions
14
+
15
+ 1. **Detect current environment**:
16
+ - Read `package.json` to identify the current Next.js version, React version, and package manager (`npm`, `pnpm`, `yarn`).
17
+ - Read the lockfile to ensure you use the correct package manager.
18
+
19
+ 2. **Determine target version**:
20
+ - Do NOT blindly use `@latest`. Always determine the explicit target version (e.g., `15.0.0`) based on user request or current LTS.
21
+ - For major version jumps, upgrade incrementally (e.g., 13 → 14 → 15).
22
+
23
+ 3. **Consult Upgrade Decision Tree**:
24
+ - Read [references/decision-tree.md](references/decision-tree.md) to find the correct codemods and checklists for your target version.
25
+
26
+ 4. **Security Gate**:
27
+ - You MUST request explicit user confirmation before running any codemod that modifies source files.
28
+
29
+ 5. **Run codemods FIRST (before installing new versions)**:
30
+ - Next.js codemods should often be run against the _old_ codebase before upgrading to automate breaking changes.
31
+ - Example: `npx @next/codemod@<target-version> <transform> <path>`
32
+
33
+ 6. **Pin dependencies**:
34
+ - Upgrade Next.js and peer dependencies to the specific target version:
35
+ - Example: `pnpm install next@15.0.0 react@19.0.0 react-dom@19.0.0`
36
+
37
+ 7. **Review Diff**:
38
+ - After running codemods and installing new dependencies, you MUST run `git diff` or review the changes.
39
+ - Do NOT commit or ship without explicit user review of the codemod changes.
40
+
41
+ 8. **Test the upgrade**:
42
+ - Run `npm run build` (or equivalent) to check for build errors.
43
+ - If there are errors in `next.config.js` or routing, resolve them manually.
@@ -0,0 +1,33 @@
1
+ # Next.js Upgrade Decision Tree
2
+
3
+ When upgrading Next.js, follow this decision tree to determine which official migration guide to read and which codemods to run.
4
+
5
+ ## 1. Upgrade from Next.js 14 to 15
6
+
7
+ If current version is 14.x and target is 15.x:
8
+
9
+ 1. Fetch guide: `https://nextjs.org/docs/app/guides/upgrading/version-15`
10
+ 2. **Major Breaking Change**: Async Request APIs (params, searchParams, cookies, headers are now Promises).
11
+ 3. **Run Codemod**: `npx @next/codemod@latest next-async-request-api .`
12
+ 4. **Other Codemods**:
13
+ - `next-request-geo-ip` (if using geo/ip in middleware)
14
+ - `next-dynamic-access-named-export` (if using dynamic imports)
15
+ 5. **Config Changes**: `experimental.ppr` is now `cacheComponents` (Next 15+).
16
+
17
+ ## 2. Upgrade from Next.js 13 to 14
18
+
19
+ If current version is 13.x and target is 14.x:
20
+
21
+ 1. Fetch guide: `https://nextjs.org/docs/app/guides/upgrading/version-14`
22
+ 2. **Major Breaking Change**: Node.js minimum version is 18.17.
23
+ 3. **Run Codemod**: `npx @next/codemod@latest next-Image-experimental .` (if moving from legacy Image).
24
+
25
+ ## 3. General Codemod Workflow
26
+
27
+ For any version upgrade:
28
+
29
+ 1. Ensure git working directory is clean.
30
+ 2. Run the specific codemod.
31
+ 3. Review the git diff.
32
+ 4. ONLY THEN run the `npm install` / `pnpm install` step to pin the new target version.
33
+ 5. Rebuild the app and manually fix TypeScript errors.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: nodejs
3
+ description: |
4
+ Node.js core runtime standards. Use when working with native Node.js APIs like streams, buffers, child_process, worker_threads, filesystem, or event loop tuning. Do NOT trigger for generic 'build a server' requests unless the platform/language is explicitly specified.
5
+ ---
6
+
7
+ # Node.js Core Standards
8
+
9
+ This skill provides best practices for utilizing native Node.js APIs safely and efficiently.
10
+
11
+ ## 1. Streams and Memory Management
12
+
13
+ - **Streaming Data**: Always use streams (`fs.createReadStream`, `pipeline`) when handling files or network payloads larger than a few megabytes. Never buffer entire large files into memory using `fs.readFile`.
14
+ - **Pipeline Utility**: Always use `stream/promises.pipeline` to chain streams together. It properly handles error propagation and stream destruction to prevent memory leaks.
15
+
16
+ ```typescript
17
+ import { pipeline } from 'node:stream/promises'
18
+ import { createReadStream, createWriteStream } from 'node:fs'
19
+
20
+ await pipeline(
21
+ createReadStream('large-file.csv'),
22
+ processTransformStream,
23
+ createWriteStream('output.csv')
24
+ )
25
+ ```
26
+
27
+ ## 2. Event Loop Blocking
28
+
29
+ - **Synchronous APIs**: Never use synchronous native APIs (`fs.readFileSync`, `crypto.pbkdf2Sync`) in a web server context, as they block the main event loop and freeze all other requests. Only use them during application startup or in CLI scripts.
30
+ - **CPU Intensive Tasks**: Offload CPU-intensive work (image processing, heavy cryptography, massive JSON parsing) to `worker_threads` or external processes.
31
+
32
+ ## 3. Child Processes
33
+
34
+ - **exec vs spawn**: Avoid `child_process.exec()` for any dynamic input, as it executes in a shell and is vulnerable to command injection. Use `child_process.spawn()` or `execFile()` which bypass the shell and pass arguments directly.
35
+
36
+ ```typescript
37
+ import { spawn } from 'node:child_process'
38
+
39
+ // Safe: arguments are passed as an array
40
+ const child = spawn('ls', ['-lh', '/usr'])
41
+ ```
42
+
43
+ ## 4. Modern APIs
44
+
45
+ - **Native Fetch**: Use the native `fetch` API (Node 18+) instead of third-party libraries like `axios` or `node-fetch` unless specific interceptor functionality is required.
46
+ - **Prefixes**: Always use the `node:` prefix when importing core modules (e.g., `import fs from 'node:fs'`). This explicitly bypasses `node_modules` lookup and improves security.
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: opentelemetry
3
+ description: |
4
+ Observability standards using OpenTelemetry. Use when instrumenting applications for distributed tracing, metrics, and structured logging. NOT for Cloudflare Workers observability (use workers-best-practices). NOT for performance optimization - use adversarial-performance or web-perf. SECURITY: Ensure sensitive PII/secrets are scrubbed before logging.
5
+ ---
6
+
7
+ # OpenTelemetry (OTel)
8
+
9
+ Production standards for instrumenting applications to achieve high-fidelity observability.
10
+
11
+ ## 1. Distributed Tracing
12
+
13
+ - **Trace Context Propagation**: Always propagate the `traceparent` and `tracestate` headers across HTTP and RPC boundaries (using W3C Trace Context).
14
+ - **Span Granularity**: Create spans for logical units of work. Avoid creating spans for every single function call (which causes overhead). Focus on:
15
+ - Incoming HTTP requests
16
+ - Database queries
17
+ - External API/LLM calls
18
+ - Background task executions
19
+ - **Semantic Conventions**: Use standardized span attributes (e.g., `http.method`, `http.status_code`, `db.system`). Do not invent custom attribute names when standard ones exist.
20
+
21
+ ## 2. Span Implementation Guidelines
22
+
23
+ - **Status and Errors**: explicitly set the span status to `Error` when an exception occurs, and record the exception object on the span.
24
+ - **Payloads**: Avoid logging sensitive PII or massive payloads in span attributes. Log structural identifiers (e.g., `user.id`, `tenant.id`).
25
+
26
+ ```typescript
27
+ // Example: Creating a Span in Node.js
28
+ tracer.startActiveSpan('database.query', (span) => {
29
+ try {
30
+ span.setAttribute('db.statement', queryText)
31
+ const result = db.execute(queryText)
32
+ span.setStatus({ code: SpanStatusCode.OK })
33
+ return result
34
+ } catch (error) {
35
+ span.recordException(error)
36
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message })
37
+ throw error
38
+ } finally {
39
+ span.end()
40
+ }
41
+ })
42
+ ```
43
+
44
+ ## 3. Metrics
45
+
46
+ - **RED Metrics**: Focus on Rate (requests/sec), Errors (error rate), and Duration (latency distribution).
47
+ - **Histograms over Summaries**: Use Histograms for latency measurements to allow accurate percentile aggregations across distributed instances.
48
+
49
+ ## 4. Exporters and Infrastructure
50
+
51
+ - **OTLP Exporters**: Always export telemetry using the OpenTelemetry Protocol (OTLP) via gRPC or HTTP to an OpenTelemetry Collector, rather than exporting directly to backend vendors (Datadog, Honeycomb) from the application.
52
+ - **Batching**: Use batch span processors (`BatchSpanProcessor`) in production to minimize performance overhead. Only use `SimpleSpanProcessor` for local debugging.
53
+
54
+ ## 5. Cloudflare Workers Integration
55
+
56
+ - **Trace Exporters**: When running on Cloudflare Workers, standard OTLP exporters may fail due to runtime constraints. Use `@microlabs/otel-cf-workers` or specifically tailored fetch-based HTTP exporters for compatibility.
57
+ - **Context Preservation**: Always wrap the Worker's `fetch` handler or Scheduled handler using the telemetry wrapper to ensure trace context flows correctly through the V8 isolate.
58
+
59
+ ## 6. Structured Logging
60
+
61
+ - **Correlated Logs**: Ensure all log lines emit the current `trace_id` and `span_id`. This allows bridging between logs and traces.
62
+ - **JSON Format**: Output logs in JSON format in production. Avoid unstructured string logging.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neverinfamous-agent-skills",
3
- "version": "1.1.2",
3
+ "version": "1.2.2",
4
4
  "description": "Foundational AI agent metacognitive skills and workflows for the Adamic ecosystem.",
5
5
  "type": "module",
6
6
  "main": "README.md",
@@ -10,27 +10,62 @@
10
10
  "files": [
11
11
  "bin/",
12
12
  "README.md",
13
- "autonomous-dev/",
13
+ "adversarial-performance/",
14
14
  "adversarial-planner/",
15
+ "adversarial-security/",
16
+ "adversarial-skill-audit/",
17
+ "adversarial-workflow-audit/",
18
+ "agents-sdk/",
19
+ "auth-identity/",
20
+ "autonomous-dev/",
21
+ "aws/",
22
+ "azure/",
23
+ "biome/",
15
24
  "bun/",
25
+ "cloudflare/",
16
26
  "docker/",
27
+ "docs-marketer/",
28
+ "drizzle-orm/",
29
+ "durable-objects/",
30
+ "gcp/",
17
31
  "github-actions/",
18
32
  "github-commander/",
19
33
  "github-copilot-cli/",
34
+ "github-repo-setup/",
20
35
  "gitlab/",
21
36
  "golang/",
37
+ "graphql/",
38
+ "hono/",
39
+ "journal-optimizer/",
40
+ "llm-app-engineering/",
41
+ "monorepo/",
42
+ "multi-agent-orchestration/",
22
43
  "mysql/",
44
+ "next-best-practices/",
45
+ "next-cache-components/",
46
+ "next-upgrade/",
47
+ "nodejs/",
48
+ "opentelemetry/",
23
49
  "playwright-standard/",
24
50
  "postgres/",
25
51
  "python/",
26
- "react-best-practices/",
52
+ "rag-pipelines/",
53
+ "redis/",
54
+ "render/",
27
55
  "rust/",
56
+ "sandbox-sdk/",
28
57
  "shadcn-ui/",
29
58
  "skill-builder/",
30
59
  "sqlite/",
31
60
  "tailwind-css/",
61
+ "trpc/",
32
62
  "typescript/",
33
- "vitest-standard/"
63
+ "vercel-ai-sdk/",
64
+ "vitest-standard/",
65
+ "web-perf/",
66
+ "workers-best-practices/",
67
+ "wrangler/",
68
+ "zod/"
34
69
  ],
35
70
  "scripts": {
36
71
  "sync": "node bin/sync.js"