# Copilot Ld Copilot Ld Libharness

> libharness Skill

- Skill: `tomevault-io/copilot-ld-copilot-ld-libharness` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/copilot-ld-copilot-ld-libharness`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/copilot-ld-copilot-ld-libharness/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-libharness

---


# libharness Skill

## When to Use

- Writing unit tests for services and packages
- Mocking external dependencies (storage, config, logging)
- Creating isolated test environments
- Testing gRPC service implementations

## Key Concepts

**Framework mocks**: createMockStorage, createMockConfig, createMockLogger
provide test doubles for core infrastructure.

**Client mocks**: createMockMemoryClient, createMockLlmClient, etc. provide test
doubles for gRPC service clients.

**Fixtures**: Pre-configured test data and assertion helpers.

## Usage Patterns

### Pattern 1: Mock infrastructure

```javascript
import {
  createMockConfig,
  createMockStorage,
  createMockLogger,
} from "@copilot-ld/libharness";

const config = createMockConfig("test-service");
const storage = createMockStorage();
const logger = createMockLogger();
```

### Pattern 2: Mock service clients

```javascript
import { createMockLlmClient } from "@copilot-ld/libharness";

const llmClient = createMockLlmClient({
  completionResponse: { content: "Hello" },
});
```

## Integration

Used across all test files. Requires libtype for generated type mocks.

---
> 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 -->

