superkit-mcp-server 1.2.1 → 1.2.3

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 (170) hide show
  1. package/ARCHITECTURE.md +102 -102
  2. package/README.md +71 -71
  3. package/SUPERKIT.md +168 -168
  4. package/agents/code-archaeologist.md +106 -106
  5. package/agents/coder.md +90 -90
  6. package/agents/data-engineer.md +28 -28
  7. package/agents/devops-engineer.md +242 -242
  8. package/agents/git-manager.md +203 -203
  9. package/agents/orchestrator.md +420 -420
  10. package/agents/penetration-tester.md +188 -188
  11. package/agents/performance-optimizer.md +187 -187
  12. package/agents/planner.md +270 -270
  13. package/agents/qa-automation-engineer.md +103 -103
  14. package/agents/quant-developer.md +32 -32
  15. package/agents/reviewer.md +100 -100
  16. package/agents/scout.md +222 -222
  17. package/agents/security-auditor.md +3 -2
  18. package/agents/tester.md +274 -274
  19. package/agents/ui-designer.md +208 -208
  20. package/build/index.js +21 -2
  21. package/build/tools/__tests__/loggerTools.test.js +5 -5
  22. package/build/tools/archTools.js +2 -19
  23. package/build/tools/autoPreview.js +2 -2
  24. package/build/tools/compoundTools.js +4 -4
  25. package/build/tools/docsTools.js +5 -10
  26. package/build/tools/loggerTools.js +1 -1
  27. package/build/tools/todoTools.js +39 -39
  28. package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
  29. package/build/tools/validators/__tests__/convertRules.test.js +5 -5
  30. package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
  31. package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
  32. package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
  33. package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
  34. package/build/tools/validators/__tests__/securityScan.test.js +6 -6
  35. package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
  36. package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
  37. package/build/tools/validators/convertRules.js +2 -2
  38. package/commands/README.md +122 -122
  39. package/commands/ask.toml +72 -72
  40. package/commands/brainstorm.toml +119 -119
  41. package/commands/chat.toml +77 -77
  42. package/commands/code-preview.toml +37 -37
  43. package/commands/code.toml +28 -28
  44. package/commands/content.toml +200 -200
  45. package/commands/cook.toml +77 -77
  46. package/commands/copywrite.toml +131 -131
  47. package/commands/db.toml +192 -192
  48. package/commands/debug.toml +166 -166
  49. package/commands/design.toml +158 -158
  50. package/commands/dev-rules.toml +14 -14
  51. package/commands/do.toml +117 -117
  52. package/commands/doc-rules.toml +14 -14
  53. package/commands/docs.toml +148 -148
  54. package/commands/fix.toml +440 -440
  55. package/commands/fullstack.toml +175 -175
  56. package/commands/git.toml +235 -235
  57. package/commands/help.toml +84 -84
  58. package/commands/integrate.toml +127 -127
  59. package/commands/journal.toml +136 -136
  60. package/commands/kit-setup.toml +40 -40
  61. package/commands/mcp.toml +183 -183
  62. package/commands/orchestration.toml +15 -15
  63. package/commands/plan.toml +171 -171
  64. package/commands/pm.toml +148 -148
  65. package/commands/pr.toml +50 -50
  66. package/commands/project.toml +32 -32
  67. package/commands/research.toml +117 -117
  68. package/commands/review-pr.toml +63 -63
  69. package/commands/review.toml +190 -190
  70. package/commands/scout-ext.toml +97 -97
  71. package/commands/scout.toml +79 -79
  72. package/commands/screenshot.toml +65 -65
  73. package/commands/session.toml +102 -102
  74. package/commands/skill.toml +384 -384
  75. package/commands/status.toml +22 -22
  76. package/commands/team.toml +56 -56
  77. package/commands/test.toml +164 -164
  78. package/commands/ticket.toml +70 -70
  79. package/commands/use.toml +106 -106
  80. package/commands/video.toml +83 -83
  81. package/commands/watzup.toml +71 -71
  82. package/commands/workflow.toml +14 -14
  83. package/package.json +35 -35
  84. package/skills/meta/README.md +30 -30
  85. package/skills/meta/api-design/SKILL.md +134 -134
  86. package/skills/meta/code-review/SKILL.md +44 -44
  87. package/skills/meta/code-review/checklists/pre-merge.md +25 -25
  88. package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
  89. package/skills/meta/code-review/workflows/performance-pass.md +27 -27
  90. package/skills/meta/code-review/workflows/security-pass.md +29 -29
  91. package/skills/meta/compound-docs/SKILL.md +133 -133
  92. package/skills/meta/debug/SKILL.md +40 -40
  93. package/skills/meta/debug/templates/bug-report.template.md +31 -31
  94. package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
  95. package/skills/meta/docker/SKILL.md +126 -126
  96. package/skills/meta/examples/supabase/SKILL.md +46 -46
  97. package/skills/meta/examples/supabase/references/best-practices.md +319 -319
  98. package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
  99. package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
  100. package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
  101. package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
  102. package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
  103. package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
  104. package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
  105. package/skills/meta/file-todos/SKILL.md +88 -88
  106. package/skills/meta/mobile/SKILL.md +140 -140
  107. package/skills/meta/nextjs/SKILL.md +101 -101
  108. package/skills/meta/performance/SKILL.md +130 -130
  109. package/skills/meta/react-patterns/SKILL.md +83 -83
  110. package/skills/meta/security/SKILL.md +114 -114
  111. package/skills/meta/session-resume/SKILL.md +96 -96
  112. package/skills/meta/tailwind/SKILL.md +139 -139
  113. package/skills/meta/testing/SKILL.md +43 -43
  114. package/skills/meta/testing/references/vitest-patterns.md +45 -45
  115. package/skills/meta/testing/templates/component-test.template.tsx +37 -37
  116. package/skills/tech/alpha-vantage/SKILL.md +142 -142
  117. package/skills/tech/alpha-vantage/references/commodities.md +153 -153
  118. package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
  119. package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
  120. package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
  121. package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
  122. package/skills/tech/alpha-vantage/references/options.md +93 -93
  123. package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
  124. package/skills/tech/alpha-vantage/references/time-series.md +157 -157
  125. package/skills/tech/doc.md +6 -6
  126. package/skills/tech/financial-modeling/SKILL.md +18 -18
  127. package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
  128. package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
  129. package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
  130. package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
  131. package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
  132. package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
  133. package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
  134. package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
  135. package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
  136. package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
  137. package/skills/workflows/README.md +203 -203
  138. package/skills/workflows/adr.md +174 -174
  139. package/skills/workflows/changelog.md +74 -74
  140. package/skills/workflows/compound.md +323 -323
  141. package/skills/workflows/compound_health.md +74 -74
  142. package/skills/workflows/create-agent-skill.md +138 -139
  143. package/skills/workflows/cycle.md +144 -144
  144. package/skills/workflows/deploy-docs.md +84 -84
  145. package/skills/workflows/development-rules.md +42 -42
  146. package/skills/workflows/doc.md +95 -95
  147. package/skills/workflows/documentation-management.md +34 -34
  148. package/skills/workflows/explore.md +146 -146
  149. package/skills/workflows/generate_command.md +106 -106
  150. package/skills/workflows/heal-skill.md +97 -97
  151. package/skills/workflows/housekeeping.md +229 -229
  152. package/skills/workflows/kit-setup.md +102 -102
  153. package/skills/workflows/map-codebase.md +78 -78
  154. package/skills/workflows/orchestration-protocol.md +43 -43
  155. package/skills/workflows/plan-compound.md +439 -439
  156. package/skills/workflows/plan_review.md +269 -269
  157. package/skills/workflows/primary-workflow.md +37 -37
  158. package/skills/workflows/promote_pattern.md +86 -86
  159. package/skills/workflows/release-docs.md +82 -82
  160. package/skills/workflows/report-bug.md +135 -135
  161. package/skills/workflows/reproduce-bug.md +118 -118
  162. package/skills/workflows/resolve_pr.md +133 -133
  163. package/skills/workflows/resolve_todo.md +128 -128
  164. package/skills/workflows/review-compound.md +376 -376
  165. package/skills/workflows/skill-review.md +127 -127
  166. package/skills/workflows/specs.md +257 -257
  167. package/skills/workflows/triage-sprint.md +102 -102
  168. package/skills/workflows/triage.md +152 -152
  169. package/skills/workflows/work.md +399 -399
  170. package/skills/workflows/xcode-test.md +93 -93
