← VercelCONTENT HISTORY

Update to Vercel

Snapshot Oct 6, 2026 · 18:03 UTC · version 0.54.1

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 206 files: .app.json, .codex-plugin/plugin.json, .mcp.json, …. 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

b638b778280d0256dfc18ff64f830cf091d92e5f6ff098069ca1e6eba296f1cf

After

e8be9f1c0c62ace1692c2b32602d24aa81397ba9fbe150086e1db9145f76f21a

Package file

Before

e6f470a8c5136d4e3a697882c5a81f0caddfac01e92b81ea37c084fc8d5d0353

After

0ac5a01ed5b6f4eed0446c1b9f82c584185a8b8191b923cb7f7fc164dd443b46

Package file

Before

1647

After

1669

Package file

Before

Not present

After

{"sha256":"af4528af961ca15e912b4f88643242743269706bee92c5f65f3cf428981ebe19","size":108}

Compare saved observations

Download comparison JSON

Changed files

.app.json →

.codex-plugin/plugin.json →

.mcp.json →

README.md →

agents/ai-architect.md →

agents/ai-architect.md.tmpl →

agents/deployment-expert.md →

agents/deployment-expert.md.tmpl →

agents/performance-optimizer.md →

agents/performance-optimizer.md.tmpl →

commands/bootstrap.md →

commands/bootstrap.md.tmpl →

commands/deploy.md →

commands/deploy.md.tmpl →

commands/env.md →

commands/env.md.tmpl →

commands/marketplace.md →

commands/marketplace.md.tmpl →

commands/status.md →

commands/status.md.tmpl →

skills/_chain-audit.md →

skills/access-protected-vercel-deployment/SKILL.md →

skills/access-protected-vercel-deployment/agents/openai.yaml →

skills/agent-browser-verify/SKILL.md →

skills/agent-browser-verify/agents/openai.yaml →

skills/agent-browser/SKILL.md →

skills/agent-browser/agents/openai.yaml →

skills/ai-elements/SKILL.md →

skills/ai-elements/agents/openai.yaml →

skills/ai-gateway/SKILL.md →

skills/ai-gateway/references/coding-agents.md →

skills/ai-gateway/references/evaluation.md →

skills/ai-gateway/references/routing.md →

skills/ai-gateway/references/setup.md →

skills/ai-gateway/references/spend-observability.md →

skills/ai-gateway/references/virtual-models.md →

skills/ai-generation-persistence/SKILL.md →

skills/ai-generation-persistence/agents/openai.yaml →

skills/ai-sdk/SKILL.md →

skills/ai-sdk/references/ai-gateway.md →

skills/ai-sdk/references/common-errors.md →

skills/ai-sdk/references/devtools.md →

skills/ai-sdk/references/providers.md →

skills/ai-sdk/references/type-safe-agents.md →

skills/auth/SKILL.md →

skills/bootstrap/SKILL.md →

skills/build-agents/SKILL.md →

skills/build-agents/agents/openai.yaml →

skills/cdn-caching/SKILL.md →

skills/chat-sdk/SKILL.md →

skills/cms/SKILL.md →

skills/cms/agents/openai.yaml →

skills/create-a-backend/SKILL.md →

skills/create-a-backend/agents/openai.yaml →

skills/cron-jobs/SKILL.md →

skills/cron-jobs/agents/openai.yaml →

skills/custom-metrics/SKILL.md →

skills/custom-metrics/agents/openai.yaml →

skills/deployments-cicd/SKILL.md →

skills/deployments-cicd/references/cli-pipelines.md →

skills/deployments-cicd/references/deployment-checks.md →

skills/deployments-cicd/references/live-status.md →

skills/deployments-cicd/references/oidc-federation.md →

skills/domains/SKILL.md →

skills/domains/agents/openai.yaml →

skills/email/SKILL.md →

skills/email/agents/openai.yaml →

skills/env-vars/SKILL.md →

skills/eve/SKILL.md →

skills/flags-sdk/SKILL.md →

skills/flags-sdk/agents/openai.yaml →

skills/flags-sdk/references/api.md →

skills/flags-sdk/references/nextjs.md →

skills/flags-sdk/references/providers.md →

skills/flags-sdk/references/sveltekit.md →

skills/geist/SKILL.md →

skills/geist/agents/openai.yaml →

skills/geistdocs/SKILL.md →

skills/geistdocs/agents/openai.yaml →

skills/investigation-mode/SKILL.md →

skills/investigation-mode/agents/openai.yaml →

skills/is-agentic/SKILL.md →

skills/is-agentic/agents/openai.yaml →

skills/json-render/SKILL.md →

skills/json-render/agents/openai.yaml →

skills/knowledge-update/SKILL.md →

skills/marketplace/SKILL.md →

skills/micro/SKILL.md →

skills/micro/agents/openai.yaml →

skills/microfrontends/SKILL.md →

skills/microfrontends/references/managing-microfrontends.md →

skills/microfrontends/references/security.md →

skills/ncc/SKILL.md →

skills/ncc/agents/openai.yaml →

skills/next-cache-components/SKILL.md →

skills/next-cache-components/agents/openai.yaml →

skills/next-forge/SKILL.md →

skills/next-forge/agents/openai.yaml →

skills/next-forge/references/architecture.md →

skills/next-forge/references/customization.md →

skills/next-forge/references/packages.md →

skills/next-forge/references/setup.md →

skills/next-upgrade/SKILL.md →

skills/next-upgrade/agents/openai.yaml →

skills/nextjs/SKILL.md →

skills/nextjs/agents/openai.yaml →

skills/nextjs/references/app-router-files.md →

skills/nextjs/references/async-patterns.md →

skills/nextjs/references/bundling.md →

skills/nextjs/references/data-patterns.md →

skills/nextjs/references/debug-tricks.md →

skills/nextjs/references/directives.md →

skills/nextjs/references/error-handling.md →

skills/nextjs/references/file-conventions.md →

skills/nextjs/references/font.md →

skills/nextjs/references/functions.md →

skills/nextjs/references/hydration-error.md →

skills/nextjs/references/image.md →

skills/nextjs/references/metadata.md →

skills/nextjs/references/parallel-routes.md →

skills/nextjs/references/route-handlers.md →

skills/nextjs/references/rsc-boundaries.md →

skills/nextjs/references/runtime-selection.md →

skills/nextjs/references/scripts.md →

skills/nextjs/references/self-hosting.md →

skills/nextjs/references/suspense-boundaries.md →

skills/observability/SKILL.md →

skills/observability/agents/openai.yaml →

skills/payments/SKILL.md →

skills/payments/agents/openai.yaml →

skills/queues/SKILL.md →

skills/queues/agents/openai.yaml →

skills/react-best-practices/AGENTS.md →

skills/react-best-practices/SKILL.md →

skills/react-best-practices/rules/advanced-effect-event-deps.md →

skills/react-best-practices/rules/async-cheap-condition-before-await.md →

skills/react-best-practices/rules/async-defer-await.md →

skills/react-best-practices/rules/bundle-analyzable-paths.md →

skills/react-best-practices/rules/bundle-barrel-imports.md →

skills/react-best-practices/rules/js-request-idle-callback.md →

skills/react-best-practices/rules/server-hoist-static-io.md →

skills/react-best-practices/rules/server-no-shared-module-state.md →

skills/react-best-practices/rules/server-parallel-nested-fetching.md →

skills/routing-middleware/SKILL.md →

skills/runtime-cache/SKILL.md →

skills/satori/SKILL.md →

skills/satori/agents/openai.yaml →

skills/shadcn/SKILL.md →

skills/shadcn/agents/openai.yaml →

skills/sign-in-with-vercel/SKILL.md →

skills/sign-in-with-vercel/agents/openai.yaml →

skills/swr/SKILL.md →

skills/swr/agents/openai.yaml →

skills/turbopack/SKILL.md →

skills/turbopack/agents/openai.yaml →

skills/turborepo/SKILL.md →

skills/turborepo/agents/openai.yaml →

skills/v0-dev/SKILL.md →

skills/v0-dev/agents/openai.yaml →

skills/vercel-agent/SKILL.md →

skills/vercel-api/SKILL.md →

skills/vercel-api/agents/openai.yaml →

skills/vercel-cli/SKILL.md →

skills/vercel-cli/command/vercel.md →

skills/vercel-cli/references/advanced.md →

skills/vercel-cli/references/agent-and-ai.md →

skills/vercel-cli/references/comments.md →

skills/vercel-cli/references/connectors.md →

skills/vercel-cli/references/container-registry.md →

skills/vercel-cli/references/deployment.md →

skills/vercel-cli/references/domains-and-dns.md →

skills/vercel-cli/references/environment-variables.md →

skills/vercel-cli/references/firewall.md →

skills/vercel-cli/references/flags.md →

skills/vercel-cli/references/getting-started.md →

skills/vercel-cli/references/global-options.md →

skills/vercel-cli/references/integrations.md →

skills/vercel-cli/references/local-development.md →

skills/vercel-cli/references/microfrontends.md →

skills/vercel-cli/references/monitoring-and-debugging.md →

skills/vercel-cli/references/monorepos.md →

skills/vercel-cli/references/platform-ops.md →

skills/vercel-cli/references/project-infra.md →

skills/vercel-cli/references/projects-and-teams.md →

skills/vercel-cli/references/routing.md →

skills/vercel-cli/references/sandbox.md →

skills/vercel-cli/references/storage.md →

skills/vercel-connect/SKILL.md →

skills/vercel-firewall/SKILL.md →

skills/vercel-flags/SKILL.md →

skills/vercel-flags/agents/openai.yaml →

skills/vercel-functions/SKILL.md →

skills/vercel-queues/SKILL.md →

skills/vercel-queues/agents/openai.yaml →

skills/vercel-sandbox/SKILL.md →

skills/vercel-services/SKILL.md →

skills/vercel-services/references/experimental-services.md →

skills/vercel-services/references/fastapi-vite/backend/pyproject.toml →

skills/vercel-services/references/fastapi-vite/frontend/package.json →

skills/vercel-services/references/fastapi-vite/frontend/vite.config.ts →

skills/vercel-services/references/fastapi-vite/vercel.json →

skills/vercel-storage/SKILL.md →

skills/verification/SKILL.md →

skills/workflow/SKILL.md →

skills/workflow/references/durable-agent-patterns.md →

vercel.md →

skills/ai-gateway/references/spend-observability.md

--- before
+++ after
@@ -0,0 +1,120 @@
+# Credits, budgets, reporting, and observability
+
+Use this reference for AI Gateway Credits, spend caps, usage reporting, request logs, and debugging. Read current docs before editing billing or spend controls.
+
+## AI Gateway Credits and pricing
+
+AI Gateway adds no platform markup to provider pricing, and some models are priced below provider list for every team; browse current ones at <https://vercel.com/ai-gateway/models?discount=true>. Volume commitments can negotiate custom discounts with invoice payment. Requests draw on AI Gateway Credits unless BYOK credentials are used. Docs: <https://vercel.com/docs/ai-gateway/pricing/discounts>
+
+- A team needs a valid payment method to unlock free AI Gateway Credits. The gateway returns `customer_verification_required` with an action link when verification is missing.
+- Free-tier requests use a subset of models and have lower per-model rate limits. Exceeding one returns `429`; buying credits moves the team to the paid tier and raises limits.
+- A request that exceeds the balance fails with `402` and `insufficient_funds`. BYOK requests also require a positive balance so fallback providers remain available.
+- Credits support manual top-up and auto top-up. Some opt-in extras bill separately: Custom Reporting writes and queries, Trace Drains, and team-wide compliance or provider-restriction policies.
+
+Check the pricing page for the current free-credit amount and tiers instead of hardcoding it. Docs: <https://vercel.com/docs/ai-gateway/pricing>
+
+## Budgets
+
+A budget caps AI Gateway spend at one of four scopes:
+
+| Scope | Meters |
+| --- | --- |
+| Team | Every request across the team |
+| Project | Requests authenticated by that project's OIDC tokens |
+| API key | Requests using that one key |
+| User | Requests using keys attributed to that member |
+
+Budgets stack. A request must pass every budget in scope, and one exhausted budget rejects it even when the others have room. Exceeded budgets reject further requests with HTTP `402` and type `quota_for_entity_exceeded` until the budget resets or its limit is raised. A budget is a soft cap: the request that crosses the limit completes.
+
+Refresh periods reset at UTC boundaries: daily at midnight, weekly on Monday, monthly on the first of the month. `none` never resets.
+
+### Default budgets
+
+Each of project, API key, and user scopes can have one default that covers every covered resource without its own budget:
+
+- The default applies immediately to existing and future resources in that scope.
+- Each covered resource gets its own allowance; the limit is per resource, not split across them.
+- A custom budget always wins over the default.
+- Removing a default lifts the cap from every covered resource; only a wider team budget still applies.
+
+### Spend alerts
+
+Custom budgets can email on 50%, 75%, or 100% of the limit, at most once per period per threshold. Recipients depend on scope: team and project budgets email team owners and members with the Billing role, an API key budget emails the key's creator, and a user budget emails that member. Alerts are informational; a threshold below 100% never blocks requests.
+
+Default budgets do not send spend alerts; set a custom budget on a resource to get alerts for it.
+
+BYOK spend is metered separately and does not count toward any budget.
+
+### CLI and API
+
+The Vercel CLI manages budgets per scope. `set` creates or updates, `list` shows every scope's limit and spend, `inspect` shows one scope, and `remove` lifts a cap (falling back to the scope's default when one exists). Defaults get their own `defaults` subcommand:
+
+```bash
+vercel ai-gateway budgets set team --limit 500 --refresh-period monthly
+vercel ai-gateway budgets set project my-project --limit 200
+vercel ai-gateway budgets set api-key my-key --limit 50
+vercel ai-gateway budgets defaults set api-key --limit 50 --refresh-period monthly
+vercel ai-gateway budgets inspect team
+vercel ai-gateway budgets list
+```
+
+Check `vercel ai-gateway budgets set --help` for the current flag set before scripting.
+
+Budget changes take effect after a short delay, typically tens of seconds and up to about 5 minutes for an actively used key.
+
+Docs: <https://vercel.com/docs/ai-gateway/observability-and-spend/budgets> and <https://vercel.com/docs/cli/ai-gateway#budgets>
+
+## Request authentication
+
+Team budgets count every request. Project budgets apply only to OIDC-authenticated requests from that project's deployments. API key and user budgets apply to key usage. BYOK requests are metered but never counted against a limit. Read the budgets page before changing attribution or defaults; metering is not retroactive for a re-created budget.
+
+### Spend attribution and permissions
+
+Each API key is attributed to the team or to the member who created it. Only member-attributed keys count toward a user budget; OIDC tokens, personal access tokens, and app tokens never do. Attribution is editable: <https://vercel.com/docs/ai-gateway/authentication-and-byok/api-keys#spend-attribution>
+
+Every team role except Contributor can view budgets. An Owner can grant a member the AI Gateway Budget Manager permission, which covers budget writes at every scope except API key budgets, which follow key-editing permission.
+
+## Observability
+
+The AI Gateway Overview shows usage, spend, time to first token, and token counts by model, plus request summaries by project and API key. AI Traces and Trace Drains cover OpenTelemetry tracing and export for Pro and Enterprise (<https://vercel.com/docs/ai-gateway/observability-and-spend/trace-drains>).
+
+For individual requests, use the Logs page. It lists every request and asynchronous job newest first with status, model, provider, usage, cost, duration, and authentication, and supports filters for status, model, provider, authentication, routing, modality, latency, tokens, cost, and date range. Filters live in the URL, so a filtered view can be shared. Live mode tails new requests as they arrive; requests take about 90 seconds to fully ingest. Logs also exist at project scope under `/[team]/[project]/ai-gateway/logs`, and the page copies visible rows or exports loaded rows as CSV or JSON.
+
+One request's details panel shows every provider attempt, including retries, credential source, time to first token, timing spans, status, and provider response, plus usage and cost breakdowns. Routing attempt details are kept for 30 days; the list allows up to 36 days.
+
+Docs: <https://vercel.com/docs/ai-gateway/observability-and-spend/logs> and <https://vercel.com/docs/ai-gateway/observability-and-spend/observability>
+
+## Custom Reporting
+
+The Custom Reporting API aggregates usage by model, user, tag, provider, credential type, ZDR status, or API key name, with filters for each dimension and day- or hour-level granularity. It requires a Pro or Enterprise plan and bills writes and queries.
+
+Attach `user` and/or `tags` to requests through `providerOptions.gateway` (AI SDK) or `extra_body.providerOptions.gateway` (Python SDKs), or through the `ai-reporting-user` and `ai-reporting-tags` headers when a proxy stamps context without changing application code.
+
+```bash
+curl "https://ai-gateway.vercel.sh/v1/report?start_date=2026-01-01&end_date=2026-01-31&group_by=model" \
+  -H "Authorization: Bearer $AI_GATEWAY_API_KEY"
+```
+
+Results can take a few minutes to appear. The AI SDK exposes equivalent helpers, such as `gateway.getSpendReport()` and `gateway.getGenerationInfo()`; confirm names against the installed package.
+
+Docs: <https://vercel.com/docs/ai-gateway/observability-and-spend/custom-reporting>
+
+## Usage and billing endpoints
+
+Two REST endpoints cover balance and per-request cost without opening the dashboard:
+
+- `GET /v1/credits` returns the team's remaining credit balance and lifetime spend.
+- `GET /v1/generation` returns cost, latency, finish reason, and token usage for one generation.
+
+Every response carries its generation ID: the `id` field on a chat completion, injected into the first chunk of a stream, and `providerMetadata.gateway.generationId` in the AI SDK. Capture it when the application may need a cost lookup later.
+
+Docs: <https://vercel.com/docs/ai-gateway/observability-and-spend/usage> and the REST API reference at <https://vercel.com/docs/ai-gateway/sdks-and-apis/rest-api>
+
+## Debugging checklist
+
+1. Find the request in AI Gateway Logs by request ID, model, status, or time range.
+2. Check authentication: the row names the API key, OIDC project, app token, or personal access token used.
+3. Read the routing cards for every provider attempt and their statuses.
+4. Compare usage and cost against the budget and credit balance.
+5. For a failed request, match the status against the first-request error table before changing routing or credentials.
+6. For recurring spend patterns, query Custom Reporting by model, tag, user, or credential type rather than reading individual logs one at a time.
Full technical diff · 260 changed fields

changed /files/.app.json/sha256

BEFORE
"b638b778280d0256dfc18ff64f830cf091d92e5f6ff098069ca1e6eba296f1cf"
AFTER
"e8be9f1c0c62ace1692c2b32602d24aa81397ba9fbe150086e1db9145f76f21a"

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"e6f470a8c5136d4e3a697882c5a81f0caddfac01e92b81ea37c084fc8d5d0353"
AFTER
"0ac5a01ed5b6f4eed0446c1b9f82c584185a8b8191b923cb7f7fc164dd443b46"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
1647
AFTER
1669

added /files/.mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "af4528af961ca15e912b4f88643242743269706bee92c5f65f3cf428981ebe19",
  "size": 108
}

