| name | dashboard-design |
| description | Design professional investment dashboards with clear visualizations and consistent styling. Use when creating HTML dashboards or reports. |
Dashboard Design Skill
Purpose
This skill provides guidelines for creating professional, readable investment research dashboards.
Design Principles
1. Information Hierarchy
Priority Order:
- Executive Summary - Key metrics at top (sentiment, valuation, recommendation)
- Visual Data - Charts and graphs for trends
- Detailed Analysis - Text explanations and supporting data
- Sources & Methodology - Footer information
2. Color Palette
Investment Dashboard Colors:
- Positive/Bullish:
#4CAF50 (green)
- Negative/Bearish:
#f44336 (red)
- Neutral/Hold:
#FF9800 (orange)
- Primary Accent:
#667eea (purple)
- Secondary Accent:
#764ba2 (darker purple)
- Background:
#f5f5f5 (light gray)
- Card Background:
#ffffff (white)
- Text:
#333333 (dark gray)
3. Chart Types
When to Use Each Type:
| Chart Type | Best For | Example Use |
|---|
| Bar Chart | Comparing discrete values | Stock returns comparison |
| Line Chart | Time series data | Price history over time |
| Pie/Doughnut | Part-to-whole relationships | Portfolio allocation |
| Gauge | Single metric with range | Risk level (0-100) |
4. Layout Structure
+------------------------------------------+
| Header (Gradient) |
| Title, Company, Date |
+------------------------------------------+
| |
| Summary Cards (Grid) |
| [Sentiment] [Valuation] [Recommendation]|
| |
+------------------------------------------+
| |
| Section 1: News & Sentiment |
| +------------------------------------+ |
| | Text analysis | |
| | [Chart if applicable] | |
| +------------------------------------+ |
| |
+------------------------------------------+
| |
| Section 2: Financial Metrics |
| +------------------------------------+ |
| | Key metrics table | |
| | [Bar chart for comparison] | |
| +------------------------------------+ |
| |
+------------------------------------------+
| |
| Section 3: Competitive Analysis |
| +------------------------------------+ |
| | Market position | |
| | [Comparison chart] | |
| +------------------------------------+ |
| |
+------------------------------------------+
| Footer |
| Generated by, Date, Disclaimer |
+------------------------------------------+
5. Typography
Font Stack:
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
Font Sizes:
- Dashboard Title:
2.5em (40px)
- Section Headers:
1.8em (29px)
- Card Values:
1.8em (29px)
- Body Text:
1em (16px)
- Footer:
0.9em (14px)
6. Responsive Design
Breakpoints:
- Mobile:
< 768px - Stack cards vertically
- Tablet:
768px - 1024px - 2-column grid
- Desktop:
> 1024px - 3-column grid
7. Chart Configuration
Chart.js Best Practices:
{
responsive: true,
maintainAspectRatio: false,
plugins: {
title: {
display: true,
text: 'Clear, Descriptive Title',
font: { size: 18, weight: 'bold' }
},
legend: {
display: true,
position: 'bottom'
},
tooltip: {
enabled: true,
mode: 'index'
}
}
}
8. Data Visualization Guidelines
Numbers Formatting:
- Percentages:
+15.2% or -3.4% (always include sign)
- Currency:
$1,234.56 (use comma separators)
- Large Numbers:
$1.2M or $345.6B (abbreviate when > 1M)
- Ratios:
25.4 (one decimal place)
Colors for Data:
- Positive change: Green background
rgba(76, 175, 80, 0.2)
- Negative change: Red background
rgba(244, 67, 54, 0.2)
- Neutral: Orange background
rgba(255, 152, 0, 0.2)
9. Summary Card Design
Required Elements:
- Clear label (what metric)
- Large, bold value
- Color-coded indicator
- Optional: Small trend indicator (↑ ↓)
Example Structure:
<div class="card">
<h3>Sentiment</h3>
<div class="value positive">Positive</div>
<div class="indicator">↑ Strong Buy Signals</div>
</div>
10. Accessibility
Ensure:
- Color is not the only way to convey information
- Include text labels on all charts
- Use semantic HTML (h1, h2, section, etc.)
- Sufficient color contrast (4.5:1 minimum)
Dashboard Creation Workflow
- Gather Data - Collect all research summaries from other subagents
- Identify Key Metrics - What are the 3-5 most important numbers?
- Choose Chart Types - Match data to appropriate visualizations
- Create Charts - Use
create_chart tool with proper configuration
- Assemble Sections - Structure content logically
- Build Dashboard - Use
build_dashboard tool with all sections
- Generate File - Save to
output/investment_report_{ticker}_{date}.html
Example Chart Data Format
For Bar Chart (Returns Comparison):
{
"chart_type": "bar",
"title": "Stock Returns Comparison (YTD)",
"labels": ["AAPL", "MSFT", "GOOGL"],
"datasets": [{
"label": "Returns (%)",
"data": [15.2, 12.8, 18.5],
"backgroundColor": ["#4CAF50", "#4CAF50", "#4CAF50"]
}]
}
For Doughnut Chart (Sentiment Breakdown):
{
"chart_type": "doughnut",
"title": "News Sentiment Distribution",
"labels": ["Positive", "Neutral", "Negative"],
"datasets": [{
"label": "Articles",
"data": [45, 30, 25],
"backgroundColor": ["#4CAF50", "#FF9800", "#f44336"]
}]
}
Quality Checklist
Before finalizing dashboard:
Common Mistakes to Avoid
❌ Don't:
- Overcrowd dashboard with too many charts
- Use inconsistent colors
- Forget to label axes on charts
- Mix different chart libraries
- Create charts without clear purpose
- Use tiny fonts that are hard to read
✅ Do:
- Keep it simple and focused
- Use consistent color scheme
- Label everything clearly
- Stick to Chart.js
- Every chart should tell a story
- Make text readable (minimum 14px)
Pro Tips
- Less is More: 3-4 well-designed charts > 10 cluttered charts
- Consistent Styling: Reuse colors and fonts throughout
- Mobile-Friendly: Test on different screen sizes
- Export Path: Always use
output/ directory with timestamp
- Browser Testing: Open in browser immediately after generation
This skill helps create dashboards that are:
- Professional - Clean, consistent design
- Informative - Clear data visualization
- Actionable - Key insights highlighted
- Accessible - Easy to read and understand