@luquimbo/bi-superpowers 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.claude-plugin/plugin.json +8 -0
  2. package/.mcp.json +25 -0
  3. package/AGENTS.md +244 -0
  4. package/CHANGELOG.md +265 -0
  5. package/LICENSE +21 -0
  6. package/README.md +211 -0
  7. package/bin/build-plugin.js +30 -0
  8. package/bin/cli.js +1064 -0
  9. package/bin/commands/add.js +533 -0
  10. package/bin/commands/add.test.js +77 -0
  11. package/bin/commands/build-desktop.js +166 -0
  12. package/bin/commands/changelog.js +443 -0
  13. package/bin/commands/diff.js +325 -0
  14. package/bin/commands/lint.js +419 -0
  15. package/bin/commands/lint.test.js +103 -0
  16. package/bin/commands/mcp-setup.js +246 -0
  17. package/bin/commands/pull.js +287 -0
  18. package/bin/commands/pull.test.js +36 -0
  19. package/bin/commands/push.js +231 -0
  20. package/bin/commands/push.test.js +14 -0
  21. package/bin/commands/search.js +344 -0
  22. package/bin/commands/search.test.js +115 -0
  23. package/bin/commands/setup.js +545 -0
  24. package/bin/commands/setup.test.js +46 -0
  25. package/bin/commands/sync-profile.js +405 -0
  26. package/bin/commands/sync-profile.test.js +14 -0
  27. package/bin/commands/sync-source.js +418 -0
  28. package/bin/commands/sync-source.test.js +14 -0
  29. package/bin/commands/watch.js +206 -0
  30. package/bin/lib/generators/claude-plugin.js +266 -0
  31. package/bin/lib/generators/claude-plugin.test.js +110 -0
  32. package/bin/lib/generators/index.js +116 -0
  33. package/bin/lib/generators/shared.js +282 -0
  34. package/bin/lib/licensing/index.js +35 -0
  35. package/bin/lib/licensing/storage.js +364 -0
  36. package/bin/lib/licensing/storage.test.js +55 -0
  37. package/bin/lib/licensing/validator.js +213 -0
  38. package/bin/lib/licensing/validator.test.js +137 -0
  39. package/bin/lib/microsoft-mcp.js +176 -0
  40. package/bin/lib/microsoft-mcp.test.js +106 -0
  41. package/bin/lib/skills.js +84 -0
  42. package/bin/mcp/powerbi-modeling-launcher.js +38 -0
  43. package/bin/postinstall.js +44 -0
  44. package/bin/utils/errors.js +159 -0
  45. package/bin/utils/git.js +298 -0
  46. package/bin/utils/logger.js +142 -0
  47. package/bin/utils/mcp-detect.js +274 -0
  48. package/bin/utils/mcp-detect.test.js +105 -0
  49. package/bin/utils/pbix.js +305 -0
  50. package/bin/utils/pbix.test.js +37 -0
  51. package/bin/utils/profiles.js +312 -0
  52. package/bin/utils/projects.js +168 -0
  53. package/bin/utils/readline.js +206 -0
  54. package/bin/utils/readline.test.js +47 -0
  55. package/bin/utils/tui.js +314 -0
  56. package/bin/utils/tui.test.js +127 -0
  57. package/commands/contributions.md +265 -0
  58. package/commands/data-model-design.md +468 -0
  59. package/commands/dax-doctor.md +248 -0
  60. package/commands/fabric-scripts.md +452 -0
  61. package/commands/migration-assistant.md +290 -0
  62. package/commands/model-documenter.md +242 -0
  63. package/commands/pbi-connect.md +239 -0
  64. package/commands/project-kickoff.md +905 -0
  65. package/commands/report-layout.md +296 -0
  66. package/commands/rls-design.md +533 -0
  67. package/commands/theme-tweaker.md +624 -0
  68. package/config.example.json +23 -0
  69. package/config.json +23 -0
  70. package/desktop-extension/manifest.json +37 -0
  71. package/desktop-extension/package.json +10 -0
  72. package/desktop-extension/server.js +95 -0
  73. package/docs/openrouter-free-models.md +92 -0
  74. package/library/examples/README.md +151 -0
  75. package/library/examples/finance-reporting/README.md +351 -0
  76. package/library/examples/finance-reporting/data-model.md +267 -0
  77. package/library/examples/finance-reporting/measures.dax +557 -0
  78. package/library/examples/hr-analytics/README.md +371 -0
  79. package/library/examples/hr-analytics/data-model.md +315 -0
  80. package/library/examples/hr-analytics/measures.dax +460 -0
  81. package/library/examples/marketing-analytics/README.md +37 -0
  82. package/library/examples/marketing-analytics/data-model.md +62 -0
  83. package/library/examples/marketing-analytics/measures.dax +110 -0
  84. package/library/examples/retail-analytics/README.md +439 -0
  85. package/library/examples/retail-analytics/data-model.md +288 -0
  86. package/library/examples/retail-analytics/measures.dax +481 -0
  87. package/library/examples/supply-chain/README.md +37 -0
  88. package/library/examples/supply-chain/data-model.md +69 -0
  89. package/library/examples/supply-chain/measures.dax +77 -0
  90. package/library/examples/udf-library/README.md +228 -0
  91. package/library/examples/udf-library/functions.dax +571 -0
  92. package/library/snippets/dax/README.md +292 -0
  93. package/library/snippets/dax/business-domains.md +576 -0
  94. package/library/snippets/dax/calculate-patterns.md +276 -0
  95. package/library/snippets/dax/calculation-groups.md +489 -0
  96. package/library/snippets/dax/error-handling.md +495 -0
  97. package/library/snippets/dax/iterators-and-aggregations.md +474 -0
  98. package/library/snippets/dax/kpis-and-metrics.md +293 -0
  99. package/library/snippets/dax/rankings-and-topn.md +235 -0
  100. package/library/snippets/dax/security-patterns.md +413 -0
  101. package/library/snippets/dax/text-and-formatting.md +316 -0
  102. package/library/snippets/dax/time-intelligence.md +196 -0
  103. package/library/snippets/dax/user-defined-functions.md +477 -0
  104. package/library/snippets/dax/virtual-tables.md +546 -0
  105. package/library/snippets/excel-formulas/README.md +84 -0
  106. package/library/snippets/excel-formulas/aggregations.md +330 -0
  107. package/library/snippets/excel-formulas/dates-and-times.md +361 -0
  108. package/library/snippets/excel-formulas/dynamic-arrays.md +314 -0
  109. package/library/snippets/excel-formulas/lookups.md +169 -0
  110. package/library/snippets/excel-formulas/text-functions.md +363 -0
  111. package/library/snippets/governance/naming-conventions.md +97 -0
  112. package/library/snippets/governance/review-checklists.md +107 -0
  113. package/library/snippets/power-query/README.md +389 -0
  114. package/library/snippets/power-query/api-integration.md +707 -0
  115. package/library/snippets/power-query/connections.md +434 -0
  116. package/library/snippets/power-query/data-cleaning.md +298 -0
  117. package/library/snippets/power-query/error-handling.md +526 -0
  118. package/library/snippets/power-query/parameters.md +350 -0
  119. package/library/snippets/power-query/performance.md +506 -0
  120. package/library/snippets/power-query/transformations.md +330 -0
  121. package/library/snippets/report-design/accessibility.md +78 -0
  122. package/library/snippets/report-design/chart-selection.md +54 -0
  123. package/library/snippets/report-design/layout-patterns.md +87 -0
  124. package/library/templates/data-models/README.md +93 -0
  125. package/library/templates/data-models/finance-model.md +627 -0
  126. package/library/templates/data-models/retail-star-schema.md +473 -0
  127. package/library/templates/excel/README.md +83 -0
  128. package/library/templates/excel/budget-tracker.md +432 -0
  129. package/library/templates/excel/data-entry-form.md +533 -0
  130. package/library/templates/power-bi/README.md +72 -0
  131. package/library/templates/power-bi/finance-report.md +449 -0
  132. package/library/templates/power-bi/kpi-scorecard.md +461 -0
  133. package/library/templates/power-bi/sales-dashboard.md +281 -0
  134. package/library/themes/excel/README.md +436 -0
  135. package/library/themes/power-bi/README.md +271 -0
  136. package/library/themes/power-bi/accessible.json +307 -0
  137. package/library/themes/power-bi/bi-superpowers-default.json +858 -0
  138. package/library/themes/power-bi/corporate-blue.json +291 -0
  139. package/library/themes/power-bi/dark-mode.json +291 -0
  140. package/library/themes/power-bi/minimal.json +292 -0
  141. package/library/themes/power-bi/print-friendly.json +309 -0
  142. package/package.json +93 -0
  143. package/skills/contributions/SKILL.md +267 -0
  144. package/skills/data-model-design/SKILL.md +470 -0
  145. package/skills/data-modeling/SKILL.md +254 -0
  146. package/skills/data-quality/SKILL.md +664 -0
  147. package/skills/dax/SKILL.md +708 -0
  148. package/skills/dax-doctor/SKILL.md +250 -0
  149. package/skills/dax-udf/SKILL.md +489 -0
  150. package/skills/deployment/SKILL.md +320 -0
  151. package/skills/excel-formulas/SKILL.md +463 -0
  152. package/skills/fabric-scripts/SKILL.md +454 -0
  153. package/skills/fast-standard/SKILL.md +509 -0
  154. package/skills/governance/SKILL.md +205 -0
  155. package/skills/migration-assistant/SKILL.md +292 -0
  156. package/skills/model-documenter/SKILL.md +244 -0
  157. package/skills/pbi-connect/SKILL.md +241 -0
  158. package/skills/power-query/SKILL.md +406 -0
  159. package/skills/project-kickoff/SKILL.md +907 -0
  160. package/skills/query-performance/SKILL.md +480 -0
  161. package/skills/report-design/SKILL.md +207 -0
  162. package/skills/report-layout/SKILL.md +298 -0
  163. package/skills/rls-design/SKILL.md +535 -0
  164. package/skills/semantic-model/SKILL.md +237 -0
  165. package/skills/testing-validation/SKILL.md +643 -0
  166. package/skills/theme-tweaker/SKILL.md +626 -0
  167. package/src/content/base.md +237 -0
  168. package/src/content/mcp-requirements.json +69 -0
  169. package/src/content/routing.md +203 -0
  170. package/src/content/skills/contributions.md +259 -0
  171. package/src/content/skills/data-model-design.md +462 -0
  172. package/src/content/skills/data-modeling.md +246 -0
  173. package/src/content/skills/data-quality.md +656 -0
  174. package/src/content/skills/dax-doctor.md +242 -0
  175. package/src/content/skills/dax-udf.md +481 -0
  176. package/src/content/skills/dax.md +700 -0
  177. package/src/content/skills/deployment.md +312 -0
  178. package/src/content/skills/excel-formulas.md +455 -0
  179. package/src/content/skills/fabric-scripts.md +446 -0
  180. package/src/content/skills/fast-standard.md +501 -0
  181. package/src/content/skills/governance.md +197 -0
  182. package/src/content/skills/migration-assistant.md +284 -0
  183. package/src/content/skills/model-documenter.md +236 -0
  184. package/src/content/skills/pbi-connect.md +233 -0
  185. package/src/content/skills/power-query.md +398 -0
  186. package/src/content/skills/project-kickoff.md +899 -0
  187. package/src/content/skills/query-performance.md +472 -0
  188. package/src/content/skills/report-design.md +199 -0
  189. package/src/content/skills/report-layout.md +290 -0
  190. package/src/content/skills/rls-design.md +527 -0
  191. package/src/content/skills/semantic-model.md +229 -0
  192. package/src/content/skills/testing-validation.md +635 -0
  193. package/src/content/skills/theme-tweaker.md +618 -0
