memos について
memos は、REST API 経由で Memos インスタンスを操作するコマンドラインスキルです。メモの管理に加え、コメント、リアクション、添付ファイル、関連付けも扱えます。
主な機能
- 01メモの一覧表示、絞り込み、ページ分割
- 02メモの作成、取得、更新、削除
- 03コメントとリアクションの管理
- 04添付ファイルとメモの関連付け管理
活用シーン
- 01状態や公開範囲でメモを検索
- 02公開・非公開メモの作成や編集
- 03コメントやリアクションの確認・追加
- 04添付ファイルやメモ間の関連を更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ akhy/ agent-skills --skill memosインストール後、Claude Code で/memosを入力して読み込まれたか確認します。
同梱ファイルscripts/memos.sh
詳細
Memos スキル
Memos インスタンスと REST API(/api/v1/memos)を介してやり取りします。
前提条件
このスキルを使用する前に、次の環境変数を設定してください。
export MEMOS_URL="https://memos.example.com"
export MEMOS_ACCESS_TOKEN="your_access_token" # from Memos account settings
すべてのリクエストで Authorization: Bearer $MEMOS_ACCESS_TOKEN を使用します。
スクリプト
すべての操作は scripts/memos.sh を通じて行います。bash memos/scripts/memos.sh <command> [options] で実行してください。
引数なしで実行すると、使用方法の全体が表示されます。
bash memos/scripts/memos.sh --help
操作
メモの一覧表示
# 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
メモの作成
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(デフォルト:PRIVATE)
メモの取得
bash memos/scripts/memos.sh get memos/123
メモのリソース名は memos/{id} の形式です。
メモの更新
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
updateMask には、指定されたフィールドのみが送信されます。
メモの削除
# Soft delete
bash memos/scripts/memos.sh delete memos/123
# Hard delete
bash memos/scripts/memos.sh delete memos/123 --force
コメント
# List comments
bash memos/scripts/memos.sh comments memos/123
# Post a comment
bash memos/scripts/memos.sh comment memos/123 --content "Great memo!"
リアクション
# 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
添付ファイル
# 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"
関連付け
# 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"}]'
ページネーション
一覧表示コマンドでは --page-size N と --page-token TOKEN を使用できます。さらに結果がある場合、レスポンスには nextPageToken が含まれます。
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"
フィルタリング
--filter で AIP-160 のフィルター式を使用します。
bash memos/scripts/memos.sh list --filter 'state == "NORMAL"'
bash memos/scripts/memos.sh list --filter 'visibility == "PUBLIC"'
レスポンス形式
すべてのレスポンスは JSON です。jq に渡してフィールドを抽出できます。
# 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'
コメント
Markdown 対応