Agent skill
pulse-monthly
Monthly community report — aggregates Discord and WhatsApp activity for the full month: MAM, growth, sentiment trends, top contributors, product insights, docs gaps, and week-over-week evolution. Generates an HTML report using the Evolution brand. Use when user says 'community monthly', 'monthly community report', 'monthly pulse', or any reference to monthly community analysis.
Install this agent skill to your Project
npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/pulse-monthly
SKILL.md
Monthly Community Report
Monthly routine that analyzes all Discord and WhatsApp activity for the month and generates a complete HTML report with trends, insights, and recommendations.
Always respond in English.
Workflow
Step 1 — Determine period
- Reference month: previous month (e.g., if today is 04/01, analyze March)
- Period: first to last day of the reference month
- Divide the month into weeks (W1, W2, W3, W4/W5) for trend analysis
Step 2 — Collect Discord data (30 days)
Use the /discord-get-messages skill to fetch messages for the month in the main channels.
Guild ID: YOUR_GUILD_ID
Channels to monitor:
- All community text channels (chat-pt, chat-en, chat-es, help, feedback, suggestions, showcase, news)
- New members channel (
🆕・new-members)
For each channel, fetch paginated messages (100 per request) until covering the full month.
Step 3 — Collect WhatsApp data (30 days)
Use the /int-whatsapp skill:
python3 {project-root}/.claude/skills/int-whatsapp/scripts/whatsapp_client.py messages_30d
python3 {project-root}/.claude/skills/int-whatsapp/scripts/whatsapp_client.py stats --start YYYY-MM-01 --end YYYY-MM-DD
python3 {project-root}/.claude/skills/int-whatsapp/scripts/whatsapp_client.py groups --start YYYY-MM-01 --end YYYY-MM-DD
Step 4 — Calculate monthly KPIs
- MAM (Monthly Active Members): unique members who sent a message in the month (Discord + WhatsApp)
- Total Messages: Discord + WhatsApp separate and combined
- New Members: entries in Discord
🆕・new-membersfor the month - Resolution Rate: answered questions / total in #help (goal: >80%)
- Comparison: compare all KPIs with the previous month (read previous report if it exists in
workspace/community/reports/monthly/)
Step 5 — Weekly evolution
For each week of the month, calculate:
- Messages
- Active members
- New members
- Sentiment (positive/neutral/negative)
- Open support tickets
Present in a table to visualize the trend throughout the month.
Step 6 — Metrics by platform
Discord:
- Total messages, active members, support tickets, sentiment
- Most active channel, most helped channel
WhatsApp:
- Total messages, active groups, unique participants, sentiment
- Most active group
Step 7 — Top contributors
Rank by message volume + answers given in #help:
- Top 10 most active members
- Main platform (Discord/WhatsApp)
- Highlight (helper, active new member, topic leader)
Step 8 — Month's topics
Group all discussions by theme:
- Top 10 most discussed topics
- Frequency, sentiment by topic
- Sources (Discord, WhatsApp, or both)
Step 9 — Product insights
- Requested features: spontaneous feature requests (with frequency)
- Reported bugs: technical problems mentioned (with frequency)
- Docs gaps: recurring questions whose answers should be in the documentation
Step 10 — Sentiment trend
For each week of the month:
- % positive, % neutral, % negative
- Trend: improving, stable, worsening
Step 11 — Analysis and recommendations
Analysis (3-5 bullets):
- Community growth or contraction
- Engagement patterns (peak days/times)
- Sentiment evolution
- Support effectiveness
- Discord vs WhatsApp: which platform is growing more?
Recommendations (3-5 bullets):
- Actions to improve engagement
- Docs to create/update
- Features to prioritize based on feedback
- Members to recognize/engage
Step 12 — Generate HTML report
Read the template at .claude/templates/html/custom/community-monthly-report.html and replace ALL {{PLACEHOLDER}}.
For dynamic rows, use the pattern from the other pulse skills:
Weeks:
<tr>
<td>Week 1 (01-07/MM)</td>
<td class="right">XXX</td>
<td class="right">XX</td>
<td class="right">X</td>
<td class="right"><span class="badge green">Positive</span></td>
<td class="right">X</td>
</tr>
Top contributors:
<tr>
<td>Nome</td>
<td><span class="badge blue">Discord</span></td>
<td class="right">XXX</td>
<td class="right">XX</td>
<td><span class="badge green">Helper</span></td>
</tr>
Topics:
<div class="list-item">Topic — XX mentions, positive/mixed/negative sentiment</div>
Features/Bugs:
<div class="list-item">Description — X mentions (Discord/WhatsApp)</div>
Docs gaps:
<tr>
<td>Recurring question</td>
<td>Discord #help / WhatsApp</td>
<td class="right">X times</td>
<td><span class="badge yellow">Installation</span></td>
</tr>
Step 13 — Save
Save to:
workspace/community/reports/monthly/[C] YYYY-MM-community-monthly.html
Create the directory workspace/community/reports/monthly/ if it does not exist.
Step 14 — Confirm
## Community Monthly generated
**File:** workspace/community/reports/monthly/[C] YYYY-MM-community-monthly.html
**Month:** {reference month}
**MAM:** {N} ({delta}%) | **Messages:** {N} | **New:** {N}
**Sentiment:** {trend} | **Resolution:** {X}%
**Highlights:** {N} features, {N} bugs, {N} docs gaps
Notify via Telegram
Upon completion, send a short summary via Telegram to the user:
- Use the Telegram MCP:
reply(chat_id="YOUR_CHAT_ID", text="...") - Format: emoji + "Community Monthly" + MAM + sentiment + highlights (2-3 lines)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
data-create-viz
Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento
cs-customer-escalation
Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.
mkt-draft-content
Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.
gog-tasks
Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.
discord-get-messages
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
cs-customer-research
Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
Didn't find tool you were looking for?