memos
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'
More from akhy/agent-skills
buffer
Manage Buffer social media posts and ideas — create and schedule posts to connected channels, manage the post queue, and create ideas in the Buffer Create space. Supports all Buffer-connected services (Instagram, Twitter/X, Facebook, LinkedIn, TikTok, Pinterest, YouTube, Mastodon, Bluesky, Threads, Google Business).
30vikunja-vja
Manage Vikunja tasks via VJA CLI, supporting CRUD operations, assignment, priority, and labeling. Use for task-related requests like creating, listing, updating, or deleting tasks. Always append --json to commands for structured results, and pipe to jq for compact and filtered output where possible.
22fizzy-workflow
High-level workflows for managing work using Fizzy cards — start, work on, complete, and delegate cards using the Fizzy CLI.
19mdq
Query and filter Markdown documents using jq-like selector syntax — extract headings, list items, tasks, links, images, tables, code blocks, blockquotes, and paragraphs from markdown files. Useful for parsing README files, docs, changelogs, and any structured markdown.
14plurk
Read and respond to Plurk social network content — fetch your timeline, get individual plurks, view another user's public plurks, read responses to a plurk, and post responses. Requires OAuth credentials.
14go-release
Set up automated releases for Go CLI apps using GoReleaser, GitHub Actions, GHCR (Docker), and Homebrew tap. Use when the user wants to add release automation, Dockerfile, or Homebrew distribution to a Go project.
12