# Copilot Ld Copilot Ld Librpc

> librpc Skill

- Skill: `tomevault-io/copilot-ld-copilot-ld-librpc` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/copilot-ld-copilot-ld-librpc`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/copilot-ld-copilot-ld-librpc/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/copilot-ld-copilot-ld-librpc

---


# librpc Skill

## When to Use

- Building gRPC service implementations
- Creating clients for inter-service calls
- Adding authentication to gRPC endpoints
- Implementing distributed tracing across services

## Key Concepts

**RpcServer**: Base server class for gRPC services with middleware support.

**RpcClient**: Base client class with connection management and error handling.

**createClientFactory**: Factory that creates typed service clients with
optional logging and tracing.

## Usage Patterns

### Pattern 1: Create service server

```javascript
import { RpcServer, createService } from "@copilot-ld/librpc";

const service = createService(MyServiceImpl, proto);
const server = new RpcServer([service], config);
await server.start();
```

### Pattern 2: Create service client

```javascript
import { createClientFactory } from "@copilot-ld/librpc";

const factory = createClientFactory(logger, tracer);
const agentClient = factory.createAgentClient("localhost", 50051);
const response = await agentClient.request(message);
```

## Integration

Used by all services for gRPC communication. Works with libtype for message
types.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/copilot-ld) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

