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

org-resume

中断された組織を再開する。.state/org-state.md が存在し Status: SUSPENDED のとき、 「再開」「続きから」「前回どこまでやった?」と言われたときに使う。起動時の自動ブリーフィングにも対応。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

org-resume: 組織の再開

中断された組織の状態を読み込み、人間にブリーフィングし、再開する。

state DB 前提 (Issue #267 / M4): .state/state.db が唯一の SoT。 read 経路は DB のみ (markdown fallback は M4 で撤去)、構造化セクションの write 経路は StateWriter.transaction() 経由(post-commit hook が .state/org-state.md を DB から自動再生成、markdown 直接編集禁止 — drift_check が検出する)。free-form な学び / Pending Lead 等は notes/ 配下に保存する。.state/journal.jsonl は M4 で廃止。 DB が無い場合は python -m tools.state_db.importer --db .state/state.db --rebuild --no-strict で構築する。

Phase 1: 状態読み込みとブリーフィング

  1. state schema migration を実行する(Set C §4.4 契約)。.state/ 配下の JSON 状態を最新スキーマへ揃えてから読み込みに入る:

    py -3 tools/state_migrate.py    # Windows
    python3 tools/state_migrate.py   # Mac/Linux
    

    exit 0 なら続行。exit 1(未対応 version 残存)/ exit 2(migration ループ異常)なら人間に報告して停止する。

  2. DB から前回状態を取得する(Phase 1 は軽量 briefing API、Issue #412):

    • .state/state.db が存在 → DB をクエリ:
      python -c "from tools.state_db import connect; from tools.state_db.queries import get_resume_briefing_light; import json; \
        conn = connect('.state/state.db'); \
        print(json.dumps(get_resume_briefing_light(conn), ensure_ascii=False, indent=2, default=str))"
      
      active_runs / reserved_runs / recent_events / last_suspend_summary でブリーフィング素材を作る。 session には Status / Current Objective / suspended_at / resumed_at / resume_summary が圧縮されて入る(raw resume_instructions 本文と raw event payload_json は含まれない)。 active_inventory_dirs は runs.status から逆引きした worker_dir 集合(state-semantics-contract I7 — worker_dirs.lifecycle='active' ではない)。 必要があれば(極稀ケース)get_resume_briefing で raw payload / 完全な resume_instructions を取得できるが、起動時 Phase 1 では使わない。
    • DB が無い → 人間に rebuild を促す: 「state.db not found. Run: python -m tools.state_db.importer --db .state/state.db --root . --rebuild」
  3. 人間に簡潔なサマリーを提示する:

    • 全体の目標 (briefing の session.objective)
    • 各作業アイテムの状態 (完了/進行中/保留/ブロック、briefing の active_runs / reserved_runs)
    • 中断時刻 (briefing の last_suspend_summary.occurred_at、reason / counts も同 dict)
  4. notes/ 配下にある自由記述 (学び / Pending Lead / セッションサマリー) を確認する

Phase 2: 現実との照合

DB の active_runs を SoT として照合し、markdown は表示用補助とする。

  1. DB から取得した active_runs(または markdown の Worker Directory Registry)を起点に、各 run の worker_dir を確認する
  2. .state/workers/ 内の各ワーカー状態ファイルも参照する(旧経路)
  3. 各ワーカーの作業ディレクトリで以下を確認:
    • ディレクトリが存在するか
    • git status — 未コミットの変更があるか
    • git log --oneline -5 — 最後のコミットは run の commit_short / 状態ファイルと一致するか
    • ブランチは run の branch / 状態ファイルの記述と一致するか
  4. knowledge/raw/ に未整理のファイルがあるか確認
  5. 差異があれば人間に報告する(例: 「DB ではOAuth run が in_use ですが、ディレクトリが存在しません」)

Phase 3: 再開計画の提案

状態に応じて提案を分ける:

  • COMPLETED: 結果を報告するのみ
  • IN_PROGRESS(中断済み): 「未コミットの変更があります。ワーカーを派遣して続行しますか?」
  • PENDING: ブロッカーの状態を確認し、実行可能か判断
  • BLOCKED: ブロッカーの解消状況を確認

重要: 人間の確認を待ってから行動すること。勝手にワーカーを派遣しない。

Phase 4: 組織の再構築

人間が承認した作業について:

  1. /org-delegate スキルでワーカーを派遣

  2. 新ワーカーには前回のワーカー状態ファイル(.state/workers/worker-{id}.md)の内容をコンテキストとして渡す

  3. DB に Status / Resumed を書く(StateWriter.transaction() 経由。post-commit hook が .state/org-state.md の Status 行を ACTIVE に更新する。regen 失敗時も DB は確定済みで stderr 警告のみ):

    python -c "
    from datetime import datetime, timezone
    from pathlib import Path
    from tools.state_db import connect
    from tools.state_db.writer import StateWriter
    ts = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%fZ')
    conn = connect('.state/state.db')
    with StateWriter(conn, claude_org_root=Path('.')).transaction() as w:
        w.update_session(status='ACTIVE', resumed_at=ts, updated_at=ts)
    "
    
  4. JSON スナップショットを再生成する(dashboard 用。state-db cutover とは別経路):

    py -3 dashboard/org_state_converter.py    # Windows
    python3 dashboard/org_state_converter.py   # Mac/Linux
    
  5. ディスパッチャー・キュレーターペインの起動は /org-start が担当するため、ここでは行わない

  6. resume イベントを DB に追記 (tools/journal_append.py は M4 で DB-only ルーティング。ts は自動付与):

    py -3 tools/journal_append.py resume \
        --json '{"resumed_items": ["blog-redesign", "data-analysis"]}'
    

    event 名と payload key の規約は docs/journal-events.md を参照。

レビュー

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

同じリポジトリのスキル

概要と使いどころ

dispatcher-handover

無料日本語概要

ディスパッチャーのコンテキストを圧迫したまま session を続けるのを避けるため、 monitoring 状態(active workers / 直近 polling cursor / pending escalations)を handover ファイルに書き出し、secretary の指示で /clear → /dispatcher-resume の 流れで新しいディスパッチャー session を開始する準備をする。 Secretary から DISPATCHER_HANDOVER peer message を受領したとき、または ディスパッチャー自身が context が長くなったと判断したときに使う。

suisya-systems/claude-org-ja52026年10月12日 更新

dispatcher-resume

無料日本語概要

/dispatcher-handover で書き出した handover ファイルを読み込み、 ディスパッチャーを新しい session で復帰させる。/clear 直後の最初のターンで使う。 state.db の dispatcher_pane_id / dispatcher_peer_id を atomic に更新し、 worker monitoring の /loop 3m を再開する。 「ディスパッチャー復帰」「resume」「引き継ぎから再開」と secretary から指示された ときに使う。/org-start ではない(ワーカー・窓口・キュレーターは生きている前提)。

suisya-systems/claude-org-ja52026年10月12日 更新

goal-setup

無料日本語概要

プロジェクトのゴール台帳(registry/goals/<owner>/<repo>.md)を人間と対話して新規作成・改訂する。 README と open Issue からゴール候補を推定して提示し、「何を目指すか」「何が起きていたら未達か」を 短く質問して条項を固め、書式検証(tools/work_discovery_goals.py validate)を通してから保存する。 「ゴール台帳を書きたい」「ゴールを設定して」「ゴール未設定と出た」「台帳エラーを直して」 「このプロジェクトの目標を決めたい」等や、/work-discovery の「ゴール未設定」「ゴール台帳エラー」案内を 受けて窓口が起動する。候補の提示そのものは /work-discovery の役目で本スキルではない。

suisya-systems/claude-org-ja52026年10月12日 更新

org-attach

無料日本語概要

組織の生きているペイン(secretary / dispatcher / worker)へ tmux で**直接入る** ための **コマンドを出力するだけ** の read-only スキル。`mcp__org-broker__list_panes`(論理ペイン) と `/usr/bin/tmux -L claude-org-broker list-panes -a`(pane_id ↔ session マッピング)を pane_id(%N)で突き合わせ、各ペインに role + name(task_id) ラベル付きの attach コマンドを 生成する(読取専用 `-r` / 書込は `-r` 無し / デタッチは `Ctrl-b d`)。 「ワーカーのペインを見たい」「ワーカーのペインに入りたい」「dispatcher の様子を直接見たい」 「ペインに入りたい」「あのペインを直接覗きたい」「attach コマンド教えて」 「tmux でつなぎたい」「worker の画面に入る」等で発動。 自分で attach はせず・ペインも一切変更しない(コマンド文字列とペイン一覧表を表示するのみ)。 作業委譲(org-delegate)・ダッシュボードで状況一覧(org-dashboard)・watcher 停止(org-attention-stop) には発動しない。

suisya-systems/claude-org-ja52026年10月12日 更新

org-attention-start

無料日本語概要

attention notification watcher(承認待ち / 判断待ち / CI 失敗等を OS 通知 + 音で能動通知)を dispatcher ペインの右側に split で常駐起動する。`.state/attention.json` が未配置なら ja 既定テンプレートを `tools/templates/attention.example.json` から自動コピーする。 起動後のペイン id は `.state/attention_pane.json` に記録し、`/org-attention-stop` から参照する。 「attention 起動」「通知監視を始めて」「watcher を立てて」等で発動。 `/org-start` からの auto-start はしない(明示起動推奨ポリシー)。

suisya-systems/claude-org-ja52026年10月12日 更新

org-attention-stop

無料日本語概要

`/org-attention-start` で起動した attention watcher ペインを停止する。 `.state/attention_pane.json` に記録された pane_id を `list_panes` の name/role で identity 確認し、いまも attention watcher を指している場合だけ `close_pane`(pane 破棄)で 破棄する(pane_id が別ペインへ再割当て済みなら close せず stale sidecar として削除)。 「attention 止めて」「通知監視を停止」「watcher 落として」等で発動。

suisya-systems/claude-org-ja52026年10月12日 更新

suisya-systems のスキルをすべて見る

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