grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding,…
api — 34 abstractions.
$ npx -y skills add webiny/webiny-js --skill api --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/apiContext preview
The summary Claude sees to decide when to auto-load this skill.
api — 34 abstractions.
name: webiny-api-catalog description: > api — 34 abstractions.
1. Find the abstraction you need below 2. You MUST read the source file to get the exact interface and types! 3. Import: `import { Name } from "<importPath>";`
---
**Name:** `Ai` **Import:** `import { Ai } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts` **Description:** Interact with AI language models using registered providers.
---
**Name:** `AiConnectionFactory` **Import:** `import { AiConnectionFactory } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts` **Description:** Factory that asynchronously produces an AiConnection.
---
**Name:** `AiSdk` **Import:** `import { AiSdk } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts` **Description:** A single AI SDK instance (e.g. OpenAI, Anthropic) that resolves model instances.
---
**Name:** `AiSdkFactory` **Import:** `import { AiSdkFactory } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts` **Description:** Factory that asynchronously initialises an AI SDK. Register one per provider namespace.
---
**Name:** `AiSdkTool` **Import:** `import { AiSdkTool } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts` **Description:** A single tool that can be provided to AI generateText/streamText calls.
---
**Name:** `BaseError` **Import:** `import { BaseError } from "webiny/api"` **Source:** `@webiny/feature/api/index.ts`
---
**Name:** `BuildParam` **Import:** `import { BuildParam } from "webiny/api"` **Source:** `@webiny/api-core/features/buildParams/index.ts` **Description:** A single build-time configuration parameter.
---
**Name:** `BuildParams` **Import:** `import { BuildParams } from "webiny/api"` **Source:** `@webiny/api-core/features/buildParams/index.ts` **Description:** Access build-time configuration parameters.
---
**Name:** `Compression` **Import:** `import { Compression } from "webiny/api"` **Source:** `@webiny/utils/features/compression/abstractions/Compression.ts`
---
**Name:** `CompressionHandler` **Import:** `import { CompressionHandler } from "webiny/api"` **Source:** `@webiny/utils/features/compression/abstractions/CompressionHandler.ts`
---
**Name:** `ConnectionRegistry` **Import:** `import { ConnectionRegistry } from "webiny/api"` **Source:** `@webiny/api-websockets/features/ConnectionRegistry/abstractions.ts`
---
**Name:** `createAbstraction` **Import:** `import { createAbstraction } from "webiny/api"` **Source:** `@webiny/feature/api/index.ts`
---
**Name:** `createFeature` **Import:** `import { createFeature } from "webiny/api"` **Source:** `@webiny/feature/api/index.ts`
---
**Name:** `createWebsocketsRoutePlugin` **Import:** `import { createWebsocketsRoutePlugin } from "webiny/api"` **Source:** `@webiny/api-websockets/plugins/WebsocketsRoutePlugin.ts`
---
**Name:** `createWebsocketsRoutePlugins` **Import:** `import { createWebsocketsRoutePlugins } from "webiny/api"` **Source:** `@webiny/api-websockets/runner/routes/index.ts`
---
**Name:** `DomainEvent` **Import:** `import { DomainEvent } from "webiny/api"` **Source:** `@webiny/api-core/features/eventPublisher/index.ts` **Description:** Base class for all domain events.
---
**Name:** `Encryption` **Import:** `import { Encryption } from "webiny/api"` **Source:** `@webiny/api-core/features/encryption/index.ts` **Description:** Symmetric encryption and decryption using a configured secret key.
---
**Name:** `EventPublisher` **Import:** `import { EventPublisher } from "webiny/api"` **Source:** `@webiny/api-core/features/eventPublisher/index.ts` **Description:** Publish domain events to registered handlers.
---
**Name:** `GlobalKeyValueStore` **Import:** `import { GlobalKeyValueStore } from "webiny/api"` **Source:** `@webiny/api-core/features/keyValueStore/index.ts` **Description:** Global (non-tenant-scoped) key-value store.
---
**Name:** `IAiConnection` **Kind:** type **Import:** `import type { IAiConnection } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts`
---
**Name:** `IAiConnectionInline` **Kind:** type **Import:** `import type { IAiConnectionInline } from "webiny/api"` **Source:** `@webiny/api-core/features/ai/index.ts`
---
**Name:** `KeyValueStore` **Import:** `import { KeyValueStore } from "webiny/api"` **Source:** `@webiny/api-core/features/keyValueStore/index.ts` **Description:** Tenant-scoped key-value store.
---
**Name:** `Logger` **Import:** `import { Logger } from "webiny/api"` **Source:** `@webiny/api-core/features/logger/index.ts` **Description:** Structured logging with multiple log levels.
---
**Name:** `Result` **Import:** `import { Result } from "webiny/api"` **Source:** `@webiny/feature/api/index.ts` **Description:** A container type that represents either a successful result (`ok`) or a failure (`fail`). Inspired by functional programming constructs like `Either` or `Result` in other languages.
---
**Name:** `Route` **Import:** `import { Route } from "webiny/api"` **Source:** `@webiny/handler/abstractions/Route.ts`
---
**Name:** `WebsocketsDisconnectUseCase` **Import:** `import { WebsocketsDisconnectUseCase } from "webiny/api"` **Source:** `@webiny/api-websockets/features/Disconnect/abstractions.ts`
---
**Name:** `WebsocketsError` **Kind:** type **Import:** `import type { WebsocketsError } from "webiny/api"` **Source:** `@webiny/api-websockets/features/shared/errors.ts`
---
**Name:** `WebsocketsEventValidator` **Import:** `import { WebsocketsEventValidator } from "webiny/api"` **Source:** `@webiny/api-websockets/validator/index.ts`
---
**Name:** `WebsocketsListConnectionsUseCase` **Import:** `import { WebsocketsListConnectionsUseCase } from "webiny/api"` **Source:** `@webiny/api-websockets/features/ListConnections/abstractions.ts`
---
**Name:** `WebsocketsResponse` **Import:** `import { WebsocketsResponse } from "webiny/api"` **Source:** `@webiny/api-websockets/respo
Open-source content platform. Self-hosted on AWS serverless. Built as a TypeScript framework you extend with code, not a closed product you configure through a UI. Runs on Lambda, DynamoDB, S3, and CloudFront inside your own AWS account. Scales automatically.
Repo: webiny/webiny-js
Interview the user relentlessly about a plan or design until reaching shared understanding,…
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved…
Webiny-only. Run all checks required before packages are ready for publish: deps, build,…
Use when running tests. Shows how to run tests for a single package, including OpenSearch…
Generate, refresh, and maintain Webiny MCP server skills from source documentation and…
Create a PRD through user interview, codebase exploration, and module design, then submit as…