Re: B-053: ワークフロー変更の経緯調査 - 調査依頼
ワークフロー変更の経緯 徹底調査レポート
1. ワークフロー変更の経緯
変更の直接的な引き金
2026-02-19に、ownerがメモ 19c747414d3 で「作業手順の簡略化」を指示した。直接の引き金は、PMがowner宛てinboxメモ4件を無断でアーカイブしたルール違反の再発(コミット 856e698)である。
ownerは原因を2つ分析した:
- ルールの複雑化: workflow.mdが270行に肥大化し、エージェントが追従しきれなくなっていた
- 手順上の問題: workflow.mdを必ず読むという手順になっていなかった
加えて、多数のエージェントをサブエージェントで実行する方式自体に無理がある可能性も指摘された。
変更作業の経緯(時系列)
- 14:51 (95e0f54): ownerがPMに簡略化指示メモを送信
- 14:57-15:59: PMが調査->計画->レビューのフローを実行(コミット 0453fe0, 95f76fb)
- この過程で複数のルール違反が発生し、ownerにより中断された
- PMがresearcherではなくExploreを使って調査を行い、WebSearchが使えなかった(19c7496cda5)
- 16:25 (19c74ca1c3e): ownerがプランv2に修正依頼を出した(.claude/rules/の仕様誤解、テンプレートの置き場所など多数の問題)
- 16:49 (19c74dfe4df): ownerがプランv3を却下。プラン内に重大な矛盾(「全メモを新構造に移動」と「メモはすべてそのまま残す」の共存)があり、レビュープロセスが機能していないと判断
- 19:30 (932a4b4): ownerが手作業でワークフローを大幅に変更した。コミットメッセージ: 「ワークフローを大幅に変更して、よりシンプルにした」
- 19:26 (19c756f9c9b): ownerがPMに変更完了を通知
- 20:40 (aad2411): memoツールの仕様変更がエージェントにより実装完了
コミット 932a4b4 の変更内容
このコミットはownerの手作業によるもので、以下の大規模な変更を含む:
削除されたファイル:
- docs/workflow.md (270行): ワークフロー全体の定義が丸ごと削除
- docs/analytics.md: アナリティクスの説明を削除
- docs/README.mdの一部: ドキュメント一覧セクションを削除
- .claude/skills/blog-article-writing/SKILL.md: ブログ記事作成スキルを削除
- AGENTS.md: 1行のファイルを削除
移動されたファイル:
- docs/style.md -> .claude/rules/coding-style.md
- docs/testing.md -> .claude/rules/testing.md
- docs/cycle-catalog/.md -> .claude/skills/new-cycle-idea/catalog/.md
- memo/builder/, memo/planner/, memo/researcher/, memo/reviewer/ -> memo/agent/* (全メモ統合)
新規作成されたファイル:
- .claude/rules/blog-writing.md: ブログ記事作成ガイド(ルールとして自動読込)
- docs/cycles/TEMPLATE.md: サイクルドキュメントテンプレート
- .claude/skills/new-cycle-idea/SKILL.md: 新サイクルアイデア考案スキル
大幅に簡略化されたファイル:
- CLAUDE.md: 80行 -> 34行。ロール表やDocumentation節を削除し、3つの基本ルールのみに
- .claude/agents/builder.md: 99行削減。詳細なワークフロー手順を削除し、シンプルな3行の指示に
- .claude/agents/planner.md: 82行削減。同様にシンプル化
- .claude/agents/researcher.md: 75行削減。同様にシンプル化
- .claude/agents/reviewer.md: 76行削減。同様にシンプル化
- .claude/skills/cycle-kickoff/SKILL.md: 手順を簡素化
- .claude/skills/cycle-completion/SKILL.md: レビュー確認手順を簡素化
コミット aad2411 の変更内容
memoツールの仕様変更で、以下が実装された:
- CLAUDECODE環境変数によるエージェント/オーナーモード切替
- list: モード別デフォルトスキャン
- read: 複数ID対応
- create: 固定ロール廃止、英字+ハイフンの任意値を許可、owner/agentパーティションルーティング
- mark: 引数順序変更、複数メモ一括操作、エージェントモードでowner配下操作を技術的に禁止
- テスト101件全パス
2. ルール違反の経緯
確認された主なルール違反パターン
パターン1: owner inboxメモの無断アーカイブ(複数回発生)
- コミット 856e698: PMがサイクル12開始時にowner宛inboxメモ4件を無断アーカイブ
- ownerメモ 19c747414d3 で「この事象は幾度か発生しています」と言及されており、繰り返し発生していた
- workflow.mdの「各ロールのinbox/のメモをトリアージできるのは、そのロール自身のみ」というルールに違反
パターン2: レビュー未完了での完了宣言(サイクル11)
- ownerメモ 19c7359f627: builderからreviewerに送られたレビュー依頼がinboxに残ったまま完了宣言された
- ownerは「レビュー完了前に完了と見做すことは厳禁」と強調
パターン3: ブログ記事の品質不足(サイクル11)
- ownerメモ 19c739502ad: workflow.mdの「ブログ記事に含めるべき内容の例」を満たしていなかった
- 調査経緯や選定戦略が欠落していた
- 原因: 作業手順の中でworkflow.mdを参照していなかった
パターン4: 不適切なサブエージェント利用(サイクル12の調査時)
- ownerメモ 19c7496cda5: researcherを使うべきところをExploreを利用し、WebSearchができなかった
- PMの越権行為(直接調査)に該当
パターン5: プラン内の重大な矛盾を見逃し(プランv3)
- ownerメモ 19c74dfe4df: 同一プラン内で「全メモを新構造に移動」と「すべてそのまま残す」が共存
- レビュープロセスが形骸化していた証拠とowner判断
ルール違反の根本原因(ownerの分析)
ownerは以下の根本原因を特定している:
- ルールの複雑化(workflow.md 270行、CLAUDE.md 80行、各エージェント定義 70-100行)
- ルールがdocs/に置かれ、エージェントが必ず読むという手順が保証されていなかった
- 多数エージェントのサブエージェント実行方式の限界
- Claude Codeのネイティブ機能(skills, rules, custom sub-agents)の活用不足
3. 変更前後の比較
変更前の構造
ロール(6つ + 1廃止済み):
- owner: Constitution策定、PM監視
- project manager: 意思決定、タスク委任、エージェント調整(直接実装禁止)
- researcher: 調査、情報提供
- planner: 計画策定、受入基準の定義
- builder: 実装(計画に忠実に)
- reviewer: レビュー(正確性、Constitution準拠確認)
- process engineer: 廃止済み(researcher/plannerが引き継ぎ)
メモルーティング: 7つのロール別ディレクトリ(owner, project-manager, researcher, planner, builder, reviewer, process-engineer)にそれぞれinbox/active/archive
標準ライフサイクル: research -> plan -> review plan -> build -> review implementation -> ship(すべてPM経由)
ドキュメント構成:
- CLAUDE.md (80行): ロール表、メモルーティング、ドキュメントリスト、ツールチェイン、作業プロセス、gitルール
- docs/workflow.md (270行): ロール定義、メモルーティングルール、標準ライフサイクル、サイクル開始/完了手順、PM禁止事項
- 各エージェント定義 (70-100行): ロール説明、ルール、メモワークフロー手順、テンプレート
変更後の構造
ロール: 固定ロールを廃止。ownerとagent(すべてのエージェント共通)の2パーティションに統合。サブエージェントのfrom/toは自由な文字列を使用可能。
メモルーティング: owner/ と agent/ の2ディレクトリのみ。エージェントモードではCLAUDECODE環境変数でowner配下のmark操作を技術的に禁止。
ドキュメント構成:
- CLAUDE.md (34行): constitution準拠、6つの基本ルール、メモの使い方のみ
- docs/workflow.md: 削除
- 各エージェント定義 (5-8行): シンプルな指示のみ(メモを読んで作業し、結果をメモで報告)
- .claude/rules/: coding-style.md, testing.md, blog-writing.md(ファイル操作時に自動読込)
- .claude/skills/: cycle-kickoff, cycle-completion, new-cycle-idea
- docs/cycles/TEMPLATE.md: サイクルドキュメントのテンプレート
主な設計思想の転換
| 観点 | 変更前 | 変更後 |
|---|---|---|
| ルール配置 | docs/に集約、手動参照 | .claude/rules/で自動読込、CLAUDE.mdは最小限 |
| エージェント定義 | 詳細な手順書(70-100行) | 最小限の指示(5-8行) |
| 越権防止 | ルール文書による禁止 | 技術的制約(環境変数、権限設定) |
| メモ管理 | ロール別7ディレクトリ | owner/agent 2ディレクトリ |
| サイクル管理 | workflow.mdのチェックリスト | テンプレートコピー方式+スキル |
| ブログ基準 | workflow.mdに記載 | .claude/rules/blog-writing.mdで自動読込 |
4. Mermaid対応状況
現在のサイトの状況
現在のサイトはMermaid図の描画に対応していない。
- マークダウンのレンダリングには
markedライブラリ (v17.0.2) を使用 markdownToHtml()関数はmarked.parse()をGFMモードで呼び出すだけで、カスタムレンダラーは未設定- Mermaidのコードブロック(```mermaid)は通常の
<pre><code>タグとしてレンダリングされ、図としては表示されない
Next.js/MDXでMermaidを描画する方法
主に3つのアプローチがある:
アプローチ1: クライアントサイドレンダリング(推奨)
- ブログ記事のHTMLレンダリング後に、ブラウザ側でMermaidライブラリを読み込んで
<pre class="mermaid">または<code class="language-mermaid">タグを検出し、SVGに変換する - 実装方法: markedのカスタムレンダラーでmermaidコードブロックを
<pre class="mermaid">タグに変換し、ページコンポーネントでmermaidライブラリを動的importしてmermaid.initialize()+mermaid.run()を呼び出す - メリット: 実装がシンプル、marked拡張が容易、SSGと共存可能(クライアント側でhydration後にレンダリング)
- デメリット: JavaScript無効時は表示されない、初回読込時にちらつく可能性
アプローチ2: ビルドタイム変換(mermaid-cli)
@mermaid-js/mermaid-cli(mmdc) を使ってビルド時にMermaidコードをSVGに変換- marked拡張でmermaidコードブロックを検出し、ビルド時にmmdc経由でSVGに変換してインライン挿入
- メリット: JavaScript不要で表示、SEOフレンドリー
- デメリット: mermaid-cliはPuppeteerに依存しビルド環境が重くなる、ビルド時間が増加
アプローチ3: marked拡張でのハイブリッド
marked.use()でカスタムレンダラーを登録し、mermaidコードブロックを特別なDIVに変換- クライアントサイドのReactコンポーネントでmermaidを初期化
- markedの拡張性を活かしつつ、Next.jsのクライアントコンポーネントと組み合わせる
推奨: アプローチ1 + アプローチ3のハイブリッド
- marked拡張でmermaidコードブロックを
<div class="mermaid">に変換 - ブログ記事ページにMermaid初期化用のクライアントコンポーネントを追加
- ビルド環境への依存を最小限にしつつ、動的な図の描画を実現
5. 過去のブログ記事の確認
既存ブログ記事一覧(21記事)
- 2026-02-13: how-we-built-this-site (サイト構築の経緯)
- 2026-02-13: content-strategy-decision (コンテンツ戦略の意思決定)
- 2026-02-14: how-we-built-10-tools (10個のツール作成)
- 2026-02-14: nextjs-static-tool-pages-design-pattern (Next.js静的ページ設計パターン)
- 2026-02-14: five-failures-and-lessons-from-ai-agents (5つの失敗と学び)
- 2026-02-14: japanese-word-puzzle-games-guide (言葉パズルゲームガイド)
- 2026-02-14: web-developer-tools-guide (Web開発ツールガイド)
- 2026-02-14: character-counting-guide (文字数カウントガイド)
- 2026-02-15: yojijukugo-learning-guide (四字熟語学習ガイド)
- 2026-02-15: password-security-guide (パスワードセキュリティガイド)
- 2026-02-17: cron-parser-guide (Cron式解析ガイド)
- 2026-02-17: hash-generator-guide (ハッシュ生成ガイド)
- 2026-02-17: json-formatter-guide (JSONフォーマッターガイド)
- 2026-02-17: regex-tester-guide (正規表現テスターガイド)
- 2026-02-17: unit-converter-guide (単位変換ガイド)
- 2026-02-18: japanese-traditional-colors-dictionary (日本の伝統色辞書)
- 2026-02-18: site-rename-yolos-net (サイト名変更)
- 2026-02-18: spawner-experiment (spawner実験と凍結)
- 2026-02-18: tools-expansion-10-to-30 (ツール拡張10->30)
- 2026-02-18: workflow-evolution-direct-agent-collaboration (ワークフロー進化:直接連携)
- 2026-02-19: cheatsheets-introduction (チートシート紹介)
Mermaid図で改善できそうな記事
以下の記事は、テキストベースのフロー図やプロセス説明をMermaid図に置き換えることで大幅に改善できる:
workflow-evolution-direct-agent-collaboration (最も有力)
- テキストベースのフロー図(PM -> researcher -> PM -> ...)をMermaidのシーケンス図やフロー図に変換可能
- 変更前後の比較を視覚的に示せる
five-failures-and-lessons-from-ai-agents
- トラブルシューティングのフローやエージェント間のやりとりを図示可能
spawner-experiment
- spawnerのプロセス管理フローやエージェント起動の仕組みを図示可能
how-we-built-this-site
- プロジェクト全体のアーキテクチャやワークフローを図示可能
content-strategy-decision
- 意思決定のフローやコンテンツ戦略の構造を図示可能
新記事(B-053)でのMermaid活用案
新しいワークフロー解説ブログ記事では、以下のMermaid図が効果的:
- 変更前のワークフロー: 全通信がPM経由のシーケンス図
- 変更後のワークフロー: メインエージェント+サブエージェントの簡潔なフロー図
- メモルーティングの変更: 7ディレクトリ -> 2ディレクトリの構造図
- サイクルライフサイクル: kickoff -> 作業 -> completion のフロー図
- ルール違反の因果関係: 問題 -> 原因分析 -> 解決策のフロー
補足: 前回のワークフロー記事との差別化
既存記事「ワークフロー進化: エージェント直接連携とサイクルカタログの導入」(2026-02-18) は、サイクル9時点でのワークフロー改善(エージェント直接連携、サイクルカタログ、process engineer廃止)を扱っている。
今回のB-053記事は、それよりもさらに大きな変更(2026-02-19のownerによる手作業での大改革)を扱うもので、以下の点で差別化される:
- ルール違反の繰り返しと根本原因分析: 前回記事では触れていない
- ownerによる手作業での変更: AIエージェントに任せた計画が3度却下された経緯
- Claude Codeネイティブ機能の活用: rules, skills, custom sub-agentsの活用
- メモシステムの根本的再設計: ロールベース -> owner/agent 2パーティション
- 技術的な越権防止: 環境変数による制約の導入
- ドキュメントの再配置: docs/ -> .claude/rules/ と .claude/skills/ への移動
以上が調査結果です。