@@ -1,236 +1,236 @@
1
- ---
2
- name: lbo-model
3
- description: This skill should be used when completing LBO (Leveraged Buyout) model templates in Excel for private equity transactions, deal materials, or investment committee presentations. The skill fills in formulas, validates calculations, and ensures professional formatting standards that adapt to any template structure.
4
- ---
5
-
6
- ---
7
-
8
- ## TEMPLATE REQUIREMENT
9
-
10
- **This skill uses templates for LBO models. Always check for an attached template file first.**
11
-
12
- Before starting any LBO model:
13
- 1. **If a template file is attached/provided**: Use that template's structure exactly - copy it and populate with the user's data
14
- 2. **If no template is attached**: Ask the user: *"Do you have a specific LBO template you'd like me to use? If not, I can use the standard template which includes Sources & Uses, Operating Model, Debt Schedule, and Returns Analysis."*
15
- 3. **If using the standard template**: Copy `examples/LBO_Model.xlsx` as your starting point and populate it with the user's assumptions
16
-
17
- **IMPORTANT**: When a file like `LBO_Model.xlsx` is attached, you MUST use it as your template - do not build from scratch. Even if the template seems complex or has more features than needed, copy it and adapt it to the user's requirements. Never decide to "build from scratch" when a template is provided.
18
-
19
- ---
20
-
21
- ## CRITICAL INSTRUCTIONS FOR CLAUDE - READ FIRST
22
-
23
- ### Core Principles
24
- * **Every calculation must be an Excel formula** - NEVER compute values in Python and hardcode results into cells. The model must be dynamic and update when inputs change.
25
- * **Use the template structure** - Follow the organization in `examples/LBO_Model.xlsx` or the user's provided template. Do not invent your own layout.
26
- * **Use proper cell references** - All formulas should reference the appropriate cells. Never type numbers that should come from other cells.
27
- * **Maintain sign convention consistency** - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.
28
- * **Work section by section** - Complete one section fully before moving to the next, as later sections often depend on earlier ones.
29
-
30
- ### Formula Color Conventions
31
- * **Blue (0000FF)**: Hardcoded inputs - typed numbers that don't reference other cells
32
- * **Black (000000)**: Formulas with calculations - any formula using operators or functions (`=B4*B5`, `=SUM()`, `=-MAX(0,B4)`)
33
- * **Purple (800080)**: Links to cells on the **same tab** - direct references with no calculation (`=B9`, `=B45`)
34
- * **Green (008000)**: Links to cells on **different tabs** - cross-sheet references (`=Assumptions!B5`, `='Operating Model'!C10`)
35
-
36
- ### Number Formatting Standards
37
- * **Currency**: `$#,##0;($#,##0);"-"` or `$#,##0.0` depending on template
38
- * **Percentages**: `0.0%` (one decimal)
39
- * **Multiples**: `0.0"x"` (one decimal)
40
- * **MOIC/Detailed Ratios**: `0.00"x"` (two decimals for precision)
41
- * **All numeric cells**: Right-aligned
42
-
43
- ---
44
-
45
- ### Clarify Requirements First
46
-
47
- Before filling any formulas:
48
-
49
- * **Examine the template structure** - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas
50
- * **Ask the user if anything is unclear** - If the template structure, calculation methods, or requirements are ambiguous, ask before proceeding
51
- * **Confirm key assumptions** - Any key inputs, calculation preferences, or specific requirements
52
- * **ONLY AFTER understanding the template**, proceed to fill in formulas
53
-
54
- ---
55
-
56
- ## TEMPLATE ANALYSIS PHASE - DO THIS FIRST
57
-
58
- Before filling any formulas, examine the template thoroughly:
59
-
60
- 1. **Map the structure** - Identify where each section lives and how they relate to each other. Note which sections feed into others.
61
-
62
- 2. **Understand the timeline** - Which columns represent which periods? Is there a "Closing" or "Pro Forma" column? Where does the projection period start?
63
-
64
- 3. **Identify input vs formula cells** - Templates often use color coding, borders, or shading to indicate which cells need inputs vs formulas. Respect these conventions.
65
-
66
- 4. **Read existing labels carefully** - The row labels tell you exactly what calculation is expected. Don't assume - read what the template is asking for.
67
-
68
- 5. **Check for existing formulas** - Some templates come partially filled. Don't overwrite working formulas unless specifically asked.
69
-
70
- 6. **Note template-specific conventions** - Sign conventions, subtotal structures, how sections are organized, whether there are separate tabs for different components, etc.
71
-
72
- ---
73
-
74
- ## FILLING FORMULAS - GENERAL APPROACH
75
-
76
- For each cell that needs a formula, follow this hierarchy:
77
-
78
- ### Step 1: Check the Template
79
- * Does the cell already have a formula? If yes, verify it's correct and move on.
80
- * Is there a comment or note indicating the expected calculation?
81
- * Does the row/column label make the calculation obvious?
82
- * Do neighboring cells show a pattern you should follow?
83
-
84
- ### Step 2: Check the User's Instructions
85
- * Did the user specify a particular calculation method?
86
- * Are there stated assumptions that affect this formula?
87
- * Any special requirements mentioned?
88
-
89
- ### Step 3: Apply Standard Practice
90
- * If neither template nor user specifies, use standard LBO modeling conventions
91
- * Document any assumptions you make
92
- * If genuinely uncertain, ask the user
93
-
94
- ---
95
-
96
- ## COMMON PROBLEM AREAS
97
-
98
- The following calculation patterns frequently cause issues across LBO models. Pay special attention when you encounter these:
99
-
100
- ### Balancing Sections
101
- * When two sections must equal (e.g., Sources = Uses), one item is typically the "plug" (balancing figure)
102
- * Identify which item is the plug and calculate it as the difference
103
-
104
- ### Tax Calculations
105
- * Tax formulas should only reference the relevant income line and tax rate
106
- * Should NOT reference unrelated sections (e.g., debt schedules)
107
- * Consider whether losses create tax shields or are simply ignored
108
-
109
- ### Interest and Circular References
110
- * Interest calculations can create circularity if they reference balances affected by cash flows
111
- * Use **Beginning Balance** (not average or ending) to break circular references
112
- * Pattern: Interest → Cash Flow → Paydown → Ending Balance (if interest uses ending balance, this circles back)
113
-
114
- ### Debt Paydown / Cash Sweeps
115
- * When multiple debt tranches exist, there's usually a priority order
116
- * Cash sweep should respect the priority waterfall
117
- * Balances cannot go negative - use MAX or MIN functions appropriately
118
-
119
- ### Returns Calculations (IRR/MOIC)
120
- * Cash flows must have correct signs: Investment = negative, Proceeds = positive
121
- * If using XIRR, need corresponding dates
122
- * If using IRR, cash flows should be in consecutive periods
123
- * MOIC = Total Proceeds / Total Investment
124
-
125
- ### Sensitivity Tables
126
- * Excel's DATA TABLE function may not work with openpyxl
127
- * May need explicit formulas that reference row/column headers
128
- * Each cell should show a DIFFERENT value - if all same, formulas aren't varying correctly
129
- * Use mixed references (e.g., $A5 for row input, B$4 for column input)
130
-
131
- ---
132
-
133
- ## VERIFICATION CHECKLIST - RUN AFTER COMPLETION
134
-
135
- ### Run Formula Validation
136
- ```bash
137
- python /mnt/skills/public/xlsx/recalc.py model.xlsx
138
- ```
139
- Must return success with zero errors.
140
-
141
- ### Section Balancing
142
- - [ ] Any sections that must balance (Sources/Uses, Assets/Liabilities) balance exactly
143
- - [ ] Plug items are calculated correctly as the balancing figure
144
- - [ ] Amounts that should match across sections are consistent
145
-
146
- ### Income/Operating Projections
147
- - [ ] Revenue/top-line builds correctly from drivers or growth rates
148
- - [ ] All cost and expense items calculated appropriately
149
- - [ ] Subtotals and totals sum correctly
150
- - [ ] Margins and ratios are reasonable
151
- - [ ] Links to assumptions are correct
152
-
153
- ### Balance Sheet (if applicable)
154
- - [ ] Assets = Liabilities + Equity (must balance)
155
- - [ ] All items link to appropriate schedules or roll-forwards
156
- - [ ] Beginning balances = prior period ending balances
157
- - [ ] Check row included and shows zero
158
-
159
- ### Cash Flow (if applicable)
160
- - [ ] Starts with correct income figure
161
- - [ ] Non-cash items added/subtracted appropriately
162
- - [ ] Working capital changes have correct signs
163
- - [ ] Ending Cash = Beginning Cash + Net Cash Flow
164
- - [ ] Cash balances are consistent across statements
165
-
166
- ### Supporting Schedules
167
- - [ ] Roll-forward schedules balance (Beginning + Changes = Ending)
168
- - [ ] Schedules link correctly to main statements
169
- - [ ] Calculated items use appropriate drivers
170
- - [ ] All periods are calculated consistently
171
-
172
- ### Debt/Financing Schedules (if applicable)
173
- - [ ] Beginning balances tie to sources or prior period
174
- - [ ] Interest calculated on appropriate balance (typically beginning)
175
- - [ ] Paydowns respect cash availability and priority
176
- - [ ] Ending balances cannot be negative
177
- - [ ] Totals sum tranches correctly
178
-
179
- ### Returns/Output Analysis
180
- - [ ] Exit/terminal values calculated correctly
181
- - [ ] All relevant adjustments included
182
- - [ ] Cash flow signs are correct (negative for investment, positive for proceeds)
183
- - [ ] IRR/MOIC formulas reference complete ranges
184
- - [ ] Results are reasonable for the scenario
185
-
186
- ### Sensitivity Tables (if applicable)
187
- - [ ] Row and column headers contain appropriate input values
188
- - [ ] Each data cell contains a formula (not hardcoded)
189
- - [ ] Each data cell shows a DIFFERENT value
190
- - [ ] Values move in expected directions
191
- - [ ] Base case appears where headers match base assumptions
192
-
193
- ### Formatting
194
- - [ ] Hardcoded inputs are blue (0000FF)
195
- - [ ] Calculated formulas are black (000000)
196
- - [ ] Same-tab links are purple (800080)
197
- - [ ] Cross-tab links are green (008000)
198
- - [ ] All numbers are right-aligned
199
- - [ ] Appropriate number formats applied throughout
200
- - [ ] No cells show error values (#REF!, #DIV/0!, #VALUE!, #NAME?)
201
-
202
- ### Logical Sanity Checks
203
- - [ ] Numbers are reasonable order of magnitude
204
- - [ ] Trends make sense (growth, decline, stabilization as expected)
205
- - [ ] No obviously wrong values (negative where should be positive, impossible percentages, etc.)
206
- - [ ] Key outputs are within reasonable ranges for the type of analysis
207
-
208
- ---
209
-
210
- ## COMMON ERRORS TO AVOID
211
-
212
- | Error | What Goes Wrong | How to Fix |
213
- |-------|-----------------|------------|
214
- | Hardcoding calculated values | Model doesn't update when inputs change | Always use formulas that reference source cells |
215
- | Wrong cell references after copying | Formulas point to wrong cells | Verify all links, use appropriate $ anchoring |
216
- | Circular reference errors | Model can't calculate | Use beginning balances for interest-type calcs, break the circle |
217
- | Sections don't balance | Totals that should match don't | Ensure one item is the plug (calculated as difference) |
218
- | Negative balances where impossible | Paying/using more than available | Use MAX(0, ...) or MIN functions appropriately |
219
- | IRR/return errors | Wrong signs or incomplete ranges | Check cash flow signs and ensure formula covers all periods |
220
- | Sensitivity table shows same value | Formula not varying with inputs | Check cell references - need mixed references ($A5, B$4) |
221
- | Roll-forwards don't tie | Beginning ≠ prior ending | Verify links between periods |
222
- | Inconsistent sign conventions | Additions become subtractions or vice versa | Follow template's convention consistently throughout |
223
-
224
- ---
225
-
226
- ## WORKING WITH THE USER
227
-
228
- * **If the template structure is unclear**, ask before proceeding
229
- * **If the user's requirements conflict with the template**, confirm their preference
230
- * **After completing each major section**, offer to show the work or run verification
231
- * **If errors are found during verification**, fix them before moving to the next section
232
- * **Show your work** - explain key formulas or assumptions when helpful
233
-
234
- ---
235
-
236
- **This skill produces investment banking-quality LBO models by filling templates with correct formulas, proper formatting, and validated calculations. The skill adapts to any template structure while ensuring financial accuracy and professional presentation standards.**
1
+ ---
2
+ name: lbo-model
3
+ description: This skill should be used when completing LBO (Leveraged Buyout) model templates in Excel for private equity transactions, deal materials, or investment committee presentations. The skill fills in formulas, validates calculations, and ensures professional formatting standards that adapt to any template structure.
4
+ ---
5
+
6
+ ---
7
+
8
+ ## TEMPLATE REQUIREMENT
9
+
10
+ **This skill uses templates for LBO models. Always check for an attached template file first.**
11
+
12
+ Before starting any LBO model:
13
+ 1. **If a template file is attached/provided**: Use that template's structure exactly - copy it and populate with the user's data
14
+ 2. **If no template is attached**: Ask the user: *"Do you have a specific LBO template you'd like me to use? If not, I can use the standard template which includes Sources & Uses, Operating Model, Debt Schedule, and Returns Analysis."*
15
+ 3. **If using the standard template**: Copy `examples/LBO_Model.xlsx` as your starting point and populate it with the user's assumptions
16
+
17
+ **IMPORTANT**: When a file like `LBO_Model.xlsx` is attached, you MUST use it as your template - do not build from scratch. Even if the template seems complex or has more features than needed, copy it and adapt it to the user's requirements. Never decide to "build from scratch" when a template is provided.
18
+
19
+ ---
20
+
21
+ ## CRITICAL INSTRUCTIONS FOR CLAUDE - READ FIRST
22
+
23
+ ### Core Principles
24
+ * **Every calculation must be an Excel formula** - NEVER compute values in Python and hardcode results into cells. The model must be dynamic and update when inputs change.
25
+ * **Use the template structure** - Follow the organization in `examples/LBO_Model.xlsx` or the user's provided template. Do not invent your own layout.
26
+ * **Use proper cell references** - All formulas should reference the appropriate cells. Never type numbers that should come from other cells.
27
+ * **Maintain sign convention consistency** - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.
28
+ * **Work section by section** - Complete one section fully before moving to the next, as later sections often depend on earlier ones.
29
+
30
+ ### Formula Color Conventions
31
+ * **Blue (0000FF)**: Hardcoded inputs - typed numbers that don't reference other cells
32
+ * **Black (000000)**: Formulas with calculations - any formula using operators or functions (`=B4*B5`, `=SUM()`, `=-MAX(0,B4)`)
33
+ * **Purple (800080)**: Links to cells on the **same tab** - direct references with no calculation (`=B9`, `=B45`)
34
+ * **Green (008000)**: Links to cells on **different tabs** - cross-sheet references (`=Assumptions!B5`, `='Operating Model'!C10`)
35
+
36
+ ### Number Formatting Standards
37
+ * **Currency**: `$#,##0;($#,##0);"-"` or `$#,##0.0` depending on template
38
+ * **Percentages**: `0.0%` (one decimal)
39
+ * **Multiples**: `0.0"x"` (one decimal)
40
+ * **MOIC/Detailed Ratios**: `0.00"x"` (two decimals for precision)
41
+ * **All numeric cells**: Right-aligned
42
+
43
+ ---
44
+
45
+ ### Clarify Requirements First
46
+
47
+ Before filling any formulas:
48
+
49
+ * **Examine the template structure** - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas
50
+ * **Ask the user if anything is unclear** - If the template structure, calculation methods, or requirements are ambiguous, ask before proceeding
51
+ * **Confirm key assumptions** - Any key inputs, calculation preferences, or specific requirements
52
+ * **ONLY AFTER understanding the template**, proceed to fill in formulas
53
+
54
+ ---
55
+
56
+ ## TEMPLATE ANALYSIS PHASE - DO THIS FIRST
57
+
58
+ Before filling any formulas, examine the template thoroughly:
59
+
60
+ 1. **Map the structure** - Identify where each section lives and how they relate to each other. Note which sections feed into others.
61
+
62
+ 2. **Understand the timeline** - Which columns represent which periods? Is there a "Closing" or "Pro Forma" column? Where does the projection period start?
63
+
64
+ 3. **Identify input vs formula cells** - Templates often use color coding, borders, or shading to indicate which cells need inputs vs formulas. Respect these conventions.
65
+
66
+ 4. **Read existing labels carefully** - The row labels tell you exactly what calculation is expected. Don't assume - read what the template is asking for.
67
+
68
+ 5. **Check for existing formulas** - Some templates come partially filled. Don't overwrite working formulas unless specifically asked.
69
+
70
+ 6. **Note template-specific conventions** - Sign conventions, subtotal structures, how sections are organized, whether there are separate tabs for different components, etc.
71
+
72
+ ---
73
+
74
+ ## FILLING FORMULAS - GENERAL APPROACH
75
+
76
+ For each cell that needs a formula, follow this hierarchy:
77
+
78
+ ### Step 1: Check the Template
79
+ * Does the cell already have a formula? If yes, verify it's correct and move on.
80
+ * Is there a comment or note indicating the expected calculation?
81
+ * Does the row/column label make the calculation obvious?
82
+ * Do neighboring cells show a pattern you should follow?
83
+
84
+ ### Step 2: Check the User's Instructions
85
+ * Did the user specify a particular calculation method?
86
+ * Are there stated assumptions that affect this formula?
87
+ * Any special requirements mentioned?
88
+
89
+ ### Step 3: Apply Standard Practice
90
+ * If neither template nor user specifies, use standard LBO modeling conventions
91
+ * Document any assumptions you make
92
+ * If genuinely uncertain, ask the user
93
+
94
+ ---
95
+
96
+ ## COMMON PROBLEM AREAS
97
+
98
+ The following calculation patterns frequently cause issues across LBO models. Pay special attention when you encounter these:
99
+
100
+ ### Balancing Sections
101
+ * When two sections must equal (e.g., Sources = Uses), one item is typically the "plug" (balancing figure)
102
+ * Identify which item is the plug and calculate it as the difference
103
+
104
+ ### Tax Calculations
105
+ * Tax formulas should only reference the relevant income line and tax rate
106
+ * Should NOT reference unrelated sections (e.g., debt schedules)
107
+ * Consider whether losses create tax shields or are simply ignored
108
+
109
+ ### Interest and Circular References
110
+ * Interest calculations can create circularity if they reference balances affected by cash flows
111
+ * Use **Beginning Balance** (not average or ending) to break circular references
112
+ * Pattern: Interest → Cash Flow → Paydown → Ending Balance (if interest uses ending balance, this circles back)
113
+
114
+ ### Debt Paydown / Cash Sweeps
115
+ * When multiple debt tranches exist, there's usually a priority order
116
+ * Cash sweep should respect the priority waterfall
117
+ * Balances cannot go negative - use MAX or MIN functions appropriately
118
+
119
+ ### Returns Calculations (IRR/MOIC)
120
+ * Cash flows must have correct signs: Investment = negative, Proceeds = positive
121
+ * If using XIRR, need corresponding dates
122
+ * If using IRR, cash flows should be in consecutive periods
123
+ * MOIC = Total Proceeds / Total Investment
124
+
125
+ ### Sensitivity Tables
126
+ * Excel's DATA TABLE function may not work with openpyxl
127
+ * May need explicit formulas that reference row/column headers
128
+ * Each cell should show a DIFFERENT value - if all same, formulas aren't varying correctly
129
+ * Use mixed references (e.g., $A5 for row input, B$4 for column input)
130
+
131
+ ---
132
+
133
+ ## VERIFICATION CHECKLIST - RUN AFTER COMPLETION
134
+
135
+ ### Run Formula Validation
136
+ ```bash
137
+ python /mnt/skills/public/xlsx/recalc.py model.xlsx
138
+ ```
139
+ Must return success with zero errors.
140
+
141
+ ### Section Balancing
142
+ - [ ] Any sections that must balance (Sources/Uses, Assets/Liabilities) balance exactly
143
+ - [ ] Plug items are calculated correctly as the balancing figure
144
+ - [ ] Amounts that should match across sections are consistent
145
+
146
+ ### Income/Operating Projections
147
+ - [ ] Revenue/top-line builds correctly from drivers or growth rates
148
+ - [ ] All cost and expense items calculated appropriately
149
+ - [ ] Subtotals and totals sum correctly
150
+ - [ ] Margins and ratios are reasonable
151
+ - [ ] Links to assumptions are correct
152
+
153
+ ### Balance Sheet (if applicable)
154
+ - [ ] Assets = Liabilities + Equity (must balance)
155
+ - [ ] All items link to appropriate schedules or roll-forwards
156
+ - [ ] Beginning balances = prior period ending balances
157
+ - [ ] Check row included and shows zero
158
+
159
+ ### Cash Flow (if applicable)
160
+ - [ ] Starts with correct income figure
161
+ - [ ] Non-cash items added/subtracted appropriately
162
+ - [ ] Working capital changes have correct signs
163
+ - [ ] Ending Cash = Beginning Cash + Net Cash Flow
164
+ - [ ] Cash balances are consistent across statements
165
+
166
+ ### Supporting Schedules
167
+ - [ ] Roll-forward schedules balance (Beginning + Changes = Ending)
168
+ - [ ] Schedules link correctly to main statements
169
+ - [ ] Calculated items use appropriate drivers
170
+ - [ ] All periods are calculated consistently
171
+
172
+ ### Debt/Financing Schedules (if applicable)
173
+ - [ ] Beginning balances tie to sources or prior period
174
+ - [ ] Interest calculated on appropriate balance (typically beginning)
175
+ - [ ] Paydowns respect cash availability and priority
176
+ - [ ] Ending balances cannot be negative
177
+ - [ ] Totals sum tranches correctly
178
+
179
+ ### Returns/Output Analysis
180
+ - [ ] Exit/terminal values calculated correctly
181
+ - [ ] All relevant adjustments included
182
+ - [ ] Cash flow signs are correct (negative for investment, positive for proceeds)
183
+ - [ ] IRR/MOIC formulas reference complete ranges
184
+ - [ ] Results are reasonable for the scenario
185
+
186
+ ### Sensitivity Tables (if applicable)
187
+ - [ ] Row and column headers contain appropriate input values
188
+ - [ ] Each data cell contains a formula (not hardcoded)
189
+ - [ ] Each data cell shows a DIFFERENT value
190
+ - [ ] Values move in expected directions
191
+ - [ ] Base case appears where headers match base assumptions
192
+
193
+ ### Formatting
194
+ - [ ] Hardcoded inputs are blue (0000FF)
195
+ - [ ] Calculated formulas are black (000000)
196
+ - [ ] Same-tab links are purple (800080)
197
+ - [ ] Cross-tab links are green (008000)
198
+ - [ ] All numbers are right-aligned
199
+ - [ ] Appropriate number formats applied throughout
200
+ - [ ] No cells show error values (#REF!, #DIV/0!, #VALUE!, #NAME?)
201
+
202
+ ### Logical Sanity Checks
203
+ - [ ] Numbers are reasonable order of magnitude
204
+ - [ ] Trends make sense (growth, decline, stabilization as expected)
205
+ - [ ] No obviously wrong values (negative where should be positive, impossible percentages, etc.)
206
+ - [ ] Key outputs are within reasonable ranges for the type of analysis
207
+
208
+ ---
209
+
210
+ ## COMMON ERRORS TO AVOID
211
+
212
+ | Error | What Goes Wrong | How to Fix |
213
+ |-------|-----------------|------------|
214
+ | Hardcoding calculated values | Model doesn't update when inputs change | Always use formulas that reference source cells |
215
+ | Wrong cell references after copying | Formulas point to wrong cells | Verify all links, use appropriate $ anchoring |
216
+ | Circular reference errors | Model can't calculate | Use beginning balances for interest-type calcs, break the circle |
217
+ | Sections don't balance | Totals that should match don't | Ensure one item is the plug (calculated as difference) |
218
+ | Negative balances where impossible | Paying/using more than available | Use MAX(0, ...) or MIN functions appropriately |
219
+ | IRR/return errors | Wrong signs or incomplete ranges | Check cash flow signs and ensure formula covers all periods |
220
+ | Sensitivity table shows same value | Formula not varying with inputs | Check cell references - need mixed references ($A5, B$4) |
221
+ | Roll-forwards don't tie | Beginning ≠ prior ending | Verify links between periods |
222
+ | Inconsistent sign conventions | Additions become subtractions or vice versa | Follow template's convention consistently throughout |
223
+
224
+ ---
225
+
226
+ ## WORKING WITH THE USER
227
+
228
+ * **If the template structure is unclear**, ask before proceeding
229
+ * **If the user's requirements conflict with the template**, confirm their preference
230
+ * **After completing each major section**, offer to show the work or run verification
231
+ * **If errors are found during verification**, fix them before moving to the next section
232
+ * **Show your work** - explain key formulas or assumptions when helpful
233
+
234
+ ---
235
+
236
+ **This skill produces investment banking-quality LBO models by filling templates with correct formulas, proper formatting, and validated calculations. The skill adapts to any template structure while ensuring financial accuracy and professional presentation standards.**