← NetlifyCONTENT HISTORY

Update to Netlify

Snapshot Oct 7, 2026 · 00:02 UTC · version 1.6.0

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 99 files: .app.json, .codex-plugin/plugin.json, CHANGELOG.md, …. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

601eb60acdfbeb8c920f75b2a12133b0fc9486881c355be8d2b7906f65dad4ca

After

a34a08ad77404c8c9069ccc5a7e59a2395fadc2c46d8d13f5ef8a40bd7b7bda3

Package file

Before

98

After

99

Package file

Before

{"sha256":"d6c6c37bf0260645ba3ed3d240d8a32c5d36d6ea25e58649cadccf60e3b15b09","size":1361}

After

Not present

Package file

Before

Not present

After

{"sha256":"233917178a6bae54579b679b830b885351e0df49552daa74048045c0a2b52103","size":161}

Compare saved observations

Download comparison JSON

Changed files

.app.json →

.codex-plugin/plugin.json →

CHANGELOG.md →

LICENSE →

README.md →

assets/app-icon.png →

assets/composer-icon.png →

assets/logo-dark.jpg →

assets/logo.jpg →

assets/logo.svg →

assets/netlify-small.svg →

assets/netlify.png →

mcp.json →

plugin.json →

skills/netlify-access-control/SKILL.md →

skills/netlify-access-control/references/two-layer-pattern.md →

skills/netlify-agent-runner/SKILL.md →

skills/netlify-ai-gateway/LICENSE.txt →

skills/netlify-ai-gateway/SKILL.md →

skills/netlify-ai-gateway/agents/openai.yaml →

skills/netlify-ai-gateway/assets/netlify-small.svg →

skills/netlify-ai-gateway/assets/netlify.png →

skills/netlify-blobs/LICENSE.txt →

skills/netlify-blobs/SKILL.md →

skills/netlify-blobs/agents/openai.yaml →

skills/netlify-blobs/assets/netlify-small.svg →

skills/netlify-blobs/assets/netlify.png →

skills/netlify-caching/LICENSE.txt →

skills/netlify-caching/SKILL.md →

skills/netlify-caching/agents/openai.yaml →

skills/netlify-caching/assets/netlify-small.svg →

skills/netlify-caching/assets/netlify.png →

skills/netlify-cli-and-deploy/LICENSE.txt →

skills/netlify-cli-and-deploy/SKILL.md →

skills/netlify-cli-and-deploy/agents/openai.yaml →

skills/netlify-cli-and-deploy/assets/netlify-small.svg →

skills/netlify-cli-and-deploy/assets/netlify.png →

skills/netlify-config/LICENSE.txt →

skills/netlify-config/SKILL.md →

skills/netlify-config/agents/openai.yaml →

skills/netlify-config/assets/netlify-small.svg →

skills/netlify-config/assets/netlify.png →

skills/netlify-database/SKILL.md →

skills/netlify-database/references/cli-commands.md →

skills/netlify-database/references/legacy-extension.md →

skills/netlify-database/references/local-dev.md →

skills/netlify-database/references/migration-from-extension.md →

skills/netlify-database/references/migrations.md →

skills/netlify-database/references/operational-footguns.md →

skills/netlify-deploy/LICENSE.txt →

skills/netlify-deploy/SKILL.md →

skills/netlify-deploy/agents/openai.yaml →

skills/netlify-deploy/assets/netlify-small.svg →

skills/netlify-deploy/assets/netlify.png →

skills/netlify-deploy/references/cli-commands.md →

skills/netlify-deploy/references/deployment-patterns.md →

skills/netlify-deploy/references/netlify-toml.md →

skills/netlify-edge-functions/LICENSE.txt →

skills/netlify-edge-functions/SKILL.md →

skills/netlify-edge-functions/agents/openai.yaml →

skills/netlify-edge-functions/assets/netlify-small.svg →

skills/netlify-edge-functions/assets/netlify.png →

skills/netlify-forms/LICENSE.txt →

skills/netlify-forms/SKILL.md →

skills/netlify-forms/agents/openai.yaml →

skills/netlify-forms/assets/netlify-small.svg →

skills/netlify-forms/assets/netlify.png →

skills/netlify-frameworks/LICENSE.txt →

skills/netlify-frameworks/SKILL.md →

skills/netlify-frameworks/agents/openai.yaml →

skills/netlify-frameworks/assets/netlify-small.svg →

skills/netlify-frameworks/assets/netlify.png →

skills/netlify-frameworks/references/astro.md →

skills/netlify-frameworks/references/nextjs.md →

skills/netlify-frameworks/references/nuxt.md →

skills/netlify-frameworks/references/sveltekit.md →

skills/netlify-frameworks/references/tanstack.md →

skills/netlify-frameworks/references/vite.md →

skills/netlify-functions/LICENSE.txt →

skills/netlify-functions/SKILL.md →

skills/netlify-functions/agents/openai.yaml →

skills/netlify-functions/assets/netlify-small.svg →

skills/netlify-functions/assets/netlify.png →

skills/netlify-identity/LICENSE.txt →

skills/netlify-identity/SKILL.md →

skills/netlify-identity/agents/openai.yaml →

skills/netlify-identity/assets/netlify-small.svg →

skills/netlify-identity/assets/netlify.png →

skills/netlify-identity/references/advanced-patterns.md →

skills/netlify-identity/references/authorization-and-sessions.md →

