【必須】現在のアクティビティを完了にする、または完了にせず中断して寝かせる。「/af」「この作業完了」「クローズして」「一旦ここまで」「今日はここで止める」「いったん置いておく」など終える・中断する意図で発動。このスキルを経由せずにupdate_activityでcompleted・pending・snoozed・shelvedにしない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
CALMのプラグインを更新し、ローカルMCPサーバーを強制再起動する。プラグインを更新した後や、CALMのPRをマージした後、環境変数などの設定を変えた後に、反映が要るときはClaudeが自分で実行してよい(ユーザーが打ってもよい)。embeddingサーバーも停止され、新しいサーバーの起動直後に自動で立ち上がる。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
CALMのローカルMCPサーバー(52837)を強制的に再起動する。
PRマージ後の後片付け全体(worktree削除やgit pull等)はリポジトリのCLAUDE.mdの手順に従う。本スキルはサーバーの再起動だけを行う。
launcherの通常起動は「生きていれば何もしない」ensure動作のため、プラグインをアップデートした後もコード変更が反映されないことがある。このスキルは既存プロセスを明示的に終了させてから新規プロセスを起動する。
embeddingサーバー(52836)はMCPサーバーの再起動より前に必ず停止する。新しいMCPサーバーが起動直後に自動でembeddingサーバーを立ち上げて温めるため、embedding側のコード変更も反映される。
打ってよいのは次の2つのときだけ。
反映を待つものが無いなら、claude plugin update calm@calm-marketplace で更新だけして、再起動はサーバーの陳腐化 watchdog に任せる。watchdog は処理中の呼び出しが0件になるのを待って自動で再起動する(確認間隔は CALM_STALENESS_CHECK_INTERVAL_SEC、既定1時間)。設定を変えただけでコードの更新が無いときは、更新は省いてよい。
claude agents --json で生きているセッションを確かめる。確認は人に求めず、そのうえで自分の判断で進めるclaude plugin update calm@calm-marketplace を実行するmcp_server.started_at を確かめ、直近の再起動より後の時刻であれば、別の窓口が既に打った後なので打ち直さないBashツールは呼び出しをまたいでシェル変数を引き継がず、セッションの ${CLAUDE_PLUGIN_ROOT} は更新前の版を指したままのことがある。そのため以降のコマンドは、同じ呼び出しの頭で更新後の版のディレクトリ(installed_plugins.json の user スコープのエントリ)を取り直し、空なら止める。
PLUGIN_DIR=$(jq -r '[.plugins["calm@calm-marketplace"][] | select(.scope=="user")][0].installPath // empty' ~/.claude/plugins/installed_plugins.json) && [ -n "$PLUGIN_DIR" ] && uv run --directory "$PLUGIN_DIR" python "$PLUGIN_DIR/scripts/restart_server.py" --status
新しい版のディレクトリは依存が未同期のことがあるため、--no-sync は付けない(uv run が先に同期する)。同期に失敗してコマンドが落ちたら、再起動はせず中断し、出力をそのまま報告する。
上の条件を満たしたら、確認は取らずに以下をBashツールで実行する。
PLUGIN_DIR=$(jq -r '[.plugins["calm@calm-marketplace"][] | select(.scope=="user")][0].installPath // empty' ~/.claude/plugins/installed_plugins.json) && [ -n "$PLUGIN_DIR" ] && uv run --directory "$PLUGIN_DIR" python "$PLUGIN_DIR/scripts/restart_server.py"
外から終了させるため、watchdog の「処理中の呼び出しが0件になるまで待つ」ガードを通らない。停止の直前に処理中だった書き込みは、失敗に見えても DB には書かれていることがある。再起動の前後で失敗に見えた書き込みは、リトライする前に検索で記録があるかを確かめる(確かめずに再送すると重複する)。
既存のセッション(bgを含む)は通常、再接続の操作なしでつながり直すため、/mcp の再接続や bg の stop→respawn は要らない。呼び出しが固まったセッションがあったときだけ、次のとおり対処する(固まったかどうかの見分け方は末尾の節)。
/mcp からreconnectする。直らなければそのセッションを再起動するclaude stop <id> で止め、claude respawn <id> で会話を引き継いだまま起こし直す(依頼文の再送は不要)。respawnで短い参照(id)が変わることがあるので、SendMessage は新しい参照へ「get_config を呼んで疎通を確認して」と伝える。claude stop がauto modeのclassifierに止められたら、迂回せずユーザーに ! claude stop <id> を頼むSendMessage で「bgを起こし直した」と伝える(窓口の説明に書かれたbg一覧を直すため)スクリプトはJSON形式で結果を標準出力に返す。
uv_sync.ok が false: 依存関係の同期に失敗している。detail を伝えつつ、mcp_server の再起動自体は実行済みなのでその結果と合わせて報告するmcp_server.ok が true: 再起動成功。old_pids(旧プロセス)とnew_pids(新プロセス)をユーザーに簡潔に伝えるmcp_server.ok が false: 再起動失敗。detail の内容をそのままユーザーに伝え、--status での手動確認を促す。プラグイン更新直後の初回実行はvenv再構築が重く、稀にこのタイムアウトが起きることがある。その場合は再実行を促すembedding_server.stopped_pids は停止したembeddingサーバーのPID。空配列なら元々停止していただけなので触れなくてよいcaches は削除したパスの記録。特に問題なければ触れなくてよいorphaned_processes.stopped が空配列でない場合: 削除済みのプラグインディレクトリから動き続けていたプロセス(embeddingサーバー・MCPサーバー本体等)を検出して停止したことを伝える(pid・cwdで何を止めたか分かる)。launcherプロセス(各セッションのブリッジ)は対象外で、この一覧に出てくることはない。orphaned_processes.kept は、同種のプロセスのうち起動元ディレクトリがまだ存在していた(=孤児ではない)ものの記録で、特に問題なければ触れなくてよいplugin_cache_prune はプラグインキャッシュ旧バージョンの掃除結果(removed/skipped)。削除件数があれば一言触れる、空配列なら触れなくてよいCALMのツールが通るのを確かめてから、退避してあった分を流し込む。
--status の mcp_server.started_at とマージした時刻を突き合わせて確かめ、済んだものは消す自動でつながり直さなかった場合の例外として、再起動の前からいた接続が古いサーバーを掴んだままのことがある(対処は「直後」の節)。エラー文言がauto modeのclassifierの拒否のように見えても、実際は古いサーバーへの接続が固まっているだけのことがある。--status の mcp_server.started_at が今回の再起動時刻より前なら、その接続は古いサーバーを掴んだままだと分かる。
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
【必須】現在のアクティビティを完了にする、または完了にせず中断して寝かせる。「/af」「この作業完了」「クローズして」「一旦ここまで」「今日はここで止める」「いったん置いておく」など終える・中断する意図で発動。このスキルを経由せずにupdate_activityでcompleted・pending・snoozed・shelvedにしない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
【必須】新しいアクティビティを作成してcheck-inする。「/as」「新しい作業始める」「アクティビティ作って」「これやる」など新規作業の開始で発動。このスキルを経由せずにadd_activityを呼ばない(orchの起票はorch skillに従う)。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
【必須】open askを1件ずつ人間に提示し、回答をanswer_askで記録する。「askに答える」「open ask消化して」「溜まってるask片付けたい」などで発動。このスキルを経由せずにanswer_askを呼ばない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
【必須】add_askでaskを起票する前に、question/contextをテンプレートで組み立てる。離席中・セッション跨ぎでしか答えられない判断が出たときや、「これ聞いといて」「判断委譲しといて」「後で確認して」などで発動。このスキルを経由せずにaskの文面を書かない(メタaskを除く)。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
add_askの応答のsimilar_asksを見て、同型の問いが繰り返され裁定が一貫していると気づいたとき、判例をまとめてメタask(kind="meta")を起票する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
人間の判断待ちaskの受け箱をMonitorで監視し、判断構造が同じopen askが溜まっていればメタaskを起票する。「ask storeを監視して」「asksを見張って」「open askの滞留をチェックして」などで発動。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.