shared-memory
SafeNotes & PKM
Share memories and state with other users.
SKILL.md
# Shared Memory
Share memories from your knowledge base with other users. Manage users, groups, and fine-grained permissions on namespaces.
## Quick Start
```bash
# 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
| Command | Description |
|---------|-------------|
| `create-user <username>` | Create user |
| `delete-user <username>` | Delete user |
### Groups
| Command | Description |
|---------|-------------|
| `create-group <name>` | Create group |
| `delete-group <name>` | Delete group |
| `add-member <group> <user>` | Add user to group |
| `remove-member <group> <user>` | Remove user |
### Permissions
| Command | Description |
|---------|-------------|
| `grant org <action> <pattern>` | Grant to org |
| `grant user <name> <action> <pattern>` | Grant to user |
| `grant group <name> <action> <pattern>` | Grant to group |
| `revoke <grant_id>` | Revoke permission |
| `list` | List all grants |
| `list-permissions` | List effective permissions |
**Actions**: `read`, `create`, `update`, `delete`
### Subscriptions
| Command | Description |
|---------|-------------|
| `subscribe <key>` | Get notified on changes |
| `unsubscribe <key>` | Stop notifications |
| `list-subscriptions` | List subscriptions |
## Example: Family Sharing
```bash
# 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:
```bash
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`:
```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.
More in Notes & PKM
apple-mail
SafeApple Mail.app integration for macOS. Read inbox, search emails, send emails, reply.
apple-notes
SafeManage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move.
bear-notes
SafeCreate, search, and manage Bear notes via grizzly CLI.
better-notion
SafeFull CRUD for Notion pages, databases, and blocks. Create, read, update, delete, search, and query.