changed /files/README.md/sha256

BEFORE
"b623ef9e39a934cef8114a8f90a118b8bbe3493273796bb5acaa202452bc19c4"
AFTER
"fa63a51680acd02e85254cd6fd93c5ccb330bcc88cddaee95b1f2b61c04d2307"

changed /files/README.md/size

BEFORE
9452
AFTER
3053

changed /files/agents~1ai-architect.md/sha256

BEFORE
"261a723d9223b7d000bfb40cc3400eac6ebecc528e5f048dfd8d6ed0fb743c26"
AFTER
"d6a868d0415bfe5b73f0e71afc29712aa5b5d50f719411069b333eb460034036"

changed /files/agents~1ai-architect.md/size

BEFORE
12595
AFTER
10624

removed /files/agents~1ai-architect.md.tmpl

BEFORE
{
  "sha256": "dcb76ef1193c2b8206fe9ccd08559a46beb7488452ae5af897d7a085de075a2e",
  "size": 8570
}
AFTER
Field is absent

changed /files/agents~1deployment-expert.md/sha256

BEFORE
"4fa012779dab0ebebb7f75646cc1a993d86d2970db053b19f15672cf48f90bf3"
AFTER
"ebf4a27da73ad643c74473f8ec0a1a87c9c7146511df1f0dc55e4ae72b8c1a69"

changed /files/agents~1deployment-expert.md/size

BEFORE
12307
AFTER
24831

removed /files/agents~1deployment-expert.md.tmpl

BEFORE
{
  "sha256": "b94ffb38834d6591b480c57d208fa7ca4dc3f49a3e93fa230bb4a89656da1883",
  "size": 7658
}
AFTER
Field is absent

changed /files/agents~1performance-optimizer.md/sha256

BEFORE
"4ffb46d5c16c466ed6e19c5cccf04627e572beb1c721ac89a68495771d6c4747"
AFTER
"95cfce555a5b8dd181a3a03d5a5bc71785faefed6a5b06af5979d6f5baa0f1e2"

changed /files/agents~1performance-optimizer.md/size

BEFORE
12462
AFTER
8120

removed /files/agents~1performance-optimizer.md.tmpl

BEFORE
{
  "sha256": "6283f44252482dd2f02c7d37f3a20b7ef039fb874d663de2d3a5722202c04634",
  "size": 7659
}
AFTER
Field is absent

changed /files/commands~1bootstrap.md/sha256

BEFORE
"e26a1f7aa23a17b5af6db7d30f8470a537d72449907ae7dca9765b9d836c015a"
AFTER
"eb6b7df2bb54e723dddac037ddc10a286ec90af195480697aacd48f9e9cf5238"

changed /files/commands~1bootstrap.md/size

BEFORE
5807
AFTER
5924

removed /files/commands~1bootstrap.md.tmpl

BEFORE
{
  "sha256": "1e085e763487c26f55dae65c5b5bf542dd8f7930de64d1377b703b50d3c401f1",
  "size": 2331
}
AFTER
Field is absent

changed /files/commands~1deploy.md/sha256

BEFORE
"b45ce44b2db2025d425b4d3582a7eb9e11a05a87f9b5c27591ba8d60cbd2e696"
AFTER
"130302d1c3a501f42e539668f9ea013840da3c0963b59f4069423e47f5290a45"

changed /files/commands~1deploy.md/size

BEFORE
7981
AFTER
8080

removed /files/commands~1deploy.md.tmpl

BEFORE
{
  "sha256": "d7b915b1ba283b01659873c8bee05a1c585abcb4af83948ee451251a655c7f7d",
  "size": 3977
}
AFTER
Field is absent

changed /files/commands~1env.md/sha256

BEFORE
"cb1a0174593e1e1531974a19a352a3817fe673c524ee8a1871ed2feeb310b9ef"
AFTER
"066a9db49480aa0818fead624fb5ef2707c5f6dd4bf38828814c31472082515e"

changed /files/commands~1env.md/size

BEFORE
8975
AFTER
11149

removed /files/commands~1env.md.tmpl

BEFORE
{
  "sha256": "47d5c29121b5e03677404569a15bb4ca8e9e97e6ef3dfa7f03a41f4a5c46a953",
  "size": 6145
}
AFTER
Field is absent

removed /files/commands~1marketplace.md

BEFORE
{
  "sha256": "e4d702ff3e161e6520b618aadf9396a71a88233e13eb45ac15b944240a4748ab",
  "size": 13110
}
AFTER
Field is absent

removed /files/commands~1marketplace.md.tmpl

BEFORE
{
  "sha256": "3d7d91391531b25c8c849085135fee852a0aa80b32b97468f55a7af19eb9cd93",
  "size": 9068
}
AFTER
Field is absent

changed /files/commands~1status.md/sha256

BEFORE
"ec6e7fc6e5c09fc120e0a98351e3261c4c12aff722f141681401b26ee9ba1d91"
AFTER
"805ab52452e789c96bbc9084fbd2f97dff82ff12bd63c189c150e0b96767eba9"

changed /files/commands~1status.md/size

BEFORE
10823
AFTER
11438

removed /files/commands~1status.md.tmpl

BEFORE
{
  "sha256": "2261c7914b47d6e1ef180291fcdcbfac64e9a1671a2d5a262fc6fa26e7ebe4db",
  "size": 7449
}
AFTER
Field is absent

removed /files/skills~1_chain-audit.md

BEFORE
{
  "sha256": "e645081528807ec3c50454b7367bd91278b9784a82f433e0a1803aba156f64ea",
  "size": 13075
}
AFTER
Field is absent

added /files/skills~1access-protected-vercel-deployment~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "24d295fa893a22b318f19d87fc52865fc0e26fe43abea62ce787769d00a79fc6",
  "size": 7637
}

added /files/skills~1access-protected-vercel-deployment~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "04cab33f1dd8f1fd3c8b62f961ac45cad344220d0befc9eeda9d861a30c7e3fa",
  "size": 110
}

removed /files/skills~1agent-browser-verify~1SKILL.md

BEFORE
{
  "sha256": "ddba077d6c07d6b5cce7aa8fb8b2c56e043cd561d70f20f096b7422dd44a1ee6",
  "size": 6563
}
AFTER
Field is absent

removed /files/skills~1agent-browser-verify~1agents~1openai.yaml

BEFORE
{
  "sha256": "206437b938766d00eaab3b7abfbf6373d923e478707e6d790fd752ce2cf86964",
  "size": 120
}
AFTER
Field is absent

removed /files/skills~1agent-browser~1SKILL.md

BEFORE
{
  "sha256": "268feb796ace9927d54310ffda8f72bac63cd1c0d88a0506294beab6472a611b",
  "size": 6616
}
AFTER
Field is absent

removed /files/skills~1agent-browser~1agents~1openai.yaml

BEFORE
{
  "sha256": "af04c1bbddc77978a371af47afdb87fe331bc08004620a5b6f15e4e19d02d483",
  "size": 103
}
AFTER
Field is absent

removed /files/skills~1ai-elements~1SKILL.md

BEFORE
{
  "sha256": "47ae062a3ca7dc004f667591b39998d650a0cd0d909fe3a06ca6bb9a9f685567",
  "size": 21514
}
AFTER
Field is absent

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

BEFORE
{
  "sha256": "d0cc9adb39365dcf46bd490129558c8f8590fc1df9c0e11c329e2b3a620320da",
  "size": 171
}
AFTER
Field is absent

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

BEFORE
"cdfc9062b39056d43b406a93ba081d38383473a62d5391b8c9561b89079c6647"
AFTER
"f3e5ad702d8eaafb07fb02db81b24d75added47dad1321c90b0f4996cccb41b6"

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

BEFORE
19134
AFTER
17392

added /files/skills~1ai-gateway~1references~1coding-agents.md

BEFORE
Field was absent
AFTER
{
  "sha256": "14f1d65e71606a3ce7de9443a8c08bf307f84e8373faede375177fcdba592420",
  "size": 5817
}

added /files/skills~1ai-gateway~1references~1evaluation.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1d6997e8cab5e8ea19554efdce563ebf95d7aa9ddc5a5ed6c070b593ea22db26",
  "size": 5442
}

added /files/skills~1ai-gateway~1references~1routing.md

BEFORE
Field was absent
AFTER
{
  "sha256": "853ea5f940918a99108ea5b1f254de8f3716aba7016529a50b6d8c9d29557f7e",
  "size": 14459
}

added /files/skills~1ai-gateway~1references~1setup.md

BEFORE
Field was absent
AFTER
{
  "sha256": "c9df597cc14cd473f5b85f1c9a83b793da2a7d58da33ce675ba2e05a3b09389e",
  "size": 7651
}

added /files/skills~1ai-gateway~1references~1spend-observability.md

BEFORE
Field was absent
AFTER
{
  "sha256": "0d8731aebb77983cc6e328060e2abb8fbcbe2bf66c53ce62db58fd55a0299a02",
  "size": 8914
}

added /files/skills~1ai-gateway~1references~1virtual-models.md

BEFORE
Field was absent
AFTER
{
  "sha256": "4d478e51f39ed701d4543c0ae805cdc22d308690e543c94ef1aaf8ed7e48c2e0",
  "size": 4513
}

removed /files/skills~1ai-generation-persistence~1SKILL.md

BEFORE
{
  "sha256": "275935c3e309762399764595e6bfa0f9408132f197e170bbe377a7194f4327ba",
  "size": 7749
}
AFTER
Field is absent

removed /files/skills~1ai-generation-persistence~1agents~1openai.yaml

BEFORE
{
  "sha256": "c917e04777050941f07548325cc1fa2732a7c46512bc144388cb8b43ea5800b6",
  "size": 190
}
AFTER
Field is absent

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

BEFORE
"787895e07e49c8686ad12b5017bc7f5160fa88863c2739a98976b540f709e2b5"
AFTER
"9d6dd182e5e61afc94f7d3867012cfdc19ebbb634e4370e4ed7782919fc1038a"

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

BEFORE
6366
AFTER
21018

removed /files/skills~1ai-sdk~1references~1ai-gateway.md

BEFORE
{
  "sha256": "f3c716c7f9ddad655044f19823ce5c2792985fba5589a0e99e8e3b1139fec90c",
  "size": 2191
}
AFTER
Field is absent

removed /files/skills~1ai-sdk~1references~1common-errors.md

BEFORE
{
  "sha256": "64949f0614a629733d1c47d6e5d5b953d90a696e71922695f69248a21290dcad",
  "size": 11034
}
AFTER
Field is absent

removed /files/skills~1ai-sdk~1references~1devtools.md

BEFORE
{
  "sha256": "a07e778b4ce4279cb3a70321a6e5a6021614ed6188d29a5d59ea21e3e53e8d3d",
  "size": 1199
}
AFTER
Field is absent

