← VercelCONTENT HISTORY

Update to Vercel

Snapshot Sep 30, 2026 · 23:18 UTC · version 0.21.4

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Supporting file metadata differs

Supporting file metadata differs

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

Save Vercel and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Supporting files

Before

Sep 30, 2026 · 22:43 UTC

[]

After

Sep 30, 2026 · 23:18 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":140}]

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

No SKILL.md text changes between these observations.

Full technical diff · 1 changed fields

changed /included_files

BEFORE
[]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 140
  }
]
Full snapshot data
{
  "description": "Expert guidance for micro — asynchronous HTTP microservices framework by Vercel. Use when building lightweight HTTP servers, API endpoints, or microservices using the micro library.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 140
    }
  ],
  "name": "micro",
  "skill_md_contents": "---\nname: micro\ndescription: Expert guidance for micro — asynchronous HTTP microservices framework by Vercel. Use when building lightweight HTTP servers, API endpoints, or microservices using the micro library.\nmetadata:\n  priority: 4\n  docs:\n    - \"https://github.com/vercel/micro\"\n  pathPatterns: []\n  importPatterns:\n    - 'micro'\n    - 'micro-dev'\n  bashPatterns:\n    - '\\bnpm\\s+(install|i|add)\\s+[^\\n]*\\bmicro\\b'\n    - '\\bpnpm\\s+(install|i|add)\\s+[^\\n]*\\bmicro\\b'\n    - '\\bbun\\s+(install|i|add)\\s+[^\\n]*\\bmicro\\b'\n    - '\\byarn\\s+add\\s+[^\\n]*\\bmicro\\b'\n    - '\\bnpx\\s+micro\\b'\n    - '\\bnpx\\s+micro-dev\\b'\n---\n\n# micro — Asynchronous HTTP Microservices\n\nYou are an expert in micro, Vercel's lightweight framework for building asynchronous HTTP microservices in Node.js. micro makes it easy to write single-purpose HTTP endpoints with minimal boilerplate.\n\n## Installation\n\n```bash\nnpm install micro\n```\n\n## Basic Usage\n\nCreate a module that exports a request handler:\n\n```ts\n// index.ts\nimport { serve } from 'micro'\n\nconst handler = (req: Request) => {\n  return new Response('Hello, World!')\n}\n\nserve(handler)\n```\n\nOr use the classic API:\n\n```ts\nimport { IncomingMessage, ServerResponse } from 'http'\n\nexport default (req: IncomingMessage, res: ServerResponse) => {\n  res.end('Hello, World!')\n}\n```\n\nRun with:\n\n```bash\nnpx micro\n```\n\n## Core API\n\n### `json(req)` — Parse JSON Body\n\n```ts\nimport { json } from 'micro'\n\nexport default async (req: IncomingMessage, res: ServerResponse) => {\n  const body = await json(req)\n  return { received: body }\n}\n```\n\n### `text(req)` — Parse Text Body\n\n```ts\nimport { text } from 'micro'\n\nexport default async (req: IncomingMessage, res: ServerResponse) => {\n  const body = await text(req)\n  return `You said: ${body}`\n}\n```\n\n### `buffer(req)` — Parse Raw Body\n\n```ts\nimport { buffer } from 'micro'\n\nexport default async (req: IncomingMessage, res: ServerResponse) => {\n  const raw = await buffer(req)\n  return `Received ${raw.length} bytes`\n}\n```\n\n### `send(res, statusCode, data)` — Send Response\n\n```ts\nimport { send } from 'micro'\n\nexport default (req: IncomingMessage, res: ServerResponse) => {\n  send(res, 200, { status: 'ok' })\n}\n```\n\n### `createError(statusCode, message)` — HTTP Errors\n\n```ts\nimport { createError } from 'micro'\n\nexport default (req: IncomingMessage, res: ServerResponse) => {\n  if (!req.headers.authorization) {\n    throw createError(401, 'Unauthorized')\n  }\n  return { authorized: true }\n}\n```\n\n## Development with micro-dev\n\n`micro-dev` provides hot-reloading for development:\n\n```bash\nnpm install --save-dev micro-dev\n\n# Run in dev mode\nnpx micro-dev index.js\n```\n\n## Composition\n\nChain multiple handlers with function composition:\n\n```ts\nimport { IncomingMessage, ServerResponse } from 'http'\n\nconst cors = (fn: Function) => async (req: IncomingMessage, res: ServerResponse) => {\n  res.setHeader('Access-Control-Allow-Origin', '*')\n  return fn(req, res)\n}\n\nconst handler = async (req: IncomingMessage, res: ServerResponse) => {\n  return { hello: 'world' }\n}\n\nexport default cors(handler)\n```\n\n## package.json Setup\n\n```json\n{\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"start\": \"micro\",\n    \"dev\": \"micro-dev\"\n  },\n  \"dependencies\": {\n    \"micro\": \"^10.0.0\"\n  },\n  \"devDependencies\": {\n    \"micro-dev\": \"^3.0.0\"\n  }\n}\n```\n\n## Key Points\n\n1. **Return values are sent as responses** — return strings, objects (auto-serialized to JSON), or Buffers\n2. **Async by default** — handlers can be async functions, errors are caught automatically\n3. **Thrown errors become HTTP errors** — use `createError()` for proper status codes\n4. **No routing built-in** — micro is a single-endpoint server; use a router like `micro-router` for multi-route services\n5. **Body parsing is explicit** — use `json()`, `text()`, or `buffer()` to parse request bodies\n6. **Composable** — wrap handlers with higher-order functions for middleware-like behavior\n\n## Official Resources\n\n- [micro GitHub](https://github.com/vercel/micro)\n"
}

SHA-256 of public snapshot: 6547d60bd912c2a1a488cb158bd9a55d08977f3b7837377f401fd3c50946f4e3