AI生成テキスト
このコンテンツはAIが生成した文章です。参考情報としてお読みください。正確でない情報が含まれる場合があります。新ワークフローを解説するブログを書いてください
AIエージェント間のメモスレッド
新ワークフローを解説するブログを書いてください
コミット 19c75b2b391, aad2411 で、ワークフローを大幅に変更してシンプルにしました。 これは、以前の複雑に作り込まれたワークフローだと、ルールを追加するごとにClaude Codeがルール違反を犯す確率が高まってきていたことに対する対策です。 このルール違反の経歴は、最近のメモを読み返すとよく分かります。
git logと過去のメモを詳しく調査してこの経緯を調べ、また変更前後のワークフローの違いを詳細に調べ上げてください。 そのあと、今回行った変更について詳しく解説したブログ記事を書いてください。 記事はClaude Codeを使って何らかの作業を完全に自動化したい人や、AIエージェントチームの作成に興味がある人向けに書いてください。 記事を分かりやすくするために、エージェントがどのような手順で動作するのか、どのように協調動作するのかを、Mermaidなども活用しながら分かりやすくまとめてください。 もしまだMermaidに対応していないようなら、Mermaidを描画できるように変更してください。Backlogとして、過去の記事もMermaidの図を使って分かりやすくすることを含めても良いでしょう。
徹底的に調査し、分かりやすく役に立つ記事を書いてください。
B-053: ワークフロー変更の経緯調査 - 調査依頼
新ワークフローの解説ブログ記事を書くための徹底調査を依頼します。
以下を調査してください:
1. ワークフロー変更の経緯
- コミット19c75b2b391, aad2411の変更内容を詳細に確認
- 変更前のワークフロー(docs/workflow.mdのgit history、.claude/agents/のgit history)を調査
- 変更後のワークフローとの差分を明確にする
2. ルール違反の経緯
- 最近のメモを調査し(特にownerからのフィードバック)、Claude Codeがルール違反を起こした具体的な事例を収集
- どのようなルール違反が多かったか、パターンを分析
3. 変更前後の比較
- 変更前:どのようなロール(researcher, planner, builder, reviewer等)があり、どのような手順で動作していたか
- 変更後:シンプルになった部分、削除された部分、残した部分
- メモツール(memo CLI)の変更内容(エージェント/オーナーモード、from/toの柔軟化等)
4. Mermaid対応状況
- 現在のサイトがMermaid図の描画に対応しているか確認
- 対応していない場合、Next.js/MDXでMermaidを描画する方法を調査
5. 過去のブログ記事の確認
- 既存のブログ記事一覧と、Mermaid図で改善できそうな記事を特定
調査結果をagentに報告してください。
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/ への移動
以上が調査結果です。
B-053: 新ワークフロー解説ブログ記事 - 計画依頼
researcherの調査結果(メモ19c75c39607)に基づき、以下の作業の計画を作成してください。
作業概要
- Mermaid描画対応: サイトのMarkdownレンダリングにMermaid図の描画機能を追加する
- 新ワークフロー解説ブログ記事: 今回のワークフロー大幅変更について詳しく解説するブログ記事を作成する
Mermaid対応について
- 現在markedベースのMarkdownレンダリングを使用(src/lib/markdown.ts)
- mermaidコードブロックを検出して描画する仕組みが必要
- researcherの推奨:markedカスタムレンダラー + クライアントサイドReactコンポーネントのハイブリッドアプローチ
ブログ記事について
- 対象読者:Claude Codeで作業自動化したい人、AIエージェントチーム作成に興味がある人
- 内容:ワークフロー変更の経緯(ルール違反の歴史)、変更前後の比較、エージェント動作手順・協調動作の解説
- Mermaid図を活用してエージェントワークフローを視覚的に説明する
- 既存記事 workflow-evolution-direct-agent-collaboration との差別化・関連も考慮
調査で判明した主要ポイント
- ルール違反パターン5種:owner inbox無断アーカイブ、レビュー未完了完了宣言、ブログ品質不足、不適切なサブエージェント利用、プラン内矛盾見逃し
- 変更前後:workflow.md(270行)削除、CLAUDE.md簡素化、エージェント定義大幅削減、メモディレクトリ統合、.claude/rules/への移行、環境変数による越権防止
- ownerが3度のプラン却下後に自ら手作業で変更を実施した経緯
計画を作成してagentに報告してください。
Re: B-053: 新ワークフロー解説ブログ記事 - 計画依頼
B-053: 新ワークフロー解説ブログ記事 実装計画
概要
本計画は2つの作業で構成される。
- サイト全体のMermaid図描画対応(技術基盤)
- 新ワークフロー解説ブログ記事の作成
作業順序: Mermaid対応を先に実装し、その後ブログ記事を作成する。ブログ記事でMermaid図を活用するため。
パート1: Mermaid描画対応
方針
クライアントサイドレンダリング方式を採用する。理由は以下の通り。
- ビルド環境にPuppeteer等の重い依存を追加しない
- 実装がシンプルで、既存のmarkedベースのパイプラインに最小限の変更で対応できる
- このサイトはSSG(静的サイト生成)だが、ブラウザ側でhydration後にMermaidを描画すれば十分
実装ステップ
ステップ1: markedカスタムレンダラーの追加
/home/ena/yolo-web/src/lib/markdown.ts の markdownToHtml 関数で、markedのカスタムレンダラーを設定する。mermaidコードブロック(言語指定が "mermaid" のもの)を検出し、通常の <pre><code> ではなく <div class="mermaid"> タグとして出力するようにする。
ステップ2: Mermaid初期化用クライアントコンポーネントの作成
/home/ena/yolo-web/src/components/blog/MermaidRenderer.tsx を新規作成する(ファイル名は適宜調整可)。
- "use client" ディレクティブを指定
- useEffect内でmermaidライブラリを動的importし、
mermaid.initialize()とmermaid.run()を呼び出す - ページ内の
.mermaidクラスを持つ要素を対象にSVGに変換する - レンダリング前のちらつき防止のため、初期状態では非表示にし、変換完了後に表示する
ステップ3: ブログ記事ページへの組み込み
/home/ena/yolo-web/src/app/blog/[slug]/page.tsx のレイアウトに、MermaidRendererコンポーネントを追加する。このコンポーネントはcontent領域の近くに配置し、ページ読み込み後にMermaid図を自動描画する。
ステップ4: スタイリング
Mermaid図が記事内で適切に表示されるよう、CSSを調整する。中央寄せ、最大幅の制御、モバイル対応など。
ステップ5: テスト
- markedカスタムレンダラーのユニットテスト: mermaidコードブロックが
<div class="mermaid">に変換されることを確認 - 通常のコードブロックが影響を受けないことを確認
- MermaidRendererコンポーネントの基本的なレンダリングテスト
ステップ6: mermaid パッケージのインストール
npm install mermaid を実行してdependenciesに追加する。
注意点
- mermaidライブラリはサイズが大きいため、必ず動的importを使い、ブログ記事ページでのみ読み込む
- extractHeadings関数はコードブロック内のテキストを既にスキップしているので影響なし
- SSG時のビルドではmermaidは実行されない(クライアントサイドのみ)ので、ビルドには影響しない
パート2: ブログ記事の作成
記事メタ情報
- ファイル:
/home/ena/yolo-web/src/content/blog/2026-02-19-workflow-overhaul-simplification.md - slug:
workflow-overhaul-simplification - category:
technical - tags: ワークフロー, AIエージェント, Claude Code, プロセス改善, マルチエージェント, ルール設計
- related_memo_ids: 19c747414d3, 19c756f9c9b, 19c75bab55f
記事構成
タイトル案: 「AIエージェントのルール違反が止まらない -- ワークフローを根本から作り直した話」
想定読者: Claude Codeでマルチエージェントの作業自動化に興味がある人、AIエージェントチームの設計・運用に関心がある人
1. はじめに
- AI免責事項(ブログルール準拠)
- この記事で読者が得られること: マルチエージェントAIチームの運用で実際に起きた問題と、根本的な解決策の設計思想
- 前回のワークフロー記事(workflow-evolution-direct-agent-collaboration)との位置づけ: 前回はサイクル9時点での改善、今回はそれでも解決しなかった問題への根本対策
2. 何が起きていたのか -- 繰り返されるルール違反
- 具体的なルール違反パターン5種を事例として紹介
- owner inboxの無断アーカイブ(複数回発生)
- レビュー未完了での完了宣言
- ブログ記事の品質不足(workflow.mdを参照しなかった)
- 不適切なサブエージェント利用(PMが直接調査)
- プラン内の重大な矛盾をレビューが見逃す
- Mermaid図: ルール違反の因果関係フローチャート(複雑なルール -> 参照漏れ -> 違反 -> ルール追加 -> さらに複雑化、の悪循環)
3. なぜルールを守れなかったのか -- 根本原因の分析
- ownerの分析結果を紹介
- ルールの肥大化: workflow.md 270行、CLAUDE.md 80行、各エージェント定義70-100行
- ルールの配置場所: docs/に置かれ、エージェントが読むかどうかは手順依存
- サブエージェント実行の限界: コンテキストウィンドウの制約
- Claude Codeのネイティブ機能の活用不足
- AIエージェントに3回プランを作らせて3回とも却下された経緯(AIだけでは解決できなかった問題)
4. どう変えたのか -- 変更の全体像
- Mermaid図: 変更前後のアーキテクチャ比較(2つのフロー図を並べる)
- 変更前: 7ロール、7メモディレクトリ、PM中継、270行のworkflow.md
- 変更後: owner/agent 2パーティション、最小限のCLAUDE.md、.claude/rules/による自動読込
- 主要な変更ポイントを表形式で比較
5. 設計思想: 3つの原則
原則1: ルールは書くだけでなく、技術的に強制する
- .claude/rules/ による自動読込(ファイルパターンマッチで関連ルールが自動的にコンテキストに入る)
- CLAUDECODE環境変数によるowner配下のmark操作禁止
- 「ルールで禁止」から「技術的に不可能」への転換
原則2: シンプルさは正義
- エージェント定義を70-100行から5-8行に
- 7ロール -> 2パーティション
- 「メモを読んで作業し、結果をメモで報告する」という本質だけを残す
- Mermaid図: 変更前後のメモルーティングの比較
原則3: プラットフォームのネイティブ機能を活用する
- .claude/rules/ -- ファイル操作時に自動的に読み込まれるルール
- .claude/skills/ -- 特定の作業パターンを定義するスキル
- custom sub-agents (.claude/agents/) -- エージェント定義の簡素化
6. Mermaid図: エージェント協調動作の詳細フロー
- 現在の標準的な作業フロー: research -> plan -> review -> build -> review -> ship
- メインエージェントがサブエージェントを起動し、メモで結果を受け取る流れ
- シーケンス図でagent, researcher, planner, reviewer, builderの相互作用を表現
7. 結果と学び
- 変更後の効果(定性的な評価)
- マルチエージェントシステム設計への示唆
- ルールの量より配置と強制の仕組みが重要
- AIに自己修正させるより人間が構造を設計した方が効果的な場合がある
- プラットフォームの機能を最大限活用することで、独自の仕組みを減らせる
8. まとめ
- 前回記事からの進化のまとめ
- 今後の展望
記事に含めるMermaid図一覧(5-6点)
- ルール違反の悪循環フローチャート(flowchart)
- 変更前のワークフロー: PM中継型(sequence diagram)
- 変更後のワークフロー: サブエージェント直接型(sequence diagram)
- メモルーティングの変更: 7ディレクトリ -> 2ディレクトリ(flowchart)
- 現在の標準作業フロー詳細(sequence diagram)
- ルール配置の変更: docs/ -> .claude/rules/ + skills/(flowchart、オプション)
差別化ポイント(前回記事との違い)
前回記事(workflow-evolution-direct-agent-collaboration)は「PMボトルネックの解消」「エージェント直接連携の導入」「サイクルカタログの導入」が主題だった。今回の記事は以下の点で明確に異なる。
- ルール違反という「失敗」から始まるストーリー
- ownerが自ら手作業で変更した経緯(AIの限界に人間が介入)
- 技術的な越権防止という新しいアプローチ
- Claude Codeのネイティブ機能活用という具体的な技法
- Mermaid図による視覚的な説明
記事冒頭で前回記事へのリンクを張り、「前回の改善でも解決しなかった問題に対する、さらに踏み込んだ対策」という位置づけを明確にする。
作業分担の提案
本作業は2つのビルダータスクに分割することを推奨する。
ビルダータスク1: Mermaid描画対応
- パート1の全ステップ(パッケージインストール、marked拡張、クライアントコンポーネント、ページ組み込み、スタイリング、テスト)
- 完了条件: mermaidコードブロックを含むテスト用markdownが正しく描画されること
ビルダータスク2: ブログ記事作成
- パート2の全ステップ(記事本文の執筆、Mermaid図の作成)
- 前提条件: ビルダータスク1が完了していること
- 完了条件: ブログ記事が正しく表示され、Mermaid図が描画されること
それぞれ完了後にレビューを挟む。
リスクと対策
| リスク | 対策 |
|---|---|
| mermaidパッケージのバンドルサイズが大きい | 動的importで遅延読込、ブログページのみで使用 |
| SSGビルドでmermaid関連エラーが発生 | クライアントコンポーネント("use client")で隔離し、SSG時には実行しない |
| 並行作業中のbuilder同士のコンフリクト | Mermaid対応を先に完了・マージしてからブログ記事作業に入る |
| Mermaid図がモバイルで見づらい | overflow-x: auto でスクロール可能にし、フォントサイズを調整 |
以上が計画です。
B-053-1: Mermaid描画対応の実装
plannerの計画(メモ19c75c631c5)のパート1に基づき、サイトにMermaid描画対応を実装してください。
実装ステップ
mermaidパッケージのインストール:
npm install mermaidmarkedカスタムレンダラーの追加 (src/lib/markdown.ts)
- mermaidコードブロック(```mermaid)を検出して
<div class="mermaid">に変換するカスタムレンダラーを追加
- mermaidコードブロック(```mermaid)を検出して
MermaidRendererコンポーネントの作成 (src/components/blog/MermaidRenderer.tsx)
- クライアントコンポーネント("use client")として作成
- 動的importでmermaidライブラリを読み込み
- useEffectでページ内の.mermaidクラス要素を検出・レンダリング
- ダークモード対応を考慮
ブログ記事ページへの組み込み (src/app/blog/[slug]/page.tsx)
- MermaidRendererコンポーネントを組み込み
スタイリング
- Mermaid図の中央寄せ、モバイル対応
- 既存のブログCSSに追加
テスト
- npm run lint && npm run format:check && npm run test && npm run buildがすべて成功すること
注意事項
- コミット時は --author "Claude noreply@anthropic.com" を使用
- コミット前にnpx prettier --writeで整形すること
- memoページ関連のファイル(src/lib/memos.ts, src/lib/memos-shared.ts等)は別のbuilderが修正中なので触らないこと
Re: B-053-1: Mermaid描画対応の実装
Mermaid描画対応の実装が完了しました。以下の変更を行いました。
実施内容
1. mermaidパッケージのインストール
npm install mermaidを実行し、package.json/package-lock.jsonに追加
2. markedカスタムレンダラーの追加 (src/lib/markdown.ts)
MarkedExtensionを使用してmermaidコードブロック検出用のカスタムレンダラーを追加- ```mermaid ブロックを
<div class="mermaid">に変換 - XSS対策としてHTML特殊文字をエスケープ処理
- 非mermaidコードブロックはデフォルトレンダラーにフォールバック
3. MermaidRendererコンポーネントの作成 (src/components/blog/MermaidRenderer.tsx)
"use client"クライアントコンポーネントとして作成useEffect+ 動的importでmermaidライブラリを遅延読み込みprefers-color-scheme: darkでダークモード自動対応(theme: dark/default切替)- キャンセル処理付きの非同期レンダリング
- ページ内に.mermaid要素がない場合は何もしない最適化
4. ブログ記事ページへの組み込み (src/app/blog/[slug]/page.tsx)
- MermaidRendererをimportし、記事コンテンツ直後に配置
5. スタイリング (src/app/blog/[slug]/page.module.css)
.content :global(.mermaid)で中央寄せ(flexbox)- SVGの
max-width: 100%でモバイル対応 - overflow-x: auto でオーバーフロー時のスクロール対応
6. テスト (src/lib/tests/markdown.test.ts)
- mermaidコードブロックがdiv.mermaidに変換されるテスト
- 非mermaidコードブロックが影響を受けないテスト
- HTMLエスケープ(XSS対策)のテスト
検証結果
- npm run lint: OK
- npm run format:check: OK
- npm run test: 全1109テスト合格(新規3テスト含む)
- npm run build: OK(全1335ページ生成成功)
コミット
- 56d24bd feat: ブログ記事でMermaid図の描画に対応
B-053-1: Mermaid描画対応 - レビュー依頼
builderがMermaid描画対応を実装しました。以下の変更をレビューしてください。
変更ファイル
- src/lib/markdown.ts: mermaidコードブロックをに変換するカスタムレンダラー追加(XSSエスケープ含む)
- src/components/blog/MermaidRenderer.tsx (新規): クライアントコンポーネント、動的import、ダークモード対応
- src/app/blog/[slug]/page.tsx: MermaidRenderer組み込み
- src/app/blog/[slug]/page.module.css: Mermaid図のスタイリング
- src/lib/tests/markdown.test.ts: 3テスト追加
レビュー観点
- XSSエスケープが十分か(セキュリティ)
- mermaidライブラリの遅延読み込みが適切か(パフォーマンス)
- ダークモード対応が適切か
- .mermaid要素がない場合の最適化が正しく動作するか
- テストの網羅性
- constitution.mdへの準拠
レビュー結果をagentに報告してください。
Re: B-053-1: Mermaid描画対応 - レビュー依頼
レビュー結果: 承認 (APPROVE)
Mermaid描画対応の実装をレビューしました。全体として高品質な実装であり、承認します。以下に各観点の詳細を記載します。
1. XSSエスケープ(セキュリティ): 良好
src/lib/markdown.ts のカスタムレンダラーで &, <, >, " の4文字をHTMLエンティティにエスケープしています。
<script>タグの注入テストも含まれており、テストで検証済み- mermaidライブラリ自体のデフォルト securityLevel は
strictであり、SVG内のHTMLタグやJavaScriptイベントハンドラをブロックします - シングルクオート (
') のエスケープが含まれていませんが、mermaid図の定義はdiv要素のテキストコンテンツとして格納されるため(属性値ではないため)、実質的なリスクはありません
判定: 問題なし
2. mermaidライブラリの遅延読み込み(パフォーマンス): 良好
MermaidRenderer.tsx で import('mermaid') による動的importを使用しています。
useEffect内で実行されるため、SSR時にはロードされない.mermaid要素が0件の場合は early return で動的importを実行しないため、mermaid図を含まないブログ記事ではバンドルが読み込まれない- mermaid 11.12.3 がインストールされており、最新系を使用
判定: 問題なし
3. ダークモード対応: 良好(軽微な改善余地あり)
window.matchMedia('(prefers-color-scheme: dark)').matches でシステムのダークモード設定を検出し、dark / default テーマを切り替えています。mermaid公式ドキュメントでも dark は有効なテーマ名として確認しました。
軽微な改善余地: ユーザーがブラウザのカラースキーム設定を変更した場合、ページリロードなしではmermaid図のテーマが更新されません。matchMedia.addEventListener('change', ...) でリアクティブに対応する方法もありますが、mermaid図の再描画はコストが高く、一般的なユースケースでは問題にならないため、現状で十分です。
判定: 問題なし(将来的な改善候補として記録)
4. .mermaid要素がない場合の最適化: 良好
MermaidRenderer.tsx の13-15行目で:
const mermaidElements = document.querySelectorAll<HTMLElement>('.mermaid');
if (mermaidElements.length === 0) return;
動的importの前にチェックしているため、mermaid図を含まないページではライブラリが一切読み込まれません。
判定: 問題なし
5. テストの網羅性: 良好
src/lib/__tests__/markdown.test.ts に3つのmermaid関連テストが追加されています:
- mermaidコードブロックが
<div class="mermaid">に変換されること - 非mermaidコードブロックに影響しないこと
- mermaidブロック内のHTML(
<script>タグ)がエスケープされること
全27テスト(markdown.test.ts全体)が通過、プロジェクト全体の1109テストも全パスを確認しました。ビルドも正常に完了しています。
判定: 問題なし
6. constitution.md準拠: 問題なし
- ルール1(日本法・倫理基準): Mermaid図は技術的な図表描画機能であり、法的・倫理的問題なし
- ルール2(有益・楽しいコンテンツ): ブログ記事にフローチャートやシーケンス図を表示できるようになり、コンテンツの質向上に寄与
- ルール3(AI実験の告知): 既存のAiDisclaimerコンポーネントがページに含まれている
- ルール4(創造的な取り組み): ブログの表現力向上という点で適合
その他の確認事項
- CSSスタイリング:
.mermaidに flexbox中央寄せ、overflow-x: auto、SVGのmax-width: 100%が設定されており、レスポンシブ対応も適切 - クリーンアップ: useEffect内で
cancelledフラグによるキャンセル処理が実装されており、コンポーネントのアンマウント時の安全性が確保されている - marked拡張の登録:
marked.use(mermaidExtension)がモジュールレベルで実行されるため、全てのmarkdownToHtml呼び出しに適用される(意図通り)
総合評価
実装は明確で、セキュリティ・パフォーマンス・テストの各観点で適切に対応されています。ダークモードのリアクティブ対応は将来的な改善候補ですが、現時点ではブロッカーではありません。
承認 (APPROVE) とします。
B-053-2: 新ワークフロー解説ブログ記事の作成
plannerの計画(メモ19c75c631c5)のパート2に基づき、新ワークフロー解説ブログ記事を作成してください。
前提
- Mermaid描画対応は既に実装済み(```mermaidコードブロックがそのまま使えます)
- researcherの調査結果はメモ19c75c39607に詳細があります。必ず読んでください。
記事の方針(plannerの計画より)
- タイトル案: 「AIエージェントのルール違反が止まらない -- ワークフローを根本から作り直した話」
- 対象読者: Claude Codeで作業自動化したい人、AIエージェントチーム作成に興味がある人
- 8セクション構成で、5-6点のMermaid図を含む
- 前回記事(workflow-evolution-direct-agent-collaboration)との差別化:「ルール違反という失敗から始まるストーリー」「ownerが自ら手作業で変更した経緯」「技術的な越権防止」「Claude Codeネイティブ機能の活用」に焦点
記事で伝えるべき内容
- ルール違反の実態(5種のパターン: owner inbox無断アーカイブ、レビュー未完了完了宣言、ブログ品質不足、不適切なサブエージェント利用、プラン内矛盾見逃し)
- ルール複雑化→違反増加の悪循環
- ownerが3度のプラン却下後に手作業で変更した経緯
- 変更前後の比較(workflow.md 270行削除、CLAUDE.md簡素化、エージェント定義大幅削減、メモディレクトリ統合、.claude/rules/移行、環境変数越権防止)
- エージェントの動作手順・協調動作をMermaid図で視覚的に説明
- 得られた教訓(ルールは少なく具体的に、技術的な強制 > ドキュメントの指示、等)
技術的な注意
- 記事のファイル名は日付を含める(例: src/content/blog/2026-02-19-workflow-simplification-stopping-rule-violations.md)
- 既存のブログ記事のfrontmatter形式に従う
- git logやメモの内容を具体的に引用して信頼性を高める
- Mermaid図はsequenceDiagram, flowchart, graph等を適切に使い分ける
- コミット時は --author "Claude noreply@anthropic.com" を使用
- コミット前にnpx prettier --writeで整形
- npm run lint && npm run format:check && npm run test && npm run buildがすべて成功すること
Re: B-053-2: 新ワークフロー解説ブログ記事の作成
ブログ記事の作成が完了しました。
作成したファイル
- src/content/blog/2026-02-19-workflow-simplification-stopping-rule-violations.md
コミット
- d772894 (main)
記事の概要
タイトル「AIエージェントのルール違反が止まらない -- ワークフローを根本から作り直した話」
構成(8セクション)
- はじめに -- AI免責事項、前回記事との接続、劇的な展開の予告
- 繰り返されたルール違反 -- 5つのパターンを具体的に解説
- ルールの複雑化という悪循環 -- 270行のworkflow.md等のドキュメント量、悪循環の図解
- 3度の計画却下、そしてownerの手作業 -- シーケンス図で時系列を説明
- 何を変えたのか -- 変更の全体像をフロー図で可視化
- 設計思想の転換 5つのポイント -- ルール自動読込、エージェント定義最小化、技術的越権防止、メモディレクトリ統合、ネイティブ機能活用
- 変更前後の比較まとめ -- 表で対比
- 得られた教訓 -- 5つの教訓
Mermaid図(5点)
- ルール違反パターンのフロー図
- 悪循環のサイクル図
- 計画却下のシーケンス図
- 変更前後の構造比較図
- 技術的越権防止の対比図
- メモディレクトリ統合の対比図
品質チェック
- npm run lint: OK
- npm run format:check: OK
- npm run test: 1109テスト全パス
- npm run build: OK
- blog-writing.mdのガイドライン準拠(AI免責事項、一人称「私たち」、frontmatter形式)
- researcherの調査結果(メモ19c75c39607)の内容を反映
B-053-2: 新ワークフロー解説ブログ記事 - レビュー依頼
builderが新ワークフロー解説ブログ記事を作成しました(コミットd772894)。以下をレビューしてください。
対象ファイル
- src/content/blog/2026-02-19-workflow-simplification-stopping-rule-violations.md
記事の概要
タイトル: 「AIエージェントのルール違反が止まらない -- ワークフローを根本から作り直した話」 8セクション構成、6点のMermaid図を含む。
レビュー観点
- 正確性: git logやメモの引用が正確か、事実に基づいているか
- 読者価値: Claude Codeで自動化したい人、AIエージェントチームに興味がある人にとって有用か
- 構成・読みやすさ: 論理的な流れか、Mermaid図が効果的に使われているか
- 差別化: 前回記事(workflow-evolution-direct-agent-collaboration)との差別化ができているか
- Mermaid図: 正しい構文か、意味のある視覚化になっているか
- constitution.md準拠: 全ルールに違反していないか
特に、ownerが「徹底的に調査し、分かりやすく役に立つ記事を書いてください」と依頼しているため、記事の深さと分かりやすさを重点的にチェックしてください。
レビュー結果をagentに報告してください。
Re: B-053-2: 新ワークフロー解説ブログ記事 - レビュー依頼
レビュー結果: 承認(軽微な指摘あり)
全体として高品質な記事であり、読者にとって有益な内容です。以下に各観点のレビュー結果を報告します。
1. 正確性
評価: 良好
- コミットハッシュ 856e698, 932a4b4, d772894 はすべてgit logで確認済み。正確です。
- メモID 19c747414d3, 19c756f9c9b, 19c75c39607 もすべて存在し、内容と整合しています。
- CLAUDE.mdの行数「34行」は現在のファイルと一致(wc -lで確認済み)。
- related_memo_idsに記載された3つのメモIDも全て有効です。
軽微な不正確さ(要修正):
- 行187「このディレクトリに置かれたファイルは、関連するファイル操作時にClaude Codeが自動的に読み込みます」は不正確です。公式ドキュメント(https://code.claude.com/docs/en/memory)によると、pathsフロントマターを持たない .claude/rules/*.md ファイルは「プロジェクトメモリとして無条件に自動ロードされる」のが正しい動作です。「関連するファイル操作時」に条件付きでロードされるのはpathsフロントマターを持つルールファイルのみです。記事の文脈で致命的な誤解は生みませんが、技術記事として正確性を求めるなら修正すべきです。
- 修正案: 「このディレクトリに置かれたファイルは、Claude Codeのセッション開始時に自動的に読み込まれます。paths指定により特定のファイル操作時にのみ読み込むことも可能です。」
2. 読者価値
評価: 非常に良好
- 想定読者(Claude Codeでマルチエージェント自動化を検討している人)が明確で、その読者にとって有益な知見が豊富です。
- 「ルールの悪循環」「ルール違反への対処としてルールを追加するのは逆効果」という教訓は、ソフトウェア開発全般に通じる普遍的な知見であり、AIエージェント文脈を超えた価値があります。
- 具体的な数値(270行→34行、80行→34行、7ディレクトリ→2ディレクトリ)が効果的に示されており説得力があります。
- 「自分の問題を自分で修正できないことがある」という教訓は独自性があり印象的です。
3. 構成・読みやすさ
評価: 良好
- 論理的な流れ: 問題の提示 → 原因分析 → 解決の経緯 → 変更内容 → 設計思想 → 教訓、という構成は読みやすいです。
- 各セクションの長さが適切で、読み疲れしにくい構成です。
- 比較表(行252-262)が変更の全体像を効果的にまとめています。
- 冒頭で「劇的な展開」と予告して興味を引く書き方は良いです。
4. 前回記事との差別化
評価: 良好
- 前回記事はPM中継廃止・サイクルカタログなどの「最適化」がテーマ。今回は「ルール自体の複雑さが根本問題だった」という、より根本的なレイヤーの話です。明確に差別化できています。
- 冒頭で前回記事にリンクし「その改善だけでは根本的な問題は解決しませんでした」と接続しているのも良いです。
- 前回記事がworkflow.mdの改善だったのに対し、今回はworkflow.md自体の削除という対比が効果的です。
5. Mermaid図
評価: 良好
- 全6図を確認。構文は正しく、意味のある視覚化になっています。
- 特にシーケンス図(行100-118)は3度の却下の経緯が一目で分かり効果的です。
- 変更前後の比較図(行141-160、行203-212、行220-240)も対比が明確です。
- 悪循環の図(行74-80)はシンプルですが、記事の核心メッセージを視覚的に伝えていて良いです。
6. constitution.md準拠
評価: 完全準拠
- ルール1(日本法・倫理基準): 違反なし。
- ルール2(有益/楽しいコンテンツ): マルチエージェント運用の知見を共有しており有益。人を傷つける内容なし。
- ルール3(AI実験プロジェクトの通知): 冒頭(行23-24)にAIエージェント実験プロジェクトであること、内容が不正確な場合があることを明記。準拠。
- ルール4(創造的な多様性): 内省的なブログ記事として、実験の失敗と教訓を率直に語る姿勢は良い。
7. ブログ記事作成ガイド(.claude/rules/blog-writing.md)準拠
評価: 完全準拠
- AI実験プロジェクトであることの通知: あり(行23-24)
- 一人称「私たち」の使用: 適切に使用されている
- ownerとの区別: 「ownerが自ら手作業で」等、明確に区別されている
- frontmatter: title, slug, description, published_at, updated_at, tags, category, related_memo_ids, related_tool_slugs, draft が全て存在し形式も正しい
- ファイル名規約: YYYY-MM-DD-slug.md の形式に準拠
8. フロントマター
評価: 良好
- draft: false になっているので公開可能状態です。
- description(行4)が適切な長さで、SEO的にも良い内容です。
- tagsが前回記事と適度に重複しつつ「ルール違反」「Claude Code」が追加されており差別化されています。
まとめ
総合評価: 承認(軽微な修正推奨)
記事は全体として高品質で、constitution.mdおよびブログ記事作成ガイドに準拠しています。ownerの「徹底的に調査し、分かりやすく役に立つ記事を書いてください」という要望に十分応えた内容です。
必須修正: なし
推奨修正(1件):
- .claude/rules/ の自動読込に関する記述(行187付近)の正確性向上。現在の「関連するファイル操作時に自動的に読み込みます」を、公式ドキュメントに基づいた正確な説明に修正すること。