removed /files/skills~1ai-sdk~1references~1providers.md

BEFORE
{
  "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "size": 0
}
AFTER
Field is absent

removed /files/skills~1ai-sdk~1references~1type-safe-agents.md

BEFORE
{
  "sha256": "7501751dd0d505e9ee3c9fbf8298d758e8bdae0395554d8f5333e4e017202ae8",
  "size": 5323
}
AFTER
Field is absent

changed /files/skills~1auth~1SKILL.md/sha256

BEFORE
"22f46358aeb87caddde759176073aea63dab402930ada7250741068a67318e3f"
AFTER
"7a1ccb7beecef0959e224fef7de2bcf460e6f58c6685bd3359ec0e6103e063d4"

changed /files/skills~1auth~1SKILL.md/size

BEFORE
9387
AFTER
25571

changed /files/skills~1bootstrap~1SKILL.md/sha256

BEFORE
"509de0d4efe0611ef39bdbeb3514daaf42794898fc36c67466370d2b1cbd914c"
AFTER
"2306dbb1343c5acfdf7aedcc5f27751bd73570e2a615e71c873f15f339616d6b"

changed /files/skills~1bootstrap~1SKILL.md/size

BEFORE
6987
AFTER
8276

added /files/skills~1build-agents~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "334a5f42b57d7536fae1971191dce34ad47487a17f21cab1cc6709d4119203fb",
  "size": 5754
}

added /files/skills~1build-agents~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "4a7a3f3e8b865932300be2ab47fb2de519768f3d88d7f3d33938218649a2d49d",
  "size": 104
}

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

BEFORE
"b4024155cacc4d2d385ee0ee7ad1b5e6c1079e1b2599885fc2b3d197ea433f64"
AFTER
"10f91d3abe3378046cffeb214871a9bceab3c3a1128015244f99e76fae283a3e"

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

BEFORE
18904
AFTER
21129

changed /files/skills~1chat-sdk~1SKILL.md/sha256

BEFORE
"4b57ca391f11d05ce5f9b43bd2d316ca1099947542a105162818122ba05fc5f7"
AFTER
"65b932858227ff89784636bbdf42e3573397175405397644c37310700ee169b1"

changed /files/skills~1chat-sdk~1SKILL.md/size

BEFORE
11071
AFTER
11613

removed /files/skills~1cms~1SKILL.md

BEFORE
{
  "sha256": "d5f22976cb562714110ecd2e358b5123cd12baaffec6d7dc6af086e272b93ff5",
  "size": 10530
}
AFTER
Field is absent

removed /files/skills~1cms~1agents~1openai.yaml

BEFORE
{
  "sha256": "efd0ad497b38c1190a0ea2b0895d2d9d31971f729136ea713c3c176cbe4dd528",
  "size": 169
}
AFTER
Field is absent

added /files/skills~1create-a-backend~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "0ac49fd640ce4928588b1f9be65c17540dcec0b51f3a6d5b5fad3e6e1074ba86",
  "size": 5853
}

added /files/skills~1create-a-backend~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "f5bd71e15004e4a8ef9b8baca09200876f12b7a1158efef4e401f3e728fd04a7",
  "size": 190
}

removed /files/skills~1cron-jobs~1SKILL.md

BEFORE
{
  "sha256": "16b197f8fc40559cc16c4aa1d535466d3f595ac2aec0b297203f1db23d98f873",
  "size": 2093
}
AFTER
Field is absent

removed /files/skills~1cron-jobs~1agents~1openai.yaml

BEFORE
{
  "sha256": "eaa6e7a73a48b2d683e180adea3835ec281d0d6195d2d69e05eb7be555abf46f",
  "size": 112
}
AFTER
Field is absent

added /files/skills~1custom-metrics~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "dda9871df28f58001367e6ee923912c3b41d3ed77a4ef665ce0552227760d4f1",
  "size": 6528
}

added /files/skills~1custom-metrics~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "da0f2f115f01c5efac4b988ad9c15dd4bf90917aa8a7d308f21f9231ccec8dfd",
  "size": 106
}

changed /files/skills~1deployments-cicd~1SKILL.md/sha256

BEFORE
"0eb60b7627053f47eebe13685fb06c2ecee1cc3ada6fee283b3775a2a3ae4e64"
AFTER
"61c628114c8703a9dc753ca94ee63f5b3d5cbd70fc5caa2b02d9dfd92ea5fa76"

changed /files/skills~1deployments-cicd~1SKILL.md/size

BEFORE
11164
AFTER
14792

added /files/skills~1deployments-cicd~1references~1cli-pipelines.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6f26100d7ed246ee624c1b6a2fa919d2fd0896ecf81b9c7cdf9d9996e24e6260",
  "size": 3590
}

added /files/skills~1deployments-cicd~1references~1deployment-checks.md

BEFORE
Field was absent
AFTER
{
  "sha256": "28f699b808a8694d13f90951ff36e18b23fe80684e8f3877040825f22a751076",
  "size": 6528
}

added /files/skills~1deployments-cicd~1references~1live-status.md

BEFORE
Field was absent
AFTER
{
  "sha256": "d747c533fce2dbd9d31b91d70c4b2b5954d5d5b02b9f8a8be3a4f9423d3df33e",
  "size": 1286
}

added /files/skills~1deployments-cicd~1references~1oidc-federation.md

BEFORE
Field was absent
AFTER
{
  "sha256": "8be13e948df3af0e2e53c31a39924affe52e3e7765dba18d48c4b9fc6bb87e18",
  "size": 938
}

added /files/skills~1domains~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "48d2b24366dae02b0e8bfe989b30127263f99105308687ab541518e96b613e49",
  "size": 8921
}

added /files/skills~1domains~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "98c661da8e8c16429d24bce0d36dd0498d9ab8e26998cf565932953f36cf25e5",
  "size": 100
}

removed /files/skills~1email~1SKILL.md

BEFORE
{
  "sha256": "bd601c2f88f5879ce01fc235efb902a8f50575eb0b24f445fe827ae0b909248c",
  "size": 10376
}
AFTER
Field is absent

removed /files/skills~1email~1agents~1openai.yaml

BEFORE
{
  "sha256": "56715b13117eed0a385c2a60d3daf8a0a9a1a2dce54e6726c4fbe165579cbe36",
  "size": 159
}
AFTER
Field is absent

changed /files/skills~1env-vars~1SKILL.md/sha256

BEFORE
"6390db2eaa8fece483672975cc23f308fe10286c08126b7db6566dda64ba31c4"
AFTER
"081d79b5b046276631c10b3db6ff07dbff4a59c057fc9bbc64aa364f82bb3045"

changed /files/skills~1env-vars~1SKILL.md/size

BEFORE
9161
AFTER
12153

changed /files/skills~1eve~1SKILL.md/sha256

BEFORE
"33139452b6dfec01a35b5f1d4089f7fa95075edfa593522855950c35e4bb492e"
AFTER
"5e8f3f3d79569288918a31381301e55a9a686dc92ec053f10eb5eda93d58d037"

changed /files/skills~1eve~1SKILL.md/size

BEFORE
4654
AFTER
4991

added /files/skills~1flags-sdk~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "2149f8b2ff5ac44022103cd3f36895504bfc436698bd90fa7fe1bcd9b4e99cb4",
  "size": 27496
}

added /files/skills~1flags-sdk~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "9e109fa2e2d0c0587e668cbbddc325a9e75739ae30fb66446a57270fd8d88d0c",
  "size": 99
}

added /files/skills~1flags-sdk~1references~1api.md

BEFORE
Field was absent
AFTER
{
  "sha256": "94d6517b9d4d34be91dc33145f071a240e53d64e22d8e807995f549221376771",
  "size": 10212
}

added /files/skills~1flags-sdk~1references~1nextjs.md

BEFORE
Field was absent
AFTER
{
  "sha256": "b36ee0cbf78de2c4f10deb3112564db90439e52a62dc21fa7f6593a2aaae83ba",
  "size": 12471
}

added /files/skills~1flags-sdk~1references~1providers.md

BEFORE
Field was absent
AFTER
{
  "sha256": "53a2d3fe8a9d8e1fc35f96af78d521b069967893f7c8e63d643136aeca9bfafb",
  "size": 26233
}

added /files/skills~1flags-sdk~1references~1sveltekit.md

BEFORE
Field was absent
AFTER
{
  "sha256": "2b52b5599e5b56ac0e58dec09232a08cae3d457533b69dd3b398b12b7aff6c1f",
  "size": 9396
}

removed /files/skills~1geist~1SKILL.md

BEFORE
{
  "sha256": "000d1515d168deabce0097b86ceaf7b5cc6c891e505e6a80c40b65b46b47b77e",
  "size": 6896
}
AFTER
Field is absent

removed /files/skills~1geist~1agents~1openai.yaml

BEFORE
{
  "sha256": "01e309b9b8019fdd8115dfbd80ab91b4204ba7c13e51d5f5f9f9bb22defa6305",
  "size": 167
}
AFTER
Field is absent

removed /files/skills~1geistdocs~1SKILL.md

BEFORE
{
  "sha256": "ebd9221a886c61a53e999382ca2bbcbd01e5100e7fe11a554da9bff1a4462284",
  "size": 8264
}
AFTER
Field is absent

removed /files/skills~1geistdocs~1agents~1openai.yaml

BEFORE
{
  "sha256": "f8907a562bdad6992cec61a87eb589a1ace0a58fe9c275483f4c051e61a87adc",
  "size": 176
}
AFTER
Field is absent

removed /files/skills~1investigation-mode~1SKILL.md

BEFORE
{
  "sha256": "7fb010f9716e7c8f814976263a6ac5b64f1e266a9b3d71b0559fce015d93a86a",
  "size": 9306
}
AFTER
Field is absent

removed /files/skills~1investigation-mode~1agents~1openai.yaml

BEFORE
{
  "sha256": "c289daea569dc657edf38c9d836b7079356e9117692182411f07a3e357c748bb",
  "size": 106
}
AFTER
Field is absent

added /files/skills~1is-agentic~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "de940bb2d220866c0172f133bb58ed1c0687a858a5d024ef219781a6653b4ee4",
  "size": 4127
}

added /files/skills~1is-agentic~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "c863462b943431451a3ffa54f6e1826be055918fa82d8f4a1c5c8b5278809ad8",
  "size": 107
}

removed /files/skills~1json-render~1SKILL.md

BEFORE
{
  "sha256": "89f5c6e94dcc53310c569f9dadede009be51bddec04af50efa3b6a2181b05a24",
  "size": 10376
}
AFTER
Field is absent

removed /files/skills~1json-render~1agents~1openai.yaml

BEFORE
{
  "sha256": "8952fa2c1ce15afe4577c852343c497726dbfce33e598822081a717470c50bb2",
  "size": 177
}
AFTER
Field is absent

changed /files/skills~1knowledge-update~1SKILL.md/sha256

BEFORE
"88e7a902e08fb6140cc637bd76e0836a67cf489054e9b3377f1972a37fc21da6"
AFTER
"9849b61e6bf847d9dc1f263ea6c7777f4c248ec53c93af43225e15c03f818aad"

changed /files/skills~1knowledge-update~1SKILL.md/size

BEFORE
7126
AFTER
10376

changed /files/skills~1marketplace~1SKILL.md/sha256

BEFORE
"57df1817f77785369753a2f8fbbfb21ed3859f7393a5d5e23376cd6ed47cf052"
AFTER
"580f3cd836488f0c09ff092c498cbdfa04cd15f8404e465ae48845b53294300c"

changed /files/skills~1marketplace~1SKILL.md/size

BEFORE
6614
AFTER
9273

removed /files/skills~1micro~1SKILL.md

BEFORE
{
  "sha256": "8d694a0b60a57bf3ab7e61bdf555545a2c941acb1a8d2938bf94a0d7cd624fe4",
  "size": 4001
}
AFTER
Field is absent

removed /files/skills~1micro~1agents~1openai.yaml

BEFORE
{
  "sha256": "d18da37e0c0755891f76da8e06686d6dd74379bb1f2e472fbc22b88c33174aa7",
  "size": 140
}
AFTER
Field is absent

changed /files/skills~1microfrontends~1SKILL.md/sha256

BEFORE
"aea264a84984cb809c1d8cc9bc9bde2cee8ec92d1101242d89ce743ac484807e"
AFTER
"9dbe1a3db8bfa3441b1412b019f518e3b6af341564a3e84a7b1d0073af8eba05"

changed /files/skills~1microfrontends~1SKILL.md/size

BEFORE
4305
AFTER
5236

changed /files/skills~1microfrontends~1references~1managing-microfrontends.md/sha256

BEFORE
"0523de85aa1765ce22dc344074fe3be50b75377a5d802704d3ac391da9016fc3"
AFTER
"80b4ab860a63d5e6769fb8c36617bc55b0111ff19ae2ea66898d9f9d69b91118"

changed /files/skills~1microfrontends~1references~1managing-microfrontends.md/size

BEFORE
7608
AFTER
8007

changed /files/skills~1microfrontends~1references~1security.md/sha256

BEFORE
"14947f8ba4487fd0478e7c0ad6802c060ffdc21171981d3e33d0b6e02c45986c"
AFTER
"3015864dfc565acbbe14867e0b8ec4dd90ba1296ba38b9ddb108000589702f63"

changed /files/skills~1microfrontends~1references~1security.md/size

BEFORE
4189
AFTER
4719

removed /files/skills~1ncc~1SKILL.md

BEFORE
{
  "sha256": "e37c814ba40e85f0e280a50c78b266a5b4b808f69cfe6231a46d306446cf0dc2",
  "size": 4513
}
AFTER
Field is absent

removed /files/skills~1ncc~1agents~1openai.yaml

BEFORE
{
  "sha256": "228aaadeb133dca59233ad83cb3b24b42f9e4f43b65baae2325658a133cb6825",
  "size": 169
}
AFTER
Field is absent

removed /files/skills~1next-cache-components~1SKILL.md

BEFORE
{
  "sha256": "337a928c251c4500b9107152c2560a5b506707a22f763dd94902b8fc5b3b44bd",
  "size": 10324
}
AFTER
Field is absent

removed /files/skills~1next-cache-components~1agents~1openai.yaml

BEFORE
{
  "sha256": "623459b7a70c8d997bd7f140007635c72c1dcb921b8559cfd89e1ba3b5bedda7",
  "size": 129
}
AFTER
Field is absent

removed /files/skills~1next-forge~1SKILL.md

BEFORE
{
  "sha256": "1427a3c22669d365b26daf1dfa1d67e599155679a4b8fc13651017ab761288e0",
  "size": 7514
}
AFTER
Field is absent

removed /files/skills~1next-forge~1agents~1openai.yaml

BEFORE
{
  "sha256": "3616db166468651589a8ac99bbc7341231a49449534258063d3c3aaa43df3379",
  "size": 154
}
AFTER
Field is absent

removed /files/skills~1next-forge~1references~1architecture.md

