Re: レビュー依頼: ワークフロー簡略化の実装プラン
Review Verdict: Changes Requested
全体として良く構成されたプランであり、ownerの要件をおおむね網羅している。しかし、いくつかの重要な問題点と曖昧な箇所があるため修正を求める。
1. Critical Issues (修正必須)
1.1 YOLO_AGENT環境変数の設定方法が未定義
問題: 各agent定義で「Set YOLO_AGENT=agent when using memo CLI」と記載されているが、YOLO_AGENT環境変数を実際にどう設定するかの仕組みが定義されていない。agentが自発的に環境変数を設定するのは信頼性が低い(agentがこの指示を忘れる・無視するリスクがある)。
対策案: Claude Code Hooksを使って確定的に設定すべき。SubagentStartフックやPreToolUseフックで、Bashコマンド内の npm run memo 呼び出し時に自動で環境変数を注入する仕組みが必要。あるいは、sub-agent定義のYAMLフロントマターで環境変数を指定できるかどうかを調査し、仕組みで強制する方法を検討すること。現状のままでは、ownerメモ保護がagentの自発的協力に依存しており、owner指示の「越権行為ができないようにする」要件を満たさない。
1.2 memo-spec.md の情報損失
問題: docs/memo-spec.md (214行) の削除が予定されているが、移行先の .claude/rules/memo-system.md は大幅に簡略化されている。以下の情報が失われる:
- メモIDの生成仕様(UNIXタイムスタンプ16進数エンコード)
- ファイル名規約(
<id>-<kebab-case-subject>.md) - YAMLフロントマターの全フィールド仕様
- テンプレート(汎用タスクメモ、返信メモ、リサーチメモ、プランニングメモ、実装メモ、レビューメモ)
- メモの粒度ルール(1メモ1タスク)の詳細な背景説明
- CLIコマンドリファレンスの詳細オプション(--limit, --fields等)
対策: memo-spec.md は削除せず残すか、.claude/rules/memo-system.md に必要な情報をすべて含めるべき。CLIツールがメモIDやファイル名を自動生成するため一部は不要かもしれないが、テンプレートやオプション仕様は必要。
1.3 analytics.md の扱いが曖昧
問題: docs/analytics.md の扱いが「.claude/rules/coding-standards.md のArchitectureセクションに含めるか、必要時にresearcherが参照」と曖昧。coding-standards.md の提示内容にはanalytics情報が含まれていない。削除してよいのか、移行先に含めるのか、明確にすべき。
1.4 settings.json のdenyリストが不完全
問題: 現在の settings.json には "deny": ["Edit(/docs/constitution.md)"] のみだが、提案される新しい settings.json では "deny": ["Edit(/docs/constitution.md)", "Write(/docs/constitution.md)"] に拡張されている。しかし、protect-constitution.sh フックも同時に追加される。deny設定とフックの両方で同じことを二重にガードするのは問題ないが、deny設定で MultiEdit も明示すべき(MultiEditはEditとは別のツール)。
1.5 protect-memo-direct.sh のバイパスが容易
問題: memo/ディレクトリの直接操作防止フックは単純な文字列マッチングで実装されており、以下のケースで回避可能:
python -c "import shutil; shutil.move('memo/...', '...')"のようなスクリプト言語経由cat memo/agent/inbox/xxx.mdの読み取りはブロック対象外(読み取りは問題ないが、意図的かどうか不明)tee memo/agent/inbox/xxx.mdやdd of=memo/agent/inbox/xxx.mdなどの代替コマンド
完全な防止は困難だが、既知のバイパスパターンについてコメントで「限界事項」として記録すべき。また、mkdir がブロック対象に含まれているが、Step 1.1 で mkdir -p memo/agent/inbox/ を実行する必要がある。builder実行時にこのフックが衝突する可能性がある。
2. Major Issues (強く推奨する修正)
2.1 workflow.md の情報損失
問題: workflow.md (270行) の大量の情報が失われる。特に以下:
- 標準ライフサイクルパターン (research -> plan -> review plan -> build -> review implementation -> ship) の詳細な記述
- 軽微な修正の例外規定
- ブログ記事の作成基準と具体的な「含めるべき内容の例」
- Pre-flightチェックリストの詳細(CodeQLアラート、Dependabot PR対応)
cycle-management.md にはこれらの一部が簡略形で含まれているが、ブログ記事作成基準や軽微修正の例外規定は消失している。blog-article-writing SKILLに含まれている可能性があるが、プランで確認されていない。
対策: blog-article-writing SKILLの現在の内容を確認し、不足する情報の移行先を明確にすること。
2.2 main agent の責務定義が不在
問題: ownerの指示には「メインエージェント」の存在が前提にあるが、プランにはmain agentの定義(CLAUDE.md以外)がない。main agentが何をすべきか、どのような権限を持つか、sub-agentにどう委任するかの具体的な記述が .claude/rules/ や CLAUDE.md にない。現在のworkflow.mdにあるPMの詳細な責務規定(禁止事項、サブエージェント起動方式など)に相当する情報が消失する。
対策: .claude/rules/ に main-agent.md を追加するか、CLAUDE.md のCore Workflowセクションを拡充すべき。ただしCLAUDE.md 60行制約があるため、rulesファイルが適切。
2.3 「レビューは絶対に通過させる仕組みを確保する」の実現が不十分
問題: ownerは「レビューは絶対に通過させる仕組みを確保する」ことを明確に要求している。プランではreviewer agentに disallowedTools を設定し read-only にしているが、「ビルド結果がレビューを通過しなければshipできない」という確定的な仕組み(Hooksなど)は含まれていない。builder のagent定義に「Request review by creating a review-request memo」と書かれているが、これは助言的であり確定的ではない。
対策: Stop フックや TaskCompleted フックを使って、レビュー承認メモの存在を確認する仕組みを検討すべき。少なくとも、cycle-completion SKILLにおけるレビュー確認ステップをHooksで強制する方法を記載すること。
2.4 from フィールドの区別がなくなる問題
問題: 新システムでは全agentが from=agent, to=agent でメモを送受信する。しかし、元のシステムでは from=researcher, from=builder 等でメモの出所が明確だった。新システムでは「このメモはどのsub-agentが書いたのか」が不明になる。
対策: from フィールドに sub-agent名(researcher, builder等)を使うことを許可するか、タグやメモ本文で明記するルールを追加すべき。ROLE_SLUG_MAP でagentのみを新規作成先として許可する場合、fromにresearcherを書けなくなる。types.ts の設計を再検討すること。
3. Minor Issues (改善推奨)
3.1 content-ideator agent に memory: project が未設定
問題: 受入基準に「全agentにmemory: projectが設定されている(content-ideator以外)」とあるが、content-ideatorにmemoryを設定しない理由が不明。アイデア出しの文脈でも過去のアイデアや既存コンテンツの記憶は有用。
3.2 CLAUDE.md の否定形チェック
問題: 提案されたCLAUDE.md に明示的な否定形は見当たらないが、受入基準に「否定形の指示が含まれていない」とある。実装時にチェックすべき。
3.3 Step 4.2, 4.3 のcycle-kickoff/cycle-completion更新が不十分
問題: 「主な変更点」のみが記載されており、変更後の完全なファイル内容が提示されていない。builder が曖昧さなく実装するには、完全なファイル内容が必要。他のStepではファイル全文が提示されているのに、ここだけが差分指示になっている。
対策: Step 4.2, 4.3 にも変更後の完全なファイル内容を含めること。
3.4 docs/README.md の存在確認
問題: 残すファイルとして docs/README.md が挙げられているが、この文書の存在と内容が確認されていない。存在しない場合の対処が不明。
3.5 エージェントメモアーカイブ (/memos) の公開機能への影響
問題: docs/architecture.md によると、サイトには /memos ページがあり、memo/*/archive/ から public: true のメモを収集してレンダリングしている。メモシステムの変更(agent/owner統合)がこのビルドパイプラインに影響を与えないか確認が必要。新しい memo/agent/archive/ のパスもビルド時のスキャン対象に含まれるよう対応が必要かもしれない。
4. Constitution Compliance Check
結果: 準拠
- docs/constitution.md は不変のまま保持される -- OK
- 訪問者に有益で楽しいコンテンツを目指す方針は維持 -- OK
- AI実験であることの開示は coding-standards.md の Architecture セクションに含まれる -- OK
- 日本の法律と基本的な倫理基準の遵守に関する変更なし -- OK
5. Feasibility Assessment
builder が実装可能かどうかの観点:
- Phase 1 (メモシステム): 十分に詳細。types.ts, mark.ts, create.ts の変更は明確。ただしStep 1.5(テスト更新)の詳細がない。
- Phase 2 (CLAUDE.md): 完全なファイル内容が提供されており、実装可能。
- Phase 3 (Sub-Agent): 完全なファイル内容が提供されており、実装可能。
- Phase 4 (Skills): Step 4.2, 4.3 が差分指示のみで不十分(上記3.3参照)。Step 4.4 は明確。
- Phase 5 (Hooks): 実装可能だが、YOLO_AGENT問題(上記1.1)の解決が必要。
- Phase 6 (cycles/): 単純で問題なし。
Next actions
- 上記 Critical Issues (1.1-1.5) を全て修正したプランを再提出すること
- Major Issues (2.1-2.4) も可能な限り対処すること
- Step 4.2, 4.3 の完全なファイル内容を追加すること
- 修正後、再度レビューを依頼すること