このマシンに溜まった Claude Code の履歴・痕跡・キャッシュを,何を消すか列挙して承認を得たうえで消し,ログイン・設定・導入済みプラグインは残す.「Claude Code の履歴を消して」「痕跡を掃除して」など,Claude Code がローカルに残したものの削除を明示的に求められたときだけ使う——「クリーンアップして」等の一般の整理の依頼では発動しない.実行中ジョブのログを見たいだけなら /ops:progress を使う.
exec
数十秒を超えて走るプログラム・スクリプト(学習・評価・データ処理・サーバ等)をログを残す形で起動し,異常の早期検知と完了報告まで担う.「実行して」「動かして」「学習を回して」など,明示の有無に関わらず自動適用する.数十秒で終わる実行(テスト・ビルド・lint 等)は対象外.既に動いているものの状況を知りたいだけなら /ops:progress,UI を見た目で確かめたいだけなら組み込みの run スキルを使う.
インストール方法を見る含まれるファイル(1)
- SKILL.md8.3 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
対象:ユーザーが実行を求めたプログラム・スクリプトのうち,数十秒を超えて走るもの——学習・評価・データ処理・サーバ等,起動したまま会話を続けたり離席したりし得る実行.
このうち常駐するもの(サーバ・デーモン・監視プロセス)には「完了」が無い——手順4・5(完了照合・完了通知)は適用せず,起動を確認したら Monitor が異常だけを見張り続ける(ops-exit= が出たなら,それは正常終了ではなく落ちた合図である).
対象外:数十秒で終わる実行——テスト・ビルド・lint・ワンライナー・git 操作など,結果をその場で見て次の一手を決めるもの.通常のフォアグラウンド実行で足りる(/refine:code ・ /assignment:program ・ /groundwork:impl 等が行う実行確認はここに属し,本スキルを挟まない).所要時間が読めなければまず短命として実行し,数十秒で返らなければ中断して本スキルで起動し直す.
手順
-
寿命を決めて起動する.どちらの形でもログ・終了コードの刻印は下の「実行の正典」に従う.
-
セッション内:1時間以内に終わると見込めるもの.Bash を
run_in_background: trueで起動する——ハーネスが完了時に通知する.セッションを閉じるとジョブも終わる. -
分離:1時間を超えうるもの,またはユーザーの離席・セッション終了が見込まれるもの.親シェルから切り離し,セッションが閉じてもジョブを残す——切り離せているかは,別の Bash 呼び出し(=新しいシェル)からプロセスがまだ見えることで確かめる:
mkdir -p logs; nohup sh -c '<コマンド> > logs/<名前>.log 2>&1; echo "ops-exit=$?" >> logs/<名前>.log' > /dev/null 2>&1 & echo $! > logs/<名前>.pid区切りは
;であって&&ではない——&&で繋ぐと&がその AND リスト全体をバックグラウンドに送り,echo $!がmkdirより先に走ってlogs/不在で落ちる(かつ$!がジョブでなくサブシェルを指す).この形はハーネスの完了通知を持たない——完了は手順2の Monitor が
ops-exit=で拾い,セッションが閉じた後は /ops:progress がログから復元する.迷ったら分離を選ぶ(ジョブを失わない側に倒す).
-
-
Monitor を張る:
persistent: trueを必ず指定する——既定5分・上限1時間のタイムアウトでは長時間ジョブの後半を見失う.tailは-n +1 -Fでログの冒頭から読む——起動直後の即死(import エラー・パス誤り・権限)が Monitor を張る前に済んでいても取りこぼさない.したがって起動後に待って生存確認する手順は要らない(フォアグラウンドのsleepはハーネスで禁じられており,そもそも打てない).tail -n +1 -F logs/<名前>.log | grep -E --line-buffered "<進捗マイルストーン>|ops-exit=|Traceback|Error|Exception|Killed|OOM|Segmentation fault|Fatal"- 失敗を必ず捕らえる:「今このジョブがクラッシュしたらこの grep は何か出すか」を問う——出ないなら広げる.
ops-exit=は常に含める:これがあれば,正常終了も異常終了もハングも,沈黙のまま見過ごされることがない. - 進捗は間引く:毎ステップ出る行を入れてはならない.Monitor はイベントが溢れると自動停止され,肝心の失敗を取り逃す.エポック完了・評価結果など,数分に1回程度に落ちるマイルストーンだけを選ぶ.
- 失敗を必ず捕らえる:「今このジョブがクラッシュしたらこの grep は何か出すか」を問う——出ないなら広げる.
-
状況把握手段を案内する:対象がライブダッシュボード・TensorBoard・進捗 URL 等を自分で提供していないか探す(生成される HTML/JSON,ログ冒頭の URL).見つかればその URL を,無ければログの場所と所要時間の見積もり(過去の同種実行や進捗の速度から分かるとき)を一言で伝える.確認は求めず,伝えるだけでよい.
-
終了したらログ全文と成果物を照合する:
ops-exit=の値(またはハーネスの完了通知)を鵜呑みにせず,ログを実際に読んで裏取りする.完了時に生成されるはずの成果物(チェックポイント・出力ファイル等,特定できるとき)が実在するかも確かめる——ログにエラーが無いことは成果物の存在を保証しない. -
離席が見込まれたジョブは,成功・失敗を問わず完了時に1回 PushNotification を送る(
status: "proactive",200字以内):離れている間に終わったことこそ知らせるべき情報である.失敗ならどこで何が起きたかの要点を,成功なら主要な結果(accuracy 等)を一言で.ユーザーが今まさに会話中で見ているものには送らない. -
Monitor を止める:プロセス終了を確認したら TaskStop で閉じる.
実行の正典
- シェル:起動も監視も Bash ツール(Windows では Git Bash)で行う——POSIX のコマンドが両プラットフォームで通る.
- ログ:
logs/<名前>.logにリダイレクトだけで書き出す(> logs/<名前>.log 2>&1).| tee等の中継パイプは付けない——パイプラインの終了コードは最後のコマンドのものになり,本体の異常終了が 0 にマスクされる.logs/が git 管理下に入るなら.gitignoreへの追加を促す(実行の痕跡であって成果物ではない). - 終了コードの刻印:本体の直後に
echo "ops-exit=$?" >> logs/<名前>.logを必ず続ける——これがログだけから完了・失敗を判定できる唯一の痕跡であり,Monitor の完了シグナルであり,セッションが尽きた後に /ops:progress が拾う手掛かりになる. - 起動はこちらが打つ:ユーザーがターミナルで直接起動したプロセスの標準エラーは,そのセッションと共に失われ後から追跡できない.
自己点検
- 対象判定:数十秒で終わる実行に本スキルを被せていないか.
- 寿命判定:離席が見込まれるのにセッション内モードで起動していないか.
- Monitor の広さ:失敗シグネチャと
ops-exit=を含み,クラッシュ時に必ず何か出るか. - Monitor の細かさ:進捗行が細かすぎてイベントが溢れないか.
- 沈黙を成功と読まない:完了は
ops-exit=と成果物の実在で裏取りしたか.
制約
- 会話は止めない:起動・監視・案内(手順1〜3)を終えたら完了を待たず,指示も待たずに通常の会話を続ける——手順4以降はジョブが終わった時点で働く.状況確認が来たら /ops:progress の手順で答える.
- 不可逆・有償・占有は起動前に承認を得る:データの削除・上書き,本番環境への反映,課金の発生する実行(API の大量呼び出し・クラウド計算資源),GPU 等の長時間占有を伴うなら,何が起きるかを告げて承認を得てから起動する——バックグラウンドで走り出したものは取り消しが利きにくい.
- 実行内容そのもの(コマンド・引数・設定)は勝手に変えない.変える必要があれば問う.
失敗時
/heal:skill を呼ぶ.
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
コード(スクリプト・設定含む)を美の基準で走査し,公開挙動を保ったまま最も美しい確定版へ仕上げる.「コードを完璧にして」「リファクタして美しく」「コードを洗練して」など,コードの仕上げを求められたときに使う(単発の小修正には使わない).
変更を意味単位のコミットに分割し,各メッセージを全文で提案.承認後にステージ〜コミットのみ実行する(push しない).「コミットして」「変更を記録して」など,記録を求められたときに使う(スキル名の指定は要らない)——素の git commit で済ませない.版を公にするなら /capstone:release を使う.
複数の媒体(レポート・コード等)にまたがる大学の課題を,出題文・採点基準に照らして過不足なく仕上げる.要求を媒体へ割り当て,assignment プラグインの対応スキルへ委譲し,媒体間の継ぎ目を走査して一つの提出物として確定する.「この課題をやって」「課題を完璧に仕上げて」など,課題まるごとを任されたときに使う(単一媒体なら /assignment:report ・ /assignment:program を直接使う).
参照文書(README・SKILL.md・API 文書・Markdown 全般)を美の基準で走査し,最も美しい確定版へ仕上げる.「READMEを完璧にして」「ドキュメントを美しくして」など,文書の仕上げを求められたときに使う(単発の小修正には使わない).
固まった方針に対して実装が正しいかを走査・改善する.「実装を確認して」「コードは合ってる?」「これで動く?」など,実装のレビューや改善を求めたときに使う.理論の方向性を議論したいときは /groundwork:theory を使う.