BEFORE
{
  "sha256": "b9ea72e475e747797dda1413e89843e218e850f43d9e0c597712cd53cfe7aa05",
  "size": 5361
}
AFTER
Field is absent

removed /files/skills~1next-forge~1references~1customization.md

BEFORE
{
  "sha256": "cf45ac1c0f4fe30b37ededb4bab2f915851fe6d96c4dddd618619d64ad765844",
  "size": 6986
}
AFTER
Field is absent

removed /files/skills~1next-forge~1references~1packages.md

BEFORE
{
  "sha256": "fce84c439bf91b73f487887c5d36d4f1980109aac8ce1e3b585c79b4fd2cfe31",
  "size": 8556
}
AFTER
Field is absent

removed /files/skills~1next-forge~1references~1setup.md

BEFORE
{
  "sha256": "2625bc7da628a8a27c32b88863d1d0c20be3963bb7920c330cddaa7d5f000556",
  "size": 4317
}
AFTER
Field is absent

removed /files/skills~1next-upgrade~1SKILL.md

BEFORE
{
  "sha256": "3ed69b824fb67fd116886ce0d7c06104f7ab35f156f4cd9bba448952a3274ad0",
  "size": 2929
}
AFTER
Field is absent

removed /files/skills~1next-upgrade~1agents~1openai.yaml

BEFORE
{
  "sha256": "93ae1649bc921e159ad306316c01a08d15491a8d75cdfc619da331dbb3fe98f3",
  "size": 120
}
AFTER
Field is absent

removed /files/skills~1nextjs~1SKILL.md

BEFORE
{
  "sha256": "cdd014ce090e4a137abd81682238d994a41fcd73a626cd70a2af47e2451bbb0c",
  "size": 5328
}
AFTER
Field is absent

removed /files/skills~1nextjs~1agents~1openai.yaml

