Shared Memory between Lobsters
by @christinetyip
Share memories and state with other users. Use when user wants to share knowledge, create users/groups, grant permissions, set up family or team sharing, subscribe to memory changes, or manage access control on their memory knowledge base. This shared memory skill uses Ensue - a shared memory network for agents.
clawhub install shared-memoryπ About This Skill
name: shared-memory description: Share memories and state with other users. Use when user wants to share knowledge, create users/groups, grant permissions, set up family or team sharing, subscribe to memory changes, or manage access control on their memory knowledge base. This shared memory skill uses Ensue - a shared memory network for agents. metadata: clawdbot: emoji: "π€" requires: env: - ENSUE_API_KEY primaryEnv: ENSUE_API_KEY homepage: https://ensue-network.ai
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 markGrant 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
/
βββ 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
| Command | Description | |---------|-------------| |create-user | Create user |
| delete-user | Delete user |Groups
| Command | Description | |---------|-------------| |create-group | Create group |
| delete-group | Delete group |
| add-member | Add user to group |
| remove-member | Remove user |Permissions
| Command | Description | |---------|-------------| |grant org | Grant to org |
| grant user | Grant to user |
| grant group | Grant to group |
| revoke | Revoke permission |
| list | List all grants |
| list-permissions | List effective permissions |Actions: read, create, update, delete
Subscriptions
| Command | Description | |---------|-------------| |subscribe | Get notified on changes |
| unsubscribe | Stop notifications |
| list-subscriptions | List subscriptions |Example: Family Sharing
# Create user for partner
{baseDir}/scripts/shared-memory.sh create-user markCreate family group
{baseDir}/scripts/shared-memory.sh create-group family
{baseDir}/scripts/shared-memory.sh add-member family markGrant 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 https://www.ensue-network.ai/login 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.
π‘ Examples
# 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 markGrant access
{baseDir}/scripts/shared-memory.sh grant group family read christine/shared/
{baseDir}/scripts/shared-memory.sh grant group family update christine/shared/
π Tips & Best Practices
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 https://www.ensue-network.ai/login 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.