skills/netlify-image-cdn/LICENSE.txt →

skills/netlify-image-cdn/SKILL.md →

skills/netlify-image-cdn/agents/openai.yaml →

skills/netlify-image-cdn/assets/netlify-small.svg →

skills/netlify-image-cdn/assets/netlify.png →

skills/netlify-mcp-servers/SKILL.md →

skills/netlify-mcp-servers/references/authentication.md →

skills/netlify-mcp-servers/references/connecting-clients.md →

skills/netlify-mcp-servers/references/file-uploads.md →

skills/netlify-functions/LICENSE.txt

--- before
+++ after
@@ -1,201 +0,0 @@
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-   "License" shall mean the terms and conditions for use, reproduction,
-   and distribution as defined by Sections 1 through 9 of this document.
-
-   "Licensor" shall mean the copyright owner or entity authorized by
-   the copyright owner that is granting the License.
-
-   "Legal Entity" shall mean the union of the acting entity and all
-   other entities that control, are controlled by, or are under common
-   control with that entity. For the purposes of this definition,
-   "control" means (i) the power, direct or indirect, to cause the
-   direction or management of such entity, whether by contract or
-   otherwise, or (ii) ownership of fifty percent (50%) or more of the
-   outstanding shares, or (iii) beneficial ownership of such entity.
-
-   "You" (or "Your") shall mean an individual or Legal Entity
-   exercising permissions granted by this License.
-
-   "Source" form shall mean the preferred form for making modifications,
-   including but not limited to software source code, documentation
-   source, and configuration files.
-
-   "Object" form shall mean any form resulting from mechanical
-   transformation or translation of a Source form, including but
-   not limited to compiled object code, generated documentation,
-   and conversions to other media types.
-
-   "Work" shall mean the work of authorship, whether in Source or
-   Object form, made available under the License, as indicated by a
-   copyright notice that is included in or attached to the work
-   (an example is provided in the Appendix below).
-
-   "Derivative Works" shall mean any work, whether in Source or Object
-   form, that is based on (or derived from) the Work and for which the
-   editorial revisions, annotations, elaborations, or other modifications
-   represent, as a whole, an original work of authorship. For the purposes
-   of this License, Derivative Works shall not include works that remain
-   separable from, or merely link (or bind by name) to the interfaces of,
-   the Work and Derivative Works thereof.
-
-   "Contribution" shall mean any work of authorship, including
-   the original version of the Work and any modifications or additions
-   to that Work or Derivative Works thereof, that is intentionally
-   submitted to Licensor for inclusion in the Work by the copyright owner
-   or by an individual or Legal Entity authorized to submit on behalf of
-   the copyright owner. For the purposes of this definition, "submitted"
-   means any form of electronic, verbal, or written communication sent
-   to the Licensor or its representatives, including but not limited to
-   communication on electronic mailing lists, source code control systems,
-   and issue tracking systems that are managed by, or on behalf of, the
-   Licensor for the purpose of discussing and improving the Work, but
-   excluding communication that is conspicuously marked or otherwise
-   designated in writing by the copyright owner as "Not a Contribution."
-
-   "Contributor" shall mean Licensor and any individual or Legal Entity
-   on behalf of whom a Contribution has been received by Licensor and
-   subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-   this License, each Contributor hereby grants to You a perpetual,
-   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-   copyright license to reproduce, prepare Derivative Works of,
-   publicly display, publicly perform, sublicense, and distribute the
-   Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-   this License, each Contributor hereby grants to You a perpetual,
-   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-   (except as stated in this section) patent license to make, have made,
-   use, offer to sell, sell, import, and otherwise transfer the Work,
-   where such license applies only to those patent claims licensable
-   by such Contributor that are necessarily infringed by their
-   Contribution(s) alone or by combination of their Contribution(s)
-   with the Work to which such Contribution(s) was submitted. If You
-   institute patent litigation against any entity (including a
-   cross-claim or counterclaim in a lawsuit) alleging that the Work
-   or a Contribution incorporated within the Work constitutes direct
-   or contributory patent infringement, then any patent licenses
-   granted to You under this License for that Work shall terminate
-   as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-   Work or Derivative Works thereof in any medium, with or without
-   modifications, and in Source or Object form, provided that You
-   meet the following conditions:
-
-   (a) You must give any other recipients of the Work or
-       Derivative Works a copy of this License; and
-
-   (b) You must cause any modified files to carry prominent notices
-       stating that You changed the files; and
-
-   (c) You must retain, in the Source form of any Derivative Works
-       that You distribute, all copyright, patent, trademark, and
-       attribution notices from the Source form of the Work,
-       excluding those notices that do not pertain to any part of
-       the Derivative Works; and
-
-   (d) If the Work includes a "NOTICE" text file as part of its
-       distribution, then any Derivative Works that You distribute must
-       include a readable copy of the attribution notices contained
-       within such NOTICE file, excluding those notices that do not
-       pertain to any part of the Derivative Works, in at least one
-       of the following places: within a NOTICE text file distributed
-       as part of the Derivative Works; within the Source form or
-       documentation, if provided along with the Derivative Works; or,
-       within a display generated by the Derivative Works, if and
-       wherever such third-party notices normally appear. The contents
-       of the NOTICE file are for informational purposes only and
-       do not modify the License. You may add Your own attribution
-       notices within Derivative Works that You distribute, alongside
-       or as an addendum to the NOTICE text from the Work, provided
-       that such additional attribution notices cannot be construed
-       as modifying the License.
-
-   You may add Your own copyright statement to Your modifications and
-   may provide additional or different license terms and conditions
-   for use, reproduction, or distribution of Your modifications, or
-   for any such Derivative Works as a whole, provided Your use,
-   reproduction, and distribution of the Work otherwise complies with
-   the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-   any Contribution intentionally submitted for inclusion in the Work
-   by You to the Licensor shall be under the terms and conditions of
-   this License, without any additional terms or conditions.
-   Notwithstanding the above, nothing herein shall supersede or modify
-   the terms of any separate license agreement you may have executed
-   with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-   names, trademarks, service marks, or product names of the Licensor,
-   except as required for reasonable and customary use in describing the
-   origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-   agreed to in writing, Licensor provides the Work (and each
-   Contributor provides its Contributions) on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-   implied, including, without limitation, any warranties or conditions
-   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-   PARTICULAR PURPOSE. You are solely responsible for determining the
-   appropriateness of using or redistributing the Work and assume any
-   risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-   whether in tort (including negligence), contract, or otherwise,
-   unless required by applicable law (such as deliberate and grossly
-   negligent acts) or agreed to in writing, shall any Contributor be
-   liable to You for damages, including any direct, indirect, special,
-   incidental, or consequential damages of any character arising as a
-   result of this License or out of the use or inability to use the
-   Work (including but not limited to damages for loss of goodwill,
-   work stoppage, computer failure or malfunction, or any and all
-   other commercial damages or losses), even if such Contributor
-   has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-   the Work or Derivative Works thereof, You may choose to offer,
-   and charge a fee for, acceptance of support, warranty, indemnity,
-   or other liability obligations and/or rights consistent with this
-   License. However, in accepting such obligations, You may act only
-   on Your own behalf and on Your sole responsibility, not on behalf of
-   any other Contributor, and only if You agree to indemnify,
-   defend, and hold each Contributor harmless for any liability
-   incurred by, or claims asserted against, such Contributor by reason
-   of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Apache License to your work.
-
-   To apply the Apache License to your work, attach the following
-   boilerplate notice, with the fields enclosed by brackets "[]"
-   replaced with your own identifying information. (Don\'t include
-   the brackets!)  The text should be enclosed in the appropriate
-   comment syntax for the file format. We also recommend that a
-   file or class name and description of purpose be included on the
-   same "printed page" as the copyright notice for easier
-   identification within third-party archives.
-
-Copyright [yyyy] [name of copyright owner]
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
Full technical diff · 119 changed fields

