memos

Manage memos, comments, reactions, attachments, and relations via the Memos REST API.

1|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/akhy/agent-skills --skill memos-akhy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: memos
Source: https://github.com/akhy/agent-skills/tree/main/memos
Command: npx skills add https://github.com/akhy/agent-skills --skill memos-akhy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires curl, jq, python3, and includes scripts (resource) components.

What problem does it solve? Interacting with a self-hosted Memos instance normally requires hand-writing curl requests against its REST API. This Skill wraps the entire /api/v1/memos surface in a single script so an agent can create, read, update, and delete memos and their related resources without manual API plumbing. ## Core Features & Use Cases - Full memo CRUD: List with AIP-160 filters and pagination, create with visibility and pinning, update via updateMask, and soft or hard delete. - Rich memo interactions: Post comments, add or remove emoji reactions, set attachments, and define memo-to-memo relations. - Structured JSON output: Every response is JSON, ready to be piped through jq for field extraction. - Use Case: Ask the agent to create a pinned private memo summarizing today's meeting notes, then list all public memos and post a comment on the most recent one. ## Quick Start Set MEMOS_URL and MEMOS_ACCESS_TOKEN, then ask the agent to create a new private memo with the content of your choice using the memos skill.

Frequently Asked Questions about memos

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a memo with the Memos API?▼

Run the memos.sh script with the create command and pass --content plus an optional --visibility of PUBLIC, PROTECTED, or PRIVATE. The script sends a POST request to /api/v1/memos with a JSON body and returns the created memo as JSON.

How do I filter memos using the Memos REST API?▼

Use the list command with --filter followed by an AIP-160 filter expression, such as 'state == "NORMAL"' or 'visibility == "PUBLIC"'. The script URL-encodes the expression and passes it as the filter query parameter.

What environment variables does the Memos API client need?▼

The script requires MEMOS_URL pointing to your Memos instance and MEMOS_ACCESS_TOKEN from your Memos account settings. Both must be exported before running any command, since every request uses Bearer token authorization.

Can I paginate through a large list of memos?▼

Yes, the list command supports --page-size and --page-token options. The JSON response includes a nextPageToken field when more results exist, which you pass to the next call to continue pagination.

What is the difference between soft delete and hard delete in Memos?▼

A plain delete command performs a soft delete, marking the memo as deleted while keeping it recoverable. Adding the --force flag sends force=true to the API, permanently removing the memo from the instance.