Notes & PKMDocumentedScanned

shared-memory

Share memories and state with other users.

Share:

Installation

npx clawhub@latest install shared-memory

View the full skill documentation and source below.

Documentation

Shared Memory

Share memories from your knowledge base with other users. Manage users, groups, and fine-grained permissions on namespaces.

Quick Start

# Create user and group
{baseDir}/scripts/shared-memory.sh create-user mark
{baseDir}/scripts/shared-memory.sh create-group family
{baseDir}/scripts/shared-memory.sh add-member family mark

# Grant access
{baseDir}/scripts/shared-memory.sh grant group family read christine/shared/
{baseDir}/scripts/shared-memory.sh grant group family update christine/shared/

Namespace Organization

<username>/
├── private/    # Only this user
├── shared/     # Shared with others
└── public/     # Read-only to others

Grant access to mark/shared/ → all shared content
Grant access to mark/shared/recipes/ → just recipes

Commands

Users

CommandDescription
create-user Create user
delete-user Delete user

Groups

CommandDescription
create-group Create group
delete-group Delete group
add-member Add user to group
remove-member Remove user

Permissions

CommandDescription
grant org Grant to org
grant user Grant to user
grant group Grant to group
revoke Revoke permission
listList all grants
list-permissionsList effective permissions
Actions: read, create, update, delete

Subscriptions

CommandDescription
subscribe Get notified on changes
unsubscribe Stop notifications
list-subscriptionsList subscriptions

Example: Family Sharing

# Create user for partner
{baseDir}/scripts/shared-memory.sh create-user mark

# Create family group
{baseDir}/scripts/shared-memory.sh create-group family
{baseDir}/scripts/shared-memory.sh add-member family mark

# Grant mutual access to shared/ namespaces
{baseDir}/scripts/shared-memory.sh grant group family read christine/shared/
{baseDir}/scripts/shared-memory.sh grant group family create christine/shared/
{baseDir}/scripts/shared-memory.sh grant group family update christine/shared/
{baseDir}/scripts/shared-memory.sh grant group family read mark/shared/
{baseDir}/scripts/shared-memory.sh grant group family update mark/shared/

Troubleshooting

If commands fail, first check if an Ensue API key is configured:

echo $ENSUE_API_KEY
grep -A2 'ensue-learning-memory' ~/.clawdbot/clawdbot.json

If no API key found, tell user to get a free key at and configure in ~/.clawdbot/clawdbot.json:

{
  "skills": {
    "entries": {
      "ensue-learning-memory": {
        "apiKey": "their-api-key-here"
      }
    }
  }
}

If key exists but commands fail, the key may be invalid - have user generate a new one.