changed /files/.app.json/sha256

BEFORE
"601eb60acdfbeb8c920f75b2a12133b0fc9486881c355be8d2b7906f65dad4ca"
AFTER
"a34a08ad77404c8c9069ccc5a7e59a2395fadc2c46d8d13f5ef8a40bd7b7bda3"

changed /files/.app.json/size

BEFORE
98
AFTER
99

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "d6c6c37bf0260645ba3ed3d240d8a32c5d36d6ea25e58649cadccf60e3b15b09",
  "size": 1361
}
AFTER
Field is absent

added /files/CHANGELOG.md

BEFORE
Field was absent
AFTER
{
  "sha256": "233917178a6bae54579b679b830b885351e0df49552daa74048045c0a2b52103",
  "size": 161
}

added /files/LICENSE

BEFORE
Field was absent
AFTER
{
  "sha256": "a0a3cabb18cf4b1593f8f7556dbb102b935354241ecc9165198786e7bfd5532e",
  "size": 1064
}

added /files/README.md

BEFORE
Field was absent
AFTER
{
  "sha256": "722bdeb5d7fd767cbe2e406d2020dbc6d87449396a9b209655c89b94a22ddadf",
  "size": 2305
}

removed /files/assets~1app-icon.png

BEFORE
{
  "sha256": "a3fc98c343cbed211c4160410badcf22668e0a09cf92a3ff570c61374fb0e8a2",
  "size": 26818
}
AFTER
Field is absent

removed /files/assets~1composer-icon.png

BEFORE
{
  "sha256": "a3fc98c343cbed211c4160410badcf22668e0a09cf92a3ff570c61374fb0e8a2",
  "size": 26818
}
AFTER
Field is absent

removed /files/assets~1logo-dark.jpg

BEFORE
{
  "sha256": "984bb71ba0305e078e6d5856b206b0756872b2692a9deee9b59654dfcf096e38",
  "size": 7061
}
AFTER
Field is absent

removed /files/assets~1logo.jpg

BEFORE
{
  "sha256": "984bb71ba0305e078e6d5856b206b0756872b2692a9deee9b59654dfcf096e38",
  "size": 7061
}
AFTER
Field is absent

added /files/assets~1logo.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "d9f7adc14d686624660337d56de7fee73b0edcc6527b659a5d20b4de75451384",
  "size": 1467
}

removed /files/assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/assets~1netlify.png

BEFORE
{
  "sha256": "ffbeef6d0af29a9c52f84297630f57c2c8ae86c1771458b24ad19795c4811160",
  "size": 933
}
AFTER
Field is absent

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "0fa6b85a7aaddc5d6ff073a291d151e97013c6a3bc63850dda6b8636c92a90dc",
  "size": 205
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "f0015cab80e98384dc6fe981bb49bfc31eba2ad05762f4b75e6e247768d041c5",
  "size": 2100
}

