원클릭으로
org-resume
中断された組織を再開する。.state/org-state.md が存在し Status: SUSPENDED のとき、 「再開」「続きから」「前回どこまでやった?」と言われたときに使う。 起動時の自動ブリーフィングにも対応。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
中断された組織を再開する。.state/org-state.md が存在し Status: SUSPENDED のとき、 「再開」「続きから」「前回どこまでやった?」と言われたときに使う。 起動時の自動ブリーフィングにも対応。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
ワーカーClaudeを派遣して作業を委譲する。窓口は司令塔であり、 手を動かす実作業は原則としてワーカーに任せる。 ユーザーから作業の依頼を受けたとき、ファイル編集・実装・調査等の 実作業が発生する場合に発動する。
組織の全ロール(窓口・ディスパッチャー・キュレーター・ワーカー)に必要な Claude Code の許可設定・環境変数を一括で配置・更新するスキル。 「設定して」「許可設定を更新して」「セットアップして」 「permissions設定」「org-setup」等で発動する。
open Issue を triage して「次の仕事候補(N 件 + 推奨 1 件)」を窓口が人間へ提示する。 決定的ツール tools/work_discovery_scan.py を 1 回実行し、その候補 JSON を 設計書 §5.2 の人間可読フォーマットでレンダリングするところで停止する(propose-only)。 起動主体は窓口に限定。手動 / イベント起動のみ(常駐 /loop なし)。 「次の仕事候補出して」「triage して」「次なにやる?」や PR マージ後の proactive next-dispatch で窓口が手動起動する。
蓄積された生の学び(knowledge/raw/)を整理・統合する。 ディスパッチャーが worker クローズ時の閾値チェック (tools/check_curate_threshold.py) 超過でオンデマンド起動した キュレーターから 1 回だけ呼び出される(常駐 /loop は廃止)。 手動で「知見を整理して」と言われたときにも使う。
委譲プロセスの振り返り。ワーカーへの作業委譲が完了したとき、 委譲の進め方自体を振り返り、プロセス改善の知見を記録する。 さらに、完了タスクの作業パターンをwork-skillとして蓄積すべきか判断する。 実作業の技術的な振り返りはワーカーが自動的に行うため、ここでは扱わない。
skill の棚卸し(廃止候補 / 重複統合 / owner 明記チェック)。 状態ベースで発火する: 候補キュー knowledge/skill-candidates.md の pending が 5 件以上、 または .claude/skills/ 配下の work-skill 数(org-* を除く)が 20 以上になった場合のみ実行。 時間ベースの /loop では起動しない(変化の無い日に raw ログを汚す副作用を避けるため)。
| name | org-resume |
| description | 中断された組織を再開する。.state/org-state.md が存在し Status: SUSPENDED のとき、 「再開」「続きから」「前回どこまでやった?」と言われたときに使う。 起動時の自動ブリーフィングにも対応。 |
| effort | low |
| allowed-tools | ["Read","Bash(git status)","Bash(git log:*)","Bash(py -3 tools/state_migrate.py)","Bash(python3 tools/state_migrate.py)","Bash(py -3 tools/journal_append.py:*)","Bash(bash tools/journal_append.sh:*)","Bash(python -m tools.state_db.importer:*)"] |
中断された組織の状態を読み込み、人間にブリーフィングし、再開する。
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で構築する。
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 ループ異常)なら人間に報告して停止する。
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 では使わない。python -m tools.state_db.importer --db .state/state.db --root . --rebuild」人間に簡潔なサマリーを提示する:
session.objective)active_runs / reserved_runs)last_suspend_summary.occurred_at、reason / counts も同 dict)notes/ 配下にある自由記述 (学び / Pending Lead / セッションサマリー) を確認する
DB の active_runs を SoT として照合し、markdown は表示用補助とする。
worker_dir を確認する.state/workers/ 内の各ワーカー状態ファイルも参照する(旧経路)git status — 未コミットの変更があるかgit log --oneline -5 — 最後のコミットは run の commit_short / 状態ファイルと一致するかbranch / 状態ファイルの記述と一致するかknowledge/raw/ に未整理のファイルがあるか確認状態に応じて提案を分ける:
重要: 人間の確認を待ってから行動すること。勝手にワーカーを派遣しない。
人間が承認した作業について:
/org-delegate スキルでワーカーを派遣
新ワーカーには前回のワーカー状態ファイル(.state/workers/worker-{id}.md)の内容をコンテキストとして渡す
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)
"
JSON スナップショットを再生成する(dashboard 用。state-db cutover とは別経路):
py -3 dashboard/org_state_converter.py # Windows
python3 dashboard/org_state_converter.py # Mac/Linux
ディスパッチャー・キュレーターペインの起動は /org-start が担当するため、ここでは行わない
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 を参照。