/prod-dashboard
Daily consolidation dashboard — reads outputs from all routines (morning, linear, github, community, strategy, meetings, metrics) and generates a unified HTML dashboard. Trigger when user says 'dashboard', 'generate dashboard', 'overview', 'consolidation', or 'general panel'.
$ npx -y skills add evolution-foundation/evo-nexus --skill prod-dashboard --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
/prod-dashboard
Context preview
The summary Claude sees to decide when to auto-load this skill.
Daily consolidation dashboard — reads outputs from all routines (morning, linear, github, community, strategy, meetings, metrics) and generates a unified HTML dashboard. Trigger when user says 'dashboard', 'generate dashboard', 'overview', 'consolidation', or 'general panel'.
SKILL.md
prod-dashboard.SKILL.mdname: prod-dashboard
description: "Daily consolidation dashboard — reads outputs from all routines (morning, linear, github, community, strategy, meetings, metrics) and generates a unified HTML dashboard. Trigger when user says 'dashboard', 'generate dashboard', 'overview', 'consolidation', or 'general panel'."
Consolidated Dashboard — 360 View
Consolidation routine that reads outputs from other routines and generates a unified HTML dashboard with an overview of all business areas.
**Always respond in English.**
**IMPORTANT:** This routine does NOT fetch new data. It reads outputs already generated by other routines for the day/week and consolidates everything into a single view.
Step 1 — Collect data from sources (silently)
Read all available sources without narrating each step. If a source does not exist (routine has not run yet), use "—" or "no data" as fallback.
1a. Tasks
Run `todoist list --filter "today | overdue"` to count pending tasks.
1b. Linear / Sprint
Read the latest Linear report in `workspace/projects/linear-reviews/` (most recent file `[C] *-linear-review.html`). Extract:
- Sprint progress (% and count)
- Blockers
- Issues in review
- Completed issues
1c. GitHub
Read the latest GitHub report in `workspace/projects/github-reviews/` (most recent file `[C] *-github-review.html`). Extract:
- Open PRs
- Community issues
- Stars this week
- Latest release
1d. Community
Read the latest community pulse in `workspace/community/reports/daily/` or weekly in `workspace/community/reports/weekly/`. Extract:
- WAM (Weekly Active Members)
- Overall sentiment
- Support tickets
- Docs gaps
1e. Financial
Read the latest strategy digest in `workspace/strategy/digests/` (most recent file). Extract:
- MRR
- Subscriptions
- Runway
- Sales pipeline
1f. Calendar
Use /gog-calendar to list today's events.
1g. Meetings
Read `workspace/meetings/summaries/` or `workspace/meetings/summaries/` — last 5 meetings. Extract:
- Date, title, participants, action items
1h. Routine metrics
Read `ADWs/logs/metrics.json` for status of each automated routine:
- Name, agent, last run, average duration, success rate
1i. Morning Briefing
Read today's morning briefing at `workspace/daily-logs/[C] YYYY-MM-DD-morning.html` if it exists, to supplement calendar and priority task data.
Step 2 — Calculate health badges
For each area, define the status (CSS class):
- **saudavel** (green): all good, metrics within expectations
- **misto** (yellow): some areas of concern
- **risco** (red): serious problems requiring action
Criteria:
- **Product:** blockers > 0 = misto; blockers > 3 = risco; sprint progress < 50% with >60% of time elapsed = risco
- **Community:** negative sentiment = risco; docs gaps > 5 = misto
- **Financial:** MRR declining = misto; runway < 6 months = risco
- **Routines:** any routine with rate < 80% = misto; rate < 50% = risco
Step 3 — Generate dashboard HTML
Read the template at `.claude/templates/html/custom/dashboard-consolidation.html` and replace ALL `{{PLACEHOLDER}}` with the collected data.
For dynamic rows (marked with `<!-- TEMPLATE -->`), generate the correct HTML:
Calendar rows
<div class="metric-row">
<div class="mr-label">HH:MM</div>
<div class="mr-value">Event name</div>
</div>
Priority tasks rows
<div class="list-item">Task description</div>
Meetings rows
<tr>
<td>DD/MM</td>
<td>Meeting name</td>
<td>Person 1, Person 2</td>
<td>N action items</td>
</tr>
Routines rows
<tr>
<td>Routine Name</td>
<td>@agent</td>
<td>DD/MM HH:MM</td>
<td>XXs</td>
<td><span class="rotina-rate high/medium/low">XX%</span></td>
<td><div class="rotina-status"><div class="rotina-dot ok/falha"></div></div></td>
</tr>
Attention points
Consolidate into bullets the items requiring immediate attention. Examples:
- Sprint blockers
- PRs without review for more than 2 days
- Negative community sentiment
- Failing routines
- Declining MRR
If there are no attention points, write "No attention points at the moment."
Step 4 — Save
Save the filled HTML to:
workspace/daily-logs/[C] YYYY-MM-DD-dashboard.html
Step 5 — Confirm
Present a short summary:
## Dashboard generated
**File:** workspace/daily-logs/[C] YYYY-MM-DD-dashboard.html
**Health:** Product {status} | Community {status} | Financial {status} | Routines {status}
**Alerts:** {N} attention pointsRead more
name: prod-dashboard description: "Daily consolidation dashboard — reads outputs from all routines (morning, linear, github, community, strategy, meetings, metrics) and generates a unified HTML dashboard. Trigger when user says 'dashboard', 'generate dashboard', 'overview', 'consolidation', or 'general panel'."
Consolidated Dashboard — 360 View
Consolidation routine that reads outputs from other routines and generates a unified HTML dashboard with an overview of all business areas.
**Always respond in English.**
**IMPORTANT:** This routine does NOT fetch new data. It reads outputs already generated by other routines for the day/week and consolidates everything into a single view.
Step 1 — Collect data from sources (silently)
Read all available sources without narrating each step. If a source does not exist (routine has not run yet), use "—" or "no data" as fallback.
1a. Tasks
Run `todoist list --filter "today | overdue"` to count pending tasks.
1b. Linear / Sprint
Read the latest Linear report in `workspace/projects/linear-reviews/` (most recent file `[C] *-linear-review.html`). Extract:
- Sprint progress (% and count)
- Blockers
- Issues in review
- Completed issues
1c. GitHub
Read the latest GitHub report in `workspace/projects/github-reviews/` (most recent file `[C] *-github-review.html`). Extract:
- Open PRs
- Community issues
- Stars this week
- Latest release
1d. Community
Read the latest community pulse in `workspace/community/reports/daily/` or weekly in `workspace/community/reports/weekly/`. Extract:
- WAM (Weekly Active Members)
- Overall sentiment
- Support tickets
- Docs gaps
1e. Financial
Read the latest strategy digest in `workspace/strategy/digests/` (most recent file). Extract:
- MRR
- Subscriptions
- Runway
- Sales pipeline
1f. Calendar
Use /gog-calendar to list today's events.
1g. Meetings
Read `workspace/meetings/summaries/` or `workspace/meetings/summaries/` — last 5 meetings. Extract:
- Date, title, participants, action items
1h. Routine metrics
Read `ADWs/logs/metrics.json` for status of each automated routine:
- Name, agent, last run, average duration, success rate
1i. Morning Briefing
Read today's morning briefing at `workspace/daily-logs/[C] YYYY-MM-DD-morning.html` if it exists, to supplement calendar and priority task data.
Step 2 — Calculate health badges
For each area, define the status (CSS class):
- **saudavel** (green): all good, metrics within expectations
- **misto** (yellow): some areas of concern
- **risco** (red): serious problems requiring action
Criteria:
- **Product:** blockers > 0 = misto; blockers > 3 = risco; sprint progress < 50% with >60% of time elapsed = risco
- **Community:** negative sentiment = risco; docs gaps > 5 = misto
- **Financial:** MRR declining = misto; runway < 6 months = risco
- **Routines:** any routine with rate < 80% = misto; rate < 50% = risco
Step 3 — Generate dashboard HTML
Read the template at `.claude/templates/html/custom/dashboard-consolidation.html` and replace ALL `{{PLACEHOLDER}}` with the collected data.
For dynamic rows (marked with `<!-- TEMPLATE -->`), generate the correct HTML:
Calendar rows
<div class="metric-row"> <div class="mr-label">HH:MM</div> <div class="mr-value">Event name</div> </div>
Priority tasks rows
<div class="list-item">Task description</div>
Meetings rows
<tr> <td>DD/MM</td> <td>Meeting name</td> <td>Person 1, Person 2</td> <td>N action items</td> </tr>
Routines rows
<tr> <td>Routine Name</td> <td>@agent</td> <td>DD/MM HH:MM</td> <td>XXs</td> <td><span class="rotina-rate high/medium/low">XX%</span></td> <td><div class="rotina-status"><div class="rotina-dot ok/falha"></div></div></td> </tr>
Attention points
Consolidate into bullets the items requiring immediate attention. Examples:
- Sprint blockers
- PRs without review for more than 2 days
- Negative community sentiment
- Failing routines
- Declining MRR
If there are no attention points, write "No attention points at the moment."
Step 4 — Save
Save the filled HTML to:
workspace/daily-logs/[C] YYYY-MM-DD-dashboard.html
Step 5 — Confirm
Present a short summary:
## Dashboard generated
**File:** workspace/daily-logs/[C] YYYY-MM-DD-dashboard.html
**Health:** Product {status} | Community {status} | Financial {status} | Routines {status}
**Alerts:** {N} attention pointsOther 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