added /files/skills~1netlify-access-control~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "10f4c030449380d5a02f97af33444fed287c3d7a51ef9b43901ffcbb722c0ea8",
  "size": 12453
}

added /files/skills~1netlify-access-control~1references~1two-layer-pattern.md

BEFORE
Field was absent
AFTER
{
  "sha256": "adbf249e8132a4140f828cd98bf54bec451ecf2046125dc0f53dce5f05c9f0a6",
  "size": 5424
}

added /files/skills~1netlify-agent-runner~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "b76e52a0251b36493e8ab0729cce9f68cb7adea5d0ae88cb3e6a0c9cbe028588",
  "size": 10923
}

removed /files/skills~1netlify-ai-gateway~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-ai-gateway~1SKILL.md/sha256

BEFORE
"f5424f5a4eb755c82d27e29bbb57947f32c8afda0a18beed197b603ef1449e0a"
AFTER
"5bb82e44e594fdd74bb682ad39927139257868ce7115259e17e914ee547b0630"

changed /files/skills~1netlify-ai-gateway~1SKILL.md/size

BEFORE
3480
AFTER
14070

removed /files/skills~1netlify-ai-gateway~1agents~1openai.yaml

BEFORE
{
  "sha256": "905251a13c887bea468bc4b726404f089f328d4a94e32acd937fe7ec2d9d3faa",
  "size": 336
}
AFTER
Field is absent

removed /files/skills~1netlify-ai-gateway~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-ai-gateway~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-blobs~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-blobs~1SKILL.md/sha256

BEFORE
"8a0bd4d8c27ec332fb36537a6937f3723666ddc655b7fb0c59bcaa500a026789"
AFTER
"4b2e885e83a19a497f0a238f0a30fdd9deb82d934b879249f5fe5ff0fdfc23a6"

changed /files/skills~1netlify-blobs~1SKILL.md/size

BEFORE
2756
AFTER
12370

removed /files/skills~1netlify-blobs~1agents~1openai.yaml

BEFORE
{
  "sha256": "f28222fe9d9fcc08cb5c2ac9263dea6b7ffbd0afda2a9f6ff782cba5e48a61dc",
  "size": 312
}
AFTER
Field is absent

removed /files/skills~1netlify-blobs~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-blobs~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-caching~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-caching~1SKILL.md/sha256

BEFORE
"2d8d4358454ef49c25668c1f549b3ea25f708365026a13e92160071ccdf762b2"
AFTER
"576a6443fabdac489155955382b22b28ccc986f24ab2b1e4fbafbaf3da03e198"

changed /files/skills~1netlify-caching~1SKILL.md/size

BEFORE
3895
AFTER
15166

removed /files/skills~1netlify-caching~1agents~1openai.yaml

BEFORE
{
  "sha256": "af1ed1d79ec6c6a2f7a01f291608cc289b8018a0faced18690ee651a150c31bd",
  "size": 351
}
AFTER
Field is absent

removed /files/skills~1netlify-caching~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-caching~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-cli-and-deploy~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

removed /files/skills~1netlify-cli-and-deploy~1SKILL.md

BEFORE
{
  "sha256": "dccc4b22dc4a5ddec35a10b93588dd34ecb655a30d6e63e598c1a5e47d0411f0",
  "size": 4285
}
AFTER
Field is absent

removed /files/skills~1netlify-cli-and-deploy~1agents~1openai.yaml

BEFORE
{
  "sha256": "e18f8253db7513f55550458dfae5bde37b932fe5155c8dbbf951e155580daf07",
  "size": 325
}
AFTER
Field is absent

removed /files/skills~1netlify-cli-and-deploy~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-cli-and-deploy~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-config~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-config~1SKILL.md/sha256

BEFORE
"bcc297f4f93407a235b74025404ae81f2c8082edfa40313946cc8b385735bb0d"
AFTER
"6d89b0a14604dd8b7a5a83fb7b67bbe3600253d711c1766ad3cfb62e0639e042"

changed /files/skills~1netlify-config~1SKILL.md/size

BEFORE
3692
AFTER
16228

removed /files/skills~1netlify-config~1agents~1openai.yaml

BEFORE
{
  "sha256": "656abdf95c54bf56933833bae933a6645e7c793eadbb77378f8edfa0b3507683",
  "size": 332
}
AFTER
Field is absent

removed /files/skills~1netlify-config~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-config~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

added /files/skills~1netlify-database~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "c4eb3739c7079fabd513bf2c4b19f763a66edb6f1130214a86e2d83f2cbae4a1",
  "size": 19506
}

added /files/skills~1netlify-database~1references~1cli-commands.md

BEFORE
Field was absent
AFTER
{
  "sha256": "60d73ff7df63585a38d49bb6d0f99507d48d0c273e1633eb5871b387ddd4278d",
  "size": 4272
}

added /files/skills~1netlify-database~1references~1legacy-extension.md

BEFORE
Field was absent
AFTER
{
  "sha256": "a14b2cec898a90b676b74642668e7766c13f261e9062c2a110107ba8a4dc9750",
  "size": 3482
}

added /files/skills~1netlify-database~1references~1local-dev.md

BEFORE
Field was absent
AFTER
{
  "sha256": "04530407381e06ecdd0474c59781616965e1082ecdd0849d9caddbfe9a4613ed",
  "size": 2926
}

