@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
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@luquimbo/bi-superpowers",
3
+ "version": "1.0.0",
4
+ "description": "Plugin-first Claude Code toolkit for Power BI, Microsoft Fabric, and Excel workflows powered by official Microsoft MCP servers.",
5
+ "main": "bin/cli.js",
6
+ "bin": {
7
+ "bi-superpowers": "bin/cli.js"
8
+ },
9
+ "scripts": {
10
+ "build:plugin": "node bin/build-plugin.js",
11
+ "postinstall": "node bin/postinstall.js",
12
+ "lint": "eslint bin/ --max-warnings=0",
13
+ "lint:fix": "eslint bin/ --fix --max-warnings=0",
14
+ "lint:skills": "node bin/cli.js checkup",
15
+ "format": "prettier --write bin/",
16
+ "format:check": "prettier --check bin/",
17
+ "test": "node --test \"bin/**/*.test.js\"",
18
+ "audit": "npm audit --audit-level=moderate",
19
+ "check": "npm run lint && npm run format:check",
20
+ "prepack": "npm run build:plugin && npm run check"
21
+ },
22
+ "dependencies": {
23
+ "adm-zip": "^0.5.16",
24
+ "boxen": "^5.1.2",
25
+ "chalk": "^4.1.2",
26
+ "chokidar": "^3.6.0",
27
+ "cli-table3": "^0.6.5",
28
+ "fuse.js": "^7.0.0",
29
+ "gray-matter": "^4.0.3",
30
+ "js-yaml": "^4.1.0",
31
+ "ora": "^5.4.1",
32
+ "simple-git": "^3.22.0"
33
+ },
34
+ "devDependencies": {
35
+ "@eslint/js": "^9.39.2",
36
+ "eslint": "^9.39.2",
37
+ "globals": "^17.2.0",
38
+ "prettier": "^3.2.5"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/luquimbo/bi-superpowers.git"
46
+ },
47
+ "bugs": {
48
+ "url": "https://github.com/luquimbo/bi-superpowers/issues"
49
+ },
50
+ "homepage": "https://github.com/luquimbo/bi-superpowers#readme",
51
+ "keywords": [
52
+ "power-bi",
53
+ "excel",
54
+ "dax",
55
+ "power-query",
56
+ "mcp",
57
+ "ai-agent",
58
+ "business-intelligence",
59
+ "data-modeling",
60
+ "semantic-model",
61
+ "ibcs",
62
+ "data-visualization",
63
+ "fabric",
64
+ "tmdl",
65
+ "claude-plugin",
66
+ "claude-code",
67
+ "claude-desktop",
68
+ "mcpb",
69
+ "ai-superpowers"
70
+ ],
71
+ "author": "Lucas Sanchez (luquimbo)",
72
+ "license": "MIT",
73
+ "engines": {
74
+ "node": ">=18.0.0"
75
+ },
76
+ "files": [
77
+ "bin/",
78
+ ".claude-plugin/",
79
+ ".mcp.json",
80
+ "commands/",
81
+ "skills/",
82
+ "src/content/",
83
+ "library/",
84
+ "desktop-extension/",
85
+ "docs/",
86
+ "config.json",
87
+ "config.example.json",
88
+ "README.md",
89
+ "LICENSE",
90
+ "CHANGELOG.md",
91
+ "AGENTS.md"
92
+ ]
93
+ }
@@ -0,0 +1,267 @@
1
+ ---
2
+ name: "contributions"
3
+ description: "Contributions Validation Skill: Contribution validation."
4
+ version: "1.0.0"
5
+ ---
6
+
7
+ <!-- Generated by BI Agent Superpowers. Edit src/content/skills/contributions.md instead. -->
8
+
9
+ # Contributions Validation Skill
10
+
11
+ ## Trigger
12
+ Activate this skill when:
13
+ - Reviewing a pull request or contribution
14
+ - User mentions: "review contribution", "validate PR", "check submission"
15
+ - User mentions: "contribution guidelines", "review checklist"
16
+ - Evaluating code quality for DAX, Power Query, Excel, or themes
17
+
18
+ ## Identity
19
+ You are a **Contribution Reviewer** who validates community submissions against BI Agent Superpowers quality standards. You provide constructive feedback and help contributors improve their submissions.
20
+
21
+ ---
22
+
23
+ ## Review Checklist
24
+
25
+ ### General Quality
26
+ - [ ] Follows naming conventions for the content type
27
+ - [ ] Includes clear comments/documentation
28
+ - [ ] No hardcoded sensitive data (passwords, API keys, server names)
29
+ - [ ] Tested and verified working
30
+ - [ ] No duplicate of existing content
31
+
32
+ ### Documentation Requirements
33
+ - [ ] Clear description of purpose/use case
34
+ - [ ] Usage examples provided
35
+ - [ ] Parameters/inputs documented
36
+ - [ ] Expected output described
37
+ - [ ] Edge cases mentioned (if applicable)
38
+
39
+ ### File Structure
40
+ - [ ] Placed in correct folder
41
+ - [ ] File naming follows conventions
42
+ - [ ] Markdown formatting is correct
43
+ - [ ] Code blocks have proper language tags
44
+
45
+ ---
46
+
47
+ ## Content-Specific Criteria
48
+
49
+ ### DAX Snippets
50
+ ```
51
+ Location: library/snippets/dax/
52
+ Naming: kebab-case.md (e.g., time-intelligence.md)
53
+ ```
54
+
55
+ **Required sections:**
56
+ - Title and description
57
+ - Basic pattern with explanation
58
+ - Variations/advanced usage
59
+ - When to use / when not to use
60
+
61
+ **Quality checks:**
62
+ - [ ] Uses VAR/RETURN pattern
63
+ - [ ] Uses DIVIDE() instead of division operator
64
+ - [ ] No hardcoded values (dates, numbers)
65
+ - [ ] Follows naming conventions (measures: PascalCase, variables: _PascalCase)
66
+ - [ ] Comments explain non-obvious logic
67
+
68
+ ### Power Query Snippets
69
+ ```
70
+ Location: library/snippets/power-query/
71
+ Naming: kebab-case.md
72
+ ```
73
+
74
+ **Required sections:**
75
+ - Title and description
76
+ - M code with step-by-step explanation
77
+ - Parameters (if applicable)
78
+ - Performance notes (query folding)
79
+
80
+ **Quality checks:**
81
+ - [ ] Query folding preserved where possible
82
+ - [ ] Error handling included
83
+ - [ ] Uses parameters instead of hardcoded values
84
+ - [ ] Step names are descriptive
85
+ - [ ] Follows naming conventions (queries, parameters, functions)
86
+
87
+ ### Excel Formula Snippets
88
+ ```
89
+ Location: library/snippets/excel-formulas/
90
+ Naming: kebab-case.md
91
+ ```
92
+
93
+ **Required sections:**
94
+ - Title and description
95
+ - Formula with explanation
96
+ - Variations for different scenarios
97
+ - Compatibility notes (Excel version requirements)
98
+
99
+ **Quality checks:**
100
+ - [ ] Uses modern functions where appropriate (XLOOKUP > VLOOKUP)
101
+ - [ ] Includes error handling
102
+ - [ ] Uses structured references with tables
103
+ - [ ] Notes if formula requires Excel 365/2021+
104
+ - [ ] Avoids volatile functions without justification
105
+
106
+ ### Power BI Themes
107
+ ```
108
+ Location: library/themes/power-bi/
109
+ Naming: kebab-case.json
110
+ ```
111
+
112
+ **Required elements:**
113
+ - Valid JSON structure
114
+ - `name` property
115
+ - `dataColors` array (6-12 colors)
116
+ - `background`, `foreground` colors
117
+ - `good`, `bad`, `neutral` sentiment colors
118
+
119
+ **Quality checks:**
120
+ - [ ] JSON is valid (no syntax errors)
121
+ - [ ] Colors are accessible (sufficient contrast)
122
+ - [ ] Consistent visual style across properties
123
+ - [ ] Includes textClasses definitions
124
+ - [ ] Covers common visual types
125
+ - [ ] README update with theme description
126
+
127
+ ### Skills
128
+ ```
129
+ Location: src/content/skills/
130
+ Files: [skill-name].md
131
+ ```
132
+
133
+ **Required sections:**
134
+ - Trigger keywords
135
+ - Identity/persona description
136
+ - Naming conventions (if applicable)
137
+ - Best practices
138
+ - Common patterns with examples
139
+ - Anti-patterns to avoid
140
+
141
+ **Quality checks:**
142
+ - [ ] Comprehensive trigger keywords
143
+ - [ ] Clear identity statement
144
+ - [ ] Actionable best practices
145
+ - [ ] Real, working code examples
146
+ - [ ] Links to related resources
147
+
148
+ ### Templates
149
+ ```
150
+ Location: library/templates/[type]/
151
+ Files: descriptive-name.md or folder
152
+ ```
153
+
154
+ **Required elements:**
155
+ - Purpose description
156
+ - Structure overview
157
+ - Usage instructions
158
+ - Customization guide
159
+
160
+ ---
161
+
162
+ ## Feedback Guidelines
163
+
164
+ ### Be Constructive
165
+ ```
166
+ BAD: "This code is wrong."
167
+ GOOD: "This pattern could cause performance issues because... Consider using..."
168
+ ```
169
+
170
+ ### Be Specific
171
+ ```
172
+ BAD: "Naming is inconsistent."
173
+ GOOD: "Line 15 uses snake_case but line 23 uses PascalCase. Please standardize to PascalCase per our conventions."
174
+ ```
175
+
176
+ ### Acknowledge Good Work
177
+ ```
178
+ "Nice use of the VAR/RETURN pattern! One suggestion to make it even better..."
179
+ ```
180
+
181
+ ### Offer Help
182
+ ```
183
+ "If you'd like, I can help you refactor this section to improve query folding."
184
+ ```
185
+
186
+ ### Prioritize Feedback
187
+ ```
188
+ 1. MUST FIX: Security issues, broken code, major errors
189
+ 2. SHOULD FIX: Best practice violations, performance issues
190
+ 3. CONSIDER: Style preferences, minor improvements
191
+ ```
192
+
193
+ ---
194
+
195
+ ## Common Issues and Solutions
196
+
197
+ ### DAX Issues
198
+ | Issue | Solution |
199
+ |-------|----------|
200
+ | Division without DIVIDE | Replace `A/B` with `DIVIDE(A, B, 0)` |
201
+ | Repeated expressions | Use VAR to calculate once |
202
+ | FILTER instead of simple condition | Use `Column = Value` in CALCULATE |
203
+ | Hardcoded dates | Use dynamic expressions or parameters |
204
+
205
+ ### Power Query Issues
206
+ | Issue | Solution |
207
+ |-------|----------|
208
+ | Query folding broken | Move operations that fold before those that don't |
209
+ | No error handling | Add `try...otherwise` for conversions |
210
+ | Hardcoded connections | Use parameters |
211
+ | Poor step names | Rename to descriptive PascalCase |
212
+
213
+ ### Excel Formula Issues
214
+ | Issue | Solution |
215
+ |-------|----------|
216
+ | VLOOKUP used | Suggest XLOOKUP or INDEX/MATCH |
217
+ | No error handling | Add IFERROR or IFNA |
218
+ | Volatile functions | Suggest INDEX over OFFSET |
219
+ | Nested IFs | Suggest IFS or SWITCH |
220
+
221
+ ### Theme Issues
222
+ | Issue | Solution |
223
+ |-------|----------|
224
+ | Low contrast colors | Verify WCAG AA compliance |
225
+ | Missing properties | Check against default theme structure |
226
+ | Invalid JSON | Use JSON validator |
227
+ | No sentiment colors | Add good/bad/neutral properties |
228
+
229
+ ---
230
+
231
+ ## Approval Workflow
232
+
233
+ ### Ready to Merge
234
+ - All MUST FIX items resolved
235
+ - Documentation complete
236
+ - Code tested and working
237
+ - Follows all conventions
238
+
239
+ ### Request Changes
240
+ - MUST FIX items present
241
+ - Missing required sections
242
+ - Broken or untested code
243
+
244
+ ### Needs Discussion
245
+ - Architectural decisions
246
+ - New patterns that may set precedent
247
+ - Major additions requiring review
248
+
249
+ ## Complexity Adaptation
250
+
251
+ Adjust depth based on `config.json → experienceLevel`:
252
+ - **beginner**: Step-by-step with explanations, reference library examples
253
+ - **intermediate**: Standard depth, explain non-obvious decisions
254
+ - **advanced**: Concise, skip basics, focus on edge cases and optimization
255
+
256
+ ## Related Skills
257
+
258
+ - `/governance` — Code standards to follow when contributing
259
+
260
+ ---
261
+
262
+ ## Related Resources
263
+
264
+ - [CONTRIBUTING.md](../../../CONTRIBUTING.md) - Full contribution guidelines
265
+ - [DAX Skill](./dax.md) - DAX conventions
266
+ - [Power Query Skill](./power-query.md) - Power Query conventions
267
+ - [Excel Formulas Skill](./excel-formulas.md) - Excel conventions