Pin Memo:Claude Code ピン留めメモとTODOを入力欄の上に
/pin でClaude Codeの入力欄の上にメモとクリックできるTODOチェックボックスをピン留め。セッションごとに保存。
権限
- UI を変更Claude Code の画面に描画します。バンド、ペイン、ステータス表示、トーストなど(ui.render / $.ui.*)。
- コマンド・ツールを追加あなたや Claude が呼び出せる新しいスラッシュコマンドやツールを登録します($.command.register / $.tool.register)。
- データを保存プラグイン専用のストアにセッションをまたいでデータを保持します($.store.*)。
- 検証バージョン
- v2.1.303
- 最終検証日
- 必要バージョン
- Claude Code ≥ 2.1.287
- 表示先
- プロンプト上部
Claude Code 内でインストール:
/plugin install pin-memo --marketplace YeonwooSung/my-claude-code-modsこのModでできること
Pin Memo は、Claude Code ピン留めメモを使えるようにするコミュニティModで、作者はYeonwooSung(GitHub)です。my-claude-code-mods コレクションの1つのプラグインです。/pin Remember to run tests と入力すると、メモは入力欄の上の青緑色の枠付きバンドに残り、会話がスクロールしても見え続けます。
メモはTODOにもできます。/pin - [ ] Check login flow で未チェックの項目を、/pin - [x] Update docs で完了済みの項目を追加します。完了したTODOは薄く表示され、取り消し線が付いたまま残り、バンドのタイトルにはピン留め数と完了数が表示されます。[ ] をクリックするか、ctrl+x tab でバンドにフォーカスするか、/pin toggle <id> でチェックできます。
リストはセッションに属します。作業フォルダとセッションIDをキーにしてプラグイン専用のストアへ保存されるので、同じフォルダで同じセッションを再開するとメモが戻り、新しいセッションや /clear では空のリストから始まります。考え方は当サイトの After に近いものの、こちらは単なるリストで、何かを予約することも、メモをClaudeに送ることもありません。バンドはターミナルとデスクトップアプリに描画されます。作者によると、VS Codeのチャットやヘッドレスセッションではコマンドと保存されたリストを使えます。
デモ
録画では、小さなデモプロジェクトでModを読み込んだClaude Codeを起動し、モデルのターンなしで /pin を4回実行します。まず /pin Remember to run tests で通常のメモをピン留めすると、Claude Codeが「메모 #1 고정」(メモ #1 を固定)と確認し、タイトル「핀 1 (완료 0)」のバンドが現れます。次にTODOを2つ、- [ ] Check login flow と - [ ] Update docs を追加し、バンドは3行になります。最後に /pin toggle 3 で最後のTODOにチェックを入れると、タイトルが「핀 3 (완료 1)」に変わり、その行は薄くなって取り消し線が付きます。録画では、チェックボックスのボタンが各TODOの文字の1行上に描かれています。
インストール
インストールブロックのどの方法でも使えます。いずれも作者自身のマーケットプレイスから直接インストールします。何かをピン留めするとバンドが現れ、/pin はセッション開始時に登録されます。
$ install pin-memo
Claude Code 2.1.287 以上が必要
作者のマーケットプレイスからインストール: YeonwooSung/my-claude-code-mods
1.Claude Code 内で1行
/plugin install pin-memo --marketplace YeonwooSung/my-claude-code-mods実行中のセッション(v2.1.275 以降)に貼り付けます。最初に Claude Code がマーケットプレイスの追加を確認します。
2.シェルから
claude plugin marketplace add YeonwooSung/my-claude-code-mods claude plugin install pin-memo@my-claude-code-modsその後、すでに開いているセッションでは /reload-plugins を実行してください。
3.インストールせずに試す
git clone https://github.com/YeonwooSung/my-claude-code-mods claude --plugin-dir ./my-claude-code-mods/pin-memoその1セッションだけ Mod を読み込みます。設定には何も追加されません。
仕組み
hooks/register.tsx のアダプターが、session.start で /pin を登録し、command.run で応答し、AbovePrompt の位置にバンドを描画します。保存キーはフォルダとセッションIDから作られ、hooks/core/controller.ts にあります。
export function storeKey(cwd: string, id: string): string {
if (!cwd || !id || !/^(?:\/|[A-Za-z]:[\\/])/.test(cwd)) throw new Error('세션 폴더와 ID를 확인할 수 없습니다.')
// ...trailing slashes are trimmed from the folder...
return `pin-memo:v1:${JSON.stringify([folder, id])}`
}コマンドは hooks/core/memo.ts の純粋関数で解析され、キューを通じて順番に実行されるため、続けて入力したコマンドもすべて保存されます。変更はストアに書き込まれてから完了として報告され、書き込みに失敗した場合は以前の状態が保たれ、エラーのトーストが出ます。検証に失敗した保存済みドキュメントはエラーとして表示され、/pin clear を実行するまで上書きされません。古いチェックボックスのハンドルは現在のセッションと照合されるため、期限切れのクリックで別のセッションのリストが変わることはありません。プロンプトの上にアンケートが開いている間、バンドは場所を譲ります。
カスタマイズ
/config にオプションはありません。コマンドは /pin <memo>、/pin add <memo>(コマンド語で始まる文章用)、/pin list、/pin toggle|check|uncheck|remove <id>、/pin edit <id> <memo>、/pin clear、/pin help です。チェックボックスの印なしでメモを編集すると、TODOが通常のメモに戻ります。見た目を変えるには、register.tsx の色(枠は #62B8AD、背景は #1D2029)や、hooks/core/view.ts と hooks/core/memo.ts の韓国語ラベルを編集してください。
権限と安全性
実行前に、プラグインが実行しうるすべてのファイルを読みました。.claude-plugin/plugin.json、hooks/hooks.json、hooks/register.tsx、hooks/core/controller.ts、memo.ts、view.ts、そしてテストです。package.json、インストールスクリプト、バイナリ、バンドルされたコードはなく、読めなかった部分もありません。
UIを変更するはバンドを指します。コマンドを追加するは /pin を指します。Modは $.session.cwd と $.session.id で保存キーを作り、$.store でリストを保存します。ネットワークは使わず、プロセスやシェルコマンドも実行せず、ファイルも書かず、環境変数やシークレットも読まず、テレメトリも送らず、バックグラウンドサービスも動かさず、ツール呼び出しやプロンプトのブロックや書き換えもせず、モデルのコンテキストにテキストを追加することもありません。知っておくべき点は、メモがプラグインストアにプレーンなJSONで保存されることなので、シークレットはピン留めしないでください。リポジトリのルートにはApache-2.0のLICENSEがあり、再配布が許可されています。claude plugin validate はエラーも警告も報告せず、作者の29件のテストはClaude Code 2.1.303ですべて通りました。
- UI を変更
- Claude Code の画面に描画します。バンド、ペイン、ステータス表示、トーストなど(ui.render / $.ui.*)。
- コマンド・ツールを追加
- あなたや Claude が呼び出せる新しいスラッシュコマンドやツールを登録します($.command.register / $.tool.register)。
- データを保存
- プラグイン専用のストアにセッションをまたいでデータを保持します($.store.*)。
互換性とトラブルシューティング
macOS上のClaude Code 2.1.303で確認しました(validate、テスト、デモ録画)。作者のREADMEには2.1.292と書かれています。うまくいかない場合:
- 何も表示されない:バンドはメモが1件以上あるときだけ表示されます。
/pin helpを実行してから何かをピン留めしてください。 - メモが消えた:新しいセッションや
/clearには別のリストがあります。同じフォルダで以前のセッションを再開すると元のリストが戻ります。別のシンボリックリンク経由のフォルダは別のフォルダとして扱われます。 - バンドはVS Codeのチャットやヘッドレス実行では表示されませんが、
/pin listは使えます。 - 「セッションが変わりました」や「保存されたメモを読み込めません」と表示された場合は、フォルダやセッションIDを読み取れなかったか、保存されたドキュメントが壊れています。コマンドを再実行するか、
/pin clearで壊れたリストをリセットしてください。 - 2つのプロセスが同じセッションを編集してもリアルタイム同期はなく、最後の書き込みが優先されます。
よくある質問
- ピン留めしたメモはモデルに送られますか?
- いいえ。作者のREADMEには、メモは自動ではモデルのコンテキストに入らないとあり、コードにもプロンプトへ追加する処理は見つかりませんでした。メモはバンドと /pin list の出力にだけ表示されます。
- メモはどこに保存されますか?
- $.store を通じてプラグイン専用のストアに、作業フォルダとセッションIDから作ったキーで保存されます。Mod自身はファイルを書かず、ネットワークやシェルのコードもありません。
- Claude Codeを再起動してもメモは戻りますか?
- 同じフォルダで同じセッションを再開した場合だけ戻ります。新しいセッションや /clear では空のリストになり、古いセッションを再開するとそのメモが戻ります。
- いくつまでピン留めできますか?
- 最大100件で、1件は2,000文字までです。削除してもIDは再利用されず、自動的に期限切れにもなりません。
- なぜバンドが韓国語なのですか?
- 作者がUI文字列を韓国語で書いているためです。たとえばタイトルの「핀 3 (완료 1)」は「3件ピン留め(1件完了)」の意味で、各コマンドの後の確認メッセージも韓国語です。コマンド、メモの本文、チェックボックスはどの言語でも使え、固定なのはこれらのラベルだけです。
# 関連する Mod
おすすめAfter
Claude Code 用のプロンプトキュー。/after は現在のターンが終わってから次のタスクを実行し、作業の邪魔をしません。
- プロンプト上部
- ペイン
- トースト
- ステータス
- モデルを呼び出す(利用枠を消費)
- プロンプトを読み取る
- UI を変更
- コマンド・ツールを追加
- データを保存
v2.1.303 で検証済み
同じカテゴリの Mod: タイマー、ToDo、スタンドアップ、スラッシュコマンド。