added /files/skills~1netlify-database~1references~1migration-from-extension.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1da69e090304b212937ba63bd6d22472c219a083e3662c84ee4f9e3170a05ada",
  "size": 10410
}

added /files/skills~1netlify-database~1references~1migrations.md

BEFORE
Field was absent
AFTER
{
  "sha256": "78bba1f1125c54dca09a7f0363cb094ee189b1fec7cae10cfd090e5df3e8520a",
  "size": 9533
}

added /files/skills~1netlify-database~1references~1operational-footguns.md

BEFORE
Field was absent
AFTER
{
  "sha256": "bbdbe1c1d06fbb2deb2e5ab426aca37f6d1a7f52fbfee698be9b4637ebd64d03",
  "size": 4010
}

removed /files/skills~1netlify-deploy~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-deploy~1SKILL.md/sha256

BEFORE
"8d39dd6d03415fcab770a28fba303cf23c995ea7b8be372a9d1587381a912f04"
AFTER
"70ee386212e6afe02a240f05f67be97753eec6ab8789dd89d103216bc325faa8"

changed /files/skills~1netlify-deploy~1SKILL.md/size

BEFORE
6995
AFTER
13688

removed /files/skills~1netlify-deploy~1agents~1openai.yaml

BEFORE
{
  "sha256": "3a792043a1a63f3a4c5d9831a04f588b26f75133c3adc75c7546284d0415332c",
  "size": 310
}
AFTER
Field is absent

removed /files/skills~1netlify-deploy~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-deploy~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

changed /files/skills~1netlify-deploy~1references~1cli-commands.md/sha256

BEFORE
"a24b08401b8c796e4a58933a71441b3341b61afc840d690d9127b27ab00cfe05"
AFTER
"ee13906271ce98bb94721af7f9681ee2d366c87f9db0e7a8c6e9ecd75599edfd"

changed /files/skills~1netlify-deploy~1references~1cli-commands.md/size

BEFORE
2652
AFTER
3522

changed /files/skills~1netlify-deploy~1references~1deployment-patterns.md/sha256

BEFORE
"fdb8c3b96fe03099826e4207b4933df3ff97571415f5e283567979bdc86cdc85"
AFTER
"30500141db7df8eb20a582965f0c502777c726dfef8edc4bf25f0c25078d591b"

changed /files/skills~1netlify-deploy~1references~1deployment-patterns.md/size

BEFORE
6702
AFTER
5188

changed /files/skills~1netlify-deploy~1references~1netlify-toml.md/sha256

BEFORE
"436ea3c2e0ce04abb34895db993d91b8660423977d9c52a89f2dfa014cad0b9c"
AFTER
"0020510798bfb441e2986ee17a6c153769ece334913680884da8d5a1764508eb"

changed /files/skills~1netlify-deploy~1references~1netlify-toml.md/size

BEFORE
3972
AFTER
2754

removed /files/skills~1netlify-edge-functions~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-edge-functions~1SKILL.md/sha256

BEFORE
"c30e744bea2eb68de5995bf1e8e4cbee1849f4b319dd04df79f54262d034124d"
AFTER
"fbbf95129c20704efa99f4a29b6ca4b642d68d8f4bdf1d6faa505f112cd64787"

changed /files/skills~1netlify-edge-functions~1SKILL.md/size

BEFORE
3565
AFTER
16463

removed /files/skills~1netlify-edge-functions~1agents~1openai.yaml

BEFORE
{
  "sha256": "7091f8c2a9f069582e9b9bad3761872e2bb5bdf3f289d47b4ac23aa4c048524a",
  "size": 352
}
AFTER
Field is absent

removed /files/skills~1netlify-edge-functions~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-edge-functions~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-forms~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-forms~1SKILL.md/sha256

BEFORE
"f26fc3198010fff39d9d12113e2bd13f5278ba749c52cb90f5cea5c7e0ef9aa5"
AFTER
"2e3d9871df526dd29a0a0f908cf161341d929773ee7fa54bccedd0ff8e67bfa4"

changed /files/skills~1netlify-forms~1SKILL.md/size

BEFORE
6338
AFTER
11514

removed /files/skills~1netlify-forms~1agents~1openai.yaml

BEFORE
{
  "sha256": "3cc3ac3195b1ed64907b6f10d858d644315eeb15add9109fdbe3dfb5cff2b392",
  "size": 332
}
AFTER
Field is absent

removed /files/skills~1netlify-forms~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-forms~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-frameworks~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-frameworks~1SKILL.md/sha256

BEFORE
"070401df9fe367cdc2fe5b9cc58984e2d0d093706a2bcf969d1895331fb00856"
AFTER
"1e75968abefff35445d97cd5861cbbec3b25019b756403cf60f84f5e2632322e"

changed /files/skills~1netlify-frameworks~1SKILL.md/size

BEFORE
2954
AFTER
14734

removed /files/skills~1netlify-frameworks~1agents~1openai.yaml

BEFORE
{
  "sha256": "bf83f81a18b263722a58b951aa762f0aff3cb895965d88b52e4d934a7f6a9a93",
  "size": 353
}
AFTER
Field is absent

removed /files/skills~1netlify-frameworks~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-frameworks~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

changed /files/skills~1netlify-frameworks~1references~1astro.md/sha256

BEFORE
"a78b02b169b8d7516fadb3067bd4ef3aabdb6a998dce13cce6fd26e0de81a68c"
AFTER
"df43ae1e6a21d269143e6ba9a20ebd2d10aac28654179d9aeb523d9ceee1773f"

