Documentation, distilled into agent-loadable skills.
A curated catalog of SKILL.md packages
for Claude, Codex, Copilot,
and any agent that understands the skills.sh format.
npx skills add ali-master/skills # npm
pnpm dlx skills add ali-master/skills # pnpm
bunx skills add ali-master/skills # bunWant only one skill instead of the whole catalog? Pass --skill <slug>:
npx skills add ali-master/skills --skill orpc-getting-startedSee docs/install.md for single-skill installs, nested skills, batch installs, and update/remove workflows.
Your agent discovers each skill on demand and only loads the matching SKILL.md when the task requires it.
| Want to… | Open |
|---|---|
| Build a typed RPC API | orpc-getting-started |
| Ship an OpenAPI-first service | orpc-openapi-getting-started |
| Send typed notifications | better-notify |
| Migrate from tRPC | orpc-migrate-from-trpc |
119 skills available. Run
bun run scripts/generate-skills-table.tsto regenerate.
| Skill | Name | Description |
|---|---|---|
better-notify |
better-notify | Context and API guidance for Better Notify — end-to-end typed notification infrastructure for Node.js |
better-notify/best-practices |
better-notify/best-practices | Quick reference for Better Notify configuration, patterns, and common gotchas |
better-notify/setup |
better-notify/setup | Interactive setup wizard for adding Better Notify to a TypeScript/JavaScript project |
orpc-ai-sdk |
oRPC AI SDK Integration | Seamlessly use AI SDK inside your oRPC projects without any extra overhead. |
orpc-astro |
oRPC Astro Adapter | Use oRPC inside an Astro project. |
orpc-base64url |
oRPC Base64Url Helpers | Functions to encode and decode base64url strings (URL-safe variant of base64). |
orpc-batch-requests |
oRPC Batch Requests Plugin | A plugin for oRPC to batch requests and responses to reduce overhead. |
orpc-better-auth |
oRPC Better Auth Integration | Use Better Auth inside your oRPC projects without any extra overhead. |
orpc-body-limit |
oRPC Body Limit Plugin | A plugin for oRPC to limit the request body size. |
orpc-bracket-notation |
oRPC Bracket Notation | Represent structured data in limited formats such as URL queries and form data. |
orpc-browser-adapter |
oRPC Browser Adapter | Type-safe communication between browser scripts using Message Port Adapter. |
orpc-building-custom-plugins |
oRPC Building Custom Plugins | Create powerful custom plugins to extend oRPC handlers and links with interceptors. |
orpc-client-error-handling |
oRPC Client Error Handling | Handle errors in a type-safe way in oRPC clients. |
orpc-client-event-iterator |
oRPC Client Event Iterator | Use event iterators in oRPC clients. |
orpc-client-retry |
oRPC Client Retry Plugin | A plugin for oRPC that enables retrying client calls when errors occur. |
orpc-client-side |
oRPC Client-Side Clients | Call your oRPC procedures remotely as if they were local functions. |
orpc-comparison |
oRPC Comparison | How oRPC differs from tRPC, ts-rest, and Hono. |
orpc-compression |
oRPC Compression Plugin | A plugin for oRPC that compresses response bodies to reduce bandwidth usage. |
orpc-context |
oRPC Context | Type-safe dependency injection pattern in oRPC. |
orpc-cookie |
oRPC Cookie Helpers | Functions for managing HTTP cookies in web applications. |
orpc-cors |
oRPC CORS Plugin | CORS Plugin for oRPC. |
orpc-customizing-error-response |
oRPC Customizing Error Response | Customize the error response format in oRPC OpenAPI. |
orpc-dedupe-middleware |
oRPC Dedupe Middleware | Enhance oRPC middleware performance by avoiding redundant executions. |
orpc-dedupe-requests |
oRPC Dedupe Requests Plugin | Prevents duplicate requests by deduplicating similar ones to reduce server load. |
orpc-define-contract |
oRPC Define Contract | Define a contract for contract-first development in oRPC. |
orpc-disabling-output-validation |
oRPC Disabling Output Validation | Disable output validation for improved performance while keeping OpenAPI spec generation. |
orpc-durable-iterator |
oRPC Durable Iterator Integration | Extends Event Iterator with durable event streams, automatic reconnections, and event recovery. |
orpc-dynamic-link |
oRPC DynamicLink | Dynamically switch between multiple oRPC's links. |
orpc-ecosystem |
oRPC Ecosystem | Community resources, starter kits, tools, and libraries for oRPC. |
orpc-electron |
oRPC Electron Adapter | Use oRPC inside an Electron project via Message Port Adapter. |
orpc-elysia |
oRPC Elysia Adapter | Use oRPC inside an Elysia project. |
orpc-encryption |
oRPC Encryption Helpers | Functions to encrypt and decrypt sensitive data using AES-GCM. |
orpc-error-handling |
oRPC Error Handling | Manage errors in oRPC using both traditional and type-safe strategies. |
orpc-event-iterator |
oRPC Event Iterator (SSE) | Streaming responses, real-time updates, and server-sent events using oRPC. |
orpc-expand-openapi-types |
oRPC Expanding OpenAPI Link Types | Extend OpenAPILink to support additional data types beyond JSON's native capabilities. |
orpc-express |
oRPC Express.js Adapter | Use oRPC inside an Express.js project. |
orpc-extend-body-parser |
oRPC Extend Body Parser | Extend the body parser for larger payloads or additional data types. |
orpc-fastify |
oRPC Fastify Adapter | Use oRPC inside a Fastify project. |
orpc-file-upload-download |
oRPC File Upload/Download | Upload and download files using oRPC with standard File and Blob objects. |
orpc-form-data |
oRPC Form Data Helpers | Utilities for parsing form data and handling validation errors with bracket notation support. |
orpc-getting-started |
oRPC Getting Started | Quick guide to oRPC — define procedures, handle errors, integrate with popular frameworks. |
orpc-h3 |
oRPC H3 Adapter | Use oRPC inside an H3 project. |
orpc-hey-api |
oRPC Hey API Integration | Generate oRPC contracts from OpenAPI with Hey API or adapt a Hey API client. |
orpc-hibernation |
oRPC Hibernation Plugin | Plugin to fully leverage Hibernation APIs in oRPC server (Cloudflare Websocket Hibernation, etc). |
orpc-hono |
oRPC Hono Adapter | Use oRPC inside a Hono project. |
orpc-http |
oRPC HTTP Adapter | How to use oRPC over HTTP with various server and client adapters. |
orpc-implement-contract |
oRPC Implement Contract | Implement a contract for contract-first development in oRPC. |
orpc-input-output-structure |
oRPC Input/Output Structure | Control how input and output data is structured in oRPC. |
orpc-max-length-problem |
oRPC Exceeds Maximum Length Problem | How to address the Exceeds the Maximum Length Problem in oRPC. |
orpc-message-port |
oRPC Message Port | Using oRPC with Message Ports for internal communication between processes. |
orpc-metadata |
oRPC Metadata | Enhance your procedures with metadata. |
orpc-middleware |
oRPC Middleware | Middleware enables reusable and extensible procedures in oRPC. |
orpc-migrate-from-trpc |
oRPC Migrate from tRPC | A comprehensive guide to migrate your tRPC application to oRPC. |
orpc-mini-beyond-basics |
Mini oRPC Beyond the Basics | Advanced features you can implement in Mini oRPC. |
orpc-mini-client-side-client |
Mini oRPC Client-side Client | How to implement client-side RPC calls in Mini oRPC. |
orpc-mini-overview |
Mini oRPC Overview | A simplified version of oRPC designed for learning purposes. |
orpc-mini-procedure-builder |
Mini oRPC Procedure Builder | Mini oRPC's procedure builder for defining type-safe procedures. |
orpc-mini-server-side-client |
Mini oRPC Server-side Client | How to turn a procedure into a callable function in Mini oRPC. |
orpc-monorepo-setup |
oRPC Monorepo Setup | The most efficient way to set up a monorepo with oRPC. |
orpc-nestjs-implement-contract |
oRPC NestJS Implement Contract | Implement oRPC contracts in your NestJS projects with @orpc/nest. |
orpc-nextjs |
oRPC Next.js Adapter | Use oRPC inside a Next.js project (App Router and Pages Router). |
orpc-no-throw-literal |
oRPC No Throw Literal | Always throw Error instances instead of literal values. |
orpc-nuxt |
oRPC Nuxt.js Adapter | Use oRPC inside a Nuxt.js project. |
orpc-openai-streaming |
oRPC OpenAI Streaming Example | Combine oRPC with the OpenAI Streaming API to build a chatbot. |
orpc-openapi-error-handling |
oRPC OpenAPI Error Handling | Handle errors in your OpenAPI-compliant oRPC APIs. |
orpc-openapi-getting-started |
oRPC OpenAPI Getting Started | Quick guide to OpenAPI in oRPC. |
orpc-openapi-handler |
oRPC OpenAPI Handler | Comprehensive Guide to the OpenAPIHandler in oRPC. |
orpc-openapi-json-serializer |
oRPC OpenAPI JSON Serializer | Extend or override the standard OpenAPI JSON serializer. |
orpc-openapi-link |
oRPC OpenAPILink | Use OpenAPILink in oRPC clients to communicate with OpenAPI-compliant APIs. |
orpc-openapi-reference |
oRPC OpenAPI Reference Plugin | Plugin that serves API reference documentation (Scalar/Swagger) and the OpenAPI specification. |
orpc-openapi-routing |
oRPC OpenAPI Routing | Configure procedure routing with HTTP methods, paths, and response statuses. |
orpc-openapi-specification |
oRPC OpenAPI Specification | Generate OpenAPI specifications for oRPC with ease. |
orpc-openapi-to-contract |
oRPC OpenAPI to Contract | Generate an oRPC contract from an existing OpenAPI specification with Hey API. |
orpc-opentelemetry |
oRPC OpenTelemetry Integration | Integrate oRPC with OpenTelemetry for distributed tracing. |
orpc-optimize-ssr |
oRPC Optimize SSR | Optimize SSR for fullstack frameworks by avoiding unnecessary HTTP self-calls. |
orpc-pinia-colada |
oRPC Pinia Colada Integration | Seamlessly integrate oRPC with Pinia Colada for Vue. |
orpc-pino |
oRPC Pino Integration | Integrate oRPC with Pino for structured logging and request tracking. |
orpc-playgrounds |
oRPC Playgrounds | Interactive development environments for exploring and testing oRPC functionality. |
orpc-procedure |
oRPC Procedure | Understanding procedures in oRPC — standard functions with validation, middleware, and DI. |
orpc-publish-to-npm |
oRPC Publish Client to NPM | How to publish your oRPC client to NPM as an SDK. |
orpc-publisher |
oRPC Publisher | Listen and publish events with resuming support in oRPC. |
orpc-ratelimit |
oRPC Rate Limit | Rate limiting for oRPC with multiple storage backend support. |
orpc-react-native |
oRPC React Native Adapter | Use oRPC inside a React Native project. |
orpc-react-swr |
oRPC React SWR Integration | Integrate oRPC with React SWR for efficient data fetching and caching. |
orpc-redirect-response |
oRPC Redirect Response | Standard HTTP redirect response in oRPC OpenAPI. |
orpc-remix |
oRPC Remix Adapter | Use oRPC inside a Remix project. |
orpc-request-headers |
oRPC Request Headers Plugin | Access request headers in oRPC. |
orpc-request-validation |
oRPC Request Validation Plugin | A plugin that blocks invalid requests before they reach your server. |
orpc-response-headers |
oRPC Response Headers Plugin | Set response headers in oRPC. |
orpc-response-validation |
oRPC Response Validation Plugin | Validate server responses against the contract schema. |
orpc-rethrow-handler |
oRPC Rethrow Handler Plugin | Catch and rethrow specific errors during request handling. |
orpc-retry-after |
oRPC Retry After Plugin | Automatically retries requests based on server Retry-After headers. |
orpc-router |
oRPC Router | Understanding routers in oRPC — nestable objects composed of procedures. |
orpc-router-to-contract |
oRPC Router to Contract | Convert a router into a contract, export it safely, and prevent internal exposure. |
orpc-rpc-handler |
oRPC RPC Handler | Comprehensive Guide to the RPCHandler in oRPC. |
orpc-rpc-json-serializer |
oRPC RPC JSON Serializer | Extend or override the standard RPC JSON serializer. |
orpc-rpc-link |
oRPC RPCLink | Use RPCLink in oRPC clients to communicate with RPCHandler. |
orpc-rpc-protocol |
oRPC RPC Protocol | Learn about the RPC protocol used by RPCHandler. |
orpc-scalar |
oRPC Scalar (Swagger) | Create a beautiful API client for your oRPC with Scalar. |
orpc-sentry |
oRPC Sentry Integration | Integrate oRPC with Sentry for error tracking and performance monitoring. |
orpc-server-action |
oRPC Server Action | Integrate oRPC procedures with React Server Actions. |
orpc-server-side |
oRPC Server-Side Clients | Call your oRPC procedures in the same environment as your server like native functions. |
orpc-signing |
oRPC Signing Helpers | Cryptographically sign and verify data using HMAC-SHA256. |
orpc-simple-csrf-protection |
oRPC Simple CSRF Protection Plugin | Add basic CSRF protection to your oRPC application. |
orpc-smart-coercion |
oRPC Smart Coercion Plugin | Automatically converts input values to match schema types without manual coercion logic. |
orpc-solid-start |
oRPC Solid Start Adapter | Use oRPC inside a Solid Start project. |
orpc-strict-get-method |
oRPC Strict GET Method Plugin | Only procedures explicitly accepting GET can be called via HTTP GET (CSRF protection). |
orpc-superjson |
oRPC SuperJson | Replace the default oRPC RPC serializer with SuperJson. |
orpc-svelte-kit |
oRPC Svelte Kit Adapter | Use oRPC inside a Svelte Kit project. |
orpc-tanstack-query |
oRPC TanStack Query Integration | Seamlessly integrate oRPC with TanStack Query (React, Vue, Solid, Svelte, Angular). |
orpc-tanstack-query-basic |
oRPC TanStack Query Basic | Basic guide to integrating oRPC with TanStack Query (legacy). |
orpc-tanstack-start |
oRPC TanStack Start Adapter | Use oRPC inside a TanStack Start project with server routes, isomorphic links, and SSR optimization. |
orpc-testing-mocking |
oRPC Testing & Mocking | Test oRPC procedures using server-side clients, and mock implementations for frontend testing. |
orpc-trpc |
oRPC tRPC Integration | Use oRPC features (OpenAPI specs, OpenAPIHandler) inside existing tRPC applications via @orpc/trpc. |
orpc-validation-errors |
oRPC Validation Errors | Customize built-in input/output validation errors using client interceptors or middleware, with type-safe error mapping. |
orpc-web-workers |
oRPC Web Workers Adapter | Type-safe oRPC communication between the main thread and Web Workers via the Message Port adapter. |
orpc-websocket |
oRPC WebSocket Adapter | Use oRPC over WebSocket for low-latency, bidirectional RPC across browser, Node, Bun, Deno, Cloudflare, and CrossWS. |
orpc-worker-threads |
oRPC Worker Threads Adapter | Type-safe oRPC communication between Node.js worker threads via the Message Port adapter. |
orpc-zod-smart-coercion |
oRPC Zod Smart Coercion | Refined alternative to z.coerce — automatically coerces inputs to the expected type without modifying the schema. |
The table above is generated. Run
bun run scripts/generate-skills-table.tsto refresh after adding or editing a skill.
Each skill is a folder under skills/ containing a SKILL.md with YAML frontmatter:
---
name: My Skill
description: One-line summary the agent uses to decide when to load this skill.
license: MIT
metadata:
author: Ali Torki
homepage: https://github.com/ali-master
version: "1.0.0"
---
# My Skill
Practical, focused guidance the agent can act on.| Field | Required | Purpose |
|---|---|---|
name |
✅ | Display label shown to the agent. Must be ≤ 64 characters. |
description |
✅ | One-line summary the agent uses to decide whether to load the skill. |
license |
✅ | SPDX license identifier for the skill (defaults to MIT to match the repo). |
metadata.author |
✅ | Skill author (defaults to Ali Torki for skills in this repo). |
metadata.homepage |
✅ | Author homepage (defaults to https://github.com/ali-master). |
metadata.version |
✅ | Skill version as a quoted SemVer string (defaults to "1.0.0"). |
Every skill folder also ships a metadata.json next to its SKILL.md:
{
"version": "1.0.0",
"organization": "Ali Torki",
"date": "May 2026",
"abstract": "Short paragraph describing what the skill covers and when an agent should reach for it.",
"references": [
"https://upstream-docs.example.com/relevant-section"
]
}abstract is derived from description plus the first body paragraph; references is the deduped set of external URLs cited in the SKILL.md. Regenerate with bun run skills:json after editing a skill.
Skills can ship sub-skills. Drop additional SKILL.md files inside the parent folder — both the generator and the metadata script recurse into them:
skills/
├── better-notify/
│ ├── SKILL.md # parent: index + overview
│ ├── setup/SKILL.md # sub-skill: setup wizard
│ └── best-practices/SKILL.md # sub-skill: best practices
The catalog renders nested slugs as parent/child so they sort next to their parent.
bun run skills:metadata # backfill the author/homepage metadata block on every SKILL.md (idempotent)
bun run skills:json # add license + metadata.version to frontmatter and regenerate every metadata.json
bun run skills:table # regenerate the catalog table in README.mdKeep skills tight — agents pull them into the context window, so brevity wins. See docs/authoring.md for the full checklist.
- Fork & branch.
- Add a new directory under
skills/with aSKILL.md(top-level or nested under an existing skill). - Run
bun run skills:metadatato apply the standard author/homepagemetadatablock. - Run
bun run skills:jsonto addlicense+metadata.versionand generate the sidecarmetadata.json. - Run
bun run skills:tableso the catalog stays in sync. - Open a PR.
The skill name in frontmatter must be ≤ 64 characters.
Made with ❤️ by Ali Torki