/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
$ npx -y skills add evolution-foundation/evo-nexus --skill pulse-monthly --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/pulse-monthly
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
pulse-monthly.SKILL.mdname: pulse-monthly
description: "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."
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-DDStep 4 — Calculate monthly KPIs
1. **MAM (Monthly Active Members)**: unique members who sent a message in the month (Discord + WhatsApp) 2. **Total Messages**: Discord + WhatsApp separate and combined 3. **New Members**: entries in Discord `🆕・new-members` for the month 4. **Resolution Rate**: answered questions / total in #help (goal: >80%) 5. **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
1. **Requested features**: spontaneous feature requests (with frequency) 2. **Reported bugs**: technical problems mentioned (with frequency) 3. **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 gapsRead more
name: pulse-monthly description: "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."
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-DDStep 4 — Calculate monthly KPIs
1. **MAM (Monthly Active Members)**: unique members who sent a message in the month (Discord + WhatsApp) 2. **Total Messages**: Discord + WhatsApp separate and combined 3. **New Members**: entries in Discord `🆕・new-members` for the month 4. **Resolution Rate**: answered questions / total in #help (goal: >80%) 5. **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
1. **Requested features**: spontaneous feature requests (with frequency) 2. **Reported bugs**: technical problems mentioned (with frequency) 3. **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 gapsOther skills on evo-nexus.
- /ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway BYOK). Also analyze/describe existing images using multimodal AI vision. Use when user asks to "generate an image",
Open skill - /create-agent
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent
Open skill - /create-command
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in .claude/commands/. Use when the user says 'create a command', 'new command', 'add a slash command', 'I want a shortcut for', or wants
Open skill - /create-goal
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a project, defining a measurable goal with metric_type and target_value. Writes to the SQLite goals tables via POST
Open skill - /create-heartbeat
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake triggers, and the decision prompt that governs when the agent acts. Writes to config/heartbeats.yaml with pydantic validation.
Open skill - /create-integration
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description, category, and required env keys. Writes .claude/skills/custom-int-{slug}/SKILL.md via POST /api/integrations/custom. Use
Open skill

