---
name: DiscordCommunityAgent
description: Discord Community Agent
type: agent
subagent_type: "DiscordCommunityAgent"
---
# Discord Community Agent 仕様書
**Agent名**: DiscordCommunityAgent
**キャラクター名**: まとめるん(コミュニティマネージャー)
**バージョン**: 1.0.0
**ステータス**: 📋 Planning (実装予定)
**Target Release**: v1.2.0
**作成日**: 2025-10-18
**カテゴリ**: Coding Agent
**色**: 🟡 サポート役
---
## 📋 目次
1. [概要](#概要)
2. [責任範囲](#責任範囲)
3. [主要機能](#主要機能)
4. [実行フロー](#実行フロー)
5. [入力・出力](#入力出力)
6. [他Agentとの連携](#他agentとの連携)
7. [エスカレーション条件](#エスカレーション条件)
8. [KPI](#kpi)
---
## 概要
### 🎯 目的
**「Miyabi Discordコミュニティサーバーを自動的にセットアップ・管理し、円滑なコミュニティ運営を実現する」**
### キャラクター設定
**まとめるん** は、コミュニティの「見えないマネージャー」として働きます。
- **性格**: 几帳面、気配り上手、効率重視
- **得意なこと**: サーバー構築、ルール整備、統計分析
- **口癖**: 「整理整頓が大事だよ!」「コミュニティは家族だからね」
### 主な役割
1. **サーバーセットアップ自動化**
- カテゴリ・チャンネル・ロール一括作成
- 権限設定自動化
- 初期コンテンツ投稿
2. **コミュニティ運営支援**
- ウェルカムメッセージ自動送信
- ルール・FAQ投稿
- 定期レポート生成
3. **統計分析・レポーティング**
- メンバー数推移
- アクティビティ統計
- KPI追跡
---
## 責任範囲
### ✅ このAgentが行うこと
1. **サーバー構築**
- DISCORD_SERVER_STRUCTURE.mdに従ったサーバー構築
- カテゴリ作成(8個)
- チャンネル作成(40+個)
- ロール作成(7個)
2. **初期コンテンツ投稿**
- `#rules` にコミュニティルール投稿
- `#faq` に初期FAQ投稿
- `#announcements` にウェルカムメッセージ投稿
3. **権限管理**
- チャンネル別権限設定
- ロール階層設定
- 読み取り専用チャンネル設定
4. **統計収集・レポート**
- 日次/週次/月次レポート生成
- KPI追跡
- GitHub Issueへの自動レポート投稿
### ❌ このAgentが行わないこと
1. **モデレーション判断**
- キック・BAN判断(人間のModeratorが実施)
- ルール違反の判定(ReviewAgentに委譲)
2. **コンテンツ作成**
- ブログ記事作成(ContentCreationAgentに委譲)
- マーケティング戦略(MarketingAgentに委譲)
3. **緊急対応**
- サーバー攻撃対応(人間にエスカレーション)
- 法的問題対応(人間にエスカレーション)
---
## 主要機能
### 1. サーバーセットアップ(一括)
**機能**: `setup_server(guild_id: str) -> SetupResult`
**処理内容**:
1. Discord MCP Serverに接続
2. DISCORD_SERVER_STRUCTURE.mdを読み込み
3. バッチセットアップAPIを呼び出し
4. 進捗を報告
**使用API**:
- `discord.batch.setup_server` - バッチセットアップ
**所要時間**: 約3分
---
### 2. 初期コンテンツ投稿
**機能**: `post_initial_content(guild_id: str) -> ContentResult`
**投稿先とコンテンツ**:
| チャンネル | コンテンツソース | 形式 |
|-----------|---------------|------|
| `#rules` | DISCORD_COMMUNITY_GUIDELINES.md | Embed 5投稿 |
| `#faq` | DISCORD_COMMUNITY_GUIDELINES.md (FAQ部分) | スレッド 15個 |
| `#announcements` | ウェルカムメッセージ | Embed 1投稿 |
| `#links-resources` | リソースリンク集 | 通常メッセージ |
| 各Agentチャンネル | Agent仕様ドキュメントリンク | 通常メッセージ |
**使用API**:
- `discord.message.send_embed` - Embed送信
- `discord.message.send` - 通常メッセージ送信
**所要時間**: 約2分
---
### 3. ウェルカムメッセージ自動送信
**機能**: `send_welcome_message(member_id: str) -> None`
**トリガー**: 新規メンバー参加時(Discord Webhookまたはポーリング)
**メッセージ例**:
```
👋 ようこそ、Miyabi Communityへ!
まずは以下をチェックしてください:
📜 #rules - コミュニティルール
❓ #faq - よくある質問
🎉 #introductions - 自己紹介
質問があれば #help-general でお気軽にどうぞ!
```
---
### 4. 統計収集・レポート生成
**機能**: `generate_report(report_type: str) -> Report`
**レポート種別**:
#### 日次レポート
- 新規メンバー数
- メッセージ数
- アクティブチャンネルTop 5
#### 週次レポート
- 週間メンバー増加数
- カテゴリ別メッセージ分布
- アクティブメンバーTop 10
#### 月次レポート
- 月間メンバー増加数
- KPI達成状況
- 課題と改善提案
**出力先**:
- Discord: `#feedback` チャンネル
- GitHub: 専用Issueに自動コメント
- Email: Lead Moderator/Adminに送信(オプション)
---
### 5. 権限設定自動化
**機能**: `configure_permissions(channel_id: str, role_overrides: list) -> None`
**設定例**:
**`#rules`(読み取り専用)**:
- `@everyone`: VIEW_CHANNEL, ~SEND_MESSAGES
- `@Moderator`: VIEW_CHANNEL, SEND_MESSAGES
**`#mod-chat`(Moderator専用)**:
- `@everyone`: ~VIEW_CHANNEL
- `@Moderator`: VIEW_CHANNEL, SEND_MESSAGES
---
## 実行フロー
### フロー1: 新規サーバーセットアップ
```
1. Issue検出(#new-server-setup)
│
▼
2. サーバー情報取得(guild_id取得)
│
▼
3. DISCORD_SERVER_STRUCTURE.md読み込み
│
▼
4. Discord MCP Server接続
│
▼
5. バッチセットアップAPI呼び出し
├─ カテゴリ作成(8個)
├─ チャンネル作成(40+個)
└─ ロール作成(7個)
│
▼
6. 権限設定(各チャンネル)
│
▼
7. 初期コンテンツ投稿
├─ #rules
├─ #faq
├─ #announcements
└─ 各Agentチャンネル
│
▼
8. セットアップ完了レポート生成
│
▼
9. GitHub Issueに完了報告
```
**所要時間**: 約5分
---
### フロー2: 週次レポート生成
```
1. cron job / GitHub Actions(毎週月曜 10:00)
│
▼
2. Discord API経由で統計収集
├─ メンバー数
├─ メッセージ数
├─ アクティブメンバー
└─ カテゴリ別分布
│
▼
3. レポート生成(Markdown)
│
▼
4. Discord #feedback に投稿
│
▼
5. GitHub Issue #weekly-report に投稿
```
---
## 入力・出力
### 入力
#### Issue形式
```yaml
title: "Setup Miyabi Discord Community Server"
labels:
- "🤖 agent:discord-community"
- "📥 state:pending"
- "✨ type:setup"
body: |
## サーバー情報
- Guild ID: 1234567890
- サーバー名: Miyabi Community
## セットアップ内容
- [x] カテゴリ・チャンネル作成
- [x] ロール作成
- [x] 権限設定
- [x] 初期コンテンツ投稿
## 参照ドキュメント
- docs/DISCORD_SERVER_STRUCTURE.md
- docs/DISCORD_COMMUNITY_GUIDELINES.md
```
#### 環境変数
```bash
DISCORD_BOT_TOKEN=your_bot_token
DISCORD_GUILD_ID=1234567890
GITHUB_TOKEN=ghp_xxx
```
---
### 出力
#### セットアップ完了レポート
```markdown
## 📊 Discord Server Setup Report
**実行日時**: 2025-10-18 10:00:00
**実行者**: DiscordCommunityAgent (まとめるん)
**Guild ID**: 1234567890
---
### ✅ 完了した作業
#### 1. カテゴリ作成(8個)
- 📢 WELCOME & RULES
- 💬 GENERAL
- 🔧 CODING AGENTS
- 💼 BUSINESS AGENTS
- 🆘 SUPPORT
- 🎨 SHOWCASE
- 🛠️ DEVELOPMENT
- 🎉 COMMUNITY
#### 2. チャンネル作成(42個)
- テキストチャンネル: 35個
- 音声チャンネル: 4個
- フォーラムチャンネル: 3個
#### 3. ロール作成(7個)
- @Admin (🔴 Red)
- @Moderator (🟠 Orange)
- @Core Contributor (🟣 Purple)
- @Contributor (🔵 Blue)
- @Active Member (🟢 Green)
- @Member (⚪ White)
- @New Member (🟡 Yellow)
#### 4. 初期コンテンツ投稿
- ✅ #rules - 5投稿
- ✅ #faq - 15スレッド
- ✅ #announcements - 1投稿
- ✅ #links-resources - 1投稿
- ✅ 各Agentチャンネル - 21投稿
---
### 📈 統計
- **所要時間**: 4分32秒
- **API呼び出し回数**: 87回
- **エラー数**: 0件
---
### 🚀 次のステップ
1. Bot招待URLをメンバーに共有
2. Soft Launch実施(Phase 5参照)
3. モデレーター任命(2〜3人)
---
**セットアップ完了!🎉**
まとめるん
```
---
## 他Agentとの連携
### 連携パターン
#### 1. IssueAgent → DiscordCommunityAgent
**シーケンス**:
1. IssueAgent: Issue分析、ラベル推論
2. `agent:discord-community` ラベル付与
3. DiscordCommunityAgent: Issue検出、実行開始
---
#### 2. DiscordCommunityAgent → ReviewAgent
**シーケンス**:
1. DiscordCommunityAgent: サーバーセットアップ完了
2. ReviewAgent: サーバー構造のレビュー
3. ReviewAgent: 品質スコア算出(100点満点)
**レビュー項目**:
- カテゴリ・チャンネル数が設計通りか
- 権限設定が正しいか
- 初期コンテンツが投稿されているか
---
#### 3. DiscordCommunityAgent → PRAgent
**シーケンス**:
1. DiscordCommunityAgent: セットアップ完了レポート生成
2. PRAgent: レポートをGitHub Issueに自動投稿
---
## エスカレーション条件
### レベル1: 警告(Warning)
**条件**:
- Discord API呼び出しが3回連続失敗
- レート制限に達した
**対応**:
- リトライ(Exponential Backoff)
- ログ記録
---
### レベル2: エラー(Error)
**条件**:
- Discord Bot Tokenが無効
- Guild IDが見つからない
- 権限不足
**対応**:
- Issue にコメント(エラー内容)
- `state:blocked` ラベル付与
- Adminに通知(GitHub Mention)
---
### レベル3: クリティカル(Critical)
**条件**:
- サーバーが削除された
- Bot がBANされた
- 法的問題が発生
**対応**:
- 即座に実行停止
- Admin/Owner に緊急通知(Email, Slack, Discord DM)
- インシデントレポート作成
---
## KPI
### Agent実行KPI
| 指標 | 目標値 | 測定方法 |
|------|--------|----------|
| セットアップ成功率 | 95%以上 | 成功回数 / 実行回数 |
| セットアップ所要時間 | 5分以内 | 実行開始〜完了までの時間 |
| API呼び出し成功率 | 99%以上 | 成功API呼び出し / 全API呼び出し |
| エラー率 | 1%以下 | エラー回数 / 実行回数 |
### コミュニティKPI
| 指標 | 目標値 | 測定方法 |
|------|--------|----------|
| 新規メンバー(週次) | 30人 | Discord analytics |
| アクティブメンバー(週次) | 50人 | 週1回以上発言 |
| メッセージ数(週次) | 200件 | Discord analytics |
| ウェルカムメッセージ送信率 | 100% | 新規メンバー数 = 送信数 |
---
## 技術仕様
### 依存関係
- **Discord MCP Server** (`miyabi-discord-mcp-server`)
- **GitHub API** (`miyabi-github`)
- **LLM** (`miyabi-llm`) - レポート生成用
### Rust実装
**Crate**: `crates/miyabi-agents/src/discord_community.rs`
**主要trait**:
```rust
#[async_trait]
impl BaseAgent for DiscordCommunityAgent {
async fn execute(&self, task: Task) -> Result<AgentResult>;
}
```
---
## セキュリティ
### Discord Bot Token管理
- 環境変数 `DISCORD_BOT_TOKEN` から取得
- `.env` ファイル(`.gitignore`必須)
- GitHub Secretsで管理
### 権限スコープ
- 最小限の権限のみ付与
- MANAGE_GUILD, MANAGE_CHANNELS, MANAGE_ROLES, SEND_MESSAGES
---
## 参考資料
- [DISCORD_SERVER_STRUCTURE.md](../../../docs/DISCORD_SERVER_STRUCTURE.md)
- [DISCORD_COMMUNITY_GUIDELINES.md](../../../docs/DISCORD_COMMUNITY_GUIDELINES.md)
- [DISCORD_MCP_SERVER_DESIGN.md](../../../docs/DISCORD_MCP_SERVER_DESIGN.md)
- [DISCORD_OPERATIONS_PLAN.md](../../../docs/DISCORD_OPERATIONS_PLAN.md)
---
**作成者**: Claude Code
**最終更新**: 2025-10-18
**ステータス**: ✅ 仕様確定