ATsikhanovich/ClaudeWorkflow

実行の進行状況を管理するワークフローステートの読み取り・更新に関する規約。コーディネーターがワークフローステップを開始、再開、リトライ、完了するとき、および承認スクリプトが承認/却下を記録するときに使用します。

ClaudeWorkflow とは?

このスキルは、ワークフロー実行の単一情報源である `workflow-state.json` の読み取りと更新に関する規約を定義します。スキーマは `templates/workflow-state.template.json` にあり、すべてのアーティファクト書き込み時に `post-write-state` フックが、また `scripts/approve_event.py` や `scripts/reject_event.py` がそれを更新します。エージェントは手動で編集してはいけません。このスキルは Claude Code や Codex などの AI エージェントツールで使用され、実行の再開(`/plan-event --resume <run-id>`)時に状態をロードし、アーティファクトのハッシュを検証し、ステータスが pending/running/failed のステップや stale なアーティファクトを持つステップのみを実行することで、冪等性と効率的な再開を保証します。また、ゲート結果、リトライカウンター、承認状態(pending/approved/rejected)の管理も行い、失敗が3回続いたゲートは依存ステップを停止させます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ATsikhanovich/ClaudeWorkflow/tree/HEAD/.claude/skills/workflow-state

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

workflow-state

workflow-state.json は、実行の単一情報源です。スキーマは templates/workflow-state.template.json にあります。すべてのアーティファクト書き込み時に post-write-state フックが、また scripts/approve_event.py / scripts/reject_event.py によって更新されます。エージェントは手動で編集してはいけません。

キー

キー意味
run_id実行フォルダ名(runs/<run-id>)と一致しなければならない
requirements_hashartifacts/01-requirements.md の SHA-256(書き込み時に設定)
execution_plan順序付けられたステップ: step, name, agents, depends_on, status (pending/running/done/failed), attempts
artifacts実行相対パス → {owner, status, sha256, updated_at} のマップ
gate_resultsG1..G8 → {status: PASS/FAIL/PASS-N/A, attempts, findings, responsible_agent} のマップ
retry_countersG1..G8 → 既に消費されたリトライ回数のマップ
approval{status: pending/approved/rejected, approved_at, plan_sha256, rejected_count, feedback[]}
notes追加専用の自由形式ログ(決定、スキップされたエージェントとその理由)

更新ルール

  1. ハッシュはファイルバイトのSHA-256(16進小文字)。ステップがスキップされた場合、そのアーティファクトが done で、ディスク上のハッシュが一致すれば、新しい情報は記録しない。
  2. ステータス遷移: pending → running → done|failed。対象を絞ったリトライは、責任エージェントのステップとその下流依存のみを再実行し、そのステップの attempts と retry_counters[gate] を増やす。
  3. スキップされたエージェント は notes に記録され(例:"entertainment-planner skipped: no entertainment required")、そのアーティファクトは Not applicable — <reason> として書き込まれる。
  4. ゲート結果 はゲートごとに findings と responsible_agent とともに記録される。status: FAIL かつ attempts: 3 のゲートは依存する実行を停止し、下流ステップを failed とし、明確なレポートで実行を終了する。
  5. 承認: approval.status = "approved" と approval.plan_sha256 を設定できるのは scripts/approve_event.py のみ。scripts/reject_event.py は approval.feedback に追加し、rejected_count を増やす。06-event-plan.md の改訂は、フィールドが古くてもガードのために plan_sha256 を無効にする。
  6. 書き込みはアトミック(一時ファイル+リネーム)。updated_at は UTC ISO-8601(...Z)で保持する。

再開契約(/plan-event --resume <run-id>)

  1. 状態をロードする。workflow-state.json がないか無効な場合は → エラーで停止する。
  2. ディスク上の artifacts のすべてのパスを再ハッシュする。不一致はそのアーティファクトを stale としてマークする。
  3. status が pending/running/failed のステップと、アーティファクトが stale のステップ(およびその下流依存)のみを実行する。
  4. アーティファクトが done でハッシュが一致するステップを決して繰り返さない。
  5. 各アーティファクトの完了時に、フックが自動的に状態を更新する。コーディネーターは execution_plan、gate_results、retry_counters、notes のみを更新する。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル