home / skills / lycfyi / community-agent-plugin / discord-analyze

This skill generates a comprehensive Discord health report, highlighting activity, engagement, and recommendations to improve community health and engagement.

npx playbooks add skill lycfyi/community-agent-plugin --skill discord-analyze

Review the files below or copy the command above to add this skill to your agents.

Files (2)
skill.md
3.2 KB
---
name: discord-analyze
description: Generate a comprehensive community health report from synced Discord messages
usage: /discord-analyze [--server ID] [--days N] [--compare SERVER_ID]
---

## Persona Context

**REQUIRED:** Before executing this skill, load your configured persona:

```bash
python ${CLAUDE_PLUGIN_ROOT}/../community-agent/tools/persona_status.py --prompt
```

This outputs your persona definition. Apply it when presenting health reports:
- **Voice**: Introduce findings as the persona ("I've analyzed your community...")
- **Recommendations**: Present suggestions in the persona's communication style
- **Tone**: Use the persona's warmth when highlighting concerns or celebrations
- **Framing**: Frame metrics and insights as the persona would explain them

## Description

Analyze synced Discord data to generate a comprehensive community health report. Includes:
- Activity metrics (message volume, channel breakdown, peak times)
- Engagement metrics (reply rate, response time, reactions)
- Contributor analysis (top contributors, diversity)
- Topic clustering (automatic grouping of conversations by theme)
- Trend detection (week-over-week changes)
- Benchmark comparison (healthy/warning/critical thresholds)
- Actionable recommendations

## Prerequisites

- Discord data must be synced first (use `/discord-sync`)
- Minimum 7 days of message history recommended (30 days for trends)

## Usage Examples

```bash
# Analyze your default server
/discord-analyze

# Analyze specific server with 30 days of history
/discord-analyze --server 1196028153085296651 --days 30

# Compare two communities
/discord-analyze --server 1196028153085296651 --compare 1347066703158181888

# Show detailed progress
/discord-analyze --verbose

# Output in different formats
/discord-analyze --format yaml
/discord-analyze --format json
```

## Trigger Phrases

- "analyze Discord"
- "community health"
- "health report"
- "how is my community doing"
- "Discord metrics"
- "analyze community"
- "community analytics"

## Output

Creates two files in the server's data directory:
- `health-report.md` - Human-readable markdown report
- `health-report.yaml` - Structured data for automation

Returns a summary with:
- Overall health score (0-100)
- Key metrics summary
- Top findings and recommendations

## Arguments

| Argument | Description |
|----------|-------------|
| `--server ID` | Server ID to analyze (defaults to config) |
| `--days N` | Days of history to analyze (default: 30) |
| `--compare ID` | Server ID for comparison |
| `--format` | Output format: markdown, yaml, json |
| `--verbose` | Show detailed progress |
| `--output PATH` | Custom output path |

## Exit Codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 1 | Configuration error |
| 2 | Data error (no synced data) |
| 3 | Analysis error |

## Tips

1. **Sync first**: Run `/discord-sync` to get latest messages
2. **More data = better trends**: Use `--days 90` for trend analysis
3. **Regular monitoring**: Run weekly to track community health
4. **Act on recommendations**: Each report includes prioritized actions

## Related Skills

- `/discord-sync` - Sync messages before analysis
- `/discord-list` - List available servers and channels
- `/discord-read` - Read specific channel messages

Overview

This skill generates a comprehensive community health report from synced Discord messages. It produces both a human-readable markdown report and a structured YAML (or JSON) output with an overall health score, key metrics, trends, and prioritized recommendations. Use it after syncing messages to get actionable insights and benchmarks for your server.

How this skill works

I've analyzed your community by processing synced Discord messages across channels and time windows to calculate activity, engagement, contributor, and topic metrics. The analysis includes message volume, channel breakdown, peak times, reply and reaction rates, response time, top contributors, automatic topic clusters, and week-over-week trends. The tool compares results to built-in healthy/warning/critical thresholds and produces a prioritized list of concrete recommendations and next steps.

When to use it

  • After running /discord-sync to capture recent messages
  • When you want a weekly or monthly health snapshot of a server
  • Before launching events or changes to see current engagement baselines
  • To compare two communities or measure the impact of an intervention
  • When tracking long-term trends (30–90 days recommended)

Best practices

  • Sync data regularly; at least weekly for active communities
  • Analyze 30+ days for reliable trends; 7+ days is minimum for immediate checks
  • Use --verbose during initial runs to validate data and progress
  • Compare against a similar community with --compare for benchmarking
  • Act on the top 3 prioritized recommendations and re-run after 2–4 weeks

Example use cases

  • Generate a weekly health report for the default server: /discord-analyze
  • Run a 90-day trend analysis to evaluate growth after a marketing push
  • Compare engagement and contributor diversity between two communities
  • Export structured health data as YAML for automation and dashboards
  • Identify low-engagement channels and get targeted moderation or content suggestions

FAQ

What data do I need before running this?

You must sync Discord messages first using /discord-sync. A minimum of 7 days of history is required; 30+ days is recommended for trend accuracy.

What output formats are available?

The skill writes health-report.md and health-report.yaml by default and supports --format json, yaml, or markdown for alternate outputs.