libresource - Typed resource management with access control. ResourceIndex stores and retrieves resources with policy-based authorization. toInstance converts objects to typed instances. toResourceId parses URI strings. createResourceIndex factory. Use for persisting structured data, managing entities, and enforcing access control.
Installs into .claude/skills of the current project.
Are you the author of Libresource?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-libresource)
---
name: libresource
description: >
libresource - Typed resource management with access control. ResourceIndex
stores and retrieves resources with policy-based authorization. toInstance
converts objects to typed instances. toResourceId parses URI strings.
createResourceIndex factory. Use for persisting structured data, managing
entities, and enforcing access control.
---
# 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
```javascript
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
```javascript
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.