changed /files/skills~1netlify-frameworks~1references~1astro.md/size

BEFORE
3066
AFTER
4730

changed /files/skills~1netlify-frameworks~1references~1nextjs.md/sha256

BEFORE
"8b8ca0392a79cc53d3b817179659c64e004f0f67e4936c370c93521ccb0535f6"
AFTER
"c9f48ed0b2ae01fb9b0cea3c58b0091db20a73e3f486360ed9a6260545827fcd"

changed /files/skills~1netlify-frameworks~1references~1nextjs.md/size

BEFORE
2425
AFTER
4555

added /files/skills~1netlify-frameworks~1references~1nuxt.md

BEFORE
Field was absent
AFTER
{
  "sha256": "d935a1ccd54e0c47544f39994ddcbd5b692fc6064408c07f0a0c67147543dc19",
  "size": 1556
}

added /files/skills~1netlify-frameworks~1references~1sveltekit.md

BEFORE
Field was absent
AFTER
{
  "sha256": "368f998bba3b0d66a58674aa70f14033a3986f03ffdd9f93a0d0ae1d124363f5",
  "size": 2114
}

changed /files/skills~1netlify-frameworks~1references~1tanstack.md/sha256

BEFORE
"b638a753c355cf2722eeab6cb56568df7ef15e09be8cf67f0418000e65a8de9b"
AFTER
"93381ec9b3ecfd569e234219940c28c261f36952a92a9f302ef1d932640c3867"

changed /files/skills~1netlify-frameworks~1references~1tanstack.md/size

BEFORE
1449
AFTER
2943

changed /files/skills~1netlify-frameworks~1references~1vite.md/sha256

BEFORE
"fdf1d7a56b52f7a10697276f82bbb7f0d9df9fc5c3f0c838658da7e40347b250"
AFTER
"aa0ceb5e8e43b0522e0f44a1e0d9371ca7ff036e46a4a5c2facd2da0f19e58a3"

changed /files/skills~1netlify-frameworks~1references~1vite.md/size

BEFORE
2406
AFTER
3216

removed /files/skills~1netlify-functions~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-functions~1SKILL.md/sha256

BEFORE
"b1f56e7099ce4b703a0c0b29a0e7cde03837d58fdefc3544f7de0d511fac0caa"
AFTER
"a1e6d67d52ba306f35966985792854a1aad08c7caed936c0f7b05e32ef418142"

changed /files/skills~1netlify-functions~1SKILL.md/size

BEFORE
5199
AFTER
19017

removed /files/skills~1netlify-functions~1agents~1openai.yaml

BEFORE
{
  "sha256": "04fe38410b1b7c62bae04f987683aab6292aa6a5a28bc13471418e8cf4a27f51",
  "size": 352
}
AFTER
Field is absent

removed /files/skills~1netlify-functions~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-functions~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

removed /files/skills~1netlify-identity~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-identity~1SKILL.md/sha256

BEFORE
"9fe64c30bb0296442571b9e681b975e5f31903a81f04e8722cf2178b7d184311"
AFTER
"7266e77ce466f012605d414b6fa0ccf935f7d4fcdf1d4f71a24a8b2c5c10c373"

changed /files/skills~1netlify-identity~1SKILL.md/size

BEFORE
9893
AFTER
14261

removed /files/skills~1netlify-identity~1agents~1openai.yaml

BEFORE
{
  "sha256": "fd80db43089e9673e5e78395b30d6472fe2bc4f9cfc6b0a9c1b8290d718a0824",
  "size": 335
}
AFTER
Field is absent

removed /files/skills~1netlify-identity~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-identity~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

changed /files/skills~1netlify-identity~1references~1advanced-patterns.md/sha256

BEFORE
"a17c8d03def917fff7c2b294323a7bed155a8ffd68cea12b0616629a28cdd795"
AFTER
"2f8a3132ef3e6658733d2a961a00e63d400d9261f5f88c395ea7343d6e46e929"

changed /files/skills~1netlify-identity~1references~1advanced-patterns.md/size

BEFORE
4095
AFTER
4428

added /files/skills~1netlify-identity~1references~1authorization-and-sessions.md

BEFORE
Field was absent
AFTER
{
  "sha256": "e0ef37b2e84c1fc754607791b151d74b4941953d9bcd0793dc0c22450571a234",
  "size": 3384
}

removed /files/skills~1netlify-image-cdn~1LICENSE.txt

BEFORE
{
  "sha256": "4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9",
  "size": 10776
}
AFTER
Field is absent

changed /files/skills~1netlify-image-cdn~1SKILL.md/sha256

BEFORE
"d1ab2617d55e4d63e21fd442a48c86391def1a35ae238abcabcd82914b5970ba"
AFTER
"cc7e05af6c15be54dc81938fe5fa2846a89a31953c7783c7c14e51270cbd8e15"

changed /files/skills~1netlify-image-cdn~1SKILL.md/size

BEFORE
2677
AFTER
9916

removed /files/skills~1netlify-image-cdn~1agents~1openai.yaml

BEFORE
{
  "sha256": "dd98a6059deda4c5d6c67b5c121f7dcc6bc3af223d46af465a7ee6cf0eeee7b9",
  "size": 331
}
AFTER
Field is absent

removed /files/skills~1netlify-image-cdn~1assets~1netlify-small.svg

