memos
SKILL.md
Memos Skill
Interact with a Memos instance via its REST API (/api/v1/memos).
Prerequisites
Set these env vars before using this skill:
export MEMOS_URL="https://memos.example.com"
export MEMOS_ACCESS_TOKEN="your_access_token" # from Memos account settings
All requests use Authorization: Bearer $MEMOS_ACCESS_TOKEN.
Script
All operations go through scripts/memos.sh. Run it with bash memos/scripts/memos.sh <command> [options].
Run without arguments to see full usage:
bash memos/scripts/memos.sh --help
Operations
List memos
# All memos
bash memos/scripts/memos.sh list
# With filter (AIP-160 syntax)
bash memos/scripts/memos.sh list --filter 'state == "NORMAL"' --page-size 20
# Include deleted
bash memos/scripts/memos.sh list --show-deleted
Create a memo
bash memos/scripts/memos.sh create --content "Hello, world!" --visibility PUBLIC
# Pinned private memo
bash memos/scripts/memos.sh create --content "Important note" --pinned
--visibility: PUBLIC | PROTECTED | PRIVATE (default: PRIVATE)
Get a memo
bash memos/scripts/memos.sh get memos/123
Memo resource names follow the format memos/{id}.
Update a memo
bash memos/scripts/memos.sh update memos/123 --content "Updated content"
bash memos/scripts/memos.sh update memos/123 --visibility PUBLIC --pinned true
bash memos/scripts/memos.sh update memos/123 --state ARCHIVED
Only specified fields are sent in updateMask.
Delete a memo
# Soft delete
bash memos/scripts/memos.sh delete memos/123
# Hard delete
bash memos/scripts/memos.sh delete memos/123 --force
Comments
# List comments
bash memos/scripts/memos.sh comments memos/123
# Post a comment
bash memos/scripts/memos.sh comment memos/123 --content "Great memo!"
Reactions
# List reactions
bash memos/scripts/memos.sh reactions memos/123
# Add a reaction
bash memos/scripts/memos.sh react memos/123 --reaction "👍"
# Remove a reaction (reaction ID from list response)
bash memos/scripts/memos.sh delete-reaction memos/123 reactions/456
Attachments
# List attachments
bash memos/scripts/memos.sh attachments memos/123
# Set attachments (replaces existing)
bash memos/scripts/memos.sh set-attachments memos/123 --names "attachments/1,attachments/2"
Relations
# List relations
bash memos/scripts/memos.sh relations memos/123
# Set relations (replaces existing)
bash memos/scripts/memos.sh set-relations memos/123 --relations '[{"memo":"memos/123","relatedMemo":"memos/456","type":"REFERENCE"}]'
Pagination
List commands support --page-size N and --page-token TOKEN. The response includes nextPageToken when more results are available:
result=$(bash memos/scripts/memos.sh list --page-size 10)
next=$(echo "$result" | jq -r '.nextPageToken // empty')
# Fetch next page
bash memos/scripts/memos.sh list --page-size 10 --page-token "$next"
Filtering
Use AIP-160 filter expressions with --filter:
bash memos/scripts/memos.sh list --filter 'state == "NORMAL"'
bash memos/scripts/memos.sh list --filter 'visibility == "PUBLIC"'
Response Format
All responses are JSON. Pipe through jq to extract fields:
# Get all memo names and snippets
bash memos/scripts/memos.sh list | jq '.memos[] | {name, snippet}'
# Get a single field
bash memos/scripts/memos.sh get memos/123 | jq '.content'
Weekly Installs
9
Repository
akhy/agent-skillsFirst Seen
6 days ago
Security Audits
Installed on
gemini-cli9
github-copilot9
codex9
kimi-cli9
cursor9
amp9