Claude-skill-registry libresource

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/libresource" ~/.claude/skills/majiayu000-claude-skill-registry-libresource && rm -rf "$T"
manifest: skills/data/libresource/SKILL.md
source content

libresource Skill

When to Use

  • Storing and retrieving typed resources
  • Managing entities with access control
  • Converting between resource formats
  • Building resource-based APIs

Key Concepts

ResourceIndex: Storage-backed index with policy enforcement for resource access.

Resource identifiers: URIs that identify resource type and instance (e.g.,

conversation:abc123
).

toInstance: Converts plain objects to properly typed resource instances.

Usage Patterns

Pattern 1: Get resource

import { createResourceIndex } from "@copilot-ld/libresource";

const index = await createResourceIndex(storage, policyIndex);
const resource = await index.get("conversation:abc123", actor);

Pattern 2: Parse resource ID

import { toResourceId } from "@copilot-ld/libresource";

const id = toResourceId("conversation:abc123");
// { type: "conversation", id: "abc123" }

Integration

Used by Memory and Agent services. Works with libpolicy for access control.