← ClaudeAtlas

restartlisted

Restart claude with a resume command: under the NDF relay the switch is automatic, otherwise show the steps and the text to paste. Claude Code only. Use when plugin updates must take effect or the context should be cut(再起動・会話を切り替える・プラグインの更新を反映).
devbasex/ai-plugins · ★ 1 · API & Backend · score 68
Install: claude install-skill devbasex/ai-plugins
# 再起動して続きから始める **中継(`relay.py`)の下では、この応答の最後に出す `ndf-next` のブロック 1 つで、claude の 終了・プラグインの更新・起動し直し・再開用のコマンドの入力までが人の入力なしで進む。** 経路は 区間の切れ目と同じである([relay.md](../development-workflow/references/relay.md))。 例: 中継の下で `/ndf:restart` を打つ(`/goal /ndf:development-workflow #928` の会話)。 1. `relay.py notice` の 1 行目で中継の下と判定し、2 行目(「約 5 秒後に自動で新しい会話へ切り替わる。…」)を示して、最後に次のブロックを出して応答を終える ````text ```ndf-next /goal /ndf:development-workflow #928 ``` ```` 2. 中継が静まりを待ってから `/exit` を入力し、プラグインを更新して、ブロックの中身を最初の入力にした claude を起動する ## 引数 引数は再開用のコマンドである(複数行でよい)。無ければ下の「再開用のコマンドの決め方」で作る。 **引数で渡された中身は利用者の入力として扱い、書き換えない。** ## 手順 ### 1. 中継の下かを判定する **ブロックを出す前に、必ず次の Bash を 1 回実行する。** 判定を飛ばしてブロックを出さない (Claude Code 2.1.281 の haiku で、判定を飛ばしてブロックだけを出した例がある)。 ```bash PLUGIN_ROOT='${CLAUDE_PLUGIN_ROOT}' case "$PLUGIN_ROOT" in '$'*) PLUGIN_ROOT= ;; esac [ -n "$PLUGIN_ROOT" ] && python3 "$PLUGIN_ROOT/scripts/relay.py" notice || echo outside ``` 1 行目が判定(`relay` / `outside`)、2 行目が告知の 1 文である。`NDF_RELAY_DIR` があるだけでは 決めない。中継が動いていて、この claude がその直接の子のときだけ 1 行目が `relay` になる。 1 行しか出なかったとき(`relay.py` を呼べなかった)は中継の外として扱う。 ### 2. 再開用のコマンドを決める(引数が無いとき) 上から最初に当たるものを使う。 | # | 会話の状態 | 再開用のコマンド | | ---: | --- | --- | | 1 | `/goal` の目標がある | その目標の入力をそのまま(`/goal /ndf:development-workflow #928` など)。引継ぎ文書を名指ししていれば「<文書> の続きから」を足す | | 2 | 課題・作業ツリー・Pull Request が会話にある | **定型の 1 文だけ:** 「<課題番号・作業ツリーのパス・Pull Request の URL> の続きから始める。状態は課題の本文の `## 進行` と Pull Request を読む」。山括弧の中に入れてよいのは番号・パス・URL だけ | | 3 | どれも無い | 「再開用のコマンドを引数で渡す(