Convert a router into a contract, export it safely, and prevent internal exposure.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add ali-master/skills --skill orpc-router-to-contract --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Orpc Router To Contract?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ali-master-orpc-router-to-contract)More formats (shields.io, HTML) on the badges page.
---
name: oRPC Router to Contract
description: Convert a router into a contract, export it safely, and prevent internal exposure.
license: MIT
metadata:
author: Ali Torki
homepage: https://github.com/ali-master
version: "1.0.0"
---
# Router to Contract
A normal router works as a contract router as long as it doesn't include a [lazy router](/docs/router#lazy-router).
## Unlazy the Router
```ts
import { unlazyRouter } from '@orpc/server'
const resolvedRouter = await unlazyRouter(router)
```
## Minify & Export the Contract Router for the Client
1. **Minify and Export to JSON:**
```ts
import fs from 'node:fs'
import { minifyContractRouter } from '@orpc/contract'
const minifiedRouter = minifyContractRouter(router)
fs.writeFileSync('./contract.json', JSON.stringify(minifiedRouter))
```
> `minifyContractRouter` preserves only metadata and routing info. All other data is stripped.
2. **Import the Contract JSON on the Client:**
```ts
import contract from './contract.json'
const link = new OpenAPILink(contract as typeof router, {
url: 'http://localhost:3000/api',
})
```
> Cast `contract` to `typeof router` for type safety, since standard schema types cannot be serialized.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!
Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.
Generate a comprehensive VC investment assessment report for a company
Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market cap), and periodic performance reports (daily/weekly/monthly/quarterly/yearly). 8 analysis dimensions for stocks, 3 for crypto. Use for stock analysis, portfolio tracking, earnings reactions, or crypto monitoring.
Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...