BEFORE
{
  "sha256": "f3b76bb6fce9d078fb213868ea7d24ef253ba03655186b00f03ee512fc809015",
  "size": 95
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1app-router-files.md

BEFORE
{
  "sha256": "d11b45d535b41d047fbe22e062de5c72716d64b39b85e9c259cc8e1f5362a567",
  "size": 2610
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1async-patterns.md

BEFORE
{
  "sha256": "3a5e4a91d8399f0922c4a3b15b3490fbeb7396f976139a92311ea34cfa300584",
  "size": 1664
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1bundling.md

BEFORE
{
  "sha256": "5496b337073985068c61527e0a89fbf7088faa47b9f92d2dd09a7d070cb48a7c",
  "size": 4456
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1data-patterns.md

BEFORE
{
  "sha256": "538c8e24cd60eded9825a9461f2c644f5e6e5203d95aa4bf7c9486412bcc7aa1",
  "size": 6687
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1debug-tricks.md

BEFORE
{
  "sha256": "62617a7cb131a2111f9f033617404fadb3458d56aeb0643f75aa5b2e43abf192",
  "size": 2953
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1directives.md

BEFORE
{
  "sha256": "60b82ee24a8d43631da59beeec11f46ab25ce83c8000578f2222ecb6b6cadf4d",
  "size": 1476
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1error-handling.md

BEFORE
{
  "sha256": "30b4e825b625df01d4a7c441591ac46782aab4f913432e96f408153d5fa62098",
  "size": 4736
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1file-conventions.md

BEFORE
{
  "sha256": "95eeb1c6e1c98571192662c8ba3cbf6a034f754596aba54a35077a50a5266de3",
  "size": 3464
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1font.md

BEFORE
{
  "sha256": "cb1f8d43e8fbca39839056b4621724837858bdace13e73bf3faf69abca318a21",
  "size": 5196
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1functions.md

BEFORE
{
  "sha256": "39a8a418af501d7132d289f4b5dd6cae59d1bfa6fda941d502fc29bb0204e079",
  "size": 4388
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1hydration-error.md

BEFORE
{
  "sha256": "d4baec07ab818045e284c45dd24422685ac934a38ea325139651f664a94eff57",
  "size": 1801
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1image.md

BEFORE
{
  "sha256": "231a15ddea67fe0b965762cc89993ca5aaeb0c35c0e67767bd53ca138ec04c05",
  "size": 3882
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1metadata.md

BEFORE
{
  "sha256": "19b00274877056f222f2284be5ade2479690e79e86af9a0466bc9d209506a95d",
  "size": 7140
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1parallel-routes.md

BEFORE
{
  "sha256": "d8a1c2546d90af2b37e22a4a56a1978555af0d62a7683e349ce3e3287ab8a4af",
  "size": 7171
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1route-handlers.md

BEFORE
{
  "sha256": "976a17de8024b3a65063350ae0fb6b9b617293f06358305800c858f58b015680",
  "size": 3244
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1rsc-boundaries.md

BEFORE
{
  "sha256": "2b50b0310884609efc9f2620fbb81ef83a30a810544e449ff669c55935d5b920",
  "size": 4309
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1runtime-selection.md

BEFORE
{
  "sha256": "7abb95f9af0f4769e7e9e91aba94a5787ed16e2c4009a140c8577a3a49828060",
  "size": 985
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1scripts.md

BEFORE
{
  "sha256": "fff3bc7530d5af472e2825fde69a26218c9e58acba74d60913f403baab4628a3",
  "size": 3326
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1self-hosting.md

BEFORE
{
  "sha256": "f59e9afa0ff4dcbe20374dff13517ccec3ac6a239ef6d02e0ee8863cf9fc7082",
  "size": 8334
}
AFTER
Field is absent

removed /files/skills~1nextjs~1references~1suspense-boundaries.md

BEFORE
{
  "sha256": "63e2e7125b1a1a9d652dd301814ad7140f8ab3ad6726b2b53df76a89d9bc262a",
  "size": 1366
}
AFTER
Field is absent

removed /files/skills~1observability~1SKILL.md

BEFORE
{
  "sha256": "ec9869baf54d7aaa65e34685deab4c855c23b2e65a9ed987ba2e9ce2ee0d4c48",
  "size": 26510
}
AFTER
Field is absent

removed /files/skills~1observability~1agents~1openai.yaml

BEFORE
{
  "sha256": "e31199b517bcec980195266d77ec6f3620bf932c7b6fd9aeaa3bf5f5e137bad7",
  "size": 179
}
AFTER
Field is absent

removed /files/skills~1payments~1SKILL.md

BEFORE
{
  "sha256": "102127fccfef4a019e3944fd719f75dce1ad60237d0996ea0aa216636981cce4",
  "size": 10589
}
AFTER
Field is absent

removed /files/skills~1payments~1agents~1openai.yaml

BEFORE
{
  "sha256": "347a65e498ecb19f14be76fd1d6129a4796c5fa5c4bbd7d1b5ddfe1f4c032831",
  "size": 174
}
AFTER
Field is absent

added /files/skills~1queues~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "38ad06c8c9785b944ce887a94bdb60511f4f6e8eda3b2fef01cadd5a1b16342b",
  "size": 9651
}

added /files/skills~1queues~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "76129b1640982b313528ab2d5ee26763e5e3dee2c48e433e5573656c457f3948",
  "size": 97
}

changed /files/skills~1react-best-practices~1AGENTS.md/sha256

BEFORE
"6327efcce0c631580cee5bf2dcac8f884a81172a0261fa3c8ca458a72f603165"
AFTER
"ce68d80fe31809dcca2a3ce4bb0c8fea9cd391a2af5789d06878509629d62938"

changed /files/skills~1react-best-practices~1AGENTS.md/size

BEFORE
94496
AFTER
108273

changed /files/skills~1react-best-practices~1SKILL.md/sha256

BEFORE
"64cbd5962d4a6005e55503138c29930053d55dacc6290e60bad22ebeebca5fca"
AFTER
"5c1b1512e76413a9706309569c4c88827ed86b00dff9338849bf64caae7d3921"

changed /files/skills~1react-best-practices~1SKILL.md/size

BEFORE
6951
AFTER
8149

added /files/skills~1react-best-practices~1rules~1advanced-effect-event-deps.md

BEFORE
Field was absent
AFTER
{
  "sha256": "55ed8f9f27a1bff803d6fa55828176207714b02123cbb97ddb8a90d88024a723",
  "size": 1802
}

added /files/skills~1react-best-practices~1rules~1async-cheap-condition-before-await.md

BEFORE
Field was absent
AFTER
{
  "sha256": "03107c1f70a293cd58a8abc5474c5548e20ea4efdf01b6d45aae7ad0ac1cb32c",
  "size": 1220
}

changed /files/skills~1react-best-practices~1rules~1async-defer-await.md/sha256

BEFORE
"9b9166c7fc58b436cf039ac4e36dd0d3c4f762b61111f579d93cdb9f2ab2b6f9"
AFTER
"f3c142d090615abdcc99d31c123be37b31f0f1ed8d9ec9f7789a3bc6883ae0fb"

changed /files/skills~1react-best-practices~1rules~1async-defer-await.md/size

BEFORE
2028
AFTER
2208

added /files/skills~1react-best-practices~1rules~1bundle-analyzable-paths.md

BEFORE
Field was absent
AFTER
{
  "sha256": "62090b5c815fd71bf1133dce754f51abc16a9456d0ccd025fd627de27726e92a",
  "size": 2382
}

changed /files/skills~1react-best-practices~1rules~1bundle-barrel-imports.md/sha256

BEFORE
"9e61a5d579a8a7d55194c2e110414d7ee2d8da947ba187d444daa1e54d265f0f"
AFTER
"e648f6d54525f07a691357040ca5bff6ea3424788a91ff63812adb29622a671b"

changed /files/skills~1react-best-practices~1rules~1bundle-barrel-imports.md/size

BEFORE
2370
AFTER
2795

added /files/skills~1react-best-practices~1rules~1js-request-idle-callback.md

BEFORE
Field was absent
AFTER
{
  "sha256": "ee08f83905b4011abbc33d594033157d77561b5bbd9b36b04f0f409581ffec32",
  "size": 2647
}

changed /files/skills~1react-best-practices~1rules~1server-hoist-static-io.md/sha256

BEFORE
"f90610d0f0db0fa8da5cf99790ed3369544a5b9b671bc4198347c95ec3325db4"
AFTER
"5abea4dd882b13661bd5f7dfb93f9e547d5f08176c61c448ade91b210ed5d49f"

changed /files/skills~1react-best-practices~1rules~1server-hoist-static-io.md/size

BEFORE
4393
AFTER
4423

added /files/skills~1react-best-practices~1rules~1server-no-shared-module-state.md

BEFORE
Field was absent
AFTER
{
  "sha256": "4d869bf1cd2f1632e5ca4c0e64b1cf0e71c5f5a0f940bc8a22174d205e735ed7",
  "size": 1766
}

added /files/skills~1react-best-practices~1rules~1server-parallel-nested-fetching.md

BEFORE
Field was absent
AFTER
{
  "sha256": "ad5d9656984d4a959997a2367bf59cc6632297b4634a1dd13a087939d83f30b3",
  "size": 992
}

changed /files/skills~1routing-middleware~1SKILL.md/sha256

BEFORE
"0b9144b76ee253d169453505a7c9d8d42ceefe8ab835bc136b7c56402ae9877f"
AFTER
"521821d60f7af332239ffcf896151e9eb625334c14202430ff60a91af3248165"

changed /files/skills~1routing-middleware~1SKILL.md/size

BEFORE
9502
AFTER
11265

changed /files/skills~1runtime-cache~1SKILL.md/sha256

BEFORE
"d8c9263c079330012710b33de933c5568ce32a781478f0bfcb44d4187d0d846b"
AFTER
"b05ffa80629040a4a736946346befdc777bc0b67bd65838800f0656aca9fcae7"

changed /files/skills~1runtime-cache~1SKILL.md/size

BEFORE
7962
AFTER
9305

removed /files/skills~1satori~1SKILL.md

BEFORE
{
  "sha256": "e18bc83ab691fa888301a3678b7d7d888f2d8989d9ee9344ec192dec3c75fddc",
  "size": 7321
}
AFTER
Field is absent

removed /files/skills~1satori~1agents~1openai.yaml

BEFORE
{
  "sha256": "2d477e67a4e81ddf22a0d2343b7c9d0e19c3bb0fc4d4f04dedcb24e76f80fc08",
  "size": 171
}
AFTER
Field is absent

removed /files/skills~1shadcn~1SKILL.md

BEFORE
{
  "sha256": "f624e06541dcf3c3c8cb3978fe924fa2fded979048f360ae4919f27edbb67fb2",
  "size": 19533
}
AFTER
Field is absent

removed /files/skills~1shadcn~1agents~1openai.yaml

BEFORE
{
  "sha256": "43088258a439701d62146ea2527901671c3186ff299b1a59098886e0eea33527",
  "size": 171
}
AFTER
Field is absent

removed /files/skills~1sign-in-with-vercel~1SKILL.md

BEFORE
{
  "sha256": "7e2484055684e96d6c2f3b968939b32cad8e75c224189110ae09e4de7cb1fadf",
  "size": 2317
}
AFTER
Field is absent

removed /files/skills~1sign-in-with-vercel~1agents~1openai.yaml

BEFORE
{
  "sha256": "9da9b4e9ecf48d5ed455d4be7bafc0ea7d29fbdee5c0c7531816b317d00e2bbd",
  "size": 182
}
AFTER
Field is absent

removed /files/skills~1swr~1SKILL.md

BEFORE
{
  "sha256": "3c88522d609da8c8bc981225f44471d436609b5acdf854fc40e8d29aae191d50",
  "size": 5774
}
AFTER
Field is absent

removed /files/skills~1swr~1agents~1openai.yaml

BEFORE
{
  "sha256": "b3eb64d0040601f565dd5d4c2421e66c5a635e8bea1258783b19b1056ec77342",
  "size": 90
}
AFTER
Field is absent

removed /files/skills~1turbopack~1SKILL.md

BEFORE
{
  "sha256": "92b7684d1900cdbb6e23529ff77c943d744fea6ddd5ffcc45468fa79654e8d77",
  "size": 9933
}
AFTER
Field is absent

removed /files/skills~1turbopack~1agents~1openai.yaml

BEFORE
{
  "sha256": "7d1ff73a75d21c5640dc32008560762a10d36fc5e179724ad082f6d111a30fef",
  "size": 88
}
AFTER
Field is absent

removed /files/skills~1turborepo~1SKILL.md

BEFORE
{
  "sha256": "3c4b0658cedf2f342b49919d5116371a6f3c03a03759d1d6ff29a52d22059704",
  "size": 16867
}
AFTER
Field is absent

removed /files/skills~1turborepo~1agents~1openai.yaml

BEFORE
{
  "sha256": "8d303907226757445f546854953baee2db06e20250224c4c5ef7e388273406dd",
  "size": 88
}
AFTER
Field is absent

removed /files/skills~1v0-dev~1SKILL.md

BEFORE
{
  "sha256": "3fc9dc2b71b9fd27f1e95ac2df97eee81cb27550b4c6463615a4d492f4f2d22d",
  "size": 14603
}
AFTER
Field is absent

removed /files/skills~1v0-dev~1agents~1openai.yaml

BEFORE
{
  "sha256": "123346292718750a2c06b73323e99c77c46f4902e61aea52006c15d471f3f5ef",
  "size": 88
}
AFTER
Field is absent

changed /files/skills~1vercel-agent~1SKILL.md/sha256

BEFORE
"4e1d77cd9405e40222a923f8a1bce4639ee24acf555f30a37c363a63c96d990f"
AFTER
"8e21f56eff1dea900988fddbd13971d21fb61dc692b9b76a102f02297a245144"

changed /files/skills~1vercel-agent~1SKILL.md/size

BEFORE
2352
AFTER
4103

removed /files/skills~1vercel-api~1SKILL.md

BEFORE
{
  "sha256": "74bf57484948269645b28eb1b6ed2b6b6691bf02cb1bec7b9ceb3fb91d906dbf",
  "size": 9815
}
AFTER
Field is absent

removed /files/skills~1vercel-api~1agents~1openai.yaml

BEFORE
{
  "sha256": "e2f91b01056c69fbb2be1c439aa75adf9c4a361887c6e268c48095f29bc9f12e",
  "size": 103
}
AFTER
Field is absent

changed /files/skills~1vercel-cli~1SKILL.md/sha256

BEFORE
"0962de55d37c10eab8889dd8a90ca04d2747f2812102cd2f1e6aecefd7e533f7"
AFTER
"6399a7d4f2fc8b7202c46ae4a63380c32ff8a994bd952985ee3f9b0fbf25b756"

changed /files/skills~1vercel-cli~1SKILL.md/size

BEFORE
5241
AFTER
9968

added /files/skills~1vercel-cli~1command~1vercel.md

BEFORE
Field was absent
AFTER
{
  "sha256": "507c784f205f1ada9381dd08c7e9455fa7974da218a21da356ea19b28e775832",
  "size": 1934
}

changed /files/skills~1vercel-cli~1references~1advanced.md/sha256

BEFORE
"aa2ce5087d575aed94b9a36f599651f20c7eba44274027305b60929afcc7b576"
AFTER
"091f15f35732347c93a3b838cd55a9863fa5ad1755c513f407cd6a357ef8ba5d"

changed /files/skills~1vercel-cli~1references~1advanced.md/size

BEFORE
882
AFTER
2918

added /files/skills~1vercel-cli~1references~1agent-and-ai.md

BEFORE
Field was absent
AFTER
{
  "sha256": "015963f1ecd320f86cb58677bc5ed6adc6ec51295a844dca5940afdd07ccd2f3",
  "size": 1534
}

added /files/skills~1vercel-cli~1references~1comments.md

BEFORE
Field was absent
AFTER
{
  "sha256": "2bb52fa31b2598853594486b5a7f2b901171f7cc786aaf4bc7f8a96b7c612075",
  "size": 2542
}

added /files/skills~1vercel-cli~1references~1connectors.md

BEFORE
Field was absent
AFTER
{
  "sha256": "858331eaf0d5fc3ce7587e140216e96f7577fc239a1f8df6b42a2bd38945f155",
  "size": 2685
}

added /files/skills~1vercel-cli~1references~1container-registry.md

BEFORE
Field was absent
AFTER
{
  "sha256": "44dd6bcc134126dec2cd6772de09e58182290a5f7282ad6ae99b23eab5006f5a",
  "size": 4127
}

changed /files/skills~1vercel-cli~1references~1deployment.md/sha256

BEFORE
"3522d20f663fdd6bcd83c5d1039d0a12d4e0e4a9e8c504e5a1b8330d1cc1e2c8"
AFTER
"a3778131495136519290b1dea5e1d5a7f59e497910e49e0593105ad3085e636f"

changed /files/skills~1vercel-cli~1references~1deployment.md/size

BEFORE
1747
AFTER
2731

changed /files/skills~1vercel-cli~1references~1domains-and-dns.md/sha256

BEFORE
"6f49e7d71f7e0912097826fe63ecf99c483023d03a4c02847abad2bd82e43ad8"
AFTER
"120afc2b6d2ba025d5be74a89d88d8b3fc6c1736e4034eeae9d166164e482170"

changed /files/skills~1vercel-cli~1references~1domains-and-dns.md/size

BEFORE
896
AFTER
2993

changed /files/skills~1vercel-cli~1references~1environment-variables.md/sha256

BEFORE
"e8836f9a0c987daa3053c3dd9c59626f2a25957ff86a55d4c62779f05253f757"
AFTER
"56d5c915153cbc8a4ee6a44b858b03f5afd74bf3d5e3d0fc9007b20b6cd7e6f0"

changed /files/skills~1vercel-cli~1references~1environment-variables.md/size

BEFORE
1084
AFTER
2325

added /files/skills~1vercel-cli~1references~1firewall.md

BEFORE
Field was absent
AFTER
{
  "sha256": "587146cb57561a73f5bde7595aad60408171a326411704e34f9278b5a3e875e8",
  "size": 18381
}

changed /files/skills~1vercel-cli~1references~1flags.md/sha256

BEFORE
"87eecdc951f39d96b2ebbf9ecff610dc40304be75701acbfb7ef73b38645016a"
AFTER
"e7e9b695d04092e05b0aa2d6afff42ae051ec84d71f403ffa376461dcbe61c7a"

changed /files/skills~1vercel-cli~1references~1flags.md/size

BEFORE
3491
AFTER
2870

changed /files/skills~1vercel-cli~1references~1getting-started.md/sha256

BEFORE
"953104a802ad27d0be9caf1bf36d6881e98c899144702ac1fdddbba400dabd13"
AFTER
"24e464d4693e43c2e168dfec10753481a4027714507d0fe4464394aa1639ce67"

changed /files/skills~1vercel-cli~1references~1getting-started.md/size

BEFORE
1371
AFTER
2121

changed /files/skills~1vercel-cli~1references~1global-options.md/sha256

BEFORE
"5eca7f2e37de30c698ce7c3a6b91bd742bdd95cfa741050fe1057625889ced14"
AFTER
"61e986b3498d754f49aba94ac9aaf7e2fd585f03083819ad0a177e0845519b2e"

changed /files/skills~1vercel-cli~1references~1global-options.md/size

BEFORE
703
AFTER
1450

changed /files/skills~1vercel-cli~1references~1integrations.md/sha256

BEFORE
"3d30f88e4d54cf52f7f128dfe7636a038cd6980fc58418f1c40dc105e281a3c5"
AFTER
"1f429646f546ad67c9c45580e0ccd52c7045ef1a77b637e5cdc997397eb6f335"

changed /files/skills~1vercel-cli~1references~1integrations.md/size

BEFORE
7564
AFTER
10988

changed /files/skills~1vercel-cli~1references~1local-development.md/sha256

BEFORE
"1aabaa27355146ca037438b8a87183b6e751c4247976dbea6c563d5c57ccc8bf"
AFTER
"c800d24d89201a979fb2d338bcedbcd87e50a8c6724be5c51fff12e3e1a365e4"

changed /files/skills~1vercel-cli~1references~1local-development.md/size

BEFORE
913
AFTER
2114

added /files/skills~1vercel-cli~1references~1microfrontends.md

BEFORE
Field was absent
AFTER
{
  "sha256": "bd9dd101ac78035312f72bf363d181723967b00c1485b662af88090c253c33dc",
  "size": 5103
}

changed /files/skills~1vercel-cli~1references~1monitoring-and-debugging.md/sha256

BEFORE
"7a4d8ef794e54691a9e17542364fc709de9771445f5070fb6afe5928b6ebd0ad"
AFTER
"fac6445e70afcadf77ba306f388fcd9f9807563db7ee493d49ee4fb2d19a6c32"

changed /files/skills~1vercel-cli~1references~1monitoring-and-debugging.md/size

BEFORE
2360
AFTER
5469

changed /files/skills~1vercel-cli~1references~1monorepos.md/sha256

BEFORE
"6474020ff37b8fab06f9a230e5b963f91d17f406d1e95920041d53af579e03fe"
AFTER
"07dad4cbec06980fa9d097dfe7b209fb079c2b4047f935fc4b94147cb95e0eb1"

changed /files/skills~1vercel-cli~1references~1monorepos.md/size

BEFORE
2995
AFTER
3745

added /files/skills~1vercel-cli~1references~1platform-ops.md

BEFORE
Field was absent
AFTER
{
  "sha256": "403983b064474a14f81104366c0300e92bc67c7185154af60bdfc29f0fc6fb52",
  "size": 1694
}

added /files/skills~1vercel-cli~1references~1project-infra.md

BEFORE
Field was absent
AFTER
{
  "sha256": "f6c3d2ab23b13b9d5d3ccff05680b97d124971fad075b93a98ddbcf3ca895a30",
  "size": 3326
}

changed /files/skills~1vercel-cli~1references~1projects-and-teams.md/sha256

BEFORE
"f28a69e42f0a635138bffefcbbd90cc6a13ac6c9014e025bcdd4fcb5c250d4fe"
AFTER
"4be92d2cba1a30bf87e864522527aa90205e60a7b380e098fe0f063e4a0502b3"

changed /files/skills~1vercel-cli~1references~1projects-and-teams.md/size

BEFORE
1068
AFTER
2263

added /files/skills~1vercel-cli~1references~1routing.md

BEFORE
Field was absent
AFTER
{
  "sha256": "56ede41767fc9d6dbd07075d15cddbbbaac50b45825a0995ffb0e580d08997b1",
  "size": 5605
}

added /files/skills~1vercel-cli~1references~1sandbox.md

BEFORE
Field was absent
AFTER
{
  "sha256": "cfad30d79d16ab0e75fbdec15d0fdbbbe106599ee9181a6798b4d184d60b50c5",
  "size": 2504
}

changed /files/skills~1vercel-cli~1references~1storage.md/sha256

BEFORE
"e64a2f0c74968d1b8f01c23bed0254a2699e409825b0fc7947d1abe13d827bc5"
AFTER
"e39a8a91b818de4aa79661b39e1396d37aa17dd683920a40c0cbaf584cd3c1bf"

changed /files/skills~1vercel-cli~1references~1storage.md/size

BEFORE
821
AFTER
6557

changed /files/skills~1vercel-connect~1SKILL.md/sha256

BEFORE
"65438f9a3500e5fa94825a762bf271be201e5de68689f64f6fb805ce8292d152"
AFTER
"07ad7f7cfe4ebd68cebf66c120086de49900381ba0f42a3a822adb13d922c49c"

changed /files/skills~1vercel-connect~1SKILL.md/size

BEFORE
17554
AFTER
21076

changed /files/skills~1vercel-firewall~1SKILL.md/sha256

BEFORE
"ff7654dc6b4dba878e34a69951deee3ffd2e0779b88b0e29d062a960539c1991"
AFTER
"cc490dddcced6d2db0bdaa59aeebd3f38e9108b97ca8e9baae17afee685b3f7d"

changed /files/skills~1vercel-firewall~1SKILL.md/size

BEFORE
20060
AFTER
21704

removed /files/skills~1vercel-flags~1SKILL.md

BEFORE
{
  "sha256": "e668b1e4384bfbfbb0ac0df7c953183bb1a8956c5ba558d1f43836d09d9c5e46",
  "size": 10354
}
AFTER
Field is absent

removed /files/skills~1vercel-flags~1agents~1openai.yaml

BEFORE
{
  "sha256": "36e71f93e0fbf29805c76e9990b2dd2cc4f5b4aeee6633e6babbe2ffd110d9ef",
  "size": 178
}
AFTER
Field is absent

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

BEFORE
"f7a80c5159847c8c8d22e3d02c5157e10e85aeac8d501eaeda8d8c4355af95e8"
AFTER
"ac162ecba80415929a1c40f65beea13cb25f09baf3bfa87ce6d6e404962040c6"

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

BEFORE
14367
AFTER
48961

removed /files/skills~1vercel-queues~1SKILL.md

BEFORE
{
  "sha256": "8e12371a880cd754359a765a63b5d3d54243c11cc700cae6513e8cc95822f54c",
  "size": 8356
}
AFTER
Field is absent

removed /files/skills~1vercel-queues~1agents~1openai.yaml

BEFORE
{
  "sha256": "6f311ebb89fb61e72dd75e0143d34ecdb1633e50762ea58e4084755f5343710a",
  "size": 179
}
AFTER
Field is absent

changed /files/skills~1vercel-sandbox~1SKILL.md/sha256

BEFORE
"d549ffa8793afdb2e4ba60eacef1d004de1c25e938db1bdb99702d4c4ead07aa"
AFTER
"db68a13177ba78c3eeabbe61256829c9b801d4332a05c8692e0c728124041d20"

changed /files/skills~1vercel-sandbox~1SKILL.md/size

BEFORE
10918
AFTER
24923

changed /files/skills~1vercel-services~1SKILL.md/sha256

BEFORE
"1638be9f8ff41638bf4eba03d9880abd19ccc027b646ad25cddf429b61e07f45"
AFTER
"eb82b6a1aef40230c6a24ba58d7a4377e34c274aa83f910ba326992c93b7c384"

changed /files/skills~1vercel-services~1SKILL.md/size

BEFORE
7465
AFTER
11941

added /files/skills~1vercel-services~1references~1experimental-services.md

BEFORE
Field was absent
AFTER
{
  "sha256": "8155e8f6c298c6edf4c003161e4dc9ad552faf71bd071eeec1f3439b21a433c7",
  "size": 2907
}

removed /files/skills~1vercel-services~1references~1fastapi-vite~1backend~1pyproject.toml

BEFORE
{
  "sha256": "b5399daf75f1f20bf1182fb84861ca804f3c43a1a0c7d4db7c76a4d4e6d4ceeb",
  "size": 165
}
AFTER
Field is absent

removed /files/skills~1vercel-services~1references~1fastapi-vite~1frontend~1package.json

BEFORE
{
  "sha256": "2af93704192c13c84bd4a3d581417c7960f124d07ef7d223330df90ac7741c86",
  "size": 320
}
AFTER
Field is absent

removed /files/skills~1vercel-services~1references~1fastapi-vite~1frontend~1vite.config.ts

BEFORE
{
  "sha256": "6dc0ce25c4170ac9fbadb4dbd19ca5c2ceb57b9c5efc5090b82e2923f53dd679",
  "size": 133
}
AFTER
Field is absent

removed /files/skills~1vercel-services~1references~1fastapi-vite~1vercel.json

BEFORE
{
  "sha256": "ca623af3e210bf2f57eff4de7ab4eb9aad045b06d9aa67297ba844b8b67158b2",
  "size": 208
}
AFTER
Field is absent

changed /files/skills~1vercel-storage~1SKILL.md/sha256

BEFORE
"39790b7fe708b2ba845a08c7f5ee1eff6e0f2b799f09ebc898d00c0f8cd13866"
AFTER
"b294915c90706b86edfc4f1dca4c33b519ecf5eee8acdbda2d7466f1b0f35bf4"

changed /files/skills~1vercel-storage~1SKILL.md/size

BEFORE
15334
AFTER
22131

changed /files/skills~1verification~1SKILL.md/sha256

BEFORE
"8baf446b9cc0894c85d8d79484ef8c72d03e8a6cac6f6bd20f672da708c929c9"
AFTER
"1dd50aa65a4f8a287f8d8e2fbbaf4e52a3998451a9011659ab0ab38d19539932"

changed /files/skills~1verification~1SKILL.md/size

BEFORE
7516
AFTER
7922

changed /files/skills~1workflow~1SKILL.md/sha256

BEFORE
"e4f3981d54efc3de50c898eba48ba71ccf45dfd25ce8806c1e100f9826a9885b"
AFTER
"23c2875814cbe17ea2f16f0f80b082a05943f59bb09bcc3631d392f6cbe33de3"

changed /files/skills~1workflow~1SKILL.md/size

BEFORE
27524
AFTER
47109

removed /files/skills~1workflow~1references~1durable-agent-patterns.md

BEFORE
{
  "sha256": "086373231fc631f9089ab1ffc88c4f6595de3cacb2de6b7939b270cd8cadf8c8",
  "size": 2522
}
AFTER
Field is absent

changed /files/vercel.md/sha256

BEFORE
"5b8f1adeba081ac5cc0340f3c270654140664dd26bce4baedbea373f4a33f2a1"
AFTER
"74df7200099fb71c5820071ee9249546d650cda4f77be51703697bd173bac02e"

changed /files/vercel.md/size

BEFORE
54345
AFTER
59555
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "e8be9f1c0c62ace1692c2b32602d24aa81397ba9fbe150086e1db9145f76f21a",
      "size": 98
    },
    ".codex-plugin/plugin.json": {
      "sha256": "0ac5a01ed5b6f4eed0446c1b9f82c584185a8b8191b923cb7f7fc164dd443b46",
      "size": 1669
    },
    ".mcp.json": {
      "sha256": "af4528af961ca15e912b4f88643242743269706bee92c5f65f3cf428981ebe19",
      "size": 108
    },
    "README.md": {
      "sha256": "fa63a51680acd02e85254cd6fd93c5ccb330bcc88cddaee95b1f2b61c04d2307",
      "size": 3053
    },
    "agents/ai-architect.md": {
      "sha256": "d6a868d0415bfe5b73f0e71afc29712aa5b5d50f719411069b333eb460034036",
      "size": 10624
    },
    "agents/deployment-expert.md": {
      "sha256": "ebf4a27da73ad643c74473f8ec0a1a87c9c7146511df1f0dc55e4ae72b8c1a69",
      "size": 24831
    },
    "agents/performance-optimizer.md": {
      "sha256": "95cfce555a5b8dd181a3a03d5a5bc71785faefed6a5b06af5979d6f5baa0f1e2",
      "size": 8120
    },
    "assets/app-icon.png": {
      "sha256": "3bbcc360dadfbdd161591284f540b3c5d1d7d8083f2b4e6e5698be7dd4541de4",
      "size": 36958
    },
    "assets/composer-icon.png": {
      "sha256": "3e4a7d38560781583cbe7356c4e538f22fbf222fd490551cbc61c00ebdf4475c",
      "size": 2254
    },
    "assets/logo-padded.png": {
      "sha256": "3e4a7d38560781583cbe7356c4e538f22fbf222fd490551cbc61c00ebdf4475c",
      "size": 2254
    },
    "assets/logo.png": {
      "sha256": "3e4a7d38560781583cbe7356c4e538f22fbf222fd490551cbc61c00ebdf4475c",
      "size": 2254
    },
    "commands/_conventions.md": {
      "sha256": "cb10f630e3d615ef4a1c556c3b35ab4312b3c387770a988bb233335aa637908e",
      "size": 2982
    },
    "commands/bootstrap.md": {
      "sha256": "eb6b7df2bb54e723dddac037ddc10a286ec90af195480697aacd48f9e9cf5238",
      "size": 5924
    },
    "commands/deploy.md": {
      "sha256": "130302d1c3a501f42e539668f9ea013840da3c0963b59f4069423e47f5290a45",
      "size": 8080
    },
    "commands/env.md": {
      "sha256": "066a9db49480aa0818fead624fb5ef2707c5f6dd4bf38828814c31472082515e",
      "size": 11149
    },
    "commands/status.md": {
      "sha256": "805ab52452e789c96bbc9084fbd2f97dff82ff12bd63c189c150e0b96767eba9",
      "size": 11438
    },
    "skills/access-protected-vercel-deployment/SKILL.md": {
      "sha256": "24d295fa893a22b318f19d87fc52865fc0e26fe43abea62ce787769d00a79fc6",
      "size": 7637
    },
    "skills/access-protected-vercel-deployment/agents/openai.yaml": {
      "sha256": "04cab33f1dd8f1fd3c8b62f961ac45cad344220d0befc9eeda9d861a30c7e3fa",
      "size": 110
    },
    "skills/ai-gateway/SKILL.md": {
      "sha256": "f3e5ad702d8eaafb07fb02db81b24d75added47dad1321c90b0f4996cccb41b6",
      "size": 17392
    },
    "skills/ai-gateway/agents/openai.yaml": {
      "sha256": "a4d38268963f3d551df6d88296738bcade16fe7a58c94d7d422d23d36b6d6fce",
      "size": 97
    },
    "skills/ai-gateway/references/coding-agents.md": {
      "sha256": "14f1d65e71606a3ce7de9443a8c08bf307f84e8373faede375177fcdba592420",
      "size": 5817
    },
    "skills/ai-gateway/references/evaluation.md": {
      "sha256": "1d6997e8cab5e8ea19554efdce563ebf95d7aa9ddc5a5ed6c070b593ea22db26",
      "size": 5442
    },
    "skills/ai-gateway/references/routing.md": {
      "sha256": "853ea5f940918a99108ea5b1f254de8f3716aba7016529a50b6d8c9d29557f7e",
      "size": 14459
    },
    "skills/ai-gateway/references/setup.md": {
      "sha256": "c9df597cc14cd473f5b85f1c9a83b793da2a7d58da33ce675ba2e05a3b09389e",
      "size": 7651
    },
    "skills/ai-gateway/references/spend-observability.md": {
      "sha256": "0d8731aebb77983cc6e328060e2abb8fbcbe2bf66c53ce62db58fd55a0299a02",
      "size": 8914
    },
    "skills/ai-gateway/references/virtual-models.md": {
      "sha256": "4d478e51f39ed701d4543c0ae805cdc22d308690e543c94ef1aaf8ed7e48c2e0",
      "size": 4513
    },
    "skills/ai-sdk/SKILL.md": {
      "sha256": "9d6dd182e5e61afc94f7d3867012cfdc19ebbb634e4370e4ed7782919fc1038a",
      "size": 21018
    },
    "skills/ai-sdk/agents/openai.yaml": {
      "sha256": "fad9fabe45c1a4029565b188776575be0edabdfe930dc0db613fd603d64f58ce",
      "size": 89
    },
    "skills/auth/SKILL.md": {
      "sha256": "7a1ccb7beecef0959e224fef7de2bcf460e6f58c6685bd3359ec0e6103e063d4",
      "size": 25571
    },
    "skills/auth/agents/openai.yaml": {
      "sha256": "42233e069b3f53f116e4fdd16ae5cab8559b69f3242abe309ce1cb128a432a51",
      "size": 170
    },
    "skills/bootstrap/SKILL.md": {
      "sha256": "2306dbb1343c5acfdf7aedcc5f27751bd73570e2a615e71c873f15f339616d6b",
      "size": 8276
    },
    "skills/bootstrap/agents/openai.yaml": {
      "sha256": "0db4223c0b0415fda845dc20421e06483a93db81a9e12b7373f44f368cfe9a92",
      "size": 173
    },
    "skills/build-agents/SKILL.md": {
      "sha256": "334a5f42b57d7536fae1971191dce34ad47487a17f21cab1cc6709d4119203fb",
      "size": 5754
    },
    "skills/build-agents/agents/openai.yaml": {
      "sha256": "4a7a3f3e8b865932300be2ab47fb2de519768f3d88d7f3d33938218649a2d49d",
      "size": 104
    },
    "skills/cdn-caching/SKILL.md": {
      "sha256": "10f91d3abe3378046cffeb214871a9bceab3c3a1128015244f99e76fae283a3e",
      "size": 21129
    },
    "skills/cdn-caching/agents/openai.yaml": {
      "sha256": "dadb3b7be8e4126dad53db6f50b1c6afe7ec2ef16fd53bcb32a3311ecf9d5c3e",
      "size": 119
    },
    "skills/chat-sdk/SKILL.md": {
      "sha256": "65b932858227ff89784636bbdf42e3573397175405397644c37310700ee169b1",
      "size": 11613
    },
    "skills/chat-sdk/agents/openai.yaml": {
      "sha256": "92ff9733ae22f1745e25bc3d02c3797fd94457a5e1c892f8653cf1b4bee01c00",
      "size": 93
    },
    "skills/create-a-backend/SKILL.md": {
      "sha256": "0ac49fd640ce4928588b1f9be65c17540dcec0b51f3a6d5b5fad3e6e1074ba86",
      "size": 5853
    },
    "skills/create-a-backend/agents/openai.yaml": {
      "sha256": "f5bd71e15004e4a8ef9b8baca09200876f12b7a1158efef4e401f3e728fd04a7",
      "size": 190
    },
    "skills/custom-metrics/SKILL.md": {
      "sha256": "dda9871df28f58001367e6ee923912c3b41d3ed77a4ef665ce0552227760d4f1",
      "size": 6528
    },
    "skills/custom-metrics/agents/openai.yaml": {
      "sha256": "da0f2f115f01c5efac4b988ad9c15dd4bf90917aa8a7d308f21f9231ccec8dfd",
      "size": 106
    },
    "skills/deployments-cicd/SKILL.md": {
      "sha256": "61c628114c8703a9dc753ca94ee63f5b3d5cbd70fc5caa2b02d9dfd92ea5fa76",
      "size": 14792
    },
    "skills/deployments-cicd/agents/openai.yaml": {
      "sha256": "31a4370535d00bf02dc5feab3cded49bbebb403044dc1eb3ba65c65ca3789760",
      "size": 113
    },
    "skills/deployments-cicd/references/cli-pipelines.md": {
      "sha256": "6f26100d7ed246ee624c1b6a2fa919d2fd0896ecf81b9c7cdf9d9996e24e6260",
      "size": 3590
    },
    "skills/deployments-cicd/references/deployment-checks.md": {
      "sha256": "28f699b808a8694d13f90951ff36e18b23fe80684e8f3877040825f22a751076",
      "size": 6528
    },
    "skills/deployments-cicd/references/live-status.md": {
      "sha256": "d747c533fce2dbd9d31b91d70c4b2b5954d5d5b02b9f8a8be3a4f9423d3df33e",
      "size": 1286
    },
    "skills/deployments-cicd/references/oidc-federation.md": {
      "sha256": "8be13e948df3af0e2e53c31a39924affe52e3e7765dba18d48c4b9fc6bb87e18",
      "size": 938
    },
    "skills/domains/SKILL.md": {
      "sha256": "48d2b24366dae02b0e8bfe989b30127263f99105308687ab541518e96b613e49",
      "size": 8921
    },
    "skills/domains/agents/openai.yaml": {
      "sha256": "98c661da8e8c16429d24bce0d36dd0498d9ab8e26998cf565932953f36cf25e5",
      "size": 100
    },
    "skills/env-vars/SKILL.md": {
      "sha256": "081d79b5b046276631c10b3db6ff07dbff4a59c057fc9bbc64aa364f82bb3045",
      "size": 12153
    },
    "skills/env-vars/agents/openai.yaml": {
      "sha256": "90cb5070d3430ccd085402331449953241a1cd4afa73f2f74f336600d2a50370",
      "size": 105
    },
    "skills/eve/SKILL.md": {
      "sha256": "5e8f3f3d79569288918a31381301e55a9a686dc92ec053f10eb5eda93d58d037",
      "size": 4991
    },
    "skills/eve/agents/openai.yaml": {
      "sha256": "3225b236e8ec6478a4e67d9a72070e5625b2eff4e9a2f15b40491a0e4176bf74",
      "size": 97
    },
    "skills/flags-sdk/SKILL.md": {
      "sha256": "2149f8b2ff5ac44022103cd3f36895504bfc436698bd90fa7fe1bcd9b4e99cb4",
      "size": 27496
    },
    "skills/flags-sdk/agents/openai.yaml": {
      "sha256": "9e109fa2e2d0c0587e668cbbddc325a9e75739ae30fb66446a57270fd8d88d0c",
      "size": 99
    },
    "skills/flags-sdk/references/api.md": {
      "sha256": "94d6517b9d4d34be91dc33145f071a240e53d64e22d8e807995f549221376771",
      "size": 10212
    },
    "skills/flags-sdk/references/nextjs.md": {
      "sha256": "b36ee0cbf78de2c4f10deb3112564db90439e52a62dc21fa7f6593a2aaae83ba",
      "size": 12471
    },
    "skills/flags-sdk/references/providers.md": {
      "sha256": "53a2d3fe8a9d8e1fc35f96af78d521b069967893f7c8e63d643136aeca9bfafb",
      "size": 26233
    },
    "skills/flags-sdk/references/sveltekit.md": {
      "sha256": "2b52b5599e5b56ac0e58dec09232a08cae3d457533b69dd3b398b12b7aff6c1f",
      "size": 9396
    },
    "skills/is-agentic/SKILL.md": {
      "sha256": "de940bb2d220866c0172f133bb58ed1c0687a858a5d024ef219781a6653b4ee4",
      "size": 4127
    },
    "skills/is-agentic/agents/openai.yaml": {
      "sha256": "c863462b943431451a3ffa54f6e1826be055918fa82d8f4a1c5c8b5278809ad8",
      "size": 107
    },
    "skills/knowledge-update/SKILL.md": {
      "sha256": "9849b61e6bf847d9dc1f263ea6c7777f4c248ec53c93af43225e15c03f818aad",
      "size": 10376
    },
    "skills/knowledge-update/agents/openai.yaml": {
      "sha256": "1a54b47b2fec910454f4deacbe482c30c4fbe2d0f74fb6743c2085145c747802",
      "size": 127
    },
    "skills/marketplace/SKILL.md": {
      "sha256": "580f3cd836488f0c09ff092c498cbdfa04cd15f8404e465ae48845b53294300c",
      "size": 9273
    },
    "skills/marketplace/agents/openai.yaml": {
      "sha256": "7ac1e667948d7dfa74a837eba22a33b561b661c26a82c006cc7a8d7fa0844f6d",
      "size": 177
    },
    "skills/microfrontends/SKILL.md": {
      "sha256": "9dbe1a3db8bfa3441b1412b019f518e3b6af341564a3e84a7b1d0073af8eba05",
      "size": 5236
    },
    "skills/microfrontends/agents/openai.yaml": {
      "sha256": "b4f6c435216b2de4b1411f256e5c5e59845226cdf895e859a33128bfe95ac31c",
      "size": 105
    },
    "skills/microfrontends/references/configuration.md": {
      "sha256": "4cf0bed8c766825f226ae7e1189277b87fb56ba3a81dd79a1d819c7aba12ccd2",
      "size": 7270
    },
    "skills/microfrontends/references/local-development.md": {
      "sha256": "a3eedaa76060afa7c0b8d8fb4904127582631d881e3366e122ed5257316aaf3c",
      "size": 5861
    },
    "skills/microfrontends/references/managing-microfrontends.md": {
      "sha256": "80b4ab860a63d5e6769fb8c36617bc55b0111ff19ae2ea66898d9f9d69b91118",
      "size": 8007
    },
    "skills/microfrontends/references/path-routing.md": {
      "sha256": "f9b8f897e6ba0c24090012970de9aa6a638214caafddbeffc0fe91d0f27e643b",
      "size": 6140
    },
    "skills/microfrontends/references/security.md": {
      "sha256": "3015864dfc565acbbe14867e0b8ec4dd90ba1296ba38b9ddb108000589702f63",
      "size": 4719
    },
    "skills/microfrontends/references/troubleshooting.md": {
      "sha256": "88a972602f070a860e2017e067eef2220cd88cc57b14bc830bb0d18648895f17",
      "size": 8202
    },
    "skills/queues/SKILL.md": {
      "sha256": "38ad06c8c9785b944ce887a94bdb60511f4f6e8eda3b2fef01cadd5a1b16342b",
      "size": 9651
    },
    "skills/queues/agents/openai.yaml": {
      "sha256": "76129b1640982b313528ab2d5ee26763e5e3dee2c48e433e5573656c457f3948",
      "size": 97
    },
    "skills/react-best-practices/AGENTS.md": {
      "sha256": "ce68d80fe31809dcca2a3ce4bb0c8fea9cd391a2af5789d06878509629d62938",
      "size": 108273
    },
    "skills/react-best-practices/SKILL.md": {
      "sha256": "5c1b1512e76413a9706309569c4c88827ed86b00dff9338849bf64caae7d3921",
      "size": 8149
    },
    "skills/react-best-practices/agents/openai.yaml": {
      "sha256": "7ec87ac3ce75263c3bec83846f4bbe21e5838a418d843dd8abc1224f1c97b8d3",
      "size": 117
    },
    "skills/react-best-practices/rules/_sections.md": {
      "sha256": "01c59969e4e867f0708c8f8ef9c6d87fab9a07d0586244f429ff84013db8a115",
      "size": 1554
    },
    "skills/react-best-practices/rules/_template.md": {
      "sha256": "99df2a3ea088c6c22de2484ddc7e964d0e9923846f44c63380343ecc64455442",
      "size": 631
    },
    "skills/react-best-practices/rules/advanced-effect-event-deps.md": {
      "sha256": "55ed8f9f27a1bff803d6fa55828176207714b02123cbb97ddb8a90d88024a723",
      "size": 1802
    },
    "skills/react-best-practices/rules/advanced-event-handler-refs.md": {
      "sha256": "a3097edeecfb2ff6851cd66ed8cdf0617c3c88180504bee824aa6e75a215bbbc",
      "size": 1483
    },
    "skills/react-best-practices/rules/advanced-init-once.md": {
      "sha256": "3e4dc22173eb0e2b6dcf583e3babd862b8696328f8f59aee7c4d746c5bc05f6c",
      "size": 958
    },
    "skills/react-best-practices/rules/advanced-use-latest.md": {
      "sha256": "8a3f64dfe5a77d1564248faf17fe662ae75b55d497a243cb30b38eb07ccbbf9a",
      "size": 1072
    },
    "skills/react-best-practices/rules/async-api-routes.md": {
      "sha256": "523338540d73427dc14c0cbb19f2741ebccdf8b105a7b2c1b33d2905cf237a42",
      "size": 1125
    },
    "skills/react-best-practices/rules/async-cheap-condition-before-await.md": {
      "sha256": "03107c1f70a293cd58a8abc5474c5548e20ea4efdf01b6d45aae7ad0ac1cb32c",
      "size": 1220
    },
    "skills/react-best-practices/rules/async-defer-await.md": {
      "sha256": "f3c142d090615abdcc99d31c123be37b31f0f1ed8d9ec9f7789a3bc6883ae0fb",
      "size": 2208
    },
    "skills/react-best-practices/rules/async-dependencies.md": {
      "sha256": "16ef469f877e30c6b8e1e1b4bc3e527312fa3c6318cb785a4eca186ea236131a",
      "size": 1293
    },
    "skills/react-best-practices/rules/async-parallel.md": {
      "sha256": "6d2f841896279e976dfcdc1ac89e70771ac188baadfd43c096b5706cb838b961",
      "size": 654
    },
    "skills/react-best-practices/rules/async-suspense-boundaries.md": {
      "sha256": "de05fedac2eb7ae563b887b5a424464ec3dfaf84e5b7797467ebe2a796ac8afc",
      "size": 2510
    },
    "skills/react-best-practices/rules/bundle-analyzable-paths.md": {
      "sha256": "62090b5c815fd71bf1133dce754f51abc16a9456d0ccd025fd627de27726e92a",
      "size": 2382
    },
    "skills/react-best-practices/rules/bundle-barrel-imports.md": {
      "sha256": "e648f6d54525f07a691357040ca5bff6ea3424788a91ff63812adb29622a671b",
      "size": 2795
    },
    "skills/react-best-practices/rules/bundle-conditional.md": {
      "sha256": "09c8259c3efb04fc0abb8e412ccbda217c222ae8118516283e571c995fe3a7d4",
      "size": 949
    },
    "skills/react-best-practices/rules/bundle-defer-third-party.md": {
      "sha256": "3719fb47b191e8db4fe22686ec88448ad5af9e6838585425abbe103d0b642e37",
      "size": 920
    },
    "skills/react-best-practices/rules/bundle-dynamic-imports.md": {
      "sha256": "401817a7369f315fc5a68a1095742ff7d53d0461906880dc9d64a41495ee1986",
      "size": 791
    },
    "skills/react-best-practices/rules/bundle-preload.md": {
      "sha256": "d1f7cc28da7cd5ab249acd287edc5b761afcfb194e9cb62cd44c5f3543db2de2",
      "size": 1149
    },
    "skills/react-best-practices/rules/client-event-listeners.md": {
      "sha256": "242a873349febc1ce685e85617994784dbab92c2eaa68aed7fed5a83e7680e93",
      "size": 1969
    },
    "skills/react-best-practices/rules/client-localstorage-schema.md": {
      "sha256": "0fb7cdf9dc93fdf22f87e3669f953fb9d4ac9b0be42eec4a29fe9a2560610b88",
      "size": 1950
    },
    "skills/react-best-practices/rules/client-passive-event-listeners.md": {
      "sha256": "1f35016f9053de69e884ee9be00654e37979c2ca85f5e57764dc2626ff7acb4b",
      "size": 1644
    },
    "skills/react-best-practices/rules/client-swr-dedup.md": {
      "sha256": "644652c39c6cc00de8d1c77a7273612e868dc3f7edda30764164c12ec0f764a3",
      "size": 1159
    },
    "skills/react-best-practices/rules/js-batch-dom-css.md": {
      "sha256": "480b891b9eaf96e929dc1e964274a4828e3a78009b7d00ccd965a0d425215959",
      "size": 3266
    },
    "skills/react-best-practices/rules/js-cache-function-results.md": {
      "sha256": "3daaa11d24f4295cb6be8bc6f407f2ce83cc7b5bd1f0e68891ea8ab835721dc7",
      "size": 1949
    },
    "skills/react-best-practices/rules/js-cache-property-access.md": {
      "sha256": "73e47431e74878a927061bf0ddc7cd91a7556cb35d2573f3421e82300d9ae311",
      "size": 532
    },
    "skills/react-best-practices/rules/js-cache-storage.md": {
      "sha256": "11b826b0433898c1ece2d3547010d8e77db9fb240185748c45db91493de9b6cc",
      "size": 1651
    },
    "skills/react-best-practices/rules/js-combine-iterations.md": {
      "sha256": "71add08aeeb43091d4ff4c0b2842cce8b4bdef8ad3e732cc034bb5a84827e746",
      "size": 753
    },
    "skills/react-best-practices/rules/js-early-exit.md": {
      "sha256": "925ce5ce87f3347186ca62212f29cc6baa2b8c85a96d2720ad07c3d0abf781c0",
      "size": 1133
    },
    "skills/react-best-practices/rules/js-flatmap-filter.md": {
      "sha256": "9e5b166a41914d975bef7635467f8fb32cd98b5c3126c0bc6f163490812fb5f0",
      "size": 1411
    },
    "skills/react-best-practices/rules/js-hoist-regexp.md": {
      "sha256": "f9e9aef2f7c2307dd7310f283df85dcada45fc43e9bb941b0c3aa414dec21ec4",
      "size": 1028
    },
    "skills/react-best-practices/rules/js-index-maps.md": {
      "sha256": "5df1bdc2cfabb2c98abd55d26762e5c18189535c2e686184f426082e62920391",
      "size": 837
    },
    "skills/react-best-practices/rules/js-length-check-first.md": {
      "sha256": "8b54a311c826b299272f29187fc58bc55772a04c4a72eeb29456ee96dc9fc624",
      "size": 1747
    },
    "skills/react-best-practices/rules/js-min-max-loop.md": {
      "sha256": "87dfb67e2f39df6ad8bcfb5b78c5fb364d3c07554ad188a202408d99f3763421",
      "size": 2290
    },
    "skills/react-best-practices/rules/js-request-idle-callback.md": {
      "sha256": "ee08f83905b4011abbc33d594033157d77561b5bbd9b36b04f0f409581ffec32",
      "size": 2647
    },
    "skills/react-best-practices/rules/js-set-map-lookups.md": {
      "sha256": "a7fd781a6ba9ad49065961b6f9a90ef486bf6b648390e1a08704025f98e1642b",
      "size": 532
    },
    "skills/react-best-practices/rules/js-tosorted-immutable.md": {
      "sha256": "d0a5e1b0fec48a0a81397957e2f068e224329f7c42cb5feeed8aae6fa64025e8",
      "size": 1782
    },
    "skills/react-best-practices/rules/rendering-activity.md": {
      "sha256": "1e5e7eaf3555e61d6a2e900089c676527d26259501db5594f59544b6c664f85a",
      "size": 564
    },
    "skills/react-best-practices/rules/rendering-animate-svg-wrapper.md": {
      "sha256": "9c6ae0ca7a51434e803887c64cded760956579a1452ccb80a461a03f9c937c77",
      "size": 1185
    },
    "skills/react-best-practices/rules/rendering-conditional-render.md": {
      "sha256": "2ec2fa23c4148285144687050c52369adba3da2fbe3d486f8d3e0aad8f06f2bc",
      "size": 980
    },
    "skills/react-best-practices/rules/rendering-content-visibility.md": {
      "sha256": "64eee6d5b916fe74df33363994b27fc7f71bea3bcedc7ee04bda23107ca3e6e4",
      "size": 815
    },
    "skills/react-best-practices/rules/rendering-hoist-jsx.md": {
      "sha256": "93b229560fae92005ed9a2a829064607b39b2e984e92d221d05b2d41df2b7c0e",
      "size": 1039
    },
    "skills/react-best-practices/rules/rendering-hydration-no-flicker.md": {
      "sha256": "dc7ab358c67c177bca6e6f360fbc935ebe4efa928c0ba3ebd3f9f3d9e2000ca3",
      "size": 2308
    },
    "skills/react-best-practices/rules/rendering-hydration-suppress-warning.md": {
      "sha256": "915bacb934e2927d84b37a3f3d225a47b309ac8f9e494ed2bcb66ce07c5676a2",
      "size": 872
    },
    "skills/react-best-practices/rules/rendering-resource-hints.md": {
      "sha256": "351b1095d641717b930f1b2253282b7120af3023bc74e06c17675168d4286864",
      "size": 2549
    },
    "skills/react-best-practices/rules/rendering-script-defer-async.md": {
      "sha256": "4cea07b7875ba7fc2c7465ff23b63a2bb334f90aaf2d9293d38d67b05fdb32ab",
      "size": 1868
    },
    "skills/react-best-practices/rules/rendering-svg-precision.md": {
      "sha256": "ed468533f6e95f622859c884b122cf21f9f593ed6bb3d500a54de4b9f9bcb9fb",
      "size": 588
    },
    "skills/react-best-practices/rules/rendering-usetransition-loading.md": {
      "sha256": "3a1249c3f13026b6f54ab5712c388df219d6af01b12aa542749acd99a46f4bc1",
      "size": 2074
    },
    "skills/react-best-practices/rules/rerender-defer-reads.md": {
      "sha256": "234050a77faf50cb306be10a9e15bd4421134ab5907e75f13e6d78e2bd262dc9",
      "size": 973
    },
    "skills/react-best-practices/rules/rerender-dependencies.md": {
      "sha256": "17eb5830956fb56486fd3cfc7431f5849d39751730c05ad9e77dd4f0c27169c5",
      "size": 824
    },
    "skills/react-best-practices/rules/rerender-derived-state-no-effect.md": {
      "sha256": "cb11ec76f50aa7b6847269f02d79b120c889a30d9ecd2c1d578f75144419c77a",
      "size": 1201
    },
    "skills/react-best-practices/rules/rerender-derived-state.md": {
      "sha256": "1c326bb67b01fb084eb00c8911b0a7cff54681c2315b629f88e49b64eaa6481d",
      "size": 728
    },
    "skills/react-best-practices/rules/rerender-functional-setstate.md": {
      "sha256": "5e68df6b2ae8058e67f476ff1ac67bde159f5a9d18df439e46eabcdeb7b52e58",
      "size": 2968
    },
    "skills/react-best-practices/rules/rerender-lazy-state-init.md": {
      "sha256": "4ae844740f266fc8cbf050701230286624a2440ec5be67b9a63d9edc3c580573",
      "size": 2016
    },
    "skills/react-best-practices/rules/rerender-memo-with-default-value.md": {
      "sha256": "81c47476564ad8a79fc68fc442734255ca7d6829424359464503fda0a9f9a0dd",
      "size": 1173
    },
    "skills/react-best-practices/rules/rerender-memo.md": {
      "sha256": "1f258990c2f27ff6256b3cc5c43300631bb3f0d81f749aed08d07fcdcc131dd1",
      "size": 1148
    },
    "skills/react-best-practices/rules/rerender-move-effect-to-event.md": {
      "sha256": "abc2cbf167bee056743023351e96806a411d3398da8802093620aecf0721f029",
      "size": 1268
    },
    "skills/react-best-practices/rules/rerender-no-inline-components.md": {
      "sha256": "1cc32907a770272524ba682eef9e7efdd8ad4533b6f89b718a1fcd7d1d0eb6a3",
      "size": 2135
    },
    "skills/react-best-practices/rules/rerender-simple-expression-in-memo.md": {
      "sha256": "5bdcf2d1558ba5204e643c887b7b4060f89630969425651eb68e96427d97f800",
      "size": 1018
    },
    "skills/react-best-practices/rules/rerender-split-combined-hooks.md": {
      "sha256": "6f45d703343484ef9acef9388397f3642966ae6a5a258899a0cf1f9977cfbf6c",
      "size": 1844
    },
    "skills/react-best-practices/rules/rerender-transitions.md": {
      "sha256": "60f4033909a62df5e5b8c601494f9e50a562e2f8c1c2d81eac24f38142265f1c",
      "size": 1055
    },
    "skills/react-best-practices/rules/rerender-use-deferred-value.md": {
      "sha256": "8c3579576a61a949884167745dcfaf1d5426ba305cc61fd0a79602d70fda4909",
      "size": 1846
    },
    "skills/react-best-practices/rules/rerender-use-ref-transient-values.md": {
      "sha256": "f1a649af9d1d0b5c762f6c9c4c1c70c90d7df82aa10296ee87aadb78c1b76c54",
      "size": 1742
    },
    "skills/react-best-practices/rules/server-after-nonblocking.md": {
      "sha256": "d0b8d24a3db9f0f65f9e2bddbf230b0e03a5f60e1229d93a4a18f5e7a991c7c2",
      "size": 2012
    },
    "skills/react-best-practices/rules/server-auth-actions.md": {
      "sha256": "a2ca8aa102839251c7971ec784560fab943c20b36fe6f80365d4110c13260c23",
      "size": 2649
    },
    "skills/react-best-practices/rules/server-cache-lru.md": {
      "sha256": "1924b64561841923b88a657085097a0aeba3e0ba2d5470b9f5c15cc10d6ae70f",
      "size": 1353
    },
    "skills/react-best-practices/rules/server-cache-react.md": {
      "sha256": "fddeea6c870bb3da4134b61d54b7d09b83d2603f929b7547cd3dc1dc269edd5c",
      "size": 2228
    },
    "skills/react-best-practices/rules/server-dedup-props.md": {
      "sha256": "c2747424cdac46be62f835f245a0aa887b0090b416d28e2ac8676702645eeb37",
      "size": 2060
    },
    "skills/react-best-practices/rules/server-hoist-static-io.md": {
      "sha256": "5abea4dd882b13661bd5f7dfb93f9e547d5f08176c61c448ade91b210ed5d49f",
      "size": 4423
    },
    "skills/react-best-practices/rules/server-no-shared-module-state.md": {
      "sha256": "4d869bf1cd2f1632e5ca4c0e64b1cf0e71c5f5a0f940bc8a22174d205e735ed7",
      "size": 1766
    },
    "skills/react-best-practices/rules/server-parallel-fetching.md": {
      "sha256": "569a2e9fc04f9606686cd75c5894ef8781b502786a7fffe241396846c7733472",
      "size": 1554
    },
    "skills/react-best-practices/rules/server-parallel-nested-fetching.md": {
      "sha256": "ad5d9656984d4a959997a2367bf59cc6632297b4634a1dd13a087939d83f30b3",
      "size": 992
    },
    "skills/react-best-practices/rules/server-serialization.md": {
      "sha256": "f4c7d68b29c82381baad059c4a7f09e868e71ec9c3115a26ad3ae7d24c0dfe1f",
      "size": 996
    },
    "skills/routing-middleware/SKILL.md": {
      "sha256": "521821d60f7af332239ffcf896151e9eb625334c14202430ff60a91af3248165",
      "size": 11265
    },
    "skills/routing-middleware/agents/openai.yaml": {
      "sha256": "d99c2c0fc8dc6eac667f040121beab8a662e3e9dde030a74437996ff3189cbea",
      "size": 182
    },
    "skills/runtime-cache/SKILL.md": {
      "sha256": "b05ffa80629040a4a736946346befdc777bc0b67bd65838800f0656aca9fcae7",
      "size": 9305
    },
    "skills/runtime-cache/agents/openai.yaml": {
      "sha256": "4b3b77a6bf3a5d2210bb14ab2fefb0701d3f9cc5f278e7d8c91682e1ebc7e5e6",
      "size": 169
    },
    "skills/vercel-agent/SKILL.md": {
      "sha256": "8e21f56eff1dea900988fddbd13971d21fb61dc692b9b76a102f02297a245144",
      "size": 4103
    },
    "skills/vercel-agent/agents/openai.yaml": {
      "sha256": "8628040014bb44f6ac249f7a71a5c226d5f872b2e36ce7d0094caf85f4b2f75a",
      "size": 160
    },
    "skills/vercel-cli/SKILL.md": {
      "sha256": "6399a7d4f2fc8b7202c46ae4a63380c32ff8a994bd952985ee3f9b0fbf25b756",
      "size": 9968
    },
    "skills/vercel-cli/agents/openai.yaml": {
      "sha256": "a4ea7f0f14b9b611bcbb147979f9a75aeb4a2c88dd42081bdc2ce9089c072b3f",
      "size": 90
    },
    "skills/vercel-cli/command/vercel.md": {
      "sha256": "507c784f205f1ada9381dd08c7e9455fa7974da218a21da356ea19b28e775832",
      "size": 1934
    },
    "skills/vercel-cli/references/advanced.md": {
      "sha256": "091f15f35732347c93a3b838cd55a9863fa5ad1755c513f407cd6a357ef8ba5d",
      "size": 2918
    },
    "skills/vercel-cli/references/agent-and-ai.md": {
      "sha256": "015963f1ecd320f86cb58677bc5ed6adc6ec51295a844dca5940afdd07ccd2f3",
      "size": 1534
    },
    "skills/vercel-cli/references/bun.md": {
      "sha256": "ad009b1eb8da4890f32f482330832e3eb3b33aac7c30ab05c3ce5a546fb0de9f",
      "size": 1195
    },
    "skills/vercel-cli/references/ci-automation.md": {
      "sha256": "c93ac7152a0de55fc8dd000d6c655a71fc9f00c30ec31f98fbc143e1afa3973c",
      "size": 1537
    },
    "skills/vercel-cli/references/comments.md": {
      "sha256": "2bb52fa31b2598853594486b5a7f2b901171f7cc786aaf4bc7f8a96b7c612075",
      "size": 2542
    },
    "skills/vercel-cli/references/connectors.md": {
      "sha256": "858331eaf0d5fc3ce7587e140216e96f7577fc239a1f8df6b42a2bd38945f155",
      "size": 2685
    },
    "skills/vercel-cli/references/container-registry.md": {
      "sha256": "44dd6bcc134126dec2cd6772de09e58182290a5f7282ad6ae99b23eab5006f5a",
      "size": 4127
    },
    "skills/vercel-cli/references/deployment.md": {
      "sha256": "a3778131495136519290b1dea5e1d5a7f59e497910e49e0593105ad3085e636f",
      "size": 2731
    },
    "skills/vercel-cli/references/domains-and-dns.md": {
      "sha256": "120afc2b6d2ba025d5be74a89d88d8b3fc6c1736e4034eeae9d166164e482170",
      "size": 2993
    },
    "skills/vercel-cli/references/environment-variables.md": {
      "sha256": "56d5c915153cbc8a4ee6a44b858b03f5afd74bf3d5e3d0fc9007b20b6cd7e6f0",
      "size": 2325
    },
    "skills/vercel-cli/references/firewall.md": {
      "sha256": "587146cb57561a73f5bde7595aad60408171a326411704e34f9278b5a3e875e8",
      "size": 18381
    },
    "skills/vercel-cli/references/flags.md": {
      "sha256": "e7e9b695d04092e05b0aa2d6afff42ae051ec84d71f403ffa376461dcbe61c7a",
      "size": 2870
    },
    "skills/vercel-cli/references/getting-started.md": {
      "sha256": "24e464d4693e43c2e168dfec10753481a4027714507d0fe4464394aa1639ce67",
      "size": 2121
    },
    "skills/vercel-cli/references/global-options.md": {
      "sha256": "61e986b3498d754f49aba94ac9aaf7e2fd585f03083819ad0a177e0845519b2e",
      "size": 1450
    },
    "skills/vercel-cli/references/integrations.md": {
      "sha256": "1f429646f546ad67c9c45580e0ccd52c7045ef1a77b637e5cdc997397eb6f335",
      "size": 10988
    },
    "skills/vercel-cli/references/local-development.md": {
      "sha256": "c800d24d89201a979fb2d338bcedbcd87e50a8c6724be5c51fff12e3e1a365e4",
      "size": 2114
    },
    "skills/vercel-cli/references/microfrontends.md": {
      "sha256": "bd9dd101ac78035312f72bf363d181723967b00c1485b662af88090c253c33dc",
      "size": 5103
    },
    "skills/vercel-cli/references/monitoring-and-debugging.md": {
      "sha256": "fac6445e70afcadf77ba306f388fcd9f9807563db7ee493d49ee4fb2d19a6c32",
      "size": 5469
    },
    "skills/vercel-cli/references/monorepos.md": {
      "sha256": "07dad4cbec06980fa9d097dfe7b209fb079c2b4047f935fc4b94147cb95e0eb1",
      "size": 3745
    },
    "skills/vercel-cli/references/node-backends.md": {
      "sha256": "f28175cbd4ddc00473a3d1565819e5069a57fdc186ae4010f2535715c61769cb",
      "size": 2719
    },
    "skills/vercel-cli/references/platform-ops.md": {
      "sha256": "403983b064474a14f81104366c0300e92bc67c7185154af60bdfc29f0fc6fb52",
      "size": 1694
    },
    "skills/vercel-cli/references/project-infra.md": {
      "sha256": "f6c3d2ab23b13b9d5d3ccff05680b97d124971fad075b93a98ddbcf3ca895a30",
      "size": 3326
    },
    "skills/vercel-cli/references/projects-and-teams.md": {
      "sha256": "4be92d2cba1a30bf87e864522527aa90205e60a7b380e098fe0f063e4a0502b3",
      "size": 2263
    },
    "skills/vercel-cli/references/routing.md": {
      "sha256": "56ede41767fc9d6dbd07075d15cddbbbaac50b45825a0995ffb0e580d08997b1",
      "size": 5605
    },
    "skills/vercel-cli/references/sandbox.md": {
      "sha256": "cfad30d79d16ab0e75fbdec15d0fdbbbe106599ee9181a6798b4d184d60b50c5",
      "size": 2504
    },
    "skills/vercel-cli/references/storage.md": {
      "sha256": "e39a8a91b818de4aa79661b39e1396d37aa17dd683920a40c0cbaf584cd3c1bf",
      "size": 6557
    },
    "skills/vercel-connect/SKILL.md": {
      "sha256": "07ad7f7cfe4ebd68cebf66c120086de49900381ba0f42a3a822adb13d922c49c",
      "size": 21076
    },
    "skills/vercel-connect/agents/openai.yaml": {
      "sha256": "e2056e5a55ed8ead53396ff05a80d73da4636c7615ec32ac56434b2195a6158e",
      "size": 128
    },
    "skills/vercel-firewall/SKILL.md": {
      "sha256": "cc490dddcced6d2db0bdaa59aeebd3f38e9108b97ca8e9baae17afee685b3f7d",
      "size": 21704
    },
    "skills/vercel-firewall/agents/openai.yaml": {
      "sha256": "8738cd4b8c6540980b722e9351b45118d4af33379971272797314024b8ac0e5f",
      "size": 113
    },
    "skills/vercel-functions/SKILL.md": {
      "sha256": "ac162ecba80415929a1c40f65beea13cb25f09baf3bfa87ce6d6e404962040c6",
      "size": 48961
    },
    "skills/vercel-functions/agents/openai.yaml": {
      "sha256": "fcfe330fd810ba6b9f3da8dc6f32ff7748be9b3a03f4e15a57f17e578f40aebb",
      "size": 182
    },
    "skills/vercel-sandbox/SKILL.md": {
      "sha256": "db68a13177ba78c3eeabbe61256829c9b801d4332a05c8692e0c728124041d20",
      "size": 24923
    },
    "skills/vercel-sandbox/agents/openai.yaml": {
      "sha256": "55589a752f8dedc36372f89c7a93d20b14fb273e1b754f5ff7be3fef73484450",
      "size": 160
    },
    "skills/vercel-services/SKILL.md": {
      "sha256": "eb82b6a1aef40230c6a24ba58d7a4377e34c274aa83f910ba326992c93b7c384",
      "size": 11941
    },
    "skills/vercel-services/agents/openai.yaml": {
      "sha256": "998a31eaa7560fd37f768938fa4c70174cff37b4b6fde2f56fac0b1202cd59c8",
      "size": 144
    },
    "skills/vercel-services/references/experimental-services.md": {
      "sha256": "8155e8f6c298c6edf4c003161e4dc9ad552faf71bd071eeec1f3439b21a433c7",
      "size": 2907
    },
    "skills/vercel-storage/SKILL.md": {
      "sha256": "b294915c90706b86edfc4f1dca4c33b519ecf5eee8acdbda2d7466f1b0f35bf4",
      "size": 22131
    },
    "skills/vercel-storage/agents/openai.yaml": {
      "sha256": "2a100617a537e88bf0c125a6803e043a6bd09348bbba793ccdccda5e42f050b8",
      "size": 176
    },
    "skills/verification/SKILL.md": {
      "sha256": "1dd50aa65a4f8a287f8d8e2fbbaf4e52a3998451a9011659ab0ab38d19539932",
      "size": 7922
    },
    "skills/verification/agents/openai.yaml": {
      "sha256": "f4bca3cd7b039905cf72fcef8d30c452c5337b4c543d7c558657322fc1ed1454",
      "size": 178
    },
    "skills/workflow/SKILL.md": {
      "sha256": "23c2875814cbe17ea2f16f0f80b082a05943f59bb09bcc3631d392f6cbe33de3",
      "size": 47109
    },
    "skills/workflow/agents/openai.yaml": {
      "sha256": "76e1ad89caf77ffa5fb1ebe2745842cbd2676df0ce108b319b3ce320f2eaaaa4",
      "size": 106
    },
    "vercel.md": {
      "sha256": "74df7200099fb71c5820071ee9249546d650cda4f77be51703697bd173bac02e",
      "size": 59555
    },
    "website/index.html": {
      "sha256": "e2295af222629b7e7eeca9989db0c45d22276da656218f5ed5856557cbe4282f",
      "size": 3835
    }
  }
}

SHA-256 of public snapshot: 03498f22686622a27197f5876574f804a274f7a58a8d9f37cb82bda14978ff0c