Claude-skill-registry libtype
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/libtype" ~/.claude/skills/majiayu000-claude-skill-registry-libtype && rm -rf "$T"
manifest:
skills/data/libtype/SKILL.mdsource content
libtype Skill
When to Use
- Creating typed protobuf messages
- Sharing types across services
- Working with gRPC request/response objects
- Generating resource identifiers
Key Concepts
Namespaces: Types organized by domain (common, agent, memory, graph, etc.).
fromObject(): Preferred method to create type instances from plain objects.
identifier(): Method on common types to generate resource identifiers.
Usage Patterns
Pattern 1: Create typed message
import { agent, common } from "@copilot-ld/libtype"; const request = agent.Request.fromObject({ resourceId: common.ResourceId.fromObject({ type: "conversation", id: "abc123", }), content: "Hello, assistant!", });
Pattern 2: Generate identifier
import { common } from "@copilot-ld/libtype"; const resourceId = common.ResourceId.fromObject({ type: "message" }); const id = resourceId.identifier(); // "message:uuid"
Integration
Generated by libcodegen from proto/ files. Used by all services and librpc.