Memos
Manage memos via the Memos API: create, retrieve, delete, and list memos with visibility and pagination support, requiring MEMOS_URL and MEMOS_TOKEN.
技能说明
SKILL.md for the Memos skill
Purpose
This skill provides a simple interface to the Memos API (https://usememos.com/docs/api). It lets you create, read, delete, and list memos from OpenClaw.
How it works
- The skill is implemented in Python and uses the
requestslibrary. - It requires two environment variables:
MEMOS_URL– REQUIRED. Base URL of your Memos instance (e.g.,https://demo.usememos.com).MEMOS_TOKEN– REQUIRED. Personal access token for authentication.
- If either
MEMOS_URLorMEMOS_TOKENis not set, the skill will abort with a clear error.
Commands
| Command | Description | Usage example | cd |
|---|---|---|---|
create <content> [visibility] | Create a new memo. visibility defaults to PUBLIC (options: PRIVATE, PROTECTED, PUBLIC). The tag #openclaw is appended automatically. | openclaw skill-run create "Hello world" "PUBLIC" | |
get <id> | Retrieve a memo by its ID. ID can be in format memos/123 or just 123. | openclaw skill-run get 123 | |
delete <id> [force] | Delete a memo. Optional force (true/false) will delete even if it has associated data. | openclaw skill-run delete 123 true | |
list [pageSize] | List memos with pagination. pageSize defaults to 20 (max 1000). | openclaw skill-run list 50 |
Direct Python Usage
You can also run the commands directly with Python:
# Create a memo
python3 skills/memos/memos.py create "My memo content" "PUBLIC"
# Get a memo by ID
python3 skills/memos/memos.py get j9THXDmYtueosTTeHcC5NA
# Delete a memo
python3 skills/memos/memos.py delete j9THXDmYtueosTTeHcC5NA
# Delete with force
python3 skills/memos/memos.py delete j9THXDmYtueosTTeHcC5NA true
# List memos (default 20)
python3 skills/memos/memos.py list
# List with custom page size
python3 skills/memos/memos.py list 50
All commands return JSON output on success and JSON error messages on stderr when errors occur.
Referencing Memos in OpenClaw
When you create or retrieve a memo, the API returns a memo object with a uid field. To reference a memo in OpenClaw's output, format it as a markdown link:
[memo description](https://demo.usememos.com/memos/{uid})
Example:
If the API returns {"uid": "ABC123xyz", "name": "memos/ABC123xyz", ...}, reference it as:
Created [your memo](https://demo.usememos.com/memos/ABC123xyz)
The URL format is: {MEMOS_URL}/memos/{uid} where uid is extracted from the response.
Error handling
The skill includes comprehensive error handling:
- API Errors: Returns detailed error messages including HTTP status codes and API response details
- Network Errors: Handles timeouts (30s default) and connection failures
- Validation: Validates parameters before making API calls (e.g., visibility options, pageSize range)
- Exit codes: Returns 0 on success, 1 on error when run from command line
- Error output: All errors are output as JSON to stderr for easy parsing
Example error responses:
{
"error": "Memos API Error",
"message": "HTTP 404: Not Found - Memo not found",
"status_code": 404
}
Extending the skill
- Add new commands by following the pattern of existing ones.
- If the Memos API adds new endpoints, you can create corresponding functions.
NOTE: This skill is meant for personal use; never share your MEMOS_TOKEN publicly.
如何使用「Memos」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Memos」技能完成任务
- 结果即时呈现,支持继续对话优化