BEFORE
{
  "sha256": "a2d9b9b5087c840247eb8e8360120ce9a20780c5470519b7703f49e920f780cd",
  "size": 1291
}
AFTER
Field is absent

removed /files/skills~1netlify-image-cdn~1assets~1netlify.png

BEFORE
{
  "sha256": "519b577ccd1d2cc217cbc09fc7f53d0da2f2476eb9b106c66f749099f1a8b56e",
  "size": 2686
}
AFTER
Field is absent

added /files/skills~1netlify-mcp-servers~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "ecb6f37c2803360dbc7aa776f7da15831055a2971bffe35e79de30285bfb6579",
  "size": 17036
}

added /files/skills~1netlify-mcp-servers~1references~1authentication.md

BEFORE
Field was absent
AFTER
{
  "sha256": "b5744bc1708d2e8e307e9462643e029b21a60e01466978a5174c881f40360178",
  "size": 4274
}

added /files/skills~1netlify-mcp-servers~1references~1connecting-clients.md

BEFORE
Field was absent
AFTER
{
  "sha256": "5cd62f54aaa392ab3bfc75a8270313b591d41caa65ff4bf40a9cf86a4a43f186",
  "size": 3683
}

added /files/skills~1netlify-mcp-servers~1references~1file-uploads.md

