Claude-skill-registry libharness

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/libharness" ~/.claude/skills/majiayu000-claude-skill-registry-libharness && rm -rf "$T"
manifest: skills/data/libharness/SKILL.md
source content

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

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

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

Pattern 2: Mock service clients

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

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

Integration

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