Initial commit
This commit is contained in:
571
commands/role-debate.md
Normal file
571
commands/role-debate.md
Normal file
@@ -0,0 +1,571 @@
|
||||
## Role Debate
|
||||
|
||||
異なる専門性を持つロールが議論し、トレードオフを検討して最適解を導出するコマンド。
|
||||
|
||||
### 使い方
|
||||
|
||||
```bash
|
||||
/role-debate <ロール 1>,<ロール 2> [議題]
|
||||
/role-debate <ロール 1>,<ロール 2>,<ロール 3> [議題]
|
||||
```
|
||||
|
||||
### 基本例
|
||||
|
||||
```bash
|
||||
# セキュリティ vs パフォーマンスのトレードオフ
|
||||
/role-debate security,performance
|
||||
「JWT トークンの有効期限設定について」
|
||||
|
||||
# ユーザビリティ vs セキュリティのバランス
|
||||
/role-debate frontend,security
|
||||
「2 段階認証の UX 最適化について」
|
||||
|
||||
# 技術選定の議論
|
||||
/role-debate architect,mobile
|
||||
「クロスプラットフォーム vs ネイティブ開発の選択について」
|
||||
|
||||
# 3 者議論
|
||||
/role-debate architect,security,performance
|
||||
「マイクロサービス化の是非について」
|
||||
```
|
||||
|
||||
### 議論の基本原則
|
||||
|
||||
#### 建設的議論の心得
|
||||
|
||||
- **相互尊重**: 他ロールの専門性と視点を尊重する
|
||||
- **事実ベース**: 感情的反論ではなく、データ・根拠に基づく議論
|
||||
- **解決志向**: 批判のための批判ではなく、より良い解決策を目指す
|
||||
- **実装重視**: 理想論ではなく実現可能性を考慮した提案
|
||||
|
||||
#### 論拠の質的要件
|
||||
|
||||
- **公式文書**: 標準・ガイドライン・公式ドキュメントへの言及
|
||||
- **実証事例**: 成功事例・失敗事例の具体的引用
|
||||
- **定量評価**: 可能な限り数値・指標での比較
|
||||
- **時系列考慮**: 短期・中期・長期での影響評価
|
||||
|
||||
#### 議論倫理
|
||||
|
||||
- **誠実性**: 自身の専門分野の限界も認める
|
||||
- **開放性**: 新しい情報・視点に対する柔軟性
|
||||
- **透明性**: 判断根拠・前提条件の明示
|
||||
- **責任性**: 提案の実装リスクも含めて言及
|
||||
|
||||
### 議論プロセス
|
||||
|
||||
### Phase 1: 初期立場表明
|
||||
|
||||
各ロールが専門視点から独立して意見表明
|
||||
|
||||
- 推奨案の提示
|
||||
- 根拠となる標準・文書の明示
|
||||
- 想定されるリスク・課題の説明
|
||||
- 成功指標の定義
|
||||
|
||||
### Phase 2: 相互議論・反駁
|
||||
|
||||
ロール間でのクロス議論
|
||||
|
||||
- 他ロール提案への建設的反論
|
||||
- 見落とされた視点の指摘
|
||||
- トレードオフの明確化
|
||||
- 代替案の提示
|
||||
|
||||
### Phase 3: 妥協点探索
|
||||
|
||||
実装可能な解決策の模索
|
||||
|
||||
- 各視点の重要度評価
|
||||
- Win-Win 解決策の検討
|
||||
- 段階的実装アプローチ
|
||||
- リスク軽減策の検討
|
||||
|
||||
### Phase 4: 統合結論
|
||||
|
||||
最終的な推奨事項の決定
|
||||
|
||||
- 合意された解決策
|
||||
- 実装ロードマップ
|
||||
- 成功指標・測定方法
|
||||
- 将来の見直しポイント
|
||||
|
||||
### 出力フォーマット例
|
||||
|
||||
### 2 ロール議論の場合
|
||||
|
||||
```text
|
||||
ロール議論: Security vs Performance
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
議題: JWT トークンの有効期限設定
|
||||
|
||||
Security ロールの主張:
|
||||
「15 分の短期有効期限を推奨します」
|
||||
|
||||
根拠:
|
||||
- OWASP JWT Security Cheat Sheet 準拠
|
||||
- トークン漏洩時の被害時間窓を最小化
|
||||
- 攻撃者の利用可能時間を制限
|
||||
|
||||
懸念事項:
|
||||
- 長期有効期限は攻撃リスクが指数関数的に増大
|
||||
- コンプライアンス要件 (金融系) では短期が必須
|
||||
|
||||
成功指標:
|
||||
- セキュリティインシデント発生率 < 0.1%
|
||||
- 平均攻撃検出時間 < 5 分
|
||||
|
||||
Performance ロールの反論:
|
||||
「2 時間の有効期限を推奨します」
|
||||
|
||||
根拠:
|
||||
- Google OAuth 2.0 Best Practices 参考
|
||||
- 頻繁な再認証によるサーバー負荷増大を回避
|
||||
- ユーザー体験 (作業中断) の最小化
|
||||
|
||||
懸念事項:
|
||||
- 15 分間隔の再認証は API 負荷 8 倍増
|
||||
- モバイル環境での接続断が頻発
|
||||
|
||||
成功指標:
|
||||
- API レスポンス時間 < 200ms 維持
|
||||
- サーバー CPU 使用率 < 60%
|
||||
|
||||
相互議論:
|
||||
Security → Performance:
|
||||
「サーバー負荷よりもセキュリティ侵害のビジネス損失の方が甚大。
|
||||
例: Equifax 事件では 7 億ドルの損失」
|
||||
|
||||
Performance → Security:
|
||||
「リフレッシュトークン機構で両立可能。
|
||||
バックグラウンド更新により UX を損なわずセキュリティ確保」
|
||||
|
||||
Security → Performance:
|
||||
「リフレッシュトークンも攻撃対象。適切な実装が前提」
|
||||
|
||||
Performance → Security:
|
||||
「段階的アプローチを提案。通常操作 30 分、機密操作 15 分」
|
||||
|
||||
妥協点探索:
|
||||
共通理解:
|
||||
- ユーザー体験とセキュリティの両立が必要
|
||||
- リスクレベルに応じた柔軟な対応
|
||||
- 実装・運用コストの現実的考慮
|
||||
|
||||
Win-Win 要素:
|
||||
- リフレッシュトークン機構の活用
|
||||
- リスクベース認証の段階的導入
|
||||
- 自動ログアウト機能による補完
|
||||
|
||||
統合結論:
|
||||
「30 分有効期限 + リフレッシュトークン + リスクベース認証」
|
||||
|
||||
実装詳細:
|
||||
1. アクセストークン: 30 分有効期限
|
||||
2. リフレッシュトークン: 7 日有効期限
|
||||
3. 高リスク操作: 15 分で強制再認証
|
||||
4. 無操作 30 分で自動ログアウト
|
||||
|
||||
段階的実装:
|
||||
週 1-2: 基本的な 30 分トークン実装
|
||||
週 3-4: リフレッシュトークン機構追加
|
||||
月 2: リスクベース認証の導入
|
||||
|
||||
成功指標:
|
||||
- セキュリティ: インシデント発生率 < 0.1%
|
||||
- パフォーマンス: API 負荷増加率 < 20%
|
||||
- UX: ユーザー満足度 > 85%
|
||||
|
||||
将来の見直し:
|
||||
- 3 ヶ月後: 実際の攻撃パターン・負荷状況を評価
|
||||
- 6 ヶ月後: より洗練されたリスクベース認証への移行検討
|
||||
```
|
||||
|
||||
### 3 ロール議論の場合
|
||||
|
||||
```text
|
||||
ロール議論: Architect vs Security vs Performance
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
議題: マイクロサービス化の是非
|
||||
|
||||
Architect ロールの主張:
|
||||
「段階的マイクロサービス化を推奨」
|
||||
根拠: ドメイン境界の明確化、独立したデプロイ、技術選択の自由度
|
||||
|
||||
Security ロールの懸念:
|
||||
「サービス間通信のセキュリティ複雑化」
|
||||
根拠: API Gateway、mTLS、分散認証の管理コスト
|
||||
|
||||
Performance ロールの懸念:
|
||||
「ネットワーク通信によるレイテンシ増加」
|
||||
根拠: 内部 API 呼び出しによる N+1 問題、分散トランザクション
|
||||
|
||||
3 者議論:
|
||||
Architect → Security: 「API Gateway で集中管理により統制可能」
|
||||
Security → Architect: 「単一障害点となるリスク」
|
||||
Performance → Architect: 「サービス分割の粒度が重要」
|
||||
...(議論継続)
|
||||
|
||||
統合結論:
|
||||
「ドメイン駆動設計による段階的分割 + セキュリティファースト設計」
|
||||
```
|
||||
|
||||
### 効果的な議論パターン
|
||||
|
||||
### 技術選定
|
||||
|
||||
```bash
|
||||
/role-debate architect,performance
|
||||
「データベース選択: PostgreSQL vs MongoDB」
|
||||
|
||||
/role-debate frontend,mobile
|
||||
「UI フレームワーク: React vs Vue」
|
||||
|
||||
/role-debate security,architect
|
||||
「認証方式: JWT vs Session Cookie」
|
||||
```
|
||||
|
||||
### 設計判断
|
||||
|
||||
```bash
|
||||
/role-debate security,frontend
|
||||
「ユーザー認証の UX 設計」
|
||||
|
||||
/role-debate performance,mobile
|
||||
「データ同期戦略の最適化」
|
||||
|
||||
/role-debate architect,qa
|
||||
「テスト戦略とアーキテクチャ設計」
|
||||
```
|
||||
|
||||
### トレードオフ問題
|
||||
|
||||
```bash
|
||||
/role-debate security,performance
|
||||
「暗号化レベル vs 処理速度」
|
||||
|
||||
/role-debate frontend,performance
|
||||
「リッチ UI vs ページ読み込み速度」
|
||||
|
||||
/role-debate mobile,security
|
||||
「利便性 vs データ保護レベル」
|
||||
```
|
||||
|
||||
### ロール別議論特性
|
||||
|
||||
#### 🔒 Security ロール
|
||||
|
||||
```yaml
|
||||
議論スタンス:
|
||||
- 保守的アプローチ (リスク最小化)
|
||||
- 規則準拠重視 (標準からの逸脱に慎重)
|
||||
- 最悪ケース想定 (攻撃者視点)
|
||||
- 長期的影響重視 (技術的負債としてのセキュリティ)
|
||||
|
||||
典型的論点:
|
||||
- "セキュリティ vs 利便性" のトレードオフ
|
||||
- "コンプライアンス要件の必達"
|
||||
- "攻撃コスト vs 防御コストの比較"
|
||||
- "プライバシー保護の徹底"
|
||||
|
||||
論拠ソース:
|
||||
- OWASP ガイドライン
|
||||
- NIST フレームワーク
|
||||
- 業界標準 (ISO 27001, SOC 2)
|
||||
- 実際の攻撃事例・統計
|
||||
|
||||
議論での強み:
|
||||
- リスク評価の精度
|
||||
- 規制要件の知識
|
||||
- 攻撃手法への理解
|
||||
|
||||
注意すべき偏見:
|
||||
- 過度な保守性 (イノベーション阻害)
|
||||
- UX への配慮不足
|
||||
- 実装コストの軽視
|
||||
```
|
||||
|
||||
#### ⚡ Performance ロール
|
||||
|
||||
```yaml
|
||||
議論スタンス:
|
||||
- データ駆動判断 (測定ベース)
|
||||
- 効率性重視 (コスト対効果の最適化)
|
||||
- ユーザー体験優先 (体感速度重視)
|
||||
- 継続的改善 (段階的最適化)
|
||||
|
||||
典型的論点:
|
||||
- "パフォーマンス vs セキュリティ"
|
||||
- "最適化コスト vs 効果の投資対効果"
|
||||
- "現在 vs 将来のスケーラビリティ"
|
||||
- "ユーザー体験 vs システム効率"
|
||||
|
||||
論拠ソース:
|
||||
- Core Web Vitals メトリクス
|
||||
- ベンチマーク結果・統計
|
||||
- ユーザー行動への影響データ
|
||||
- 業界パフォーマンス標準
|
||||
|
||||
議論での強み:
|
||||
- 定量的評価能力
|
||||
- ボトルネック特定
|
||||
- 最適化手法の知識
|
||||
|
||||
注意すべき偏見:
|
||||
- セキュリティの軽視
|
||||
- 保守性への配慮不足
|
||||
- プレマチュアオプティマイゼーション
|
||||
```
|
||||
|
||||
#### 🏗️ Architect ロール
|
||||
|
||||
```yaml
|
||||
議論スタンス:
|
||||
- 長期視点重視 (システム進化への配慮)
|
||||
- バランス追求 (全体最適)
|
||||
- 段階的変更 (リスク管理)
|
||||
- 標準準拠 (実証済みパターン優先)
|
||||
|
||||
典型的論点:
|
||||
- "短期効率 vs 長期保守性"
|
||||
- "技術的負債 vs 開発速度"
|
||||
- "マイクロサービス vs モノリス"
|
||||
- "新技術採用 vs 安定性"
|
||||
|
||||
論拠ソース:
|
||||
- アーキテクチャパターン集
|
||||
- 設計原則 (SOLID, DDD)
|
||||
- 大規模システム事例
|
||||
- 技術進化のトレンド
|
||||
|
||||
議論での強み:
|
||||
- 全体俯瞰能力
|
||||
- 設計パターンの知識
|
||||
- 長期影響の予測
|
||||
|
||||
注意すべき偏見:
|
||||
- 過度な一般化
|
||||
- 新技術への保守性
|
||||
- 実装詳細への理解不足
|
||||
```
|
||||
|
||||
#### 🎨 Frontend ロール
|
||||
|
||||
```yaml
|
||||
議論スタンス:
|
||||
- ユーザー中心設計 (UX 最優先)
|
||||
- 包摂的アプローチ (多様性配慮)
|
||||
- 直感性重視 (学習コスト最小化)
|
||||
- アクセシビリティ標準 (WCAG 準拠)
|
||||
|
||||
典型的論点:
|
||||
- "ユーザビリティ vs セキュリティ"
|
||||
- "デザイン統一 vs プラットフォーム最適化"
|
||||
- "機能性 vs シンプルさ"
|
||||
- "パフォーマンス vs リッチな体験"
|
||||
|
||||
論拠ソース:
|
||||
- UX 研究・ユーザビリティテスト結果
|
||||
- アクセシビリティガイドライン
|
||||
- デザインシステム標準
|
||||
- ユーザー行動データ
|
||||
|
||||
議論での強み:
|
||||
- ユーザー視点の代弁
|
||||
- デザイン原則の知識
|
||||
- アクセシビリティ要件
|
||||
|
||||
注意すべき偏見:
|
||||
- 技術制約への理解不足
|
||||
- セキュリティ要件の軽視
|
||||
- パフォーマンス影響の過小評価
|
||||
```
|
||||
|
||||
#### 📱 Mobile ロール
|
||||
|
||||
```yaml
|
||||
議論スタンス:
|
||||
- プラットフォーム特化 (iOS/Android 差異考慮)
|
||||
- コンテキスト適応 (移動中・片手操作)
|
||||
- リソース制約 (バッテリー・メモリ・通信)
|
||||
- ストア準拠 (審査ガイドライン)
|
||||
|
||||
典型的論点:
|
||||
- "ネイティブ vs クロスプラットフォーム"
|
||||
- "オフライン対応 vs リアルタイム同期"
|
||||
- "バッテリー効率 vs 機能性"
|
||||
- "プラットフォーム統一 vs 最適化"
|
||||
|
||||
論拠ソース:
|
||||
- iOS HIG / Android Material Design
|
||||
- App Store / Google Play ガイドライン
|
||||
- モバイル UX 研究
|
||||
- デバイス性能統計
|
||||
|
||||
議論での強み:
|
||||
- モバイル特有制約の理解
|
||||
- プラットフォーム差異の知識
|
||||
- タッチインターフェース設計
|
||||
|
||||
注意すべき偏見:
|
||||
- Web プラットフォームへの理解不足
|
||||
- サーバーサイド制約の軽視
|
||||
- デスクトップ環境への配慮不足
|
||||
```
|
||||
|
||||
#### 🔍 Analyzer ロール
|
||||
|
||||
```yaml
|
||||
議論スタンス:
|
||||
- 証拠重視 (データファースト)
|
||||
- 仮説検証 (科学的アプローチ)
|
||||
- 構造的思考 (システム思考)
|
||||
- バイアス除去 (客観性追求)
|
||||
|
||||
典型的論点:
|
||||
- "相関関係 vs 因果関係"
|
||||
- "症状対症療法 vs 根本解決"
|
||||
- "仮説 vs 事実の区別"
|
||||
- "短期症状 vs 構造的問題"
|
||||
|
||||
論拠ソース:
|
||||
- 実測データ・ログ分析
|
||||
- 統計的手法・分析結果
|
||||
- システム思考理論
|
||||
- 認知バイアス研究
|
||||
|
||||
議論での強み:
|
||||
- 論理的分析能力
|
||||
- 証拠評価の客観性
|
||||
- 構造的問題の発見
|
||||
|
||||
注意すべき偏見:
|
||||
- 分析麻痺 (行動力不足)
|
||||
- 完璧主義 (実用性軽視)
|
||||
- データ万能主義
|
||||
```
|
||||
|
||||
### 議論進行テンプレート
|
||||
|
||||
#### Phase 1: 立場表明テンプレート
|
||||
|
||||
```text
|
||||
【ロール名】の推奨案:
|
||||
「[具体的な提案]」
|
||||
|
||||
根拠:
|
||||
- [公式文書・標準への言及]
|
||||
- [実証事例・データ]
|
||||
- [専門分野の原則]
|
||||
|
||||
想定効果:
|
||||
- [短期的効果]
|
||||
- [中長期的効果]
|
||||
|
||||
懸念・リスク:
|
||||
- [実装リスク]
|
||||
- [運用リスク]
|
||||
- [他分野への影響]
|
||||
|
||||
成功指標:
|
||||
- [測定可能な指標 1]
|
||||
- [測定可能な指標 2]
|
||||
```
|
||||
|
||||
#### Phase 2: 反駁テンプレート
|
||||
|
||||
```text
|
||||
[対象ロール] への反論:
|
||||
「[対象提案への具体的反論]」
|
||||
|
||||
反論根拠:
|
||||
- [見落とされた視点]
|
||||
- [対立する証拠・事例]
|
||||
- [専門分野からの懸念]
|
||||
|
||||
代替案:
|
||||
「[改良された提案]」
|
||||
|
||||
妥協可能ポイント:
|
||||
- [受け入れ可能な条件]
|
||||
- [段階的実装の可能性]
|
||||
```
|
||||
|
||||
#### Phase 3: 統合解決テンプレート
|
||||
|
||||
```text
|
||||
統合解決案:
|
||||
「[各ロールの懸念を考慮した最終提案]」
|
||||
|
||||
各ロールへの配慮:
|
||||
- [Security]: [セキュリティ要件の満足方法]
|
||||
- [Performance]: [パフォーマンス要件の満足方法]
|
||||
- [その他]: [その他要件の満足方法]
|
||||
|
||||
実装ロードマップ:
|
||||
- フェーズ 1 (即座): [緊急対応事項]
|
||||
- フェーズ 2 (短期): [基本実装]
|
||||
- フェーズ 3 (中期): [完全実装]
|
||||
|
||||
成功指標・測定方法:
|
||||
- [統合的な成功指標]
|
||||
- [測定方法・頻度]
|
||||
- [見直しタイミング]
|
||||
```
|
||||
|
||||
### 議論品質チェックリスト
|
||||
|
||||
#### 論拠の質
|
||||
|
||||
- [ ] 公式文書・標準への言及がある
|
||||
- [ ] 具体的な事例・データが提示されている
|
||||
- [ ] 推測と事実が明確に区別されている
|
||||
- [ ] 情報源が明示されている
|
||||
|
||||
#### 議論の建設性
|
||||
|
||||
- [ ] 相手の提案を正確に理解している
|
||||
- [ ] 感情的でなく論理的な反論
|
||||
- [ ] 代替案も提示している
|
||||
- [ ] Win-Win の可能性を探っている
|
||||
|
||||
#### 実装可能性
|
||||
|
||||
- [ ] 技術的実現可能性を考慮
|
||||
- [ ] 実装コスト・期間を見積もり
|
||||
- [ ] 段階的実装の可能性を検討
|
||||
- [ ] リスク軽減策を提示
|
||||
|
||||
#### 統合性
|
||||
|
||||
- [ ] 他分野への影響を考慮
|
||||
- [ ] 全体最適を追求
|
||||
- [ ] 長期的視点を含む
|
||||
- [ ] 測定可能な成功指標を設定
|
||||
|
||||
### Claude との連携
|
||||
|
||||
```bash
|
||||
# 設計文書を元にした議論
|
||||
cat system-design.md
|
||||
/role-debate architect,security
|
||||
「この設計のセキュリティ面での課題を議論して」
|
||||
|
||||
# 問題を元にした解決策議論
|
||||
cat performance-issues.md
|
||||
/role-debate performance,architect
|
||||
「パフォーマンス問題の根本的解決策を議論して」
|
||||
|
||||
# 要件を元にした技術選定議論
|
||||
/role-debate mobile,frontend
|
||||
「iOS ・Android ・Web の統一 UI 戦略について議論して」
|
||||
```
|
||||
|
||||
### 注意事項
|
||||
|
||||
- 議論は時間がかかる場合があります (複雑なトピックほど長時間)
|
||||
- 3 つ以上のロールでは議論が発散する可能性があります
|
||||
- 最終判断は議論結果を参考にユーザーが行ってください
|
||||
- 緊急性の高い問題では single role や multi-role を先に検討してください
|
||||
Reference in New Issue
Block a user