本文へ移動
cccskills
無料GitHub で公開

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. 寿命を決めて起動する.どちらの形でもログ・終了コードの刻印は下の「実行の正典」に従う.

    • セッション内: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 がログから復元する.迷ったら分離を選ぶ(ジョブを失わない側に倒す).

  2. 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回程度に落ちるマイルストーンだけを選ぶ.
  3. 状況把握手段を案内する:対象がライブダッシュボード・TensorBoard・進捗 URL 等を自分で提供していないか探す(生成される HTML/JSON,ログ冒頭の URL).見つかればその URL を,無ければログの場所と所要時間の見積もり(過去の同種実行や進捗の速度から分かるとき)を一言で伝える.確認は求めず,伝えるだけでよい.

  4. 終了したらログ全文と成果物を照合する:ops-exit= の値(またはハーネスの完了通知)を鵜呑みにせず,ログを実際に読んで裏取りする.完了時に生成されるはずの成果物(チェックポイント・出力ファイル等,特定できるとき)が実在するかも確かめる——ログにエラーが無いことは成果物の存在を保証しない.

  5. 離席が見込まれたジョブは,成功・失敗を問わず完了時に1回 PushNotification を送る(status: "proactive",200字以内):離れている間に終わったことこそ知らせるべき情報である.失敗ならどこで何が起きたかの要点を,成功なら主要な結果(accuracy 等)を一言で.ユーザーが今まさに会話中で見ているものには送らない.

  6. 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 を呼ぶ.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

clean

無料日本語概要

このマシンに溜まった Claude Code の履歴・痕跡・キャッシュを,何を消すか列挙して承認を得たうえで消し,ログイン・設定・導入済みプラグインは残す.「Claude Code の履歴を消して」「痕跡を掃除して」など,Claude Code がローカルに残したものの削除を明示的に求められたときだけ使う——「クリーンアップして」等の一般の整理の依頼では発動しない.実行中ジョブのログを見たいだけなら /ops:progress を使う.

tomoking2004/claude-plugins32026年7月23日 更新

code

無料日本語概要

コード(スクリプト・設定含む)を美の基準で走査し,公開挙動を保ったまま最も美しい確定版へ仕上げる.「コードを完璧にして」「リファクタして美しく」「コードを洗練して」など,コードの仕上げを求められたときに使う(単発の小修正には使わない).

tomoking2004/claude-plugins32026年7月23日 更新

commit

無料日本語概要

変更を意味単位のコミットに分割し,各メッセージを全文で提案.承認後にステージ〜コミットのみ実行する(push しない).「コミットして」「変更を記録して」など,記録を求められたときに使う(スキル名の指定は要らない)——素の git commit で済ませない.版を公にするなら /capstone:release を使う.

tomoking2004/claude-plugins32026年7月23日 更新

complete

無料日本語概要

複数の媒体(レポート・コード等)にまたがる大学の課題を,出題文・採点基準に照らして過不足なく仕上げる.要求を媒体へ割り当て,assignment プラグインの対応スキルへ委譲し,媒体間の継ぎ目を走査して一つの提出物として確定する.「この課題をやって」「課題を完璧に仕上げて」など,課題まるごとを任されたときに使う(単一媒体なら /assignment:report ・ /assignment:program を直接使う).

tomoking2004/claude-plugins32026年7月23日 更新

docs

無料日本語概要

参照文書(README・SKILL.md・API 文書・Markdown 全般)を美の基準で走査し,最も美しい確定版へ仕上げる.「READMEを完璧にして」「ドキュメントを美しくして」など,文書の仕上げを求められたときに使う(単発の小修正には使わない).

tomoking2004/claude-plugins32026年7月23日 更新

impl

無料日本語概要

固まった方針に対して実装が正しいかを走査・改善する.「実装を確認して」「コードは合ってる?」「これで動く?」など,実装のレビューや改善を求めたときに使う.理論の方向性を議論したいときは /groundwork:theory を使う.

tomoking2004/claude-plugins32026年7月23日 更新

tomoking2004 のスキルをすべて見る

このスキルの問題を報告する