@@ -0,0 +1,281 @@
1
+ # Sales Dashboard Template
2
+
3
+ ## Overview
4
+
5
+ A comprehensive sales analytics dashboard for tracking revenue, performance metrics, and sales trends across regions, products, and time periods.
6
+
7
+ ---
8
+
9
+ ## Target Audience
10
+
11
+ - Sales Managers
12
+ - Regional Directors
13
+ - C-Level Executives
14
+ - Revenue Operations Teams
15
+
16
+ ---
17
+
18
+ ## Data Requirements
19
+
20
+ ### Required Tables
21
+
22
+ | Table | Description | Key Columns |
23
+ |-------|-------------|-------------|
24
+ | **FactSales** | Transaction-level sales data | SalesID, Date, ProductID, CustomerID, Quantity, UnitPrice, TotalAmount, Discount |
25
+ | **DimDate** | Date dimension | Date, Year, Quarter, Month, MonthName, WeekNum, DayOfWeek, IsWeekend, IsHoliday |
26
+ | **DimProduct** | Product master | ProductID, ProductName, Category, SubCategory, Brand, UnitCost |
27
+ | **DimCustomer** | Customer master | CustomerID, CustomerName, Segment, Region, Country, City |
28
+ | **DimSalesRep** | Sales representative | SalesRepID, Name, Team, Manager, HireDate |
29
+
30
+ ### Optional Tables
31
+
32
+ | Table | Description | Use Case |
33
+ |-------|-------------|----------|
34
+ | **FactTargets** | Sales targets | Target vs Actual comparison |
35
+ | **DimGeography** | Geographic hierarchy | Map visualizations |
36
+ | **FactReturns** | Product returns | Net sales calculation |
37
+
38
+ ---
39
+
40
+ ## Recommended Measures
41
+
42
+ ### Core Sales Metrics
43
+
44
+ ```dax
45
+ // Total Revenue
46
+ Total Revenue =
47
+ SUM(FactSales[TotalAmount])
48
+
49
+ // Total Quantity Sold
50
+ Total Quantity =
51
+ SUM(FactSales[Quantity])
52
+
53
+ // Average Order Value
54
+ Average Order Value =
55
+ DIVIDE([Total Revenue], DISTINCTCOUNT(FactSales[SalesID]))
56
+
57
+ // Total Cost
58
+ Total Cost =
59
+ SUMX(
60
+ FactSales,
61
+ FactSales[Quantity] * RELATED(DimProduct[UnitCost])
62
+ )
63
+
64
+ // Gross Profit
65
+ Gross Profit =
66
+ [Total Revenue] - [Total Cost]
67
+
68
+ // Gross Margin %
69
+ Gross Margin % =
70
+ DIVIDE([Gross Profit], [Total Revenue])
71
+ ```
72
+
73
+ ### Time Intelligence
74
+
75
+ ```dax
76
+ // Revenue YTD
77
+ Revenue YTD =
78
+ TOTALYTD([Total Revenue], DimDate[Date])
79
+
80
+ // Revenue Previous Year
81
+ Revenue PY =
82
+ CALCULATE(
83
+ [Total Revenue],
84
+ SAMEPERIODLASTYEAR(DimDate[Date])
85
+ )
86
+
87
+ // Revenue YoY Growth %
88
+ Revenue YoY % =
89
+ DIVIDE(
90
+ [Total Revenue] - [Revenue PY],
91
+ [Revenue PY]
92
+ )
93
+
94
+ // Revenue MTD
95
+ Revenue MTD =
96
+ TOTALMTD([Total Revenue], DimDate[Date])
97
+
98
+ // Revenue Rolling 12 Months
99
+ Revenue R12M =
100
+ CALCULATE(
101
+ [Total Revenue],
102
+ DATESINPERIOD(DimDate[Date], MAX(DimDate[Date]), -12, MONTH)
103
+ )
104
+ ```
105
+
106
+ ### Target Comparison
107
+
108
+ ```dax
109
+ // Target Amount
110
+ Target Amount =
111
+ SUM(FactTargets[TargetAmount])
112
+
113
+ // Target Achievement %
114
+ Target Achievement % =
115
+ DIVIDE([Total Revenue], [Target Amount])
116
+
117
+ // Variance to Target
118
+ Variance to Target =
119
+ [Total Revenue] - [Target Amount]
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Page Structure
125
+
126
+ ### Page 1: Executive Summary
127
+
128
+ **Purpose:** High-level KPIs and trends for leadership
129
+
130
+ | Visual | Position | Content |
131
+ |--------|----------|---------|
132
+ | Card | Top-left | Total Revenue (current period) |
133
+ | Card | Top-center-left | Revenue YoY % with conditional arrow |
134
+ | Card | Top-center-right | Gross Margin % |
135
+ | Card | Top-right | Total Orders |
136
+ | Line Chart | Middle-left (60% width) | Revenue trend by month with PY comparison |
137
+ | Donut Chart | Middle-right (40% width) | Revenue by Region |
138
+ | Clustered Bar | Bottom-left (50% width) | Top 10 Products by Revenue |
139
+ | Table | Bottom-right (50% width) | Regional Summary with sparklines |
140
+
141
+ **Slicers:**
142
+ - Date range (relative date slicer)
143
+ - Region (dropdown)
144
+ - Product Category (dropdown)
145
+
146
+ ### Page 2: Sales Performance
147
+
148
+ **Purpose:** Detailed sales rep and team performance
149
+
150
+ | Visual | Position | Content |
151
+ |--------|----------|---------|
152
+ | Matrix | Top (full width) | Sales Rep performance with Target, Actual, Variance, Achievement % |
153
+ | Clustered Column | Middle-left | Monthly performance by team |
154
+ | Scatter Chart | Middle-right | Sales Rep: Revenue vs Orders (bubble: margin) |
155
+ | Waterfall | Bottom | Revenue bridge: Target to Actual |
156
+
157
+ ### Page 3: Product Analysis
158
+
159
+ **Purpose:** Product performance and profitability
160
+
161
+ | Visual | Position | Content |
162
+ |--------|----------|---------|
163
+ | Treemap | Top-left | Revenue by Category > SubCategory |
164
+ | Table | Top-right | Product details with conditional formatting |
165
+ | Line & Clustered Column | Middle | Monthly trend: Revenue (bars) + Units (line) |
166
+ | Scatter | Bottom-left | Price vs Volume analysis |
167
+ | Matrix | Bottom-right | Category performance by region |
168
+
169
+ ### Page 4: Customer Insights
170
+
171
+ **Purpose:** Customer segmentation and behavior
172
+
173
+ | Visual | Position | Content |
174
+ |--------|----------|---------|
175
+ | Card | Top row | Customer Count, New Customers, Avg Revenue per Customer |
176
+ | Pie Chart | Middle-left | Revenue by Customer Segment |
177
+ | Bar Chart | Middle-center | Top 10 Customers |
178
+ | Map | Middle-right | Revenue by geography |
179
+ | Table | Bottom | Customer detail with recency, frequency metrics |
180
+
181
+ ---
182
+
183
+ ## Visual Specifications
184
+
185
+ ### Color Palette (IBCS-inspired)
186
+
187
+ | Purpose | Color | Usage |
188
+ |---------|-------|-------|
189
+ | Primary | #1B1B1B | Current period data |
190
+ | Comparison | #A0A0A0 | Previous period / secondary |
191
+ | Positive | #2E7D32 | Positive variance |
192
+ | Negative | #C62828 | Negative variance |
193
+ | Accent | #0078D4 | Highlights, selections |
194
+
195
+ ### Conditional Formatting Rules
196
+
197
+ **For YoY/Variance columns:**
198
+ ```
199
+ IF value >= 0 THEN background: light green, icon: up arrow
200
+ IF value < 0 THEN background: light red, icon: down arrow
201
+ ```
202
+
203
+ **For Achievement %:**
204
+ ```
205
+ IF value >= 100% THEN green
206
+ IF value >= 90% THEN yellow
207
+ IF value < 90% THEN red
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Interactivity
213
+
214
+ ### Cross-filtering
215
+
216
+ - Region selection filters all pages
217
+ - Product selection filters customer and sales views
218
+ - Date selection filters all visuals
219
+
220
+ ### Drillthrough
221
+
222
+ - Product drillthrough from any product visual to Product Detail page
223
+ - Customer drillthrough from customer table to Customer 360 page
224
+ - Sales Rep drillthrough to individual performance page
225
+
226
+ ### Bookmarks
227
+
228
+ - "Current Year" - Resets all slicers to current year
229
+ - "Comparison View" - Shows PY comparison charts
230
+ - "Export View" - Simplified layout for PDF export
231
+
232
+ ---
233
+
234
+ ## Performance Optimization
235
+
236
+ ### Recommended Practices
237
+
238
+ 1. **Pre-aggregate** monthly summaries for trend charts
239
+ 2. **Use SUMMARIZE** for customer/product rollups
240
+ 3. **Limit card visuals** to 4-6 per page
241
+ 4. **Implement incremental refresh** for FactSales
242
+ 5. **Create calculation groups** for time intelligence reuse
243
+
244
+ ### Query Reduction
245
+
246
+ ```dax
247
+ // Create a summary table for trends
248
+ SalesSummary =
249
+ SUMMARIZE(
250
+ FactSales,
251
+ DimDate[Year],
252
+ DimDate[MonthNum],
253
+ DimDate[MonthName],
254
+ DimProduct[Category],
255
+ DimCustomer[Region],
256
+ "Revenue", SUM(FactSales[TotalAmount]),
257
+ "Quantity", SUM(FactSales[Quantity]),
258
+ "Orders", DISTINCTCOUNT(FactSales[SalesID])
259
+ )
260
+ ```
261
+
262
+ ---
263
+
264
+ ## Implementation Checklist
265
+
266
+ - [ ] Create star schema with proper relationships
267
+ - [ ] Build date dimension with fiscal calendar if needed
268
+ - [ ] Implement core measures in dedicated Measures table
269
+ - [ ] Apply theme from BI Agent Superpowers (corporate-blue or custom)
270
+ - [ ] Configure row-level security if multi-tenant
271
+ - [ ] Test cross-filtering behavior
272
+ - [ ] Optimize report for 1920x1080 display
273
+ - [ ] Document slicers and interactions for end users
274
+
275
+ ---
276
+
277
+ ## Related Resources
278
+
279
+ - [DAX Time Intelligence Patterns](../../snippets/dax/time-intelligence.md)
280
+ - [Star Schema Best Practices](../../snippets/data-modeling/)
281
+ - [Corporate Blue Theme](../../styles/power-bi/corporate-blue.json)
@@ -0,0 +1,436 @@
1
+ # Excel Styles Guide
2
+
3
+ Comprehensive formatting standards and visual design guidelines for professional Excel workbooks.
4
+
5
+ ## Color Palette
6
+
7
+ ### Primary Colors (Corporate)
8
+
9
+ | Purpose | Color | Hex | RGB |
10
+ |---------|-------|-----|-----|
11
+ | Primary Blue | Blue | #0078D4 | 0, 120, 212 |
12
+ | Primary Dark | Dark Blue | #002050 | 0, 32, 80 |
13
+ | Accent | Teal | #00BCF2 | 0, 188, 242 |
14
+ | Neutral | Gray | #605E5C | 96, 94, 92 |
15
+
16
+ ### Status Colors
17
+
18
+ | Purpose | Color | Hex | RGB | Usage |
19
+ |---------|-------|-----|-----|-------|
20
+ | Positive | Green | #107C10 | 16, 124, 16 | Favorable variance, growth |
21
+ | Negative | Red | #D13438 | 209, 52, 56 | Unfavorable, decline |
22
+ | Warning | Amber | #FFB900 | 255, 185, 0 | Caution, attention needed |
23
+ | Neutral | Gray | #A0A0A0 | 160, 160, 160 | Unchanged, N/A |
24
+
25
+ ### Background Colors
26
+
27
+ | Purpose | Color | Hex | Usage |
28
+ |---------|-------|-----|-------|
29
+ | Header | Light Gray | #F3F2F1 | Table headers, section titles |
30
+ | Alternate Row | Very Light Gray | #FAF9F8 | Alternating row shading |
31
+ | Input Cell | Light Yellow | #FFF8DC | User input areas |
32
+ | Locked Cell | Light Gray | #E6E6E6 | Protected/calculated cells |
33
+ | Highlight | Light Blue | #DEECF9 | Selected or focus areas |
34
+
35
+ ---
36
+
37
+ ## Typography
38
+
39
+ ### Font Recommendations
40
+
41
+ | Use Case | Font | Size | Weight |
42
+ |----------|------|------|--------|
43
+ | **Primary** | Segoe UI | 10pt | Regular |
44
+ | **Headers** | Segoe UI | 11pt | Semibold |
45
+ | **Titles** | Segoe UI | 14pt | Semibold |
46
+ | **Data** | Segoe UI | 10pt | Regular |
47
+ | **Small Text** | Segoe UI | 9pt | Regular |
48
+ | **Monospace** | Consolas | 10pt | Regular |
49
+
50
+ ### Alternative Fonts
51
+
52
+ For cross-platform compatibility:
53
+ - Windows: Segoe UI
54
+ - Mac: SF Pro, Helvetica Neue
55
+ - Web: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto
56
+
57
+ ### Font Colors
58
+
59
+ | Element | Color | Hex |
60
+ |---------|-------|-----|
61
+ | Primary Text | Dark Gray | #252423 |
62
+ | Secondary Text | Medium Gray | #605E5C |
63
+ | Muted Text | Light Gray | #A0A0A0 |
64
+ | Link | Blue | #0078D4 |
65
+ | Error | Red | #D13438 |
66
+
67
+ ---
68
+
69
+ ## Number Formats
70
+
71
+ ### Currency
72
+
73
+ | Format Code | Example | Usage |
74
+ |-------------|---------|-------|
75
+ | `$#,##0` | $1,234 | Whole dollars |
76
+ | `$#,##0.00` | $1,234.56 | Dollars and cents |
77
+ | `$#,##0,"K"` | $1,235K | Thousands |
78
+ | `$#,##0.0,,"M"` | $1.2M | Millions |
79
+ | `($#,##0)` | ($1,234) | Accounting format |
80
+
81
+ ### Percentages
82
+
83
+ | Format Code | Example | Usage |
84
+ |-------------|---------|-------|
85
+ | `0%` | 25% | Whole percentages |
86
+ | `0.0%` | 25.5% | One decimal |
87
+ | `0.00%` | 25.55% | Two decimals |
88
+ | `+0.0%;-0.0%` | +5.2% / -3.1% | With sign |
89
+
90
+ ### Numbers
91
+
92
+ | Format Code | Example | Usage |
93
+ |-------------|---------|-------|
94
+ | `#,##0` | 1,234 | Whole numbers |
95
+ | `#,##0.00` | 1,234.56 | Two decimals |
96
+ | `#,##0.0,"K"` | 1.2K | Thousands |
97
+ | `0.0E+0` | 1.2E+6 | Scientific |
98
+
99
+ ### Dates
100
+
101
+ | Format Code | Example | Usage |
102
+ |-------------|---------|-------|
103
+ | `YYYY-MM-DD` | 2024-01-15 | ISO format |
104
+ | `MM/DD/YYYY` | 01/15/2024 | US format |
105
+ | `DD-MMM-YYYY` | 15-Jan-2024 | International |
106
+ | `MMMM D, YYYY` | January 15, 2024 | Long format |
107
+ | `MMM 'YY` | Jan '24 | Abbreviated |
108
+
109
+ ### Times
110
+
111
+ | Format Code | Example | Usage |
112
+ |-------------|---------|-------|
113
+ | `HH:MM` | 14:30 | 24-hour |
114
+ | `H:MM AM/PM` | 2:30 PM | 12-hour |
115
+ | `HH:MM:SS` | 14:30:45 | With seconds |
116
+
117
+ ---
118
+
119
+ ## Table Formatting
120
+
121
+ ### Standard Table Style
122
+
123
+ ```
124
+ Headers:
125
+ - Background: #F3F2F1
126
+ - Font: Segoe UI Semibold, 11pt, #252423
127
+ - Alignment: Center or Left
128
+ - Borders: Bottom border 1pt #E6E6E6
129
+
130
+ Data Rows:
131
+ - Background: White (#FFFFFF)
132
+ - Alt Background: #FAF9F8
133
+ - Font: Segoe UI Regular, 10pt, #252423
134
+ - Alignment: Left (text), Right (numbers)
135
+ - Borders: Horizontal 1pt #E6E6E6
136
+
137
+ Totals Row:
138
+ - Background: #F3F2F1
139
+ - Font: Segoe UI Semibold, 10pt, #252423
140
+ - Borders: Top border 2pt #0078D4
141
+ ```
142
+
143
+ ### Row Heights and Column Widths
144
+
145
+ | Element | Height/Width |
146
+ |---------|--------------|
147
+ | Header Row | 25 pts |
148
+ | Data Row | 20 pts |
149
+ | Title Row | 30 pts |
150
+ | Standard Column | 80-120 pts |
151
+ | Narrow Column | 40-60 pts |
152
+ | Wide Column | 150-200 pts |
153
+
154
+ ### Cell Padding
155
+
156
+ Achieved through alignment and indentation:
157
+ - Indent: 1-2 characters from edge
158
+ - Use alignment options, not spaces
159
+
160
+ ---
161
+
162
+ ## Conditional Formatting Rules
163
+
164
+ ### Variance Highlighting
165
+
166
+ **Positive Variance (Good):**
167
+ ```
168
+ Background: #E8F5E9 (light green)
169
+ Font Color: #107C10 (green)
170
+ Icon: Up arrow (optional)
171
+ ```
172
+
173
+ **Negative Variance (Bad):**
174
+ ```
175
+ Background: #FFEBEE (light red)
176
+ Font Color: #D13438 (red)
177
+ Icon: Down arrow (optional)
178
+ ```
179
+
180
+ **Neutral:**
181
+ ```
182
+ Background: None
183
+ Font Color: #605E5C (gray)
184
+ Icon: Dash (optional)
185
+ ```
186
+
187
+ ### Data Bars
188
+
189
+ ```
190
+ Positive:
191
+ - Color: #0078D4 (blue) or #107C10 (green)
192
+ - Fill: Gradient
193
+ - Border: Same color, solid
194
+
195
+ Negative:
196
+ - Color: #D13438 (red)
197
+ - Fill: Gradient
198
+ - Border: Same color, solid
199
+ ```
200
+
201
+ ### Icon Sets
202
+
203
+ **Traffic Lights (3 icons):**
204
+ ```
205
+ Green circle: >= 100% (or positive)
206
+ Yellow circle: >= 90% and < 100%
207
+ Red circle: < 90% (or negative)
208
+ ```
209
+
210
+ **Arrows (3 icons):**
211
+ ```
212
+ Up arrow (green): > 0 or above threshold
213
+ Horizontal dash: = 0 or at target
214
+ Down arrow (red): < 0 or below threshold
215
+ ```
216
+
217
+ ### Color Scales
218
+
219
+ ```
220
+ 2-Color Scale:
221
+ - Minimum: White (#FFFFFF)
222
+ - Maximum: Blue (#0078D4)
223
+
224
+ 3-Color Scale:
225
+ - Minimum: Red (#FFEBEE)
226
+ - Midpoint: White (#FFFFFF)
227
+ - Maximum: Green (#E8F5E9)
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Chart Formatting
233
+
234
+ ### Color Sequence
235
+
236
+ Use these colors in order for chart series:
237
+
238
+ 1. `#0078D4` - Blue (primary)
239
+ 2. `#00BCF2` - Cyan
240
+ 3. `#00B294` - Teal
241
+ 4. `#FFB900` - Amber
242
+ 5. `#E81123` - Red
243
+ 6. `#5C2D91` - Purple
244
+ 7. `#002050` - Dark Blue
245
+ 8. `#008272` - Dark Teal
246
+
247
+ ### Chart Elements
248
+
249
+ ```
250
+ Title:
251
+ - Font: Segoe UI Semibold, 14pt
252
+ - Color: #252423
253
+ - Alignment: Left
254
+
255
+ Axis Labels:
256
+ - Font: Segoe UI Regular, 10pt
257
+ - Color: #605E5C
258
+
259
+ Data Labels:
260
+ - Font: Segoe UI Regular, 9pt
261
+ - Color: #252423 or White (on dark)
262
+
263
+ Legend:
264
+ - Font: Segoe UI Regular, 10pt
265
+ - Position: Top or Right
266
+ - Color: #605E5C
267
+
268
+ Gridlines:
269
+ - Color: #E6E6E6
270
+ - Weight: 0.5pt
271
+ - Style: Solid
272
+
273
+ Plot Area:
274
+ - Background: White or None
275
+ ```
276
+
277
+ ### Chart Best Practices
278
+
279
+ 1. **Limit colors** - Use 3-5 colors maximum
280
+ 2. **Remove clutter** - No 3D effects, minimal gridlines
281
+ 3. **Direct labeling** - Label data points, avoid legends when possible
282
+ 4. **Consistent sizing** - Same dimensions across related charts
283
+ 5. **White space** - Leave breathing room around charts
284
+
285
+ ---
286
+
287
+ ## Dashboard Layout
288
+
289
+ ### Grid System
290
+
291
+ Use a 12-column grid for dashboard layouts:
292
+
293
+ ```
294
+ +--+--+--+--+--+--+--+--+--+--+--+--+
295
+ | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|
296
+ +--+--+--+--+--+--+--+--+--+--+--+--+
297
+
298
+ Full width: 12 columns
299
+ Half width: 6 columns
300
+ Third width: 4 columns
301
+ Quarter width: 3 columns
302
+ ```
303
+
304
+ ### Standard Dashboard Page
305
+
306
+ ```
307
+ +----------------------------------------+
308
+ | TITLE [Date] |
309
+ +----------------------------------------+
310
+ | KPI 1 | KPI 2 | KPI 3 | KPI 4 |
311
+ +--------+--------+--------+-------------+
312
+ | |
313
+ | Main Chart (8 cols) | Side |
314
+ | | Chart |
315
+ | |(4 cols)|
316
+ +----------------------------------------+
317
+ | Table or Detail Section |
318
+ +----------------------------------------+
319
+ ```
320
+
321
+ ### Spacing
322
+
323
+ | Element | Spacing |
324
+ |---------|---------|
325
+ | Section margin | 10-15 pts |
326
+ | Between charts | 10 pts |
327
+ | Chart padding | 5 pts |
328
+ | KPI card spacing | 5-10 pts |
329
+
330
+ ---
331
+
332
+ ## Input Forms
333
+
334
+ ### Input Cell Formatting
335
+
336
+ ```
337
+ Background: #FFF8DC (light yellow)
338
+ Border: 1pt solid #D4A017 (gold)
339
+ Protection: Unlocked
340
+ Validation: As appropriate
341
+ Font: Same as data (Segoe UI, 10pt)
342
+ ```
343
+
344
+ ### Labels
345
+
346
+ ```
347
+ Position: Left of input cell
348
+ Alignment: Right-aligned
349
+ Font: Segoe UI Regular, 10pt, #605E5C
350
+ Required indicator: Red asterisk (*)
351
+ ```
352
+
353
+ ### Error States
354
+
355
+ ```
356
+ Invalid Input:
357
+ - Border: 2pt solid #D13438
358
+ - Background: #FFEBEE
359
+ - Show error message
360
+
361
+ Valid Input:
362
+ - Border: 1pt solid #107C10
363
+ - Optional checkmark icon
364
+ ```
365
+
366
+ ---
367
+
368
+ ## Print Formatting
369
+
370
+ ### Page Setup
371
+
372
+ | Setting | Value |
373
+ |---------|-------|
374
+ | Orientation | Landscape (dashboards), Portrait (reports) |
375
+ | Margins | 0.5" all sides |
376
+ | Header | Document title, date |
377
+ | Footer | Page X of Y, confidentiality |
378
+ | Scaling | Fit to 1 page wide |
379
+
380
+ ### Print-Specific Adjustments
381
+
382
+ - Remove background colors if printing in B&W
383
+ - Ensure sufficient contrast (4.5:1 minimum)
384
+ - Use solid borders instead of gridlines
385
+ - Include print titles (repeat headers)
386
+
387
+ ---
388
+
389
+ ## Accessibility
390
+
391
+ ### Color Contrast
392
+
393
+ Minimum contrast ratios (WCAG AA):
394
+ - Normal text: 4.5:1
395
+ - Large text (14pt+): 3:1
396
+ - UI components: 3:1
397
+
398
+ ### Colorblind-Friendly Palette
399
+
400
+ | Standard | Colorblind Alternative |
401
+ |----------|------------------------|
402
+ | Red/Green | Blue/Orange |
403
+ | #D13438 / #107C10 | #D16900 / #0078D4 |
404
+
405
+ ### Best Practices
406
+
407
+ 1. Never use color alone to convey meaning
408
+ 2. Add patterns or icons alongside colors
409
+ 3. Use clear labels and data labels
410
+ 4. Provide alt text for charts
411
+ 5. Use logical tab order for forms
412
+
413
+ ---
414
+
415
+ ## Quick Reference
416
+
417
+ ### Named Styles to Create
418
+
419
+ | Style Name | Font | Size | Background | Use |
420
+ |------------|------|------|------------|-----|
421
+ | Header1 | Segoe UI Semibold | 14pt | None | Page titles |
422
+ | Header2 | Segoe UI Semibold | 12pt | None | Section titles |
423
+ | TableHeader | Segoe UI Semibold | 11pt | #F3F2F1 | Table headers |
424
+ | DataCell | Segoe UI Regular | 10pt | None | Standard data |
425
+ | InputCell | Segoe UI Regular | 10pt | #FFF8DC | User input |
426
+ | TotalRow | Segoe UI Semibold | 10pt | #F3F2F1 | Totals |
427
+ | Positive | Segoe UI Regular | 10pt | #E8F5E9 | Good values |
428
+ | Negative | Segoe UI Regular | 10pt | #FFEBEE | Bad values |
429
+
430
+ ---
431
+
432
+ ## Related Resources
433
+
434
+ - [Excel Templates](../../templates/excel/) - Workbook specifications
435
+ - [Excel Formula Snippets](../../snippets/excel-formulas/) - Formula patterns
436
+ - [Power BI Themes](../power-bi/) - Coordinated BI styling