BEFORE
Field was absent
AFTER
{
  "sha256": "fd4c4f6770bfd379adf31304297dde42be5fb5b5e1bf8b221631f228ea18c066",
  "size": 3544
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "a34a08ad77404c8c9069ccc5a7e59a2395fadc2c46d8d13f5ef8a40bd7b7bda3",
      "size": 99
    },
    "CHANGELOG.md": {
      "sha256": "233917178a6bae54579b679b830b885351e0df49552daa74048045c0a2b52103",
      "size": 161
    },
    "LICENSE": {
      "sha256": "a0a3cabb18cf4b1593f8f7556dbb102b935354241ecc9165198786e7bfd5532e",
      "size": 1064
    },
    "README.md": {
      "sha256": "722bdeb5d7fd767cbe2e406d2020dbc6d87449396a9b209655c89b94a22ddadf",
      "size": 2305
    },
    "assets/logo.svg": {
      "sha256": "d9f7adc14d686624660337d56de7fee73b0edcc6527b659a5d20b4de75451384",
      "size": 1467
    },
    "mcp.json": {
      "sha256": "0fa6b85a7aaddc5d6ff073a291d151e97013c6a3bc63850dda6b8636c92a90dc",
      "size": 205
    },
    "plugin.json": {
      "sha256": "f0015cab80e98384dc6fe981bb49bfc31eba2ad05762f4b75e6e247768d041c5",
      "size": 2100
    },
    "skills/netlify-access-control/SKILL.md": {
      "sha256": "10f4c030449380d5a02f97af33444fed287c3d7a51ef9b43901ffcbb722c0ea8",
      "size": 12453
    },
    "skills/netlify-access-control/references/two-layer-pattern.md": {
      "sha256": "adbf249e8132a4140f828cd98bf54bec451ecf2046125dc0f53dce5f05c9f0a6",
      "size": 5424
    },
    "skills/netlify-agent-runner/SKILL.md": {
      "sha256": "b76e52a0251b36493e8ab0729cce9f68cb7adea5d0ae88cb3e6a0c9cbe028588",
      "size": 10923
    },
    "skills/netlify-ai-gateway/SKILL.md": {
      "sha256": "5bb82e44e594fdd74bb682ad39927139257868ce7115259e17e914ee547b0630",
      "size": 14070
    },
    "skills/netlify-blobs/SKILL.md": {
      "sha256": "4b2e885e83a19a497f0a238f0a30fdd9deb82d934b879249f5fe5ff0fdfc23a6",
      "size": 12370
    },
    "skills/netlify-caching/SKILL.md": {
      "sha256": "576a6443fabdac489155955382b22b28ccc986f24ab2b1e4fbafbaf3da03e198",
      "size": 15166
    },
    "skills/netlify-config/SKILL.md": {
      "sha256": "6d89b0a14604dd8b7a5a83fb7b67bbe3600253d711c1766ad3cfb62e0639e042",
      "size": 16228
    },
    "skills/netlify-database/SKILL.md": {
      "sha256": "c4eb3739c7079fabd513bf2c4b19f763a66edb6f1130214a86e2d83f2cbae4a1",
      "size": 19506
    },
    "skills/netlify-database/references/cli-commands.md": {
      "sha256": "60d73ff7df63585a38d49bb6d0f99507d48d0c273e1633eb5871b387ddd4278d",
      "size": 4272
    },
    "skills/netlify-database/references/legacy-extension.md": {
      "sha256": "a14b2cec898a90b676b74642668e7766c13f261e9062c2a110107ba8a4dc9750",
      "size": 3482
    },
    "skills/netlify-database/references/local-dev.md": {
      "sha256": "04530407381e06ecdd0474c59781616965e1082ecdd0849d9caddbfe9a4613ed",
      "size": 2926
    },
    "skills/netlify-database/references/migration-from-extension.md": {
      "sha256": "1da69e090304b212937ba63bd6d22472c219a083e3662c84ee4f9e3170a05ada",
      "size": 10410
    },
    "skills/netlify-database/references/migrations.md": {
      "sha256": "78bba1f1125c54dca09a7f0363cb094ee189b1fec7cae10cfd090e5df3e8520a",
      "size": 9533
    },
    "skills/netlify-database/references/operational-footguns.md": {
      "sha256": "bbdbe1c1d06fbb2deb2e5ab426aca37f6d1a7f52fbfee698be9b4637ebd64d03",
      "size": 4010
    },
    "skills/netlify-deploy/SKILL.md": {
      "sha256": "70ee386212e6afe02a240f05f67be97753eec6ab8789dd89d103216bc325faa8",
      "size": 13688
    },
    "skills/netlify-deploy/references/cli-commands.md": {
      "sha256": "ee13906271ce98bb94721af7f9681ee2d366c87f9db0e7a8c6e9ecd75599edfd",
      "size": 3522
    },
    "skills/netlify-deploy/references/deployment-patterns.md": {
      "sha256": "30500141db7df8eb20a582965f0c502777c726dfef8edc4bf25f0c25078d591b",
      "size": 5188
    },
    "skills/netlify-deploy/references/netlify-toml.md": {
      "sha256": "0020510798bfb441e2986ee17a6c153769ece334913680884da8d5a1764508eb",
      "size": 2754
    },
    "skills/netlify-edge-functions/SKILL.md": {
      "sha256": "fbbf95129c20704efa99f4a29b6ca4b642d68d8f4bdf1d6faa505f112cd64787",
      "size": 16463
    },
    "skills/netlify-forms/SKILL.md": {
      "sha256": "2e3d9871df526dd29a0a0f908cf161341d929773ee7fa54bccedd0ff8e67bfa4",
      "size": 11514
    },
    "skills/netlify-frameworks/SKILL.md": {
      "sha256": "1e75968abefff35445d97cd5861cbbec3b25019b756403cf60f84f5e2632322e",
      "size": 14734
    },
    "skills/netlify-frameworks/references/astro.md": {
      "sha256": "df43ae1e6a21d269143e6ba9a20ebd2d10aac28654179d9aeb523d9ceee1773f",
      "size": 4730
    },
    "skills/netlify-frameworks/references/nextjs.md": {
      "sha256": "c9f48ed0b2ae01fb9b0cea3c58b0091db20a73e3f486360ed9a6260545827fcd",
      "size": 4555
    },
    "skills/netlify-frameworks/references/nuxt.md": {
      "sha256": "d935a1ccd54e0c47544f39994ddcbd5b692fc6064408c07f0a0c67147543dc19",
      "size": 1556
    },
    "skills/netlify-frameworks/references/sveltekit.md": {
      "sha256": "368f998bba3b0d66a58674aa70f14033a3986f03ffdd9f93a0d0ae1d124363f5",
      "size": 2114
    },
    "skills/netlify-frameworks/references/tanstack.md": {
      "sha256": "93381ec9b3ecfd569e234219940c28c261f36952a92a9f302ef1d932640c3867",
      "size": 2943
    },
    "skills/netlify-frameworks/references/vite.md": {
      "sha256": "aa0ceb5e8e43b0522e0f44a1e0d9371ca7ff036e46a4a5c2facd2da0f19e58a3",
      "size": 3216
    },
    "skills/netlify-functions/SKILL.md": {
      "sha256": "a1e6d67d52ba306f35966985792854a1aad08c7caed936c0f7b05e32ef418142",
      "size": 19017
    },
    "skills/netlify-identity/SKILL.md": {
      "sha256": "7266e77ce466f012605d414b6fa0ccf935f7d4fcdf1d4f71a24a8b2c5c10c373",
      "size": 14261
    },
    "skills/netlify-identity/references/advanced-patterns.md": {
      "sha256": "2f8a3132ef3e6658733d2a961a00e63d400d9261f5f88c395ea7343d6e46e929",
      "size": 4428
    },
    "skills/netlify-identity/references/authorization-and-sessions.md": {
      "sha256": "e0ef37b2e84c1fc754607791b151d74b4941953d9bcd0793dc0c22450571a234",
      "size": 3384
    },
    "skills/netlify-image-cdn/SKILL.md": {
      "sha256": "cc7e05af6c15be54dc81938fe5fa2846a89a31953c7783c7c14e51270cbd8e15",
      "size": 9916
    },
    "skills/netlify-image-cdn/references/user-uploads.md": {
      "sha256": "2cc17636becf88d71839dbcb56f552270f3ce778f8399916190abcc004bc76fb",
      "size": 4815
    },
    "skills/netlify-mcp-servers/SKILL.md": {
      "sha256": "ecb6f37c2803360dbc7aa776f7da15831055a2971bffe35e79de30285bfb6579",
      "size": 17036
    },
    "skills/netlify-mcp-servers/references/authentication.md": {
      "sha256": "b5744bc1708d2e8e307e9462643e029b21a60e01466978a5174c881f40360178",
      "size": 4274
    },
    "skills/netlify-mcp-servers/references/connecting-clients.md": {
      "sha256": "5cd62f54aaa392ab3bfc75a8270313b591d41caa65ff4bf40a9cf86a4a43f186",
      "size": 3683
    },
    "skills/netlify-mcp-servers/references/file-uploads.md": {
      "sha256": "fd4c4f6770bfd379adf31304297dde42be5fb5b5e1bf8b221631f228ea18c066",
      "size": 3544
    }
  }
}

SHA-256 of public snapshot: efd3e4862052785acf295713574eca308b9ced294e662a9